HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Users/fred/AppData/Roaming/Code/Backups/dd084cc075a19ec865aca773f8c7f467/file/-1b4faece
file:///c%3A/xampp/htdocs/cmykDe/ht5/moxie.min.js {"mtime":1780030160187,"ctime":1733490323198,"size":185259,"etag":"3g5ffkn6866o3","orphaned":false,"typeId":""}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
  <link rel="dns-prefetch" href="https://assets-cdn.github.com">
  <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">



  <link crossorigin="anonymous" media="all" integrity="sha512-PkbtxdWDpLChpxtWQ0KbvJoef4XMYPq5pfd/ZmylYZTzXYpCfGwN9d+bsSKcmOJLwTkfjFkfj5wz3poDrhJoSQ==" rel="stylesheet" href="https://assets-cdn.github.com/assets/frameworks-f6e6ce21346c0d2eb22def1e8534afcb.css" />
  <link crossorigin="anonymous" media="all" integrity="sha512-0BWCA/R6u2ObTpfsUgMSBEyTMfOY1V9wGfqpR/U9O9tc/BFc53yM/UKaeK950BOFvlIM0BFc2lrr6CHkg095YA==" rel="stylesheet" href="https://assets-cdn.github.com/assets/github-22f66197d69af5eeca9f48295c52743e.css" />
  
  
  <link crossorigin="anonymous" media="all" integrity="sha512-zyxweUSm/NG+juywqcMFSS4HbKjLWCZyEM2JjoCqnQUU6RVrHpHMwH66xreiaeMIRoA6vYuk0hm8S1X42r/YWQ==" rel="stylesheet" href="https://assets-cdn.github.com/assets/site-220df28424b63d1e24f3bd909efebe81.css" />
  

  <meta name="viewport" content="width=device-width">
  
  <title>moxie/moxie.min.js at master · moxiecode/moxie · GitHub</title>
    <meta name="description" content="GitHub is where people build software. More than 28 million people use GitHub to discover, fork, and contribute to over 85 million projects.">
    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
  <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
  <meta property="fb:app_id" content="1401488693436528">

    
    <meta property="og:image" content="https://avatars0.githubusercontent.com/u/119816?s=400&amp;v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="moxiecode/moxie" /><meta property="og:url" content="https://github.com/moxiecode/moxie" /><meta property="og:description" content="moxie - Pollyfills for XHR2 and File API" />

  <link rel="assets" href="https://assets-cdn.github.com/">
  
  <meta name="pjax-timeout" content="1000">
  
  <meta name="request-id" content="06DE:0FEC:6332CC4:8E23809:5B2599B9" data-pjax-transient>


  

  <meta name="selected-link" value="repo_source" data-pjax-transient>

    <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
  <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
  <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
    <meta name="google-analytics" content="UA-3769691-2">

<meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-request_id" content="06DE:0FEC:6332CC4:8E23809:5B2599B9" /><meta name="octolytics-dimension-region_edge" content="iad" /><meta name="octolytics-dimension-region_render" content="iad" />
<meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" />




  <meta class="js-ga-set" name="dimension1" content="Logged Out">


  

      <meta name="hostname" content="github.com">
    <meta name="user-login" content="">

      <meta name="expected-hostname" content="github.com">
    <meta name="js-proxy-site-detection-payload" content="MWY5MjczOTk3NmU0ZDRjNDdiMGZmZWU0Y2I5MDU5OGMwYWE5NWMzZWVlZGYwZTczMDg5M2MyZWUyMjhhYzM2Mnx7InJlbW90ZV9hZGRyZXNzIjoiMjE4LjIxMC4zOS43MiIsInJlcXVlc3RfaWQiOiIwNkRFOjBGRUM6NjMzMkNDNDo4RTIzODA5OjVCMjU5OUI5IiwidGltZXN0YW1wIjoxNTI5MTkwODQ5LCJob3N0IjoiZ2l0aHViLmNvbSJ9">

    <meta name="enabled-features" content="UNIVERSE_BANNER,FREE_TRIALS,MARKETPLACE_INSIGHTS,MARKETPLACE_INSIGHTS_CONVERSION_PERCENTAGES">

  <meta name="html-safe-nonce" content="8a8050e1883022781ca32bf0bb830c706d03892f">

  <meta http-equiv="x-pjax-version" content="3977f63d7cfef93709233cd75c3e2fbd">
  

      <link href="https://github.com/moxiecode/moxie/commits/master.atom" rel="alternate" title="Recent Commits to moxie:master" type="application/atom+xml">

  <meta name="description" content="moxie - Pollyfills for XHR2 and File API">
  <meta name="go-import" content="github.com/moxiecode/moxie git https://github.com/moxiecode/moxie.git">

  <meta name="octolytics-dimension-user_id" content="119816" /><meta name="octolytics-dimension-user_login" content="moxiecode" /><meta name="octolytics-dimension-repository_id" content="5315347" /><meta name="octolytics-dimension-repository_nwo" content="moxiecode/moxie" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="5315347" /><meta name="octolytics-dimension-repository_network_root_nwo" content="moxiecode/moxie" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" />


    <link rel="canonical" href="https://github.com/moxiecode/moxie/blob/master/bin/js/moxie.min.js" data-pjax-transient>


  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">

  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">

  <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#000000">
  <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://assets-cdn.github.com/favicon.ico">

<meta name="theme-color" content="#1e2327">



<link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">

  </head>

  <body class="logged-out env-production page-blob">
    

  <div class="position-relative js-header-wrapper ">
    <a href="#start-of-content" tabindex="1" class="px-2 py-4 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a>
    <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div>

    
    
    



        <header class="Header header-logged-out  position-relative f4 py-3" role="banner">
  <div class="container-lg d-flex px-3">
    <div class="d-flex flex-justify-between flex-items-center">
      <a class="header-logo-invertocat my-0" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
        <svg height="32" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
      </a>

    </div>

    <div class="HeaderMenu HeaderMenu--bright d-flex flex-justify-between flex-auto">
        <nav class="mt-0">
          <ul class="d-flex list-style-none">
              <li class="ml-2">
                <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:features" data-selected-links="/features /features/project-management /features/code-review /features/project-management /features/integrations /features" href="/features">
                  Features
</a>              </li>
              <li class="ml-4">
                <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:business" data-selected-links="/business /business/security /business/customers /business" href="/business">
                  Business
</a>              </li>

              <li class="ml-4">
                <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore">
                  Explore
</a>              </li>

              <li class="ml-4">
                    <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:marketplace" data-selected-links=" /marketplace" href="/marketplace">
                      Marketplace
</a>              </li>
              <li class="ml-4">
                <a class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:pricing" data-selected-links="/pricing /pricing/developer /pricing/team /pricing/business-hosted /pricing/business-enterprise /pricing" href="/pricing">
                  Pricing
</a>              </li>
          </ul>
        </nav>

      <div class="d-flex">
          <div class="d-lg-flex flex-items-center mr-3">
            <div class="header-search scoped-search site-scoped-search js-site-search position-relative js-jump-to"
  role="search combobox"
  aria-owns="jump-to-results"
  aria-label="Search or jump to"
  aria-haspopup="listbox"
  aria-expanded="true"
>
  <div class="position-relative">
    <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" data-scope-type="Repository" data-scope-id="5315347" data-scoped-search-url="/moxiecode/moxie/search" data-unscoped-search-url="/search" action="/moxiecode/moxie/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" />
      <label class="form-control header-search-wrapper header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container">
        <input type="text"
          class="form-control header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable"
          data-hotkey="s,/"
          name="q"
          value=""
          placeholder="Search"
          data-unscoped-placeholder="Search GitHub"
          data-scoped-placeholder="Search"
          autocapitalize="off"
          aria-autocomplete="list"
          aria-controls="jump-to-results"
          data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations#csrf-token=QP/ewbTKWE7gi49MGejqjeaIWVQmLae6ofxxvfuk9ihbIJE19KlEJtgR2b6pXQcyXLILTOGo8KK7ftMuDCc7Ag=="
          spellcheck="false"
          autocomplete="off"
          >
          <input type="hidden" class="js-site-search-type-field" name="type" >
            <img src="https://assets-cdn.github.com/images/search-shortcut-hint.svg" alt="" class="mr-2 header-search-key-slash">

            <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
              <ul class="d-none js-jump-to-suggestions-template-container">
                <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item">
                  <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center p-2 jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open" href="">
                    <div class="jump-to-octicon js-jump-to-octicon mr-2 text-center d-none"></div>
                    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar" alt="" aria-label="Team" src="" width="28" height="28">

                    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden no-wrap css-truncate css-truncate-target">
                    </div>

                    <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
                      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
                        In this repository
                      </span>
                      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
                        All GitHub
                      </span>
                      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
                    </div>

                    <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
                      Jump to
                      <span class="d-inline-block ml-1 v-align-middle">↵</span>
                    </div>
                  </a>
                </li>
                <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-repo-octicon-template" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
                <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-project-octicon-template" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
                <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-search-octicon-template" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg>
              </ul>
              <ul class="d-none js-jump-to-no-results-template-container">
                <li class="d-flex flex-justify-center flex-items-center p-3 f5 d-none">
                  <span class="text-gray">No suggested jump to results</span>
                </li>
              </ul>

              <ul id="jump-to-results" class="js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container" >
                <li class="d-flex flex-justify-center flex-items-center p-0 f5">
                  <img src="https://assets-cdn.github.com/images/spinners/octocat-spinner-128.gif" alt="Octocat Spinner Icon" class="m-2" width="28">
                </li>
              </ul>
            </div>
      </label>
</form>  </div>
</div>

          </div>

        <span class="d-inline-block">
            <div class="HeaderNavlink px-0 py-2 m-0">
              <a class="text-bold text-white no-underline" href="/login?return_to=%2Fmoxiecode%2Fmoxie%2Fblob%2Fmaster%2Fbin%2Fjs%2Fmoxie.min.js" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
                <span class="text-gray">or</span>
                <a class="text-bold text-white no-underline" href="/join?source=header-repo" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
            </div>
        </span>
      </div>
    </div>
  </div>
</header>

  </div>

  <div id="start-of-content" class="show-on-focus"></div>

    <div id="js-flash-container">
</div>



  <div role="main" class="application-main ">
        <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
    <div id="js-repo-pjax-container" data-pjax-container >
      





  



  <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav  ">
    <div class="repohead-details-container clearfix container">

      <ul class="pagehead-actions">
  <li>
      <a href="/login?return_to=%2Fmoxiecode%2Fmoxie"
    class="btn btn-sm btn-with-count tooltipped tooltipped-n"
    aria-label="You must be signed in to watch a repository" rel="nofollow">
    <svg class="octicon octicon-eye" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
    Watch
  </a>
  <a class="social-count" href="/moxiecode/moxie/watchers"
     aria-label="32 users are watching this repository">
    32
  </a>

  </li>

  <li>
      <a href="/login?return_to=%2Fmoxiecode%2Fmoxie"
    class="btn btn-sm btn-with-count tooltipped tooltipped-n"
    aria-label="You must be signed in to star a repository" rel="nofollow">
    <svg class="octicon octicon-star" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg>
    Star
  </a>

    <a class="social-count js-social-count" href="/moxiecode/moxie/stargazers"
      aria-label="436 users starred this repository">
      436
    </a>

  </li>

  <li>
      <a href="/login?return_to=%2Fmoxiecode%2Fmoxie"
        class="btn btn-sm btn-with-count tooltipped tooltipped-n"
        aria-label="You must be signed in to fork a repository" rel="nofollow">
        <svg class="octicon octicon-repo-forked" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
        Fork
      </a>

    <a href="/moxiecode/moxie/network" class="social-count"
       aria-label="136 users forked this repository">
      136
    </a>
  </li>
</ul>

      <h1 class="public ">
  <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
  <span class="author" itemprop="author"><a class="url fn" rel="author" href="/moxiecode">moxiecode</a></span><!--
--><span class="path-divider">/</span><!--
--><strong itemprop="name"><a data-pjax="#js-repo-pjax-container" href="/moxiecode/moxie">moxie</a></strong>

</h1>

    </div>
    
<nav class="reponav js-repo-nav js-sidenav-container-pjax container"
     itemscope
     itemtype="http://schema.org/BreadcrumbList"
     role="navigation"
     data-pjax="#js-repo-pjax-container">

  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
    <a class="js-selected-navigation-item selected reponav-item" itemprop="url" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /moxiecode/moxie" href="/moxiecode/moxie">
      <svg class="octicon octicon-code" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg>
      <span itemprop="name">Code</span>
      <meta itemprop="position" content="1">
</a>  </span>

    <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
      <a itemprop="url" data-hotkey="g i" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /moxiecode/moxie/issues" href="/moxiecode/moxie/issues">
        <svg class="octicon octicon-issue-opened" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg>
        <span itemprop="name">Issues</span>
        <span class="Counter">25</span>
        <meta itemprop="position" content="2">
</a>    </span>

  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
    <a data-hotkey="g p" itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /moxiecode/moxie/pulls" href="/moxiecode/moxie/pulls">
      <svg class="octicon octicon-git-pull-request" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
      <span itemprop="name">Pull requests</span>
      <span class="Counter">5</span>
      <meta itemprop="position" content="3">
</a>  </span>

    <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /moxiecode/moxie/projects" href="/moxiecode/moxie/projects">
      <svg class="octicon octicon-project" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
      Projects
      <span class="Counter" >0</span>
</a>
    <a class="js-selected-navigation-item reponav-item" data-hotkey="g w" data-selected-links="repo_wiki /moxiecode/moxie/wiki" href="/moxiecode/moxie/wiki">
      <svg class="octicon octicon-book" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z"/></svg>
      Wiki
</a>

  <a class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse /moxiecode/moxie/pulse" href="/moxiecode/moxie/pulse">
    <svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg>
    Insights
</a>

</nav>


  </div>

<div class="container new-discussion-timeline experiment-repo-nav  ">
  <div class="repository-content ">

    
  <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/moxiecode/moxie/blob/09eaf578f38480dc4b8e2017c473c496883b6168/bin/js/moxie.min.js">Permalink</a>

  <!-- blob contrib key: blob_contributors:v21:08321969ee65ba1822ff78d4e5e26f0d -->

  <div class="file-navigation">
    
<div class="select-menu branch-select-menu js-menu-container js-select-menu float-left">
  <button class=" btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w"
    
    type="button" aria-label="Switch branches or tags" aria-expanded="false" aria-haspopup="true">
      <i>Branch:</i>
      <span class="js-select-button css-truncate-target">master</span>
  </button>

  <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax>

    <div class="select-menu-modal">
      <div class="select-menu-header">
        <svg class="octicon octicon-x js-menu-close" role="img" aria-label="Close" viewBox="0 0 12 16" version="1.1" width="12" height="16"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
        <span class="select-menu-title">Switch branches/tags</span>
      </div>

      <div class="select-menu-filters">
        <div class="select-menu-text-filter">
          <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="form-control js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
        </div>
        <div class="select-menu-tabs">
          <ul>
            <li class="select-menu-tab">
              <a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab" role="tab">Branches</a>
            </li>
            <li class="select-menu-tab">
              <a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag…" class="js-select-menu-tab" role="tab">Tags</a>
            </li>
          </ul>
        </div>
      </div>

      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches" role="menu">

        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">


            <a class="select-menu-item js-navigation-item js-navigation-open "
               href="/moxiecode/moxie/blob/1.2.x/bin/js/moxie.min.js"
               data-name="1.2.x"
               data-skip-pjax="true"
               rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
                1.2.x
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
               href="/moxiecode/moxie/blob/2.x/bin/js/moxie.min.js"
               data-name="2.x"
               data-skip-pjax="true"
               rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
                2.x
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open selected"
               href="/moxiecode/moxie/blob/master/bin/js/moxie.min.js"
               data-name="master"
               data-skip-pjax="true"
               rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
                master
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
               href="/moxiecode/moxie/blob/pre-amd/bin/js/moxie.min.js"
               data-name="pre-amd"
               data-skip-pjax="true"
               rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
                pre-amd
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
               href="/moxiecode/moxie/blob/target_fp10_3/bin/js/moxie.min.js"
               data-name="target_fp10_3"
               data-skip-pjax="true"
               rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
                target_fp10_3
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
               href="/moxiecode/moxie/blob/ts/bin/js/moxie.min.js"
               data-name="ts"
               data-skip-pjax="true"
               rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
                ts
              </span>
            </a>
        </div>

          <div class="select-menu-no-results">Nothing to show</div>
      </div>

      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">


            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.5.6/bin/js/moxie.min.js"
              data-name="v1.5.6"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.5.6">
                v1.5.6
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.5.5/bin/js/moxie.min.js"
              data-name="v1.5.5"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.5.5">
                v1.5.5
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.5.4/bin/js/moxie.min.js"
              data-name="v1.5.4"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.5.4">
                v1.5.4
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.5.3/bin/js/moxie.min.js"
              data-name="v1.5.3"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.5.3">
                v1.5.3
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.5.2/bin/js/moxie.min.js"
              data-name="v1.5.2"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.5.2">
                v1.5.2
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.5/bin/js/moxie.min.js"
              data-name="v1.5"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.5">
                v1.5
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.4.1/bin/js/moxie.min.js"
              data-name="v1.4.1"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.4.1">
                v1.4.1
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.3.5/bin/js/moxie.min.js"
              data-name="v1.3.5"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.3.5">
                v1.3.5
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.3.4/bin/js/moxie.min.js"
              data-name="v1.3.4"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.3.4">
                v1.3.4
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.3/bin/js/moxie.min.js"
              data-name="v1.3"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.3">
                v1.3
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.2.2/bin/js/moxie.min.js"
              data-name="v1.2.2"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.2.2">
                v1.2.2
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.2.1/bin/js/moxie.min.js"
              data-name="v1.2.1"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.2.1">
                v1.2.1
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.2.0/bin/js/moxie.min.js"
              data-name="v1.2.0"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.2.0">
                v1.2.0
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/moxiecode/moxie/tree/v1.1.0/bin/js/moxie.min.js"
              data-name="v1.1.0"
              data-skip-pjax="true"
              rel="nofollow">
              <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="v1.1.0">
                v1.1.0
              </span>
            </a>
        </div>

        <div class="select-menu-no-results">Nothing to show</div>
      </div>

    </div>
  </div>
</div>

    <div class="BtnGroup float-right">
      <a href="/moxiecode/moxie/find/master"
            class="js-pjax-capture-input btn btn-sm BtnGroup-item"
            data-pjax
            data-hotkey="t">
        Find file
      </a>
      <clipboard-copy for="blob-path" class="btn btn-sm BtnGroup-item">
        Copy path
      </clipboard-copy>
    </div>
    <div id="blob-path" class="breadcrumb">
      <span class="repo-root js-repo-root"><span class="js-path-segment"><a data-pjax="true" href="/moxiecode/moxie"><span>moxie</span></a></span></span><span class="separator">/</span><span class="js-path-segment"><a data-pjax="true" href="/moxiecode/moxie/tree/master/bin"><span>bin</span></a></span><span class="separator">/</span><span class="js-path-segment"><a data-pjax="true" href="/moxiecode/moxie/tree/master/bin/js"><span>js</span></a></span><span class="separator">/</span><strong class="final-path">moxie.min.js</strong>
    </div>
  </div>


  <include-fragment src="/moxiecode/moxie/contributors/master/bin/js/moxie.min.js" class="commit-tease commit-loader">
    <div>
      Fetching contributors&hellip;
    </div>

    <div class="commit-tease-contributors">
        <img alt="" class="loader-loading float-left" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32-EAF2F5.gif" width="16" height="16" />
      <span class="loader-error">Cannot retrieve contributors at this time</span>
    </div>
</include-fragment>


  <div class="file">
    <div class="file-header">
  <div class="file-actions">

    <div class="BtnGroup">
      <a id="raw-url" class="btn btn-sm BtnGroup-item" href="/moxiecode/moxie/raw/master/bin/js/moxie.min.js">Raw</a>
        <a class="btn btn-sm js-update-url-with-hash BtnGroup-item" data-hotkey="b" href="/moxiecode/moxie/blame/master/bin/js/moxie.min.js">Blame</a>
      <a rel="nofollow" class="btn btn-sm BtnGroup-item" href="/moxiecode/moxie/commits/master/bin/js/moxie.min.js">History</a>
    </div>

        <a class="btn-octicon tooltipped tooltipped-nw"
           href="https://desktop.github.com"
           aria-label="Open this file in GitHub Desktop"
           data-ga-click="Repository, open with desktop, type:windows">
            <svg class="octicon octicon-device-desktop" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M15 2H1c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h5.34c-.25.61-.86 1.39-2.34 2h8c-1.48-.61-2.09-1.39-2.34-2H15c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm0 9H1V3h14v8z"/></svg>
        </a>

        <button type="button" class="btn-octicon disabled tooltipped tooltipped-nw"
          aria-label="You must be signed in to make or propose changes">
          <svg class="octicon octicon-pencil" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 12v3h3l8-8-3-3-8 8zm3 2H1v-2h1v1h1v1zm10.3-9.3L12 6 9 3l1.3-1.3a.996.996 0 0 1 1.41 0l1.59 1.59c.39.39.39 1.02 0 1.41z"/></svg>
        </button>
        <button type="button" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw"
          aria-label="You must be signed in to make or propose changes">
          <svg class="octicon octicon-trashcan" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 2H9c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1H2c-.55 0-1 .45-1 1v1c0 .55.45 1 1 1v9c0 .55.45 1 1 1h7c.55 0 1-.45 1-1V5c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm-1 12H3V5h1v8h1V5h1v8h1V5h1v8h1V5h1v9zm1-10H2V3h9v1z"/></svg>
        </button>
  </div>

  <div class="file-info">
      16 lines (16 sloc)
      <span class="file-info-divider"></span>
    106 KB
  </div>
</div>

    

  <div itemprop="text" class="blob-wrapper data type-javascript">
      <table class="highlight tab-size js-file-line-container" data-tab-size="8">
      <tr>
        <td id="L1" class="blob-num js-line-number" data-line-number="1"></td>
        <td id="LC1" class="blob-code blob-code-inner js-file-line">/**</td>
      </tr>
      <tr>
        <td id="L2" class="blob-num js-line-number" data-line-number="2"></td>
        <td id="LC2" class="blob-code blob-code-inner js-file-line"> * mOxie - multi-runtime File API &amp; XMLHttpRequest L2 Polyfill</td>
      </tr>
      <tr>
        <td id="L3" class="blob-num js-line-number" data-line-number="3"></td>
        <td id="LC3" class="blob-code blob-code-inner js-file-line"> * v1.5.8</td>
      </tr>
      <tr>
        <td id="L4" class="blob-num js-line-number" data-line-number="4"></td>
        <td id="LC4" class="blob-code blob-code-inner js-file-line"> *</td>
      </tr>
      <tr>
        <td id="L5" class="blob-num js-line-number" data-line-number="5"></td>
        <td id="LC5" class="blob-code blob-code-inner js-file-line"> * Copyright 2013, Moxiecode Systems AB</td>
      </tr>
      <tr>
        <td id="L6" class="blob-num js-line-number" data-line-number="6"></td>
        <td id="LC6" class="blob-code blob-code-inner js-file-line"> * Released under GPL License.</td>
      </tr>
      <tr>
        <td id="L7" class="blob-num js-line-number" data-line-number="7"></td>
        <td id="LC7" class="blob-code blob-code-inner js-file-line"> *</td>
      </tr>
      <tr>
        <td id="L8" class="blob-num js-line-number" data-line-number="8"></td>
        <td id="LC8" class="blob-code blob-code-inner js-file-line"> * License: http://www.plupload.com/license</td>
      </tr>
      <tr>
        <td id="L9" class="blob-num js-line-number" data-line-number="9"></td>
        <td id="LC9" class="blob-code blob-code-inner js-file-line"> * Contributing: http://www.plupload.com/contributing</td>
      </tr>
      <tr>
        <td id="L10" class="blob-num js-line-number" data-line-number="10"></td>
        <td id="LC10" class="blob-code blob-code-inner js-file-line"> *</td>
      </tr>
      <tr>
        <td id="L11" class="blob-num js-line-number" data-line-number="11"></td>
        <td id="LC11" class="blob-code blob-code-inner js-file-line"> * Date: 2018-02-19</td>
      </tr>
      <tr>
        <td id="L12" class="blob-num js-line-number" data-line-number="12"></td>
        <td id="LC12" class="blob-code blob-code-inner js-file-line"> */</td>
      </tr>
      <tr>
        <td id="L13" class="blob-num js-line-number" data-line-number="13"></td>
        <td id="LC13" class="blob-code blob-code-inner js-file-line">!function(e,t){var i=function(){var e={};return t.apply(e,arguments),e.moxie};&quot;function&quot;==typeof define&amp;&amp;define.amd?define(&quot;moxie&quot;,[],i):&quot;object&quot;==typeof module&amp;&amp;module.exports?module.exports=i():e.moxie=i()}(this||window,function(){!function(e,t){&quot;use strict&quot;;function i(e,t){for(var i,n=[],r=0;r&lt;e.length;++r){if(i=s[e[r]]||o(e[r]),!i)throw&quot;module definition dependecy not found: &quot;+e[r];n.push(i)}t.apply(null,n)}function n(e,n,r){if(&quot;string&quot;!=typeof e)throw&quot;invalid module definition, module id must be defined and be a string&quot;;if(n===t)throw&quot;invalid module definition, dependencies must be specified&quot;;if(r===t)throw&quot;invalid module definition, definition function must be specified&quot;;i(n,function(){s[e]=r.apply(null,arguments)})}function r(e){return!!s[e]}function o(t){for(var i=e,n=t.split(/[.\/]/),r=0;r&lt;n.length;++r){if(!i[n[r]])return;i=i[n[r]]}return i}function a(i){for(var n=0;n&lt;i.length;n++){for(var r=e,o=i[n],a=o.split(/[.\/]/),u=0;u&lt;a.length-1;++u)r[a[u]]===t&amp;&amp;(r[a[u]]={}),r=r[a[u]];r[a[a.length-1]]=s[o]}}var s={};n(&quot;moxie/core/utils/Basic&quot;,[],function(){function e(e){var t;return e===t?&quot;undefined&quot;:null===e?&quot;null&quot;:e.nodeType?&quot;node&quot;:{}.toString.call(e).match(/\s([a-z|A-Z]+)/)[1].toLowerCase()}function t(){return s(!1,!1,arguments)}function i(){return s(!0,!1,arguments)}function n(){return s(!1,!0,arguments)}function r(){return s(!0,!0,arguments)}function o(t){switch(e(t)){case&quot;array&quot;:return s(!1,!0,[[],t]);case&quot;object&quot;:return s(!1,!0,[{},t]);default:return t}}function a(i){switch(e(i)){case&quot;array&quot;:return Array.prototype.slice.call(i);case&quot;object&quot;:return t({},i)}return i}function s(t,i,n){var r,o=n[0];return c(n,function(n,u){u&gt;0&amp;&amp;c(n,function(n,u){var c=-1!==h(e(n),[&quot;array&quot;,&quot;object&quot;]);return n===r||t&amp;&amp;o[u]===r?!0:(c&amp;&amp;i&amp;&amp;(n=a(n)),e(o[u])===e(n)&amp;&amp;c?s(t,i,[o[u],n]):o[u]=n,void 0)})}),o}function u(e,t){function i(){this.constructor=e}for(var n in t)({}).hasOwnProperty.call(t,n)&amp;&amp;(e[n]=t[n]);return i.prototype=t.prototype,e.prototype=new i,e.parent=t.prototype,e}function c(e,t){var i,n,r,o;if(e){try{i=e.length}catch(a){i=o}if(i===o||&quot;number&quot;!=typeof i){for(n in e)if(e.hasOwnProperty(n)&amp;&amp;t(e[n],n)===!1)return}else for(r=0;i&gt;r;r++)if(t(e[r],r)===!1)return}}function l(t){var i;if(!t||&quot;object&quot;!==e(t))return!0;for(i in t)return!1;return!0}function d(t,i){function n(r){&quot;function&quot;===e(t[r])&amp;&amp;t[r](function(e){++r&lt;o&amp;&amp;!e?n(r):i(e)})}var r=0,o=t.length;&quot;function&quot;!==e(i)&amp;&amp;(i=function(){}),t&amp;&amp;t.length||i(),n(r)}function m(e,t){var i=0,n=e.length,r=new Array(n);c(e,function(e,o){e(function(e){if(e)return t(e);var a=[].slice.call(arguments);a.shift(),r[o]=a,i++,i===n&amp;&amp;(r.unshift(null),t.apply(this,r))})})}function h(e,t){if(t){if(Array.prototype.indexOf)return Array.prototype.indexOf.call(t,e);for(var i=0,n=t.length;n&gt;i;i++)if(t[i]===e)return i}return-1}function f(t,i){var n=[];&quot;array&quot;!==e(t)&amp;&amp;(t=[t]),&quot;array&quot;!==e(i)&amp;&amp;(i=[i]);for(var r in t)-1===h(t[r],i)&amp;&amp;n.push(t[r]);return n.length?n:!1}function p(e,t){var i=[];return c(e,function(e){-1!==h(e,t)&amp;&amp;i.push(e)}),i.length?i:null}function g(e){var t,i=[];for(t=0;t&lt;e.length;t++)i[t]=e[t];return i}function x(e){return e?String.prototype.trim?String.prototype.trim.call(e):e.toString().replace(/^\s*/,&quot;&quot;).replace(/\s*$/,&quot;&quot;):e}function v(e){if(&quot;string&quot;!=typeof e)return e;var t,i={t:1099511627776,g:1073741824,m:1048576,k:1024};return e=/^([0-9\.]+)([tmgk]?)$/.exec(e.toLowerCase().replace(/[^0-9\.tmkg]/g,&quot;&quot;)),t=e[2],e=+e[1],i.hasOwnProperty(t)&amp;&amp;(e*=i[t]),Math.floor(e)}function w(e){var t=[].slice.call(arguments,1);return e.replace(/%([a-z])/g,function(e,i){var n=t.shift();switch(i){case&quot;s&quot;:return n+&quot;&quot;;case&quot;d&quot;:return parseInt(n,10);case&quot;f&quot;:return parseFloat(n);case&quot;c&quot;:return&quot;&quot;;default:return n}})}function y(e,t){var i=this;setTimeout(function(){e.call(i)},t||1)}var E=function(){var e=0;return function(t){var i,n=(new Date).getTime().toString(32);for(i=0;5&gt;i;i++)n+=Math.floor(65535*Math.random()).toString(32);return(t||&quot;o_&quot;)+n+(e++).toString(32)}}();return{guid:E,typeOf:e,extend:t,extendIf:i,extendImmutable:n,extendImmutableIf:r,clone:o,inherit:u,each:c,isEmptyObj:l,inSeries:d,inParallel:m,inArray:h,arrayDiff:f,arrayIntersect:p,toArray:g,trim:x,sprintf:w,parseSizeStr:v,delay:y}}),n(&quot;moxie/core/utils/Encode&quot;,[],function(){var e=function(e){return unescape(encodeURIComponent(e))},t=function(e){return decodeURIComponent(escape(e))},i=function(e,i){if(&quot;function&quot;==typeof window.atob)return i?t(window.atob(e)):window.atob(e);var n,r,o,a,s,u,c,l,d=&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=&quot;,m=0,h=0,f=&quot;&quot;,p=[];if(!e)return e;e+=&quot;&quot;;do a=d.indexOf(e.charAt(m++)),s=d.indexOf(e.charAt(m++)),u=d.indexOf(e.charAt(m++)),c=d.indexOf(e.charAt(m++)),l=a&lt;&lt;18|s&lt;&lt;12|u&lt;&lt;6|c,n=255&amp;l&gt;&gt;16,r=255&amp;l&gt;&gt;8,o=255&amp;l,p[h++]=64==u?String.fromCharCode(n):64==c?String.fromCharCode(n,r):String.fromCharCode(n,r,o);while(m&lt;e.length);return f=p.join(&quot;&quot;),i?t(f):f},n=function(t,i){if(i&amp;&amp;(t=e(t)),&quot;function&quot;==typeof window.btoa)return window.btoa(t);var n,r,o,a,s,u,c,l,d=&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=&quot;,m=0,h=0,f=&quot;&quot;,p=[];if(!t)return t;do n=t.charCodeAt(m++),r=t.charCodeAt(m++),o=t.charCodeAt(m++),l=n&lt;&lt;16|r&lt;&lt;8|o,a=63&amp;l&gt;&gt;18,s=63&amp;l&gt;&gt;12,u=63&amp;l&gt;&gt;6,c=63&amp;l,p[h++]=d.charAt(a)+d.charAt(s)+d.charAt(u)+d.charAt(c);while(m&lt;t.length);f=p.join(&quot;&quot;);var g=t.length%3;return(g?f.slice(0,g-3):f)+&quot;===&quot;.slice(g||3)};return{utf8_encode:e,utf8_decode:t,atob:i,btoa:n}}),n(&quot;moxie/core/utils/Env&quot;,[&quot;moxie/core/utils/Basic&quot;],function(e){function i(e,t,i){var n=0,r=0,o=0,a={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,&quot;#&quot;:-2,p:1,pl:1},s=function(e){return e=(&quot;&quot;+e).replace(/[_\-+]/g,&quot;.&quot;),e=e.replace(/([^.\d]+)/g,&quot;.$1.&quot;).replace(/\.{2,}/g,&quot;.&quot;),e.length?e.split(&quot;.&quot;):[-8]},u=function(e){return e?isNaN(e)?a[e]||-7:parseInt(e,10):0};for(e=s(e),t=s(t),r=Math.max(e.length,t.length),n=0;r&gt;n;n++)if(e[n]!=t[n]){if(e[n]=u(e[n]),t[n]=u(t[n]),e[n]&lt;t[n]){o=-1;break}if(e[n]&gt;t[n]){o=1;break}}if(!i)return o;switch(i){case&quot;&gt;&quot;:case&quot;gt&quot;:return o&gt;0;case&quot;&gt;=&quot;:case&quot;ge&quot;:return o&gt;=0;case&quot;&lt;=&quot;:case&quot;le&quot;:return 0&gt;=o;case&quot;==&quot;:case&quot;=&quot;:case&quot;eq&quot;:return 0===o;case&quot;&lt;&gt;&quot;:case&quot;!=&quot;:case&quot;ne&quot;:return 0!==o;case&quot;&quot;:case&quot;&lt;&quot;:case&quot;lt&quot;:return 0&gt;o;default:return null}}var n=function(e){var t=&quot;&quot;,i=&quot;?&quot;,n=&quot;function&quot;,r=&quot;undefined&quot;,o=&quot;object&quot;,a=&quot;name&quot;,s=&quot;version&quot;,u={has:function(e,t){return-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()}},c={rgx:function(){for(var t,i,a,s,u,c,l,d=0,m=arguments;d&lt;m.length;d+=2){var h=m[d],f=m[d+1];if(typeof t===r){t={};for(s in f)u=f[s],typeof u===o?t[u[0]]=e:t[u]=e}for(i=a=0;i&lt;h.length;i++)if(c=h[i].exec(this.getUA())){for(s=0;s&lt;f.length;s++)l=c[++a],u=f[s],typeof u===o&amp;&amp;u.length&gt;0?2==u.length?t[u[0]]=typeof u[1]==n?u[1].call(this,l):u[1]:3==u.length?t[u[0]]=typeof u[1]!==n||u[1].exec&amp;&amp;u[1].test?l?l.replace(u[1],u[2]):e:l?u[1].call(this,l,u[2]):e:4==u.length&amp;&amp;(t[u[0]]=l?u[3].call(this,l.replace(u[1],u[2])):e):t[u]=l?l:e;break}if(c)break}return t},str:function(t,n){for(var r in n)if(typeof n[r]===o&amp;&amp;n[r].length&gt;0){for(var a=0;a&lt;n[r].length;a++)if(u.has(n[r][a],t))return r===i?e:r}else if(u.has(n[r],t))return r===i?e:r;return t}},l={browser:{oldsafari:{major:{1:[&quot;/8&quot;,&quot;/1&quot;,&quot;/3&quot;],2:&quot;/4&quot;,&quot;?&quot;:&quot;/&quot;},version:{&quot;1.0&quot;:&quot;/8&quot;,1.2:&quot;/1&quot;,1.3:&quot;/3&quot;,&quot;2.0&quot;:&quot;/412&quot;,&quot;2.0.2&quot;:&quot;/416&quot;,&quot;2.0.3&quot;:&quot;/417&quot;,&quot;2.0.4&quot;:&quot;/419&quot;,&quot;?&quot;:&quot;/&quot;}}},device:{sprint:{model:{&quot;Evo Shift 4G&quot;:&quot;7373KT&quot;},vendor:{HTC:&quot;APA&quot;,Sprint:&quot;Sprint&quot;}}},os:{windows:{version:{ME:&quot;4.90&quot;,&quot;NT 3.11&quot;:&quot;NT3.51&quot;,&quot;NT 4.0&quot;:&quot;NT4.0&quot;,2000:&quot;NT 5.0&quot;,XP:[&quot;NT 5.1&quot;,&quot;NT 5.2&quot;],Vista:&quot;NT 6.0&quot;,7:&quot;NT 6.1&quot;,8:&quot;NT 6.2&quot;,8.1:&quot;NT 6.3&quot;,RT:&quot;ARM&quot;}}}},d={browser:[[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/([\w\.-]+)/i,/(opera).+version\/([\w\.]+)/i,/(opera)[\/\s]+([\w\.]+)/i],[a,s],[/\s(opr)\/([\w\.]+)/i],[[a,&quot;Opera&quot;],s],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(rekonq)\/([\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi)\/([\w\.-]+)/i],[a,s],[/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i],[[a,&quot;IE&quot;],s],[/(edge)\/((\d+)?[\w\.]+)/i],[a,s],[/(yabrowser)\/([\w\.]+)/i],[[a,&quot;Yandex&quot;],s],[/(comodo_dragon)\/([\w\.]+)/i],[[a,/_/g,&quot; &quot;],s],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i,/(uc\s?browser|qqbrowser)[\/\s]?([\w\.]+)/i],[a,s],[/(dolfin)\/([\w\.]+)/i],[[a,&quot;Dolphin&quot;],s],[/((?:android.+)crmo|crios)\/([\w\.]+)/i],[[a,&quot;Chrome&quot;],s],[/XiaoMi\/MiuiBrowser\/([\w\.]+)/i],[s,[a,&quot;MIUI Browser&quot;]],[/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)/i],[s,[a,&quot;Android Browser&quot;]],[/FBAV\/([\w\.]+);/i],[s,[a,&quot;Facebook&quot;]],[/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i],[s,[a,&quot;Mobile Safari&quot;]],[/version\/([\w\.]+).+?(mobile\s?safari|safari)/i],[s,a],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[a,[s,c.str,l.browser.oldsafari.version]],[/(konqueror)\/([\w\.]+)/i,/(webkit|khtml)\/([\w\.]+)/i],[a,s],[/(navigator|netscape)\/([\w\.-]+)/i],[[a,&quot;Netscape&quot;],s],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/([\w\.-]+)/i,/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]+)*/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[a,s]],engine:[[/windows.+\sedge\/([\w\.]+)/i],[s,[a,&quot;EdgeHTML&quot;]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[a,s],[/rv\:([\w\.]+).*(gecko)/i],[s,a]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[a,s],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[a,[s,c.str,l.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[a,&quot;Windows&quot;],[s,c.str,l.os.windows.version]],[/\((bb)(10);/i],[[a,&quot;BlackBerry&quot;],s],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)[\/\s]([\w\.]+)/i,/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i,/linux;.+(sailfish);/i],[a,s],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[a,&quot;Symbian&quot;],s],[/\((series40);/i],[a],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[a,&quot;Firefox OS&quot;],s],[/(nintendo|playstation)\s([wids3portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[a,s],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[a,&quot;Chromium OS&quot;],s],[/(sunos)\s?([\w\.]+\d)*/i],[[a,&quot;Solaris&quot;],s],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[a,s],[/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i],[[a,&quot;iOS&quot;],[s,/_/g,&quot;.&quot;]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i,/(macintosh|mac(?=_powerpc)\s)/i],[[a,&quot;Mac OS&quot;],[s,/_/g,&quot;.&quot;]],[/((?:open)?solaris)[\/\s-]?([\w\.]+)*/i,/(haiku)\s(\w+)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,/(unix)\s?([\w\.]+)*/i],[a,s]]},m=function(e){var i=e||(window&amp;&amp;window.navigator&amp;&amp;window.navigator.userAgent?window.navigator.userAgent:t);this.getBrowser=function(){return c.rgx.apply(this,d.browser)},this.getEngine=function(){return c.rgx.apply(this,d.engine)},this.getOS=function(){return c.rgx.apply(this,d.os)},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS()}},this.getUA=function(){return i},this.setUA=function(e){return i=e,this},this.setUA(i)};return m}(),r=function(){var i={access_global_ns:function(){return!!window.moxie},define_property:function(){return!1}(),create_canvas:function(){var e=document.createElement(&quot;canvas&quot;),t=!(!e.getContext||!e.getContext(&quot;2d&quot;));return i.create_canvas=t,t},return_response_type:function(t){try{if(-1!==e.inArray(t,[&quot;&quot;,&quot;text&quot;,&quot;document&quot;]))return!0;if(window.XMLHttpRequest){var i=new XMLHttpRequest;if(i.open(&quot;get&quot;,&quot;/&quot;),&quot;responseType&quot;in i)return i.responseType=t,i.responseType!==t?!1:!0}}catch(n){}return!1},use_blob_uri:function(){var e=window.URL;return i.use_blob_uri=e&amp;&amp;&quot;createObjectURL&quot;in e&amp;&amp;&quot;revokeObjectURL&quot;in e&amp;&amp;(&quot;IE&quot;!==a.browser||a.verComp(a.version,&quot;11.0.46&quot;,&quot;&gt;=&quot;)),i.use_blob_uri},use_data_uri:function(){var e=new Image;return e.onload=function(){i.use_data_uri=1===e.width&amp;&amp;1===e.height},setTimeout(function(){e.src=&quot;data:image/gif;base64,R0lGODlhAQABAIAAAP8AAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==&quot;},1),!1}(),use_data_uri_over32kb:function(){return i.use_data_uri&amp;&amp;(&quot;IE&quot;!==a.browser||a.version&gt;=9)},use_data_uri_of:function(e){return i.use_data_uri&amp;&amp;33e3&gt;e||i.use_data_uri_over32kb()},use_fileinput:function(){if(navigator.userAgent.match(/(Android (1.0|1.1|1.5|1.6|2.0|2.1))|(Windows Phone (OS 7|8.0))|(XBLWP)|(ZuneWP)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1.0|2.0|2.5|3.0))/))return!1;var e=document.createElement(&quot;input&quot;);return e.setAttribute(&quot;type&quot;,&quot;file&quot;),i.use_fileinput=!e.disabled},use_webgl:function(){var e,n=document.createElement(&quot;canvas&quot;),r=null;try{r=n.getContext(&quot;webgl&quot;)||n.getContext(&quot;experimental-webgl&quot;)}catch(o){}return r||(r=null),e=!!r,i.use_webgl=e,n=t,e}};return function(t){var n=[].slice.call(arguments);return n.shift(),&quot;function&quot;===e.typeOf(i[t])?i[t].apply(this,n):!!i[t]}}(),o=(new n).getResult(),a={can:r,uaParser:n,browser:o.browser.name,version:o.browser.version,os:o.os.name,osVersion:o.os.version,verComp:i,swf_url:&quot;../flash/Moxie.swf&quot;,xap_url:&quot;../silverlight/Moxie.xap&quot;,global_event_dispatcher:&quot;moxie.core.EventTarget.instance.dispatchEvent&quot;};return a.OS=a.os,a}),n(&quot;moxie/core/Exceptions&quot;,[&quot;moxie/core/utils/Basic&quot;],function(e){function t(e,t){var i;for(i in e)if(e[i]===t)return i;return null}return{RuntimeError:function(){function i(e,i){this.code=e,this.name=t(n,e),this.message=this.name+(i||&quot;: RuntimeError &quot;+this.code)}var n={NOT_INIT_ERR:1,EXCEPTION_ERR:3,NOT_SUPPORTED_ERR:9,JS_ERR:4};return e.extend(i,n),i.prototype=Error.prototype,i}(),OperationNotAllowedException:function(){function t(e){this.code=e,this.name=&quot;OperationNotAllowedException&quot;}return e.extend(t,{NOT_ALLOWED_ERR:1}),t.prototype=Error.prototype,t}(),ImageError:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+&quot;: ImageError &quot;+this.code}var n={WRONG_FORMAT:1,MAX_RESOLUTION_ERR:2,INVALID_META_ERR:3};return e.extend(i,n),i.prototype=Error.prototype,i}(),FileException:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+&quot;: FileException &quot;+this.code}var n={NOT_FOUND_ERR:1,SECURITY_ERR:2,ABORT_ERR:3,NOT_READABLE_ERR:4,ENCODING_ERR:5,NO_MODIFICATION_ALLOWED_ERR:6,INVALID_STATE_ERR:7,SYNTAX_ERR:8};return e.extend(i,n),i.prototype=Error.prototype,i}(),DOMException:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+&quot;: DOMException &quot;+this.code}var n={INDEX_SIZE_ERR:1,DOMSTRING_SIZE_ERR:2,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,INVALID_CHARACTER_ERR:5,NO_DATA_ALLOWED_ERR:6,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INUSE_ATTRIBUTE_ERR:10,INVALID_STATE_ERR:11,SYNTAX_ERR:12,INVALID_MODIFICATION_ERR:13,NAMESPACE_ERR:14,INVALID_ACCESS_ERR:15,VALIDATION_ERR:16,TYPE_MISMATCH_ERR:17,SECURITY_ERR:18,NETWORK_ERR:19,ABORT_ERR:20,URL_MISMATCH_ERR:21,QUOTA_EXCEEDED_ERR:22,TIMEOUT_ERR:23,INVALID_NODE_TYPE_ERR:24,DATA_CLONE_ERR:25};return e.extend(i,n),i.prototype=Error.prototype,i}(),EventException:function(){function t(e){this.code=e,this.name=&quot;EventException&quot;}return e.extend(t,{UNSPECIFIED_EVENT_TYPE_ERR:0}),t.prototype=Error.prototype,t}()}}),n(&quot;moxie/core/utils/Dom&quot;,[&quot;moxie/core/utils/Env&quot;],function(e){var t=function(e){return&quot;string&quot;!=typeof e?e:document.getElementById(e)},i=function(e,t){if(!e.className)return!1;var i=new RegExp(&quot;(^|\\s+)&quot;+t+&quot;(\\s+|$)&quot;);return i.test(e.className)},n=function(e,t){i(e,t)||(e.className=e.className?e.className.replace(/\s+$/,&quot;&quot;)+&quot; &quot;+t:t)},r=function(e,t){if(e.className){var i=new RegExp(&quot;(^|\\s+)&quot;+t+&quot;(\\s+|$)&quot;);e.className=e.className.replace(i,function(e,t,i){return&quot; &quot;===t&amp;&amp;&quot; &quot;===i?&quot; &quot;:&quot;&quot;})}},o=function(e,t){return e.currentStyle?e.currentStyle[t]:window.getComputedStyle?window.getComputedStyle(e,null)[t]:void 0},a=function(t,i){function n(e){var t,i,n=0,r=0;return e&amp;&amp;(i=e.getBoundingClientRect(),t=&quot;CSS1Compat&quot;===c.compatMode?c.documentElement:c.body,n=i.left+t.scrollLeft,r=i.top+t.scrollTop),{x:n,y:r}}var r,o,a,s=0,u=0,c=document;if(t=t,i=i||c.body,t&amp;&amp;t.getBoundingClientRect&amp;&amp;&quot;IE&quot;===e.browser&amp;&amp;(!c.documentMode||c.documentMode&lt;8))return o=n(t),a=n(i),{x:o.x-a.x,y:o.y-a.y};for(r=t;r&amp;&amp;r!=i&amp;&amp;r.nodeType;)s+=r.offsetLeft||0,u+=r.offsetTop||0,r=r.offsetParent;for(r=t.parentNode;r&amp;&amp;r!=i&amp;&amp;r.nodeType;)s-=r.scrollLeft||0,u-=r.scrollTop||0,r=r.parentNode;return{x:s,y:u}},s=function(e){return{w:e.offsetWidth||e.clientWidth,h:e.offsetHeight||e.clientHeight}};return{get:t,hasClass:i,addClass:n,removeClass:r,getStyle:o,getPos:a,getSize:s}}),n(&quot;moxie/core/EventTarget&quot;,[&quot;moxie/core/utils/Env&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/utils/Basic&quot;],function(e,t,i){function n(){this.uid=i.guid()}var r={};return i.extend(n.prototype,{init:function(){this.uid||(this.uid=i.guid(&quot;uid_&quot;))},addEventListener:function(e,t,n,o){var a,s=this;return this.hasOwnProperty(&quot;uid&quot;)||(this.uid=i.guid(&quot;uid_&quot;)),e=i.trim(e),/\s/.test(e)?(i.each(e.split(/\s+/),function(e){s.addEventListener(e,t,n,o)}),void 0):(e=e.toLowerCase(),n=parseInt(n,10)||0,a=r[this.uid]&amp;&amp;r[this.uid][e]||[],a.push({fn:t,priority:n,scope:o||this}),r[this.uid]||(r[this.uid]={}),r[this.uid][e]=a,void 0)},hasEventListener:function(e){var t;return e?(e=e.toLowerCase(),t=r[this.uid]&amp;&amp;r[this.uid][e]):t=r[this.uid],t?t:!1},removeEventListener:function(e,t){var n,o,a=this;if(e=e.toLowerCase(),/\s/.test(e))return i.each(e.split(/\s+/),function(e){a.removeEventListener(e,t)}),void 0;if(n=r[this.uid]&amp;&amp;r[this.uid][e]){if(t){for(o=n.length-1;o&gt;=0;o--)if(n[o].fn===t){n.splice(o,1);break}}else n=[];n.length||(delete r[this.uid][e],i.isEmptyObj(r[this.uid])&amp;&amp;delete r[this.uid])}},removeAllEventListeners:function(){r[this.uid]&amp;&amp;delete r[this.uid]},dispatchEvent:function(e){var n,o,a,s,u,c={},l=!0;if(&quot;string&quot;!==i.typeOf(e)){if(s=e,&quot;string&quot;!==i.typeOf(s.type))throw new t.EventException(t.EventException.UNSPECIFIED_EVENT_TYPE_ERR);e=s.type,s.total!==u&amp;&amp;s.loaded!==u&amp;&amp;(c.total=s.total,c.loaded=s.loaded),c.async=s.async||!1}if(-1!==e.indexOf(&quot;::&quot;)?function(t){n=t[0],e=t[1]}(e.split(&quot;::&quot;)):n=this.uid,e=e.toLowerCase(),o=r[n]&amp;&amp;r[n][e]){o.sort(function(e,t){return t.priority-e.priority}),a=[].slice.call(arguments),a.shift(),c.type=e,a.unshift(c);var d=[];i.each(o,function(e){a[0].target=e.scope,c.async?d.push(function(t){setTimeout(function(){t(e.fn.apply(e.scope,a)===!1)},1)}):d.push(function(t){t(e.fn.apply(e.scope,a)===!1)})}),d.length&amp;&amp;i.inSeries(d,function(e){l=!e})}return l},bindOnce:function(e,t,i,n){var r=this;r.bind.call(this,e,function o(){return r.unbind(e,o),t.apply(this,arguments)},i,n)},bind:function(){this.addEventListener.apply(this,arguments)},unbind:function(){this.removeEventListener.apply(this,arguments)},unbindAll:function(){this.removeAllEventListeners.apply(this,arguments)},trigger:function(){return this.dispatchEvent.apply(this,arguments)},handleEventProps:function(e){var t=this;this.bind(e.join(&quot; &quot;),function(e){var t=&quot;on&quot;+e.type.toLowerCase();&quot;function&quot;===i.typeOf(this[t])&amp;&amp;this[t].apply(this,arguments)}),i.each(e,function(e){e=&quot;on&quot;+e.toLowerCase(e),&quot;undefined&quot;===i.typeOf(t[e])&amp;&amp;(t[e]=null)})}}),n.instance=new n,n}),n(&quot;moxie/runtime/Runtime&quot;,[&quot;moxie/core/utils/Env&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/EventTarget&quot;],function(e,t,i,n){function r(e,n,o,s,u){var c,l=this,d=t.guid(n+&quot;_&quot;),m=u||&quot;browser&quot;;e=e||{},a[d]=this,o=t.extend({access_binary:!1,access_image_binary:!1,display_media:!1,do_cors:!1,drag_and_drop:!1,filter_by_extension:!0,resize_image:!1,report_upload_progress:!1,return_response_headers:!1,return_response_type:!1,return_status_code:!0,send_custom_headers:!1,select_file:!1,select_folder:!1,select_multiple:!0,send_binary_string:!1,send_browser_cookies:!0,send_multipart:!0,slice_blob:!1,stream_upload:!1,summon_file_dialog:!1,upload_filesize:!0,use_http_method:!0},o),e.preferred_caps&amp;&amp;(m=r.getMode(s,e.preferred_caps,m)),c=function(){var e={};return{exec:function(t,i,n,r){return c[i]&amp;&amp;(e[t]||(e[t]={context:this,instance:new c[i]}),e[t].instance[n])?e[t].instance[n].apply(this,r):void 0},removeInstance:function(t){delete e[t]},removeAllInstances:function(){var i=this;t.each(e,function(e,n){&quot;function&quot;===t.typeOf(e.instance.destroy)&amp;&amp;e.instance.destroy.call(e.context),i.removeInstance(n)})}}}(),t.extend(this,{initialized:!1,uid:d,type:n,mode:r.getMode(s,e.required_caps,m),shimid:d+&quot;_container&quot;,clients:0,options:e,can:function(e,i){var n=arguments[2]||o;if(&quot;string&quot;===t.typeOf(e)&amp;&amp;&quot;undefined&quot;===t.typeOf(i)&amp;&amp;(e=r.parseCaps(e)),&quot;object&quot;===t.typeOf(e)){for(var a in e)if(!this.can(a,e[a],n))return!1;return!0}return&quot;function&quot;===t.typeOf(n[e])?n[e].call(this,i):i===n[e]},getShimContainer:function(){var e,n=i.get(this.shimid);return n||(e=i.get(this.options.container)||document.body,n=document.createElement(&quot;div&quot;),n.id=this.shimid,n.className=&quot;moxie-shim moxie-shim-&quot;+this.type,t.extend(n.style,{position:&quot;absolute&quot;,top:&quot;0px&quot;,left:&quot;0px&quot;,width:&quot;1px&quot;,height:&quot;1px&quot;,overflow:&quot;hidden&quot;}),e.appendChild(n),e=null),n},getShim:function(){return c},shimExec:function(e,t){var i=[].slice.call(arguments,2);return l.getShim().exec.call(this,this.uid,e,t,i)},exec:function(e,t){var i=[].slice.call(arguments,2);return l[e]&amp;&amp;l[e][t]?l[e][t].apply(this,i):l.shimExec.apply(this,arguments)},destroy:function(){if(l){var e=i.get(this.shimid);e&amp;&amp;e.parentNode.removeChild(e),c&amp;&amp;c.removeAllInstances(),this.unbindAll(),delete a[this.uid],this.uid=null,d=l=c=e=null}}}),this.mode&amp;&amp;e.required_caps&amp;&amp;!this.can(e.required_caps)&amp;&amp;(this.mode=!1)}var o={},a={};return r.order=&quot;html5,flash,silverlight,html4&quot;,r.getRuntime=function(e){return a[e]?a[e]:!1},r.addConstructor=function(e,t){t.prototype=n.instance,o[e]=t},r.getConstructor=function(e){return o[e]||null},r.getInfo=function(e){var t=r.getRuntime(e);return t?{uid:t.uid,type:t.type,mode:t.mode,can:function(){return t.can.apply(t,arguments)}}:null},r.parseCaps=function(e){var i={};return&quot;string&quot;!==t.typeOf(e)?e||{}:(t.each(e.split(&quot;,&quot;),function(e){i[e]=!0}),i)},r.can=function(e,t){var i,n,o=r.getConstructor(e);return o?(i=new o({required_caps:t}),n=i.mode,i.destroy(),!!n):!1},r.thatCan=function(e,t){var i=(t||r.order).split(/\s*,\s*/);for(var n in i)if(r.can(i[n],e))return i[n];return null},r.getMode=function(e,i,n){var r=null;if(&quot;undefined&quot;===t.typeOf(n)&amp;&amp;(n=&quot;browser&quot;),i&amp;&amp;!t.isEmptyObj(e)){if(t.each(i,function(i,n){if(e.hasOwnProperty(n)){var o=e[n](i);if(&quot;string&quot;==typeof o&amp;&amp;(o=[o]),r){if(!(r=t.arrayIntersect(r,o)))return r=!1}else r=o}}),r)return-1!==t.inArray(n,r)?n:r[0];if(r===!1)return!1}return n},r.getGlobalEventTarget=function(){if(/^moxie\./.test(e.global_event_dispatcher)&amp;&amp;!e.can(&quot;access_global_ns&quot;)){var i=t.guid(&quot;moxie_event_target_&quot;);window[i]=function(e,t){n.instance.dispatchEvent(e,t)},e.global_event_dispatcher=i}return e.global_event_dispatcher},r.capTrue=function(){return!0},r.capFalse=function(){return!1},r.capTest=function(e){return function(){return!!e}},r}),n(&quot;moxie/runtime/RuntimeClient&quot;,[&quot;moxie/core/utils/Env&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/Runtime&quot;],function(e,t,i,n){return function(){var e;i.extend(this,{connectRuntime:function(r){function o(i){var a,u;return i.length?(a=i.shift().toLowerCase(),(u=n.getConstructor(a))?(e=new u(r),e.bind(&quot;Init&quot;,function(){e.initialized=!0,setTimeout(function(){e.clients++,s.ruid=e.uid,s.trigger(&quot;RuntimeInit&quot;,e)},1)}),e.bind(&quot;Error&quot;,function(){e.destroy(),o(i)}),e.bind(&quot;Exception&quot;,function(e,i){var n=i.name+&quot;(#&quot;+i.code+&quot;)&quot;+(i.message?&quot;, from: &quot;+i.message:&quot;&quot;);s.trigger(&quot;RuntimeError&quot;,new t.RuntimeError(t.RuntimeError.EXCEPTION_ERR,n))}),e.mode?(e.init(),void 0):(e.trigger(&quot;Error&quot;),void 0)):(o(i),void 0)):(s.trigger(&quot;RuntimeError&quot;,new t.RuntimeError(t.RuntimeError.NOT_INIT_ERR)),e=null,void 0)}var a,s=this;if(&quot;string&quot;===i.typeOf(r)?a=r:&quot;string&quot;===i.typeOf(r.ruid)&amp;&amp;(a=r.ruid),a){if(e=n.getRuntime(a))return s.ruid=a,e.clients++,e;throw new t.RuntimeError(t.RuntimeError.NOT_INIT_ERR)}o((r.runtime_order||n.order).split(/\s*,\s*/))},disconnectRuntime:function(){e&amp;&amp;--e.clients&lt;=0&amp;&amp;e.destroy(),e=null},getRuntime:function(){return e&amp;&amp;e.uid?e:e=null},exec:function(){return e?e.exec.apply(this,arguments):null},can:function(t){return e?e.can(t):!1}})}}),n(&quot;moxie/file/Blob&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Encode&quot;,&quot;moxie/runtime/RuntimeClient&quot;],function(e,t,i){function n(o,a){function s(t,i,o){var a,s=r[this.uid];return&quot;string&quot;===e.typeOf(s)&amp;&amp;s.length?(a=new n(null,{type:o,size:i-t}),a.detach(s.substr(t,a.size)),a):null}i.call(this),o&amp;&amp;this.connectRuntime(o),a?&quot;string&quot;===e.typeOf(a)&amp;&amp;(a={data:a}):a={},e.extend(this,{uid:a.uid||e.guid(&quot;uid_&quot;),ruid:o,size:a.size||0,type:a.type||&quot;&quot;,slice:function(e,t,i){return this.isDetached()?s.apply(this,arguments):this.getRuntime().exec.call(this,&quot;Blob&quot;,&quot;slice&quot;,this.getSource(),e,t,i)},getSource:function(){return r[this.uid]?r[this.uid]:null},detach:function(e){if(this.ruid&amp;&amp;(this.getRuntime().exec.call(this,&quot;Blob&quot;,&quot;destroy&quot;),this.disconnectRuntime(),this.ruid=null),e=e||&quot;&quot;,&quot;data:&quot;==e.substr(0,5)){var i=e.indexOf(&quot;;base64,&quot;);this.type=e.substring(5,i),e=t.atob(e.substring(i+8))}this.size=e.length,r[this.uid]=e},isDetached:function(){return!this.ruid&amp;&amp;&quot;string&quot;===e.typeOf(r[this.uid])},destroy:function(){this.detach(),delete r[this.uid]}}),a.data?this.detach(a.data):r[this.uid]=a}var r={};return n}),n(&quot;moxie/core/I18n&quot;,[&quot;moxie/core/utils/Basic&quot;],function(e){var t={};return{addI18n:function(i){return e.extend(t,i)},translate:function(e){return t[e]||e},_:function(e){return this.translate(e)},sprintf:function(t){var i=[].slice.call(arguments,1);return t.replace(/%[a-z]/g,function(){var t=i.shift();return&quot;undefined&quot;!==e.typeOf(t)?t:&quot;&quot;})}}}),n(&quot;moxie/core/utils/Mime&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/I18n&quot;],function(e,t){var i=&quot;application/msword,doc dot,application/pdf,pdf,application/pgp-signature,pgp,application/postscript,ps ai eps,application/rtf,rtf,application/vnd.ms-excel,xls xlb xlt xla,application/vnd.ms-powerpoint,ppt pps pot ppa,application/zip,zip,application/x-shockwave-flash,swf swfl,application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx,application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx,application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx,application/vnd.openxmlformats-officedocument.presentationml.template,potx,application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx,application/x-javascript,js,application/json,json,audio/mpeg,mp3 mpga mpega mp2,audio/x-wav,wav,audio/x-m4a,m4a,audio/ogg,oga ogg,audio/aiff,aiff aif,audio/flac,flac,audio/aac,aac,audio/ac3,ac3,audio/x-ms-wma,wma,image/bmp,bmp,image/gif,gif,image/jpeg,jpg jpeg jpe,image/photoshop,psd,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/plain,asc txt text diff log,text/html,htm html xhtml,text/css,css,text/csv,csv,text/rtf,rtf,video/mpeg,mpeg mpg mpe m2v,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/x-ms-wmv,wmv,video/avi,avi,video/webm,webm,video/3gpp,3gpp 3gp,video/3gpp2,3g2,video/vnd.rn-realvideo,rv,video/ogg,ogv,video/x-matroska,mkv,application/vnd.oasis.opendocument.formula-template,otf,application/octet-stream,exe&quot;,n={},r={},o=function(e){var t,i,o,a=e.split(/,/);for(t=0;t&lt;a.length;t+=2){for(o=a[t+1].split(/ /),i=0;i&lt;o.length;i++)n[o[i]]=a[t];r[a[t]]=o}},a=function(t,i){var n,r,o,a,s=[];for(r=0;r&lt;t.length;r++)for(n=t[r].extensions.toLowerCase().split(/\s*,\s*/),o=0;o&lt;n.length;o++){if(&quot;*&quot;===n[o])return[];if(a=s[n[o]],i&amp;&amp;/^\w+$/.test(n[o]))s.push(&quot;.&quot;+n[o]);else if(a&amp;&amp;-1===e.inArray(a,s))s.push(a);else if(!a)return[]}return s},s=function(t){var i=[];return e.each(t,function(t){if(t=t.toLowerCase(),&quot;*&quot;===t)return i=[],!1;var n=t.match(/^(\w+)\/(\*|\w+)$/);n&amp;&amp;(&quot;*&quot;===n[2]?e.each(r,function(e,t){new RegExp(&quot;^&quot;+n[1]+&quot;/&quot;).test(t)&amp;&amp;[].push.apply(i,r[t])}):r[t]&amp;&amp;[].push.apply(i,r[t]))}),i},u=function(i){var n=[],r=[];return&quot;string&quot;===e.typeOf(i)&amp;&amp;(i=e.trim(i).split(/\s*,\s*/)),r=s(i),n.push({title:t.translate(&quot;Files&quot;),extensions:r.length?r.join(&quot;,&quot;):&quot;*&quot;}),n},c=function(e){var t=e&amp;&amp;e.match(/\.([^.]+)$/);return t?t[1].toLowerCase():&quot;&quot;},l=function(e){return n[c(e)]||&quot;&quot;};return o(i),{mimes:n,extensions:r,addMimeType:o,extList2mimes:a,mimes2exts:s,mimes2extList:u,getFileExtension:c,getFileMime:l}}),n(&quot;moxie/file/FileInput&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Env&quot;,&quot;moxie/core/utils/Mime&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/EventTarget&quot;,&quot;moxie/core/I18n&quot;,&quot;moxie/runtime/Runtime&quot;,&quot;moxie/runtime/RuntimeClient&quot;],function(e,t,i,n,r,o,a,s,u){function c(t){var o,c,d;if(-1!==e.inArray(e.typeOf(t),[&quot;string&quot;,&quot;node&quot;])&amp;&amp;(t={browse_button:t}),c=n.get(t.browse_button),!c)throw new r.DOMException(r.DOMException.NOT_FOUND_ERR);d={accept:[{title:a.translate(&quot;All Files&quot;),extensions:&quot;*&quot;}],multiple:!1,required_caps:!1,container:c.parentNode||document.body},t=e.extend({},d,t),&quot;string&quot;==typeof t.required_caps&amp;&amp;(t.required_caps=s.parseCaps(t.required_caps)),&quot;string&quot;==typeof t.accept&amp;&amp;(t.accept=i.mimes2extList(t.accept)),o=n.get(t.container),o||(o=document.body),&quot;static&quot;===n.getStyle(o,&quot;position&quot;)&amp;&amp;(o.style.position=&quot;relative&quot;),o=c=null,u.call(this),e.extend(this,{uid:e.guid(&quot;uid_&quot;),ruid:null,shimid:null,files:null,init:function(){var i=this;i.bind(&quot;RuntimeInit&quot;,function(r,o){i.ruid=o.uid,i.shimid=o.shimid,i.bind(&quot;Ready&quot;,function(){i.trigger(&quot;Refresh&quot;)},999),i.bind(&quot;Refresh&quot;,function(){var i,r,a,s,u;a=n.get(t.browse_button),s=n.get(o.shimid),a&amp;&amp;(i=n.getPos(a,n.get(t.container)),r=n.getSize(a),u=parseInt(n.getStyle(a,&quot;z-index&quot;),10)||0,s&amp;&amp;e.extend(s.style,{top:i.y+&quot;px&quot;,left:i.x+&quot;px&quot;,width:r.w+&quot;px&quot;,height:r.h+&quot;px&quot;,zIndex:u+1})),s=a=null}),o.exec.call(i,&quot;FileInput&quot;,&quot;init&quot;,t)}),i.connectRuntime(e.extend({},t,{required_caps:{select_file:!0}}))},getOption:function(e){return t[e]},setOption:function(e,n){if(t.hasOwnProperty(e)){var o=t[e];switch(e){case&quot;accept&quot;:&quot;string&quot;==typeof n&amp;&amp;(n=i.mimes2extList(n));break;case&quot;container&quot;:case&quot;required_caps&quot;:throw new r.FileException(r.FileException.NO_MODIFICATION_ALLOWED_ERR)}t[e]=n,this.exec(&quot;FileInput&quot;,&quot;setOption&quot;,e,n),this.trigger(&quot;OptionChanged&quot;,e,n,o)}},disable:function(t){var i=this.getRuntime();i&amp;&amp;this.exec(&quot;FileInput&quot;,&quot;disable&quot;,&quot;undefined&quot;===e.typeOf(t)?!0:t)},refresh:function(){this.trigger(&quot;Refresh&quot;)},destroy:function(){var t=this.getRuntime();t&amp;&amp;(t.exec.call(this,&quot;FileInput&quot;,&quot;destroy&quot;),this.disconnectRuntime()),&quot;array&quot;===e.typeOf(this.files)&amp;&amp;e.each(this.files,function(e){e.destroy()}),this.files=null,this.unbindAll()}}),this.handleEventProps(l)}var l=[&quot;ready&quot;,&quot;change&quot;,&quot;cancel&quot;,&quot;mouseenter&quot;,&quot;mouseleave&quot;,&quot;mousedown&quot;,&quot;mouseup&quot;];return c.prototype=o.instance,c}),n(&quot;moxie/file/File&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Mime&quot;,&quot;moxie/file/Blob&quot;],function(e,t,i){function n(n,r){r||(r={}),i.apply(this,arguments),this.type||(this.type=t.getFileMime(r.name));var o;if(r.name)o=r.name.replace(/\\/g,&quot;/&quot;),o=o.substr(o.lastIndexOf(&quot;/&quot;)+1);else if(this.type){var a=this.type.split(&quot;/&quot;)[0];o=e.guid((&quot;&quot;!==a?a:&quot;file&quot;)+&quot;_&quot;),t.extensions[this.type]&amp;&amp;(o+=&quot;.&quot;+t.extensions[this.type][0])}e.extend(this,{name:o||e.guid(&quot;file_&quot;),relativePath:&quot;&quot;,lastModifiedDate:r.lastModified?new Date(r.lastModified):r.lastModifiedDate||(new Date).toLocaleString()})}return n.prototype=i.prototype,n}),n(&quot;moxie/file/FileDrop&quot;,[&quot;moxie/core/I18n&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Env&quot;,&quot;moxie/file/File&quot;,&quot;moxie/runtime/RuntimeClient&quot;,&quot;moxie/core/EventTarget&quot;,&quot;moxie/core/utils/Mime&quot;],function(e,t,i,n,r,o,a,s,u){function c(i){var r,o=this;&quot;string&quot;==typeof i&amp;&amp;(i={drop_zone:i}),r={accept:[{title:e.translate(&quot;All Files&quot;),extensions:&quot;*&quot;}],required_caps:{drag_and_drop:!0}},i=&quot;object&quot;==typeof i?n.extend({},r,i):r,i.container=t.get(i.drop_zone)||document.body,&quot;static&quot;===t.getStyle(i.container,&quot;position&quot;)&amp;&amp;(i.container.style.position=&quot;relative&quot;),&quot;string&quot;==typeof i.accept&amp;&amp;(i.accept=u.mimes2extList(i.accept)),a.call(o),n.extend(o,{uid:n.guid(&quot;uid_&quot;),ruid:null,files:null,init:function(){o.bind(&quot;RuntimeInit&quot;,function(e,t){o.ruid=t.uid,t.exec.call(o,&quot;FileDrop&quot;,&quot;init&quot;,i),o.dispatchEvent(&quot;ready&quot;)</td>
      </tr>
      <tr>
        <td id="L14" class="blob-num js-line-number" data-line-number="14"></td>
        <td id="LC14" class="blob-code blob-code-inner js-file-line">}),o.connectRuntime(i)},destroy:function(){var e=this.getRuntime();e&amp;&amp;(e.exec.call(this,&quot;FileDrop&quot;,&quot;destroy&quot;),this.disconnectRuntime()),this.files=null,this.unbindAll()}}),this.handleEventProps(l)}var l=[&quot;ready&quot;,&quot;dragenter&quot;,&quot;dragleave&quot;,&quot;drop&quot;,&quot;error&quot;];return c.prototype=s.instance,c}),n(&quot;moxie/file/FileReader&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Encode&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/EventTarget&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/runtime/RuntimeClient&quot;],function(e,t,i,n,r,o){function a(){function n(e,n){if(this.trigger(&quot;loadstart&quot;),this.readyState===a.LOADING)return this.trigger(&quot;error&quot;,new i.DOMException(i.DOMException.INVALID_STATE_ERR)),this.trigger(&quot;loadend&quot;),void 0;if(!(n instanceof r))return this.trigger(&quot;error&quot;,new i.DOMException(i.DOMException.NOT_FOUND_ERR)),this.trigger(&quot;loadend&quot;),void 0;if(this.result=null,this.readyState=a.LOADING,n.isDetached()){var o=n.getSource();switch(e){case&quot;readAsText&quot;:case&quot;readAsBinaryString&quot;:this.result=o;break;case&quot;readAsDataURL&quot;:this.result=&quot;data:&quot;+n.type+&quot;;base64,&quot;+t.btoa(o)}this.readyState=a.DONE,this.trigger(&quot;load&quot;),this.trigger(&quot;loadend&quot;)}else this.connectRuntime(n.ruid),this.exec(&quot;FileReader&quot;,&quot;read&quot;,e,n)}o.call(this),e.extend(this,{uid:e.guid(&quot;uid_&quot;),readyState:a.EMPTY,result:null,error:null,readAsBinaryString:function(e){n.call(this,&quot;readAsBinaryString&quot;,e)},readAsDataURL:function(e){n.call(this,&quot;readAsDataURL&quot;,e)},readAsText:function(e){n.call(this,&quot;readAsText&quot;,e)},abort:function(){this.result=null,-1===e.inArray(this.readyState,[a.EMPTY,a.DONE])&amp;&amp;(this.readyState===a.LOADING&amp;&amp;(this.readyState=a.DONE),this.exec(&quot;FileReader&quot;,&quot;abort&quot;),this.trigger(&quot;abort&quot;),this.trigger(&quot;loadend&quot;))},destroy:function(){this.abort(),this.exec(&quot;FileReader&quot;,&quot;destroy&quot;),this.disconnectRuntime(),this.unbindAll()}}),this.handleEventProps(s),this.bind(&quot;Error&quot;,function(e,t){this.readyState=a.DONE,this.error=t},999),this.bind(&quot;Load&quot;,function(){this.readyState=a.DONE},999)}var s=[&quot;loadstart&quot;,&quot;progress&quot;,&quot;load&quot;,&quot;abort&quot;,&quot;error&quot;,&quot;loadend&quot;];return a.EMPTY=0,a.LOADING=1,a.DONE=2,a.prototype=n.instance,a}),n(&quot;moxie/core/utils/Url&quot;,[&quot;moxie/core/utils/Basic&quot;],function(e){var t=function(i,n){var r,o=[&quot;source&quot;,&quot;scheme&quot;,&quot;authority&quot;,&quot;userInfo&quot;,&quot;user&quot;,&quot;pass&quot;,&quot;host&quot;,&quot;port&quot;,&quot;relative&quot;,&quot;path&quot;,&quot;directory&quot;,&quot;file&quot;,&quot;query&quot;,&quot;fragment&quot;],a=o.length,s={http:80,https:443},u={},c=/^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@\/]*):?([^:@\/]*))?@)?(\[[\da-fA-F:]+\]|[^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,l=c.exec(i||&quot;&quot;),d=/^\/\/\w/.test(i);switch(e.typeOf(n)){case&quot;undefined&quot;:n=t(document.location.href,!1);break;case&quot;string&quot;:n=t(n,!1)}for(;a--;)l[a]&amp;&amp;(u[o[a]]=l[a]);if(r=!d&amp;&amp;!u.scheme,(d||r)&amp;&amp;(u.scheme=n.scheme),r){u.host=n.host,u.port=n.port;var m=&quot;&quot;;/^[^\/]/.test(u.path)&amp;&amp;(m=n.path,m=/\/[^\/]*\.[^\/]*$/.test(m)?m.replace(/\/[^\/]+$/,&quot;/&quot;):m.replace(/\/?$/,&quot;/&quot;)),u.path=m+(u.path||&quot;&quot;)}return u.port||(u.port=s[u.scheme]||80),u.port=parseInt(u.port,10),u.path||(u.path=&quot;/&quot;),delete u.source,u},i=function(e){var i={http:80,https:443},n=&quot;object&quot;==typeof e?e:t(e);return n.scheme+&quot;://&quot;+n.host+(n.port!==i[n.scheme]?&quot;:&quot;+n.port:&quot;&quot;)+n.path+(n.query?n.query:&quot;&quot;)},n=function(e){function i(e){return[e.scheme,e.host,e.port].join(&quot;/&quot;)}return&quot;string&quot;==typeof e&amp;&amp;(e=t(e)),i(t())===i(e)};return{parseUrl:t,resolveUrl:i,hasSameOrigin:n}}),n(&quot;moxie/runtime/RuntimeTarget&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/RuntimeClient&quot;,&quot;moxie/core/EventTarget&quot;],function(e,t,i){function n(){this.uid=e.guid(&quot;uid_&quot;),t.call(this),this.destroy=function(){this.disconnectRuntime(),this.unbindAll()}}return n.prototype=i.instance,n}),n(&quot;moxie/file/FileReaderSync&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/RuntimeClient&quot;,&quot;moxie/core/utils/Encode&quot;],function(e,t,i){return function(){function n(e,t){if(!t.isDetached()){var n=this.connectRuntime(t.ruid).exec.call(this,&quot;FileReaderSync&quot;,&quot;read&quot;,e,t);return this.disconnectRuntime(),n}var r=t.getSource();switch(e){case&quot;readAsBinaryString&quot;:return r;case&quot;readAsDataURL&quot;:return&quot;data:&quot;+t.type+&quot;;base64,&quot;+i.btoa(r);case&quot;readAsText&quot;:for(var o=&quot;&quot;,a=0,s=r.length;s&gt;a;a++)o+=String.fromCharCode(r[a]);return o}}t.call(this),e.extend(this,{uid:e.guid(&quot;uid_&quot;),readAsBinaryString:function(e){return n.call(this,&quot;readAsBinaryString&quot;,e)},readAsDataURL:function(e){return n.call(this,&quot;readAsDataURL&quot;,e)},readAsText:function(e){return n.call(this,&quot;readAsText&quot;,e)}})}}),n(&quot;moxie/xhr/FormData&quot;,[&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/file/Blob&quot;],function(e,t,i){function n(){var e,n=[];t.extend(this,{append:function(r,o){var a=this,s=t.typeOf(o);o instanceof i?e={name:r,value:o}:&quot;array&quot;===s?(r+=&quot;[]&quot;,t.each(o,function(e){a.append(r,e)})):&quot;object&quot;===s?t.each(o,function(e,t){a.append(r+&quot;[&quot;+t+&quot;]&quot;,e)}):&quot;null&quot;===s||&quot;undefined&quot;===s||&quot;number&quot;===s&amp;&amp;isNaN(o)?a.append(r,&quot;false&quot;):n.push({name:r,value:o.toString()})},hasBlob:function(){return!!this.getBlob()},getBlob:function(){return e&amp;&amp;e.value||null},getBlobName:function(){return e&amp;&amp;e.name||null},each:function(i){t.each(n,function(e){i(e.value,e.name)}),e&amp;&amp;i(e.value,e.name)},destroy:function(){e=null,n=[]}})}return n}),n(&quot;moxie/xhr/XMLHttpRequest&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/EventTarget&quot;,&quot;moxie/core/utils/Encode&quot;,&quot;moxie/core/utils/Url&quot;,&quot;moxie/runtime/Runtime&quot;,&quot;moxie/runtime/RuntimeTarget&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/file/FileReaderSync&quot;,&quot;moxie/xhr/FormData&quot;,&quot;moxie/core/utils/Env&quot;,&quot;moxie/core/utils/Mime&quot;],function(e,t,i,n,r,o,a,s,u,c,l,d){function m(){this.uid=e.guid(&quot;uid_&quot;)}function h(){function i(e,t){return I.hasOwnProperty(e)?1===arguments.length?l.can(&quot;define_property&quot;)?I[e]:A[e]:(l.can(&quot;define_property&quot;)?I[e]=t:A[e]=t,void 0):void 0}function u(t){function n(){_&amp;&amp;(_.destroy(),_=null),s.dispatchEvent(&quot;loadend&quot;),s=null}function r(r){_.bind(&quot;LoadStart&quot;,function(e){i(&quot;readyState&quot;,h.LOADING),s.dispatchEvent(&quot;readystatechange&quot;),s.dispatchEvent(e),L&amp;&amp;s.upload.dispatchEvent(e)}),_.bind(&quot;Progress&quot;,function(e){i(&quot;readyState&quot;)!==h.LOADING&amp;&amp;(i(&quot;readyState&quot;,h.LOADING),s.dispatchEvent(&quot;readystatechange&quot;)),s.dispatchEvent(e)}),_.bind(&quot;UploadProgress&quot;,function(e){L&amp;&amp;s.upload.dispatchEvent({type:&quot;progress&quot;,lengthComputable:!1,total:e.total,loaded:e.loaded})}),_.bind(&quot;Load&quot;,function(t){i(&quot;readyState&quot;,h.DONE),i(&quot;status&quot;,Number(r.exec.call(_,&quot;XMLHttpRequest&quot;,&quot;getStatus&quot;)||0)),i(&quot;statusText&quot;,f[i(&quot;status&quot;)]||&quot;&quot;),i(&quot;response&quot;,r.exec.call(_,&quot;XMLHttpRequest&quot;,&quot;getResponse&quot;,i(&quot;responseType&quot;))),~e.inArray(i(&quot;responseType&quot;),[&quot;text&quot;,&quot;&quot;])?i(&quot;responseText&quot;,i(&quot;response&quot;)):&quot;document&quot;===i(&quot;responseType&quot;)&amp;&amp;i(&quot;responseXML&quot;,i(&quot;response&quot;)),U=r.exec.call(_,&quot;XMLHttpRequest&quot;,&quot;getAllResponseHeaders&quot;),s.dispatchEvent(&quot;readystatechange&quot;),i(&quot;status&quot;)&gt;0?(L&amp;&amp;s.upload.dispatchEvent(t),s.dispatchEvent(t)):(F=!0,s.dispatchEvent(&quot;error&quot;)),n()}),_.bind(&quot;Abort&quot;,function(e){s.dispatchEvent(e),n()}),_.bind(&quot;Error&quot;,function(e){F=!0,i(&quot;readyState&quot;,h.DONE),s.dispatchEvent(&quot;readystatechange&quot;),M=!0,s.dispatchEvent(e),n()}),r.exec.call(_,&quot;XMLHttpRequest&quot;,&quot;send&quot;,{url:x,method:v,async:T,user:w,password:y,headers:S,mimeType:D,encoding:O,responseType:s.responseType,withCredentials:s.withCredentials,options:k},t)}var s=this;E=(new Date).getTime(),_=new a,&quot;string&quot;==typeof k.required_caps&amp;&amp;(k.required_caps=o.parseCaps(k.required_caps)),k.required_caps=e.extend({},k.required_caps,{return_response_type:s.responseType}),t instanceof c&amp;&amp;(k.required_caps.send_multipart=!0),e.isEmptyObj(S)||(k.required_caps.send_custom_headers=!0),B||(k.required_caps.do_cors=!0),k.ruid?r(_.connectRuntime(k)):(_.bind(&quot;RuntimeInit&quot;,function(e,t){r(t)}),_.bind(&quot;RuntimeError&quot;,function(e,t){s.dispatchEvent(&quot;RuntimeError&quot;,t)}),_.connectRuntime(k))}function g(){i(&quot;responseText&quot;,&quot;&quot;),i(&quot;responseXML&quot;,null),i(&quot;response&quot;,null),i(&quot;status&quot;,0),i(&quot;statusText&quot;,&quot;&quot;),E=b=null}var x,v,w,y,E,b,_,R,A=this,I={timeout:0,readyState:h.UNSENT,withCredentials:!1,status:0,statusText:&quot;&quot;,responseType:&quot;&quot;,responseXML:null,responseText:null,response:null},T=!0,S={},O=null,D=null,N=!1,C=!1,L=!1,M=!1,F=!1,B=!1,P=null,H=null,k={},U=&quot;&quot;;e.extend(this,I,{uid:e.guid(&quot;uid_&quot;),upload:new m,open:function(o,a,s,u,c){var l;if(!o||!a)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(/[\u0100-\uffff]/.test(o)||n.utf8_encode(o)!==o)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(~e.inArray(o.toUpperCase(),[&quot;CONNECT&quot;,&quot;DELETE&quot;,&quot;GET&quot;,&quot;HEAD&quot;,&quot;OPTIONS&quot;,&quot;POST&quot;,&quot;PUT&quot;,&quot;TRACE&quot;,&quot;TRACK&quot;])&amp;&amp;(v=o.toUpperCase()),~e.inArray(v,[&quot;CONNECT&quot;,&quot;TRACE&quot;,&quot;TRACK&quot;]))throw new t.DOMException(t.DOMException.SECURITY_ERR);if(a=n.utf8_encode(a),l=r.parseUrl(a),B=r.hasSameOrigin(l),x=r.resolveUrl(a),(u||c)&amp;&amp;!B)throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);if(w=u||l.user,y=c||l.pass,T=s||!0,T===!1&amp;&amp;(i(&quot;timeout&quot;)||i(&quot;withCredentials&quot;)||&quot;&quot;!==i(&quot;responseType&quot;)))throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);N=!T,C=!1,S={},g.call(this),i(&quot;readyState&quot;,h.OPENED),this.dispatchEvent(&quot;readystatechange&quot;)},setRequestHeader:function(r,o){var a=[&quot;accept-charset&quot;,&quot;accept-encoding&quot;,&quot;access-control-request-headers&quot;,&quot;access-control-request-method&quot;,&quot;connection&quot;,&quot;content-length&quot;,&quot;cookie&quot;,&quot;cookie2&quot;,&quot;content-transfer-encoding&quot;,&quot;date&quot;,&quot;expect&quot;,&quot;host&quot;,&quot;keep-alive&quot;,&quot;origin&quot;,&quot;referer&quot;,&quot;te&quot;,&quot;trailer&quot;,&quot;transfer-encoding&quot;,&quot;upgrade&quot;,&quot;user-agent&quot;,&quot;via&quot;];if(i(&quot;readyState&quot;)!==h.OPENED||C)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(/[\u0100-\uffff]/.test(r)||n.utf8_encode(r)!==r)throw new t.DOMException(t.DOMException.SYNTAX_ERR);return r=e.trim(r).toLowerCase(),~e.inArray(r,a)||/^(proxy\-|sec\-)/.test(r)?!1:(S[r]?S[r]+=&quot;, &quot;+o:S[r]=o,!0)},hasRequestHeader:function(e){return e&amp;&amp;S[e.toLowerCase()]||!1},getAllResponseHeaders:function(){return U||&quot;&quot;},getResponseHeader:function(t){return t=t.toLowerCase(),F||~e.inArray(t,[&quot;set-cookie&quot;,&quot;set-cookie2&quot;])?null:U&amp;&amp;&quot;&quot;!==U&amp;&amp;(R||(R={},e.each(U.split(/\r\n/),function(t){var i=t.split(/:\s+/);2===i.length&amp;&amp;(i[0]=e.trim(i[0]),R[i[0].toLowerCase()]={header:i[0],value:e.trim(i[1])})})),R.hasOwnProperty(t))?R[t].header+&quot;: &quot;+R[t].value:null},overrideMimeType:function(n){var r,o;if(~e.inArray(i(&quot;readyState&quot;),[h.LOADING,h.DONE]))throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(n=e.trim(n.toLowerCase()),/;/.test(n)&amp;&amp;(r=n.match(/^([^;]+)(?:;\scharset\=)?(.*)$/))&amp;&amp;(n=r[1],r[2]&amp;&amp;(o=r[2])),!d.mimes[n])throw new t.DOMException(t.DOMException.SYNTAX_ERR);P=n,H=o},send:function(i,r){if(k=&quot;string&quot;===e.typeOf(r)?{ruid:r}:r?r:{},this.readyState!==h.OPENED||C)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(i instanceof s)k.ruid=i.ruid,D=i.type||&quot;application/octet-stream&quot;;else if(i instanceof c){if(i.hasBlob()){var o=i.getBlob();k.ruid=o.ruid,D=o.type||&quot;application/octet-stream&quot;}}else&quot;string&quot;==typeof i&amp;&amp;(O=&quot;UTF-8&quot;,D=&quot;text/plain;charset=UTF-8&quot;,i=n.utf8_encode(i));this.withCredentials||(this.withCredentials=k.required_caps&amp;&amp;k.required_caps.send_browser_cookies&amp;&amp;!B),L=!N&amp;&amp;this.upload.hasEventListener(),F=!1,M=!i,N||(C=!0),u.call(this,i)},abort:function(){if(F=!0,N=!1,~e.inArray(i(&quot;readyState&quot;),[h.UNSENT,h.OPENED,h.DONE]))i(&quot;readyState&quot;,h.UNSENT);else{if(i(&quot;readyState&quot;,h.DONE),C=!1,!_)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);_.getRuntime().exec.call(_,&quot;XMLHttpRequest&quot;,&quot;abort&quot;,M),M=!0}},destroy:function(){_&amp;&amp;(&quot;function&quot;===e.typeOf(_.destroy)&amp;&amp;_.destroy(),_=null),this.unbindAll(),this.upload&amp;&amp;(this.upload.unbindAll(),this.upload=null)}}),this.handleEventProps(p.concat([&quot;readystatechange&quot;])),this.upload.handleEventProps(p)}var f={100:&quot;Continue&quot;,101:&quot;Switching Protocols&quot;,102:&quot;Processing&quot;,200:&quot;OK&quot;,201:&quot;Created&quot;,202:&quot;Accepted&quot;,203:&quot;Non-Authoritative Information&quot;,204:&quot;No Content&quot;,205:&quot;Reset Content&quot;,206:&quot;Partial Content&quot;,207:&quot;Multi-Status&quot;,226:&quot;IM Used&quot;,300:&quot;Multiple Choices&quot;,301:&quot;Moved Permanently&quot;,302:&quot;Found&quot;,303:&quot;See Other&quot;,304:&quot;Not Modified&quot;,305:&quot;Use Proxy&quot;,306:&quot;Reserved&quot;,307:&quot;Temporary Redirect&quot;,400:&quot;Bad Request&quot;,401:&quot;Unauthorized&quot;,402:&quot;Payment Required&quot;,403:&quot;Forbidden&quot;,404:&quot;Not Found&quot;,405:&quot;Method Not Allowed&quot;,406:&quot;Not Acceptable&quot;,407:&quot;Proxy Authentication Required&quot;,408:&quot;Request Timeout&quot;,409:&quot;Conflict&quot;,410:&quot;Gone&quot;,411:&quot;Length Required&quot;,412:&quot;Precondition Failed&quot;,413:&quot;Request Entity Too Large&quot;,414:&quot;Request-URI Too Long&quot;,415:&quot;Unsupported Media Type&quot;,416:&quot;Requested Range Not Satisfiable&quot;,417:&quot;Expectation Failed&quot;,422:&quot;Unprocessable Entity&quot;,423:&quot;Locked&quot;,424:&quot;Failed Dependency&quot;,426:&quot;Upgrade Required&quot;,500:&quot;Internal Server Error&quot;,501:&quot;Not Implemented&quot;,502:&quot;Bad Gateway&quot;,503:&quot;Service Unavailable&quot;,504:&quot;Gateway Timeout&quot;,505:&quot;HTTP Version Not Supported&quot;,506:&quot;Variant Also Negotiates&quot;,507:&quot;Insufficient Storage&quot;,510:&quot;Not Extended&quot;};m.prototype=i.instance;var p=[&quot;loadstart&quot;,&quot;progress&quot;,&quot;abort&quot;,&quot;error&quot;,&quot;load&quot;,&quot;timeout&quot;,&quot;loadend&quot;];return h.UNSENT=0,h.OPENED=1,h.HEADERS_RECEIVED=2,h.LOADING=3,h.DONE=4,h.prototype=i.instance,h}),n(&quot;moxie/runtime/Transporter&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Encode&quot;,&quot;moxie/runtime/RuntimeClient&quot;,&quot;moxie/core/EventTarget&quot;],function(e,t,i,n){function r(){function n(){l=d=0,c=this.result=null}function o(t,i){var n=this;u=i,n.bind(&quot;TransportingProgress&quot;,function(t){d=t.loaded,l&gt;d&amp;&amp;-1===e.inArray(n.state,[r.IDLE,r.DONE])&amp;&amp;a.call(n)},999),n.bind(&quot;TransportingComplete&quot;,function(){d=l,n.state=r.DONE,c=null,n.result=u.exec.call(n,&quot;Transporter&quot;,&quot;getAsBlob&quot;,t||&quot;&quot;)},999),n.state=r.BUSY,n.trigger(&quot;TransportingStarted&quot;),a.call(n)}function a(){var e,i=this,n=l-d;m&gt;n&amp;&amp;(m=n),e=t.btoa(c.substr(d,m)),u.exec.call(i,&quot;Transporter&quot;,&quot;receive&quot;,e,l)}var s,u,c,l,d,m;i.call(this),e.extend(this,{uid:e.guid(&quot;uid_&quot;),state:r.IDLE,result:null,transport:function(t,i,r){var a=this;if(r=e.extend({chunk_size:204798},r),(s=r.chunk_size%3)&amp;&amp;(r.chunk_size+=3-s),m=r.chunk_size,n.call(this),c=t,l=t.length,&quot;string&quot;===e.typeOf(r)||r.ruid)o.call(a,i,this.connectRuntime(r));else{var u=function(e,t){a.unbind(&quot;RuntimeInit&quot;,u),o.call(a,i,t)};this.bind(&quot;RuntimeInit&quot;,u),this.connectRuntime(r)}},abort:function(){var e=this;e.state=r.IDLE,u&amp;&amp;(u.exec.call(e,&quot;Transporter&quot;,&quot;clear&quot;),e.trigger(&quot;TransportingAborted&quot;)),n.call(e)},destroy:function(){this.unbindAll(),u=null,this.disconnectRuntime(),n.call(this)}})}return r.IDLE=0,r.BUSY=1,r.DONE=2,r.prototype=n.instance,r}),n(&quot;moxie/image/Image&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/file/FileReaderSync&quot;,&quot;moxie/xhr/XMLHttpRequest&quot;,&quot;moxie/runtime/Runtime&quot;,&quot;moxie/runtime/RuntimeClient&quot;,&quot;moxie/runtime/Transporter&quot;,&quot;moxie/core/utils/Env&quot;,&quot;moxie/core/EventTarget&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/file/File&quot;,&quot;moxie/core/utils/Encode&quot;],function(e,t,i,n,r,o,a,s,u,c,l,d,m){function h(){function n(e){try{return e||(e=this.exec(&quot;Image&quot;,&quot;getInfo&quot;)),this.size=e.size,this.width=e.width,this.height=e.height,this.type=e.type,this.meta=e.meta,&quot;&quot;===this.name&amp;&amp;(this.name=e.name),!0}catch(t){return this.trigger(&quot;error&quot;,t.code),!1}}function c(t){var n=e.typeOf(t);try{if(t instanceof h){if(!t.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);p.apply(this,arguments)}else if(t instanceof l){if(!~e.inArray(t.type,[&quot;image/jpeg&quot;,&quot;image/png&quot;]))throw new i.ImageError(i.ImageError.WRONG_FORMAT);g.apply(this,arguments)}else if(-1!==e.inArray(n,[&quot;blob&quot;,&quot;file&quot;]))c.call(this,new d(null,t),arguments[1]);else if(&quot;string&quot;===n)&quot;data:&quot;===t.substr(0,5)?c.call(this,new l(null,{data:t}),arguments[1]):x.apply(this,arguments);else{if(&quot;node&quot;!==n||&quot;img&quot;!==t.nodeName.toLowerCase())throw new i.DOMException(i.DOMException.TYPE_MISMATCH_ERR);c.call(this,t.src,arguments[1])}}catch(r){this.trigger(&quot;error&quot;,r.code)}}function p(t,i){var n=this.connectRuntime(t.ruid);this.ruid=n.uid,n.exec.call(this,&quot;Image&quot;,&quot;loadFromImage&quot;,t,&quot;undefined&quot;===e.typeOf(i)?!0:i)}function g(t,i){function n(e){r.ruid=e.uid,e.exec.call(r,&quot;Image&quot;,&quot;loadFromBlob&quot;,t)}var r=this;r.name=t.name||&quot;&quot;,t.isDetached()?(this.bind(&quot;RuntimeInit&quot;,function(e,t){n(t)}),i&amp;&amp;&quot;string&quot;==typeof i.required_caps&amp;&amp;(i.required_caps=o.parseCaps(i.required_caps)),this.connectRuntime(e.extend({required_caps:{access_image_binary:!0,resize_image:!0}},i))):n(this.connectRuntime(t.ruid))}function x(e,t){var i,n=this;i=new r,i.open(&quot;get&quot;,e),i.responseType=&quot;blob&quot;,i.onprogress=function(e){n.trigger(e)},i.onload=function(){g.call(n,i.response,!0)},i.onerror=function(e){n.trigger(e)},i.onloadend=function(){i.destroy()},i.bind(&quot;RuntimeError&quot;,function(e,t){n.trigger(&quot;RuntimeError&quot;,t)}),i.send(null,t)}a.call(this),e.extend(this,{uid:e.guid(&quot;uid_&quot;),ruid:null,name:&quot;&quot;,size:0,width:0,height:0,type:&quot;&quot;,meta:{},clone:function(){this.load.apply(this,arguments)},load:function(){c.apply(this,arguments)},resize:function(t){var n,r,o=this,a={x:0,y:0,width:o.width,height:o.height},s=e.extendIf({width:o.width,height:o.height,type:o.type||&quot;image/jpeg&quot;,quality:90,crop:!1,fit:!0,preserveHeaders:!0,resample:&quot;default&quot;,multipass:!0},t);try{if(!o.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);if(o.width&gt;h.MAX_RESIZE_WIDTH||o.height&gt;h.MAX_RESIZE_HEIGHT)throw new i.ImageError(i.ImageError.MAX_RESOLUTION_ERR);if(n=o.meta&amp;&amp;o.meta.tiff&amp;&amp;o.meta.tiff.Orientation||1,-1!==e.inArray(n,[5,6,7,8])){var u=s.width;s.width=s.height,s.height=u}if(s.crop){switch(r=Math.max(s.width/o.width,s.height/o.height),t.fit?(a.width=Math.min(Math.ceil(s.width/r),o.width),a.height=Math.min(Math.ceil(s.height/r),o.height),r=s.width/a.width):(a.width=Math.min(s.width,o.width),a.height=Math.min(s.height,o.height),r=1),&quot;boolean&quot;==typeof s.crop&amp;&amp;(s.crop=&quot;cc&quot;),s.crop.toLowerCase().replace(/_/,&quot;-&quot;)){case&quot;rb&quot;:case&quot;right-bottom&quot;:a.x=o.width-a.width,a.y=o.height-a.height;break;case&quot;cb&quot;:case&quot;center-bottom&quot;:a.x=Math.floor((o.width-a.width)/2),a.y=o.height-a.height;break;case&quot;lb&quot;:case&quot;left-bottom&quot;:a.x=0,a.y=o.height-a.height;break;case&quot;lt&quot;:case&quot;left-top&quot;:a.x=0,a.y=0;break;case&quot;ct&quot;:case&quot;center-top&quot;:a.x=Math.floor((o.width-a.width)/2),a.y=0;break;case&quot;rt&quot;:case&quot;right-top&quot;:a.x=o.width-a.width,a.y=0;break;case&quot;rc&quot;:case&quot;right-center&quot;:case&quot;right-middle&quot;:a.x=o.width-a.width,a.y=Math.floor((o.height-a.height)/2);break;case&quot;lc&quot;:case&quot;left-center&quot;:case&quot;left-middle&quot;:a.x=0,a.y=Math.floor((o.height-a.height)/2);break;case&quot;cc&quot;:case&quot;center-center&quot;:case&quot;center-middle&quot;:default:a.x=Math.floor((o.width-a.width)/2),a.y=Math.floor((o.height-a.height)/2)}a.x=Math.max(a.x,0),a.y=Math.max(a.y,0)}else r=Math.min(s.width/o.width,s.height/o.height),r&gt;1&amp;&amp;!s.fit&amp;&amp;(r=1);this.exec(&quot;Image&quot;,&quot;resize&quot;,a,r,s)}catch(c){o.trigger(&quot;error&quot;,c.code)}},downsize:function(t){var i,n={width:this.width,height:this.height,type:this.type||&quot;image/jpeg&quot;,quality:90,crop:!1,fit:!1,preserveHeaders:!0,resample:&quot;default&quot;};i=&quot;object&quot;==typeof t?e.extend(n,t):e.extend(n,{width:arguments[0],height:arguments[1],crop:arguments[2],preserveHeaders:arguments[3]}),this.resize(i)},crop:function(e,t,i){this.downsize(e,t,!0,i)},getAsCanvas:function(){if(!u.can(&quot;create_canvas&quot;))throw new i.RuntimeError(i.RuntimeError.NOT_SUPPORTED_ERR);return this.exec(&quot;Image&quot;,&quot;getAsCanvas&quot;)},getAsBlob:function(e,t){if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);return this.exec(&quot;Image&quot;,&quot;getAsBlob&quot;,e||&quot;image/jpeg&quot;,t||90)},getAsDataURL:function(e,t){if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);return this.exec(&quot;Image&quot;,&quot;getAsDataURL&quot;,e||&quot;image/jpeg&quot;,t||90)},getAsBinaryString:function(e,t){var i=this.getAsDataURL(e,t);return m.atob(i.substring(i.indexOf(&quot;base64,&quot;)+7))},embed:function(n,r){function o(t,r){var o=this;if(u.can(&quot;create_canvas&quot;)){var l=o.getAsCanvas();if(l)return n.appendChild(l),l=null,o.destroy(),c.trigger(&quot;embedded&quot;),void 0}var d=o.getAsDataURL(t,r);if(!d)throw new i.ImageError(i.ImageError.WRONG_FORMAT);if(u.can(&quot;use_data_uri_of&quot;,d.length))n.innerHTML=&#39;&lt;img src=&quot;&#39;+d+&#39;&quot; width=&quot;&#39;+o.width+&#39;&quot; height=&quot;&#39;+o.height+&#39;&quot; alt=&quot;&quot; /&gt;&#39;,o.destroy(),c.trigger(&quot;embedded&quot;);else{var h=new s;h.bind(&quot;TransportingComplete&quot;,function(){a=c.connectRuntime(this.result.ruid),c.bind(&quot;Embedded&quot;,function(){e.extend(a.getShimContainer().style,{top:&quot;0px&quot;,left:&quot;0px&quot;,width:o.width+&quot;px&quot;,height:o.height+&quot;px&quot;}),a=null},999),a.exec.call(c,&quot;ImageView&quot;,&quot;display&quot;,this.result.uid,width,height),o.destroy()}),h.transport(m.atob(d.substring(d.indexOf(&quot;base64,&quot;)+7)),t,{required_caps:{display_media:!0},runtime_order:&quot;flash,silverlight&quot;,container:n})}}var a,c=this,l=e.extend({width:this.width,height:this.height,type:this.type||&quot;image/jpeg&quot;,quality:90,fit:!0,resample:&quot;nearest&quot;},r);try{if(!(n=t.get(n)))throw new i.DOMException(i.DOMException.INVALID_NODE_TYPE_ERR);if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);this.width&gt;h.MAX_RESIZE_WIDTH||this.height&gt;h.MAX_RESIZE_HEIGHT;var d=new h;return d.bind(&quot;Resize&quot;,function(){o.call(this,l.type,l.quality)}),d.bind(&quot;Load&quot;,function(){this.downsize(l)}),this.meta.thumb&amp;&amp;this.meta.thumb.width&gt;=l.width&amp;&amp;this.meta.thumb.height&gt;=l.height?d.load(this.meta.thumb.data):d.clone(this,!1),d}catch(f){this.trigger(&quot;error&quot;,f.code)}},destroy:function(){this.ruid&amp;&amp;(this.getRuntime().exec.call(this,&quot;Image&quot;,&quot;destroy&quot;),this.disconnectRuntime()),this.meta&amp;&amp;this.meta.thumb&amp;&amp;this.meta.thumb.data.destroy(),this.unbindAll()}}),this.handleEventProps(f),this.bind(&quot;Load Resize&quot;,function(){return n.call(this)},999)}var f=[&quot;progress&quot;,&quot;load&quot;,&quot;error&quot;,&quot;resize&quot;,&quot;embedded&quot;];return h.MAX_RESIZE_WIDTH=8192,h.MAX_RESIZE_HEIGHT=8192,h.prototype=c.instance,h}),n(&quot;moxie/runtime/html5/Runtime&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/runtime/Runtime&quot;,&quot;moxie/core/utils/Env&quot;],function(e,t,i,n){function o(t){var o=this,u=i.capTest,c=i.capTrue,l=e.extend({access_binary:u(window.FileReader||window.File&amp;&amp;window.File.getAsDataURL),access_image_binary:function(){return o.can(&quot;access_binary&quot;)&amp;&amp;!!s.Image},display_media:u((n.can(&quot;create_canvas&quot;)||n.can(&quot;use_data_uri_over32kb&quot;))&amp;&amp;r(&quot;moxie/image/Image&quot;)),do_cors:u(window.XMLHttpRequest&amp;&amp;&quot;withCredentials&quot;in new XMLHttpRequest),drag_and_drop:u(function(){var e=document.createElement(&quot;div&quot;);return(&quot;draggable&quot;in e||&quot;ondragstart&quot;in e&amp;&amp;&quot;ondrop&quot;in e)&amp;&amp;(&quot;IE&quot;!==n.browser||n.verComp(n.version,9,&quot;&gt;&quot;))}()),filter_by_extension:u(function(){return!(&quot;Chrome&quot;===n.browser&amp;&amp;n.verComp(n.version,28,&quot;&lt;&quot;)||&quot;IE&quot;===n.browser&amp;&amp;n.verComp(n.version,10,&quot;&lt;&quot;)||&quot;Safari&quot;===n.browser&amp;&amp;n.verComp(n.version,11,&quot;&lt;=&quot;)||&quot;Firefox&quot;===n.browser&amp;&amp;n.verComp(n.version,37,&quot;&lt;&quot;)||&quot;iOS&quot;===n.os||&quot;Android&quot;===n.os)}()),return_response_headers:c,return_response_type:function(e){return&quot;json&quot;===e&amp;&amp;window.JSON?!0:n.can(&quot;return_response_type&quot;,e)},return_status_code:c,report_upload_progress:u(window.XMLHttpRequest&amp;&amp;(new XMLHttpRequest).upload),resize_image:function(){return o.can(&quot;access_binary&quot;)&amp;&amp;n.can(&quot;create_canvas&quot;)},select_file:function(){return n.can(&quot;use_fileinput&quot;)&amp;&amp;window.File},select_folder:function(){return o.can(&quot;select_file&quot;)&amp;&amp;(&quot;Chrome&quot;===n.browser&amp;&amp;n.verComp(n.version,21,&quot;&gt;=&quot;)||&quot;Firefox&quot;===n.browser&amp;&amp;n.verComp(n.version,42,&quot;&gt;=&quot;))},select_multiple:function(){return!(!o.can(&quot;select_file&quot;)||&quot;Safari&quot;===n.browser&amp;&amp;&quot;Windows&quot;===n.os||&quot;iOS&quot;===n.os&amp;&amp;n.verComp(n.osVersion,&quot;7.0.0&quot;,&quot;&gt;&quot;)&amp;&amp;n.verComp(n.osVersion,&quot;8.0.0&quot;,&quot;&lt;&quot;))},send_binary_string:u(window.XMLHttpRequest&amp;&amp;((new XMLHttpRequest).sendAsBinary||window.Uint8Array&amp;&amp;window.ArrayBuffer)),send_custom_headers:u(window.XMLHttpRequest),send_multipart:function(){return!!(window.XMLHttpRequest&amp;&amp;(new XMLHttpRequest).upload&amp;&amp;window.FormData)||o.can(&quot;send_binary_string&quot;)},slice_blob:u(window.File&amp;&amp;(File.prototype.mozSlice||File.prototype.webkitSlice||File.prototype.slice)),stream_upload:function(){return o.can(&quot;slice_blob&quot;)&amp;&amp;o.can(&quot;send_multipart&quot;)},summon_file_dialog:function(){return o.can(&quot;select_file&quot;)&amp;&amp;!(&quot;Firefox&quot;===n.browser&amp;&amp;n.verComp(n.version,4,&quot;&lt;&quot;)||&quot;Opera&quot;===n.browser&amp;&amp;n.verComp(n.version,12,&quot;&lt;&quot;)||&quot;IE&quot;===n.browser&amp;&amp;n.verComp(n.version,10,&quot;&lt;&quot;))},upload_filesize:c,use_http_method:c},arguments[2]);i.call(this,t,arguments[1]||a,l),e.extend(this,{init:function(){this.trigger(&quot;Init&quot;)},destroy:function(e){return function(){e.call(o),e=o=null}}(this.destroy)}),e.extend(this.getShim(),s)}var a=&quot;html5&quot;,s={};return i.addConstructor(a,o),s}),n(&quot;moxie/runtime/html5/file/Blob&quot;,[&quot;moxie/runtime/html5/Runtime&quot;,&quot;moxie/file/Blob&quot;],function(e,t){function i(){function e(e,t,i){var n;if(!window.File.prototype.slice)return(n=window.File.prototype.webkitSlice||window.File.prototype.mozSlice)?n.call(e,t,i):null;try{return e.slice(),e.slice(t,i)}catch(r){return e.slice(t,i-t)}}this.slice=function(){return new t(this.getRuntime().uid,e.apply(this,arguments))},this.destroy=function(){this.getRuntime().getShim().removeInstance(this.uid)}}return e.Blob=i}),n(&quot;moxie/core/utils/Events&quot;,[&quot;moxie/core/utils/Basic&quot;],function(e){function t(){this.returnValue=!1}function i(){this.cancelBubble=!0}var n={},r=&quot;moxie_&quot;+e.guid(),o=function(o,a,s,u){var c,l;a=a.toLowerCase(),o.addEventListener?(c=s,o.addEventListener(a,c,!1)):o.attachEvent&amp;&amp;(c=function(){var e=window.event;e.target||(e.target=e.srcElement),e.preventDefault=t,e.stopPropagation=i,s(e)},o.attachEvent(&quot;on&quot;+a,c)),o[r]||(o[r]=e.guid()),n.hasOwnProperty(o[r])||(n[o[r]]={}),l=n[o[r]],l.hasOwnProperty(a)||(l[a]=[]),l[a].push({func:c,orig:s,key:u})},a=function(t,i,o){var a,s;if(i=i.toLowerCase(),t[r]&amp;&amp;n[t[r]]&amp;&amp;n[t[r]][i]){a=n[t[r]][i];for(var u=a.length-1;u&gt;=0&amp;&amp;(a[u].orig!==o&amp;&amp;a[u].key!==o||(t.removeEventListener?t.removeEventListener(i,a[u].func,!1):t.detachEvent&amp;&amp;t.detachEvent(&quot;on&quot;+i,a[u].func),a[u].orig=null,a[u].func=null,a.splice(u,1),o===s));u--);if(a.length||delete n[t[r]][i],e.isEmptyObj(n[t[r]])){delete n[t[r]];try{delete t[r]}catch(c){t[r]=s}}}},s=function(t,i){t&amp;&amp;t[r]&amp;&amp;e.each(n[t[r]],function(e,n){a(t,n,i)})};return{addEvent:o,removeEvent:a,removeAllEvents:s}}),n(&quot;moxie/runtime/html5/file/FileInput&quot;,[&quot;moxie/runtime/html5/Runtime&quot;,&quot;moxie/file/File&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/utils/Events&quot;,&quot;moxie/core/utils/Mime&quot;,&quot;moxie/core/utils/Env&quot;],function(e,t,i,n,r,o,a){function s(){var e,s;i.extend(this,{init:function(u){var c,l,d,m,h,f,p=this,g=p.getRuntime();e=u,d=o.extList2mimes(e.accept,g.can(&quot;filter_by_extension&quot;)),l=g.getShimContainer(),l.innerHTML=&#39;&lt;input id=&quot;&#39;+g.uid+&#39;&quot; type=&quot;file&quot; style=&quot;font-size:999px;opacity:0;&quot;&#39;+(e.multiple&amp;&amp;g.can(&quot;select_multiple&quot;)?&quot;multiple&quot;:&quot;&quot;)+(e.directory&amp;&amp;g.can(&quot;select_folder&quot;)?&quot;webkitdirectory directory&quot;:&quot;&quot;)+(d?&#39; accept=&quot;&#39;+d.join(&quot;,&quot;)+&#39;&quot;&#39;:&quot;&quot;)+&quot; /&gt;&quot;,c=n.get(g.uid),i.extend(c.style,{position:&quot;absolute&quot;,top:0,left:0,width:&quot;100%&quot;,height:&quot;100%&quot;}),m=n.get(e.browse_button),s=n.getStyle(m,&quot;z-index&quot;)||&quot;auto&quot;,g.can(&quot;summon_file_dialog&quot;)&amp;&amp;(&quot;static&quot;===n.getStyle(m,&quot;position&quot;)&amp;&amp;(m.style.position=&quot;relative&quot;),r.addEvent(m,&quot;click&quot;,function(e){var t=n.get(g.uid);t&amp;&amp;!t.disabled&amp;&amp;t.click(),e.preventDefault()},p.uid),p.bind(&quot;Refresh&quot;,function(){h=parseInt(s,10)||1,n.get(e.browse_button).style.zIndex=h,this.getRuntime().getShimContainer().style.zIndex=h-1})),f=g.can(&quot;summon_file_dialog&quot;)?m:l,r.addEvent(f,&quot;mouseover&quot;,function(){p.trigger(&quot;mouseenter&quot;)},p.uid),r.addEvent(f,&quot;mouseout&quot;,function(){p.trigger(&quot;mouseleave&quot;)},p.uid),r.addEvent(f,&quot;mousedown&quot;,function(){p.trigger(&quot;mousedown&quot;)},p.uid),r.addEvent(n.get(e.container),&quot;mouseup&quot;,function(){p.trigger(&quot;mouseup&quot;)},p.uid),(g.can(&quot;summon_file_dialog&quot;)?c:m).setAttribute(&quot;tabindex&quot;,-1),c.onchange=function x(){if(p.files=[],i.each(this.files,function(i){var n=&quot;&quot;;return e.directory&amp;&amp;&quot;.&quot;==i.name?!0:(i.webkitRelativePath&amp;&amp;(n=&quot;/&quot;+i.webkitRelativePath.replace(/^\//,&quot;&quot;)),i=new t(g.uid,i),i.relativePath=n,p.files.push(i),void 0)}),&quot;IE&quot;!==a.browser&amp;&amp;&quot;IEMobile&quot;!==a.browser)this.value=&quot;&quot;;else{var n=this.cloneNode(!0);this.parentNode.replaceChild(n,this),n.onchange=x}p.files.length&amp;&amp;p.trigger(&quot;change&quot;)},p.trigger({type:&quot;ready&quot;,async:!0}),l=null},setOption:function(e,t){var i=this.getRuntime(),r=n.get(i.uid);switch(e){case&quot;accept&quot;:if(t){var a=t.mimes||o.extList2mimes(t,i.can(&quot;filter_by_extension&quot;));r.setAttribute(&quot;accept&quot;,a.join(&quot;,&quot;))}else r.removeAttribute(&quot;accept&quot;);break;case&quot;directory&quot;:t&amp;&amp;i.can(&quot;select_folder&quot;)?(r.setAttribute(&quot;directory&quot;,&quot;&quot;),r.setAttribute(&quot;webkitdirectory&quot;,&quot;&quot;)):(r.removeAttribute(&quot;directory&quot;),r.removeAttribute(&quot;webkitdirectory&quot;));break;case&quot;multiple&quot;:t&amp;&amp;i.can(&quot;select_multiple&quot;)?r.setAttribute(&quot;multiple&quot;,&quot;&quot;):r.removeAttribute(&quot;multiple&quot;)}},disable:function(e){var t,i=this.getRuntime();(t=n.get(i.uid))&amp;&amp;(t.disabled=!!e)},destroy:function(){var t=this.getRuntime(),i=t.getShim(),o=t.getShimContainer(),a=e&amp;&amp;n.get(e.container),u=e&amp;&amp;n.get(e.browse_button);a&amp;&amp;r.removeAllEvents(a,this.uid),u&amp;&amp;(r.removeAllEvents(u,this.uid),u.style.zIndex=s),o&amp;&amp;(r.removeAllEvents(o,this.uid),o.innerHTML=&quot;&quot;),i.removeInstance(this.uid),e=o=a=u=i=null}})}return e.FileInput=s}),n(&quot;moxie/runtime/html5/file/FileDrop&quot;,[&quot;moxie/runtime/html5/Runtime&quot;,&quot;moxie/file/File&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/utils/Events&quot;,&quot;moxie/core/utils/Mime&quot;],function(e,t,i,n,r,o){function a(){function e(e){if(!e.dataTransfer||!e.dataTransfer.types)return!1;var t=i.toArray(e.dataTransfer.types||[]);return-1!==i.inArray(&quot;Files&quot;,t)||-1!==i.inArray(&quot;public.file-url&quot;,t)||-1!==i.inArray(&quot;application/x-moz-file&quot;,t)}function a(e,i){if(u(e)){var n=new t(f,e);n.relativePath=i||&quot;&quot;,p.push(n)}}function s(e){for(var t=[],n=0;n&lt;e.length;n++)[].push.apply(t,e[n].extensions.split(/\s*,\s*/));return-1===i.inArray(&quot;*&quot;,t)?t:[]}function u(e){if(!g.length)return!0;var t=o.getFileExtension(e.name);return!t||-1!==i.inArray(t,g)}function c(e,t){var n=[];i.each(e,function(e){var t=e.webkitGetAsEntry();t&amp;&amp;(t.isFile?a(e.getAsFile(),t.fullPath):n.push(t))}),n.length?l(n,t):t()}function l(e,t){var n=[];i.each(e,function(e){n.push(function(t){d(e,t)})}),i.inSeries(n,function(){t()})}function d(e,t){e.isFile?e.file(function(i){a(i,e.fullPath),t()},function(){t()}):e.isDirectory?m(e,t):t()}function m(e,t){function i(e){r.readEntries(function(t){t.length?([].push.apply(n,t),i(e)):e()},e)}var n=[],r=e.createReader();i(function(){l(n,t)})}var h,f,p=[],g=[];i.extend(this,{init:function(t){var n,o=this;h=t,f=o.ruid,g=s(h.accept),n=h.container,r.addEvent(n,&quot;dragover&quot;,function(t){e(t)&amp;&amp;(t.preventDefault(),t.dataTransfer.dropEffect=&quot;copy&quot;)},o.uid),r.addEvent(n,&quot;drop&quot;,function(t){e(t)&amp;&amp;(t.preventDefault(),p=[],t.dataTransfer.items&amp;&amp;t.dataTransfer.items[0].webkitGetAsEntry?c(t.dataTransfer.items,function(){o.files=p,o.trigger(&quot;drop&quot;)}):(i.each(t.dataTransfer.files,function(e){a(e)}),o.files=p,o.trigger(&quot;drop&quot;)))},o.uid),r.addEvent(n,&quot;dragenter&quot;,function(){o.trigger(&quot;dragenter&quot;)},o.uid),r.addEvent(n,&quot;dragleave&quot;,function(){o.trigger(&quot;dragleave&quot;)},o.uid)},destroy:function(){r.removeAllEvents(h&amp;&amp;n.get(h.container),this.uid),f=p=g=h=null,this.getRuntime().getShim().removeInstance(this.uid)}})}return e.FileDrop=a}),n(&quot;moxie/runtime/html5/file/FileReader&quot;,[&quot;moxie/runtime/html5/Runtime&quot;,&quot;moxie/core/utils/Encode&quot;,&quot;moxie/core/utils/Basic&quot;],function(e,t,i){function n(){function e(e){return t.atob(e.substring(e.indexOf(&quot;base64,&quot;)+7))}var n,r=!1;i.extend(this,{read:function(t,o){var a=this;a.result=&quot;&quot;,n=new window.FileReader,n.addEventListener(&quot;progress&quot;,function(e){a.trigger(e)}),n.addEventListener(&quot;load&quot;,function(t){a.result=r?e(n.result):n.result,a.trigger(t)}),n.addEventListener(&quot;error&quot;,function(e){a.trigger(e,n.error)}),n.addEventListener(&quot;loadend&quot;,function(e){n=null,a.trigger(e)}),&quot;function&quot;===i.typeOf(n[t])?(r=!1,n[t](o.getSource())):&quot;readAsBinaryString&quot;===t&amp;&amp;(r=!0,n.readAsDataURL(o.getSource()))},abort:function(){n&amp;&amp;n.abort()},destroy:function(){n=null,this.getRuntime().getShim().removeInstance(this.uid)}})}return e.FileReader=n}),n(&quot;moxie/runtime/html5/xhr/XMLHttpRequest&quot;,[&quot;moxie/runtime/html5/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Mime&quot;,&quot;moxie/core/utils/Url&quot;,&quot;moxie/file/File&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/xhr/FormData&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/utils/Env&quot;],function(e,t,i,n,r,o,a,s,u){function c(){function e(e,t){var i,n,r=this;i=t.getBlob().getSource(),n=new window.FileReader,n.onload=function(){t.append(t.getBlobName(),new o(null,{type:i.type,data:n.result})),f.send.call(r,e,t)},n.readAsBinaryString(i)}function c(){return!window.XMLHttpRequest||&quot;IE&quot;===u.browser&amp;&amp;u.verComp(u.version,8,&quot;&lt;&quot;)?function(){for(var e=[&quot;Msxml2.XMLHTTP.6.0&quot;,&quot;Microsoft.XMLHTTP&quot;],t=0;t&lt;e.length;t++)try{return new ActiveXObject(e[t])}catch(i){}}():new window.XMLHttpRequest}function l(e){var t=e.responseXML,i=e.responseText;return&quot;IE&quot;===u.browser&amp;&amp;i&amp;&amp;t&amp;&amp;!t.documentElement&amp;&amp;/[^\/]+\/[^\+]+\+xml/.test(e.getResponseHeader(&quot;Content-Type&quot;))&amp;&amp;(t=new window.ActiveXObject(&quot;Microsoft.XMLDOM&quot;),t.async=!1,t.validateOnParse=!1,t.loadXML(i)),t&amp;&amp;(&quot;IE&quot;===u.browser&amp;&amp;0!==t.parseError||!t.documentElement||&quot;parsererror&quot;===t.documentElement.tagName)?null:t</td>
      </tr>
      <tr>
        <td id="L15" class="blob-num js-line-number" data-line-number="15"></td>
        <td id="LC15" class="blob-code blob-code-inner js-file-line">}function d(e){var t=&quot;----moxieboundary&quot;+(new Date).getTime(),i=&quot;--&quot;,n=&quot;\r\n&quot;,r=&quot;&quot;,a=this.getRuntime();if(!a.can(&quot;send_binary_string&quot;))throw new s.RuntimeError(s.RuntimeError.NOT_SUPPORTED_ERR);return m.setRequestHeader(&quot;Content-Type&quot;,&quot;multipart/form-data; boundary=&quot;+t),e.each(function(e,a){r+=e instanceof o?i+t+n+&#39;Content-Disposition: form-data; name=&quot;&#39;+a+&#39;&quot;; filename=&quot;&#39;+unescape(encodeURIComponent(e.name||&quot;blob&quot;))+&#39;&quot;&#39;+n+&quot;Content-Type: &quot;+(e.type||&quot;application/octet-stream&quot;)+n+n+e.getSource()+n:i+t+n+&#39;Content-Disposition: form-data; name=&quot;&#39;+a+&#39;&quot;&#39;+n+n+unescape(encodeURIComponent(e))+n}),r+=i+t+i+n}var m,h,f=this;t.extend(this,{send:function(i,r){var s=this,l=&quot;Mozilla&quot;===u.browser&amp;&amp;u.verComp(u.version,4,&quot;&gt;=&quot;)&amp;&amp;u.verComp(u.version,7,&quot;&lt;&quot;),f=&quot;Android Browser&quot;===u.browser,p=!1;if(h=i.url.replace(/^.+?\/([\w\-\.]+)$/,&quot;$1&quot;).toLowerCase(),m=c(),m.open(i.method,i.url,i.async,i.user,i.password),r instanceof o)r.isDetached()&amp;&amp;(p=!0),r=r.getSource();else if(r instanceof a){if(r.hasBlob())if(r.getBlob().isDetached())r=d.call(s,r),p=!0;else if((l||f)&amp;&amp;&quot;blob&quot;===t.typeOf(r.getBlob().getSource())&amp;&amp;window.FileReader)return e.call(s,i,r),void 0;if(r instanceof a){var g=new window.FormData;r.each(function(e,t){e instanceof o?g.append(t,e.getSource()):g.append(t,e)}),r=g}}m.upload?(i.withCredentials&amp;&amp;(m.withCredentials=!0),m.addEventListener(&quot;load&quot;,function(e){s.trigger(e)}),m.addEventListener(&quot;error&quot;,function(e){s.trigger(e)}),m.addEventListener(&quot;progress&quot;,function(e){s.trigger(e)}),m.upload.addEventListener(&quot;progress&quot;,function(e){s.trigger({type:&quot;UploadProgress&quot;,loaded:e.loaded,total:e.total})})):m.onreadystatechange=function(){switch(m.readyState){case 1:break;case 2:break;case 3:var e,t;try{n.hasSameOrigin(i.url)&amp;&amp;(e=m.getResponseHeader(&quot;Content-Length&quot;)||0),m.responseText&amp;&amp;(t=m.responseText.length)}catch(r){e=t=0}s.trigger({type:&quot;progress&quot;,lengthComputable:!!e,total:parseInt(e,10),loaded:t});break;case 4:m.onreadystatechange=function(){};try{if(m.status&gt;=200&amp;&amp;m.status&lt;400){s.trigger(&quot;load&quot;);break}}catch(r){}s.trigger(&quot;error&quot;)}},t.isEmptyObj(i.headers)||t.each(i.headers,function(e,t){m.setRequestHeader(t,e)}),&quot;&quot;!==i.responseType&amp;&amp;&quot;responseType&quot;in m&amp;&amp;(m.responseType=&quot;json&quot;!==i.responseType||u.can(&quot;return_response_type&quot;,&quot;json&quot;)?i.responseType:&quot;text&quot;),p?m.sendAsBinary?m.sendAsBinary(r):function(){for(var e=new Uint8Array(r.length),t=0;t&lt;r.length;t++)e[t]=255&amp;r.charCodeAt(t);m.send(e.buffer)}():m.send(r),s.trigger(&quot;loadstart&quot;)},getStatus:function(){try{if(m)return m.status}catch(e){}return 0},getResponse:function(e){var t=this.getRuntime();try{switch(e){case&quot;blob&quot;:var n=new r(t.uid,m.response),o=m.getResponseHeader(&quot;Content-Disposition&quot;);if(o){var a=o.match(/filename=([\&#39;\&quot;&#39;])([^\1]+)\1/);a&amp;&amp;(h=a[2])}return n.name=h,n.type||(n.type=i.getFileMime(h)),n;case&quot;json&quot;:return u.can(&quot;return_response_type&quot;,&quot;json&quot;)?m.response:200===m.status&amp;&amp;window.JSON?JSON.parse(m.responseText):null;case&quot;document&quot;:return l(m);default:return&quot;&quot;!==m.responseText?m.responseText:null}}catch(s){return null}},getAllResponseHeaders:function(){try{return m.getAllResponseHeaders()}catch(e){}return&quot;&quot;},abort:function(){m&amp;&amp;m.abort()},destroy:function(){f=h=null,this.getRuntime().getShim().removeInstance(this.uid)}})}return e.XMLHttpRequest=c}),n(&quot;moxie/runtime/html5/utils/BinaryReader&quot;,[&quot;moxie/core/utils/Basic&quot;],function(e){function t(e){e instanceof ArrayBuffer?i.apply(this,arguments):n.apply(this,arguments)}function i(t){var i=new DataView(t);e.extend(this,{readByteAt:function(e){return i.getUint8(e)},writeByteAt:function(e,t){i.setUint8(e,t)},SEGMENT:function(e,n,r){switch(arguments.length){case 2:return t.slice(e,e+n);case 1:return t.slice(e);case 3:if(null===r&amp;&amp;(r=new ArrayBuffer),r instanceof ArrayBuffer){var o=new Uint8Array(this.length()-n+r.byteLength);e&gt;0&amp;&amp;o.set(new Uint8Array(t.slice(0,e)),0),o.set(new Uint8Array(r),e),o.set(new Uint8Array(t.slice(e+n)),e+r.byteLength),this.clear(),t=o.buffer,i=new DataView(t);break}default:return t}},length:function(){return t?t.byteLength:0},clear:function(){i=t=null}})}function n(t){function i(e,i,n){n=3===arguments.length?n:t.length-i-1,t=t.substr(0,i)+e+t.substr(n+i)}e.extend(this,{readByteAt:function(e){return t.charCodeAt(e)},writeByteAt:function(e,t){i(String.fromCharCode(t),e,1)},SEGMENT:function(e,n,r){switch(arguments.length){case 1:return t.substr(e);case 2:return t.substr(e,n);case 3:i(null!==r?r:&quot;&quot;,e,n);break;default:return t}},length:function(){return t?t.length:0},clear:function(){t=null}})}return e.extend(t.prototype,{littleEndian:!1,read:function(e,t){var i,n,r;if(e+t&gt;this.length())throw new Error(&quot;You are trying to read outside the source boundaries.&quot;);for(n=this.littleEndian?0:-8*(t-1),r=0,i=0;t&gt;r;r++)i|=this.readByteAt(e+r)&lt;&lt;Math.abs(n+8*r);return i},write:function(e,t,i){var n,r;if(e&gt;this.length())throw new Error(&quot;You are trying to write outside the source boundaries.&quot;);for(n=this.littleEndian?0:-8*(i-1),r=0;i&gt;r;r++)this.writeByteAt(e+r,255&amp;t&gt;&gt;Math.abs(n+8*r))},BYTE:function(e){return this.read(e,1)},SHORT:function(e){return this.read(e,2)},LONG:function(e){return this.read(e,4)},SLONG:function(e){var t=this.read(e,4);return t&gt;2147483647?t-4294967296:t},CHAR:function(e){return String.fromCharCode(this.read(e,1))},STRING:function(e,t){return this.asArray(&quot;CHAR&quot;,e,t).join(&quot;&quot;)},asArray:function(e,t,i){for(var n=[],r=0;i&gt;r;r++)n[r]=this[e](t+r);return n}}),t}),n(&quot;moxie/runtime/html5/image/JPEGHeaders&quot;,[&quot;moxie/runtime/html5/utils/BinaryReader&quot;,&quot;moxie/core/Exceptions&quot;],function(e,t){return function i(n){var r,o,a,s=[],u=0;if(r=new e(n),65496!==r.SHORT(0))throw r.clear(),new t.ImageError(t.ImageError.WRONG_FORMAT);for(o=2;o&lt;=r.length();)if(a=r.SHORT(o),a&gt;=65488&amp;&amp;65495&gt;=a)o+=2;else{if(65498===a||65497===a)break;u=r.SHORT(o+2)+2,a&gt;=65505&amp;&amp;65519&gt;=a&amp;&amp;s.push({hex:a,name:&quot;APP&quot;+(15&amp;a),start:o,length:u,segment:r.SEGMENT(o,u)}),o+=u}return r.clear(),{headers:s,restore:function(t){var i,n,r;for(r=new e(t),o=65504==r.SHORT(2)?4+r.SHORT(4):2,n=0,i=s.length;i&gt;n;n++)r.SEGMENT(o,0,s[n].segment),o+=s[n].length;return t=r.SEGMENT(),r.clear(),t},strip:function(t){var n,r,o,a;for(o=new i(t),r=o.headers,o.purge(),n=new e(t),a=r.length;a--;)n.SEGMENT(r[a].start,r[a].length,&quot;&quot;);return t=n.SEGMENT(),n.clear(),t},get:function(e){for(var t=[],i=0,n=s.length;n&gt;i;i++)s[i].name===e.toUpperCase()&amp;&amp;t.push(s[i].segment);return t},set:function(e,t){var i,n,r,o=[];for(&quot;string&quot;==typeof t?o.push(t):o=t,i=n=0,r=s.length;r&gt;i&amp;&amp;(s[i].name===e.toUpperCase()&amp;&amp;(s[i].segment=o[n],s[i].length=o[n].length,n++),!(n&gt;=o.length));i++);},purge:function(){this.headers=s=[]}}}}),n(&quot;moxie/runtime/html5/image/ExifParser&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/html5/utils/BinaryReader&quot;,&quot;moxie/core/Exceptions&quot;],function(e,i,n){function r(o){function a(i,r){var o,a,s,u,c,m,h,f,p=this,g=[],x={},v={1:&quot;BYTE&quot;,7:&quot;UNDEFINED&quot;,2:&quot;ASCII&quot;,3:&quot;SHORT&quot;,4:&quot;LONG&quot;,5:&quot;RATIONAL&quot;,9:&quot;SLONG&quot;,10:&quot;SRATIONAL&quot;},w={BYTE:1,UNDEFINED:1,ASCII:1,SHORT:2,LONG:4,RATIONAL:8,SLONG:4,SRATIONAL:8};for(o=p.SHORT(i),a=0;o&gt;a;a++)if(g=[],h=i+2+12*a,s=r[p.SHORT(h)],s!==t){if(u=v[p.SHORT(h+=2)],c=p.LONG(h+=2),m=w[u],!m)throw new n.ImageError(n.ImageError.INVALID_META_ERR);if(h+=4,m*c&gt;4&amp;&amp;(h=p.LONG(h)+d.tiffHeader),h+m*c&gt;=this.length())throw new n.ImageError(n.ImageError.INVALID_META_ERR);&quot;ASCII&quot;!==u?(g=p.asArray(u,h,c),f=1==c?g[0]:g,x[s]=l.hasOwnProperty(s)&amp;&amp;&quot;object&quot;!=typeof f?l[s][f]:f):x[s]=e.trim(p.STRING(h,c).replace(/\0$/,&quot;&quot;))}return x}function s(e,t,i){var n,r,o,a=0;if(&quot;string&quot;==typeof t){var s=c[e.toLowerCase()];for(var u in s)if(s[u]===t){t=u;break}}n=d[e.toLowerCase()+&quot;IFD&quot;],r=this.SHORT(n);for(var l=0;r&gt;l;l++)if(o=n+12*l+2,this.SHORT(o)==t){a=o+8;break}if(!a)return!1;try{this.write(a,i,4)}catch(m){return!1}return!0}var u,c,l,d,m,h;if(i.call(this,o),c={tiff:{274:&quot;Orientation&quot;,270:&quot;ImageDescription&quot;,271:&quot;Make&quot;,272:&quot;Model&quot;,305:&quot;Software&quot;,34665:&quot;ExifIFDPointer&quot;,34853:&quot;GPSInfoIFDPointer&quot;},exif:{36864:&quot;ExifVersion&quot;,40961:&quot;ColorSpace&quot;,40962:&quot;PixelXDimension&quot;,40963:&quot;PixelYDimension&quot;,36867:&quot;DateTimeOriginal&quot;,33434:&quot;ExposureTime&quot;,33437:&quot;FNumber&quot;,34855:&quot;ISOSpeedRatings&quot;,37377:&quot;ShutterSpeedValue&quot;,37378:&quot;ApertureValue&quot;,37383:&quot;MeteringMode&quot;,37384:&quot;LightSource&quot;,37385:&quot;Flash&quot;,37386:&quot;FocalLength&quot;,41986:&quot;ExposureMode&quot;,41987:&quot;WhiteBalance&quot;,41990:&quot;SceneCaptureType&quot;,41988:&quot;DigitalZoomRatio&quot;,41992:&quot;Contrast&quot;,41993:&quot;Saturation&quot;,41994:&quot;Sharpness&quot;},gps:{0:&quot;GPSVersionID&quot;,1:&quot;GPSLatitudeRef&quot;,2:&quot;GPSLatitude&quot;,3:&quot;GPSLongitudeRef&quot;,4:&quot;GPSLongitude&quot;},thumb:{513:&quot;JPEGInterchangeFormat&quot;,514:&quot;JPEGInterchangeFormatLength&quot;}},l={ColorSpace:{1:&quot;sRGB&quot;,0:&quot;Uncalibrated&quot;},MeteringMode:{0:&quot;Unknown&quot;,1:&quot;Average&quot;,2:&quot;CenterWeightedAverage&quot;,3:&quot;Spot&quot;,4:&quot;MultiSpot&quot;,5:&quot;Pattern&quot;,6:&quot;Partial&quot;,255:&quot;Other&quot;},LightSource:{1:&quot;Daylight&quot;,2:&quot;Fliorescent&quot;,3:&quot;Tungsten&quot;,4:&quot;Flash&quot;,9:&quot;Fine weather&quot;,10:&quot;Cloudy weather&quot;,11:&quot;Shade&quot;,12:&quot;Daylight fluorescent (D 5700 - 7100K)&quot;,13:&quot;Day white fluorescent (N 4600 -5400K)&quot;,14:&quot;Cool white fluorescent (W 3900 - 4500K)&quot;,15:&quot;White fluorescent (WW 3200 - 3700K)&quot;,17:&quot;Standard light A&quot;,18:&quot;Standard light B&quot;,19:&quot;Standard light C&quot;,20:&quot;D55&quot;,21:&quot;D65&quot;,22:&quot;D75&quot;,23:&quot;D50&quot;,24:&quot;ISO studio tungsten&quot;,255:&quot;Other&quot;},Flash:{0:&quot;Flash did not fire&quot;,1:&quot;Flash fired&quot;,5:&quot;Strobe return light not detected&quot;,7:&quot;Strobe return light detected&quot;,9:&quot;Flash fired, compulsory flash mode&quot;,13:&quot;Flash fired, compulsory flash mode, return light not detected&quot;,15:&quot;Flash fired, compulsory flash mode, return light detected&quot;,16:&quot;Flash did not fire, compulsory flash mode&quot;,24:&quot;Flash did not fire, auto mode&quot;,25:&quot;Flash fired, auto mode&quot;,29:&quot;Flash fired, auto mode, return light not detected&quot;,31:&quot;Flash fired, auto mode, return light detected&quot;,32:&quot;No flash function&quot;,65:&quot;Flash fired, red-eye reduction mode&quot;,69:&quot;Flash fired, red-eye reduction mode, return light not detected&quot;,71:&quot;Flash fired, red-eye reduction mode, return light detected&quot;,73:&quot;Flash fired, compulsory flash mode, red-eye reduction mode&quot;,77:&quot;Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected&quot;,79:&quot;Flash fired, compulsory flash mode, red-eye reduction mode, return light detected&quot;,89:&quot;Flash fired, auto mode, red-eye reduction mode&quot;,93:&quot;Flash fired, auto mode, return light not detected, red-eye reduction mode&quot;,95:&quot;Flash fired, auto mode, return light detected, red-eye reduction mode&quot;},ExposureMode:{0:&quot;Auto exposure&quot;,1:&quot;Manual exposure&quot;,2:&quot;Auto bracket&quot;},WhiteBalance:{0:&quot;Auto white balance&quot;,1:&quot;Manual white balance&quot;},SceneCaptureType:{0:&quot;Standard&quot;,1:&quot;Landscape&quot;,2:&quot;Portrait&quot;,3:&quot;Night scene&quot;},Contrast:{0:&quot;Normal&quot;,1:&quot;Soft&quot;,2:&quot;Hard&quot;},Saturation:{0:&quot;Normal&quot;,1:&quot;Low saturation&quot;,2:&quot;High saturation&quot;},Sharpness:{0:&quot;Normal&quot;,1:&quot;Soft&quot;,2:&quot;Hard&quot;},GPSLatitudeRef:{N:&quot;North latitude&quot;,S:&quot;South latitude&quot;},GPSLongitudeRef:{E:&quot;East longitude&quot;,W:&quot;West longitude&quot;}},d={tiffHeader:10},m=d.tiffHeader,u={clear:this.clear},e.extend(this,{read:function(){try{return r.prototype.read.apply(this,arguments)}catch(e){throw new n.ImageError(n.ImageError.INVALID_META_ERR)}},write:function(){try{return r.prototype.write.apply(this,arguments)}catch(e){throw new n.ImageError(n.ImageError.INVALID_META_ERR)}},UNDEFINED:function(){return this.BYTE.apply(this,arguments)},RATIONAL:function(e){return this.LONG(e)/this.LONG(e+4)},SRATIONAL:function(e){return this.SLONG(e)/this.SLONG(e+4)},ASCII:function(e){return this.CHAR(e)},TIFF:function(){return h||null},EXIF:function(){var t=null;if(d.exifIFD){try{t=a.call(this,d.exifIFD,c.exif)}catch(i){return null}if(t.ExifVersion&amp;&amp;&quot;array&quot;===e.typeOf(t.ExifVersion)){for(var n=0,r=&quot;&quot;;n&lt;t.ExifVersion.length;n++)r+=String.fromCharCode(t.ExifVersion[n]);t.ExifVersion=r}}return t},GPS:function(){var t=null;if(d.gpsIFD){try{t=a.call(this,d.gpsIFD,c.gps)}catch(i){return null}t.GPSVersionID&amp;&amp;&quot;array&quot;===e.typeOf(t.GPSVersionID)&amp;&amp;(t.GPSVersionID=t.GPSVersionID.join(&quot;.&quot;))}return t},thumb:function(){if(d.IFD1)try{var e=a.call(this,d.IFD1,c.thumb);if(&quot;JPEGInterchangeFormat&quot;in e)return this.SEGMENT(d.tiffHeader+e.JPEGInterchangeFormat,e.JPEGInterchangeFormatLength)}catch(t){}return null},setExif:function(e,t){return&quot;PixelXDimension&quot;!==e&amp;&amp;&quot;PixelYDimension&quot;!==e?!1:s.call(this,&quot;exif&quot;,e,t)},clear:function(){u.clear(),o=c=l=h=d=u=null}}),65505!==this.SHORT(0)||&quot;EXIF\0&quot;!==this.STRING(4,5).toUpperCase())throw new n.ImageError(n.ImageError.INVALID_META_ERR);if(this.littleEndian=18761==this.SHORT(m),42!==this.SHORT(m+=2))throw new n.ImageError(n.ImageError.INVALID_META_ERR);d.IFD0=d.tiffHeader+this.LONG(m+=2),h=a.call(this,d.IFD0,c.tiff),&quot;ExifIFDPointer&quot;in h&amp;&amp;(d.exifIFD=d.tiffHeader+h.ExifIFDPointer,delete h.ExifIFDPointer),&quot;GPSInfoIFDPointer&quot;in h&amp;&amp;(d.gpsIFD=d.tiffHeader+h.GPSInfoIFDPointer,delete h.GPSInfoIFDPointer),e.isEmptyObj(h)&amp;&amp;(h=null);var f=this.LONG(d.IFD0+12*this.SHORT(d.IFD0)+2);f&amp;&amp;(d.IFD1=d.tiffHeader+f)}return r.prototype=i.prototype,r}),n(&quot;moxie/runtime/html5/image/JPEG&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/runtime/html5/image/JPEGHeaders&quot;,&quot;moxie/runtime/html5/utils/BinaryReader&quot;,&quot;moxie/runtime/html5/image/ExifParser&quot;],function(e,t,i,n,r){function o(o){function a(e){var t,i,n=0;for(e||(e=c);n&lt;=e.length();){if(t=e.SHORT(n+=2),t&gt;=65472&amp;&amp;65475&gt;=t)return n+=5,{height:e.SHORT(n),width:e.SHORT(n+=2)};i=e.SHORT(n+=2),n+=i-2}return null}function s(){var e,t,i=d.thumb();return i&amp;&amp;(e=new n(i),t=a(e),e.clear(),t)?(t.data=i,t):null}function u(){d&amp;&amp;l&amp;&amp;c&amp;&amp;(d.clear(),l.purge(),c.clear(),m=l=d=c=null)}var c,l,d,m;if(c=new n(o),65496!==c.SHORT(0))throw new t.ImageError(t.ImageError.WRONG_FORMAT);l=new i(o);try{d=new r(l.get(&quot;app1&quot;)[0])}catch(h){}m=a.call(this),e.extend(this,{type:&quot;image/jpeg&quot;,size:c.length(),width:m&amp;&amp;m.width||0,height:m&amp;&amp;m.height||0,setExif:function(t,i){return d?(&quot;object&quot;===e.typeOf(t)?e.each(t,function(e,t){d.setExif(t,e)}):d.setExif(t,i),l.set(&quot;app1&quot;,d.SEGMENT()),void 0):!1},writeHeaders:function(){return arguments.length?l.restore(arguments[0]):l.restore(o)},stripHeaders:function(e){return l.strip(e)},purge:function(){u.call(this)}}),d&amp;&amp;(this.meta={tiff:d.TIFF(),exif:d.EXIF(),gps:d.GPS(),thumb:s()})}return o}),n(&quot;moxie/runtime/html5/image/PNG&quot;,[&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/html5/utils/BinaryReader&quot;],function(e,t,i){function n(n){function r(){var e,t;return e=a.call(this,8),&quot;IHDR&quot;==e.type?(t=e.start,{width:s.LONG(t),height:s.LONG(t+=4)}):null}function o(){s&amp;&amp;(s.clear(),n=l=u=c=s=null)}function a(e){var t,i,n,r;return t=s.LONG(e),i=s.STRING(e+=4,4),n=e+=4,r=s.LONG(e+t),{length:t,type:i,start:n,CRC:r}}var s,u,c,l;s=new i(n),function(){var t=0,i=0,n=[35152,20039,3338,6666];for(i=0;i&lt;n.length;i++,t+=2)if(n[i]!=s.SHORT(t))throw new e.ImageError(e.ImageError.WRONG_FORMAT)}(),l=r.call(this),t.extend(this,{type:&quot;image/png&quot;,size:s.length(),width:l.width,height:l.height,purge:function(){o.call(this)}}),o.call(this)}return n}),n(&quot;moxie/runtime/html5/image/ImageInfo&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/runtime/html5/image/JPEG&quot;,&quot;moxie/runtime/html5/image/PNG&quot;],function(e,t,i,n){return function(r){var o,a=[i,n];o=function(){for(var e=0;e&lt;a.length;e++)try{return new a[e](r)}catch(i){}throw new t.ImageError(t.ImageError.WRONG_FORMAT)}(),e.extend(this,{type:&quot;&quot;,size:0,width:0,height:0,setExif:function(){},writeHeaders:function(e){return e},stripHeaders:function(e){return e},purge:function(){r=null}}),e.extend(this,o),this.purge=function(){o.purge(),o=null}}}),n(&quot;moxie/runtime/html5/image/ResizerCanvas&quot;,[],function(){function e(i,n,r){var o=i.width&gt;i.height?&quot;width&quot;:&quot;height&quot;,a=Math.round(i[o]*n),s=!1;&quot;nearest&quot;!==r&amp;&amp;(.5&gt;n||n&gt;2)&amp;&amp;(n=.5&gt;n?.5:2,s=!0);var u=t(i,n);return s?e(u,a/u[o],r):u}function t(e,t){var i=e.width,n=e.height,r=Math.round(i*t),o=Math.round(n*t),a=document.createElement(&quot;canvas&quot;);return a.width=r,a.height=o,a.getContext(&quot;2d&quot;).drawImage(e,0,0,i,n,0,0,r,o),e=null,a}return{scale:e}}),n(&quot;moxie/runtime/html5/image/Image&quot;,[&quot;moxie/runtime/html5/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/utils/Encode&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/file/File&quot;,&quot;moxie/runtime/html5/image/ImageInfo&quot;,&quot;moxie/runtime/html5/image/ResizerCanvas&quot;,&quot;moxie/core/utils/Mime&quot;,&quot;moxie/core/utils/Env&quot;],function(e,t,i,n,r,o,a,s,u){function c(){function e(){if(!v&amp;&amp;!g)throw new i.ImageError(i.DOMException.INVALID_STATE_ERR);return v||g}function c(){var t=e();return&quot;canvas&quot;==t.nodeName.toLowerCase()?t:(v=document.createElement(&quot;canvas&quot;),v.width=t.width,v.height=t.height,v.getContext(&quot;2d&quot;).drawImage(t,0,0),v)}function l(e){return n.atob(e.substring(e.indexOf(&quot;base64,&quot;)+7))}function d(e,t){return&quot;data:&quot;+(t||&quot;&quot;)+&quot;;base64,&quot;+n.btoa(e)}function m(e){var t=this;g=new Image,g.onerror=function(){p.call(this),t.trigger(&quot;error&quot;,i.ImageError.WRONG_FORMAT)},g.onload=function(){t.trigger(&quot;load&quot;)},g.src=&quot;data:&quot;==e.substr(0,5)?e:d(e,y.type)}function h(e,t){var n,r=this;return window.FileReader?(n=new FileReader,n.onload=function(){t.call(r,this.result)},n.onerror=function(){r.trigger(&quot;error&quot;,i.ImageError.WRONG_FORMAT)},n.readAsDataURL(e),void 0):t.call(this,e.getAsDataURL())}function f(e,i){var n=Math.PI/180,r=document.createElement(&quot;canvas&quot;),o=r.getContext(&quot;2d&quot;),a=e.width,s=e.height;switch(t.inArray(i,[5,6,7,8])&gt;-1?(r.width=s,r.height=a):(r.width=a,r.height=s),i){case 2:o.translate(a,0),o.scale(-1,1);break;case 3:o.translate(a,s),o.rotate(180*n);break;case 4:o.translate(0,s),o.scale(1,-1);break;case 5:o.rotate(90*n),o.scale(1,-1);break;case 6:o.rotate(90*n),o.translate(0,-s);break;case 7:o.rotate(90*n),o.translate(a,-s),o.scale(-1,1);break;case 8:o.rotate(-90*n),o.translate(-a,0)}return o.drawImage(e,0,0,a,s),r}function p(){x&amp;&amp;(x.purge(),x=null),w=g=v=y=null,b=!1}var g,x,v,w,y,E=this,b=!1,_=!0;t.extend(this,{loadFromBlob:function(e){var t=this.getRuntime(),n=arguments.length&gt;1?arguments[1]:!0;if(!t.can(&quot;access_binary&quot;))throw new i.RuntimeError(i.RuntimeError.NOT_SUPPORTED_ERR);return y=e,e.isDetached()?(w=e.getSource(),m.call(this,w),void 0):(h.call(this,e.getSource(),function(e){n&amp;&amp;(w=l(e)),m.call(this,e)}),void 0)},loadFromImage:function(e,t){this.meta=e.meta,y=new o(null,{name:e.name,size:e.size,type:e.type}),m.call(this,t?w=e.getAsBinaryString():e.getAsDataURL())},getInfo:function(){var t,i=this.getRuntime();return!x&amp;&amp;w&amp;&amp;i.can(&quot;access_image_binary&quot;)&amp;&amp;(x=new a(w)),t={width:e().width||0,height:e().height||0,type:y.type||u.getFileMime(y.name),size:w&amp;&amp;w.length||y.size||0,name:y.name||&quot;&quot;,meta:null},_&amp;&amp;(t.meta=x&amp;&amp;x.meta||this.meta||{},!t.meta||!t.meta.thumb||t.meta.thumb.data instanceof r||(t.meta.thumb.data=new r(null,{type:&quot;image/jpeg&quot;,data:t.meta.thumb.data}))),t},resize:function(t,i,n){var r=document.createElement(&quot;canvas&quot;);if(r.width=t.width,r.height=t.height,r.getContext(&quot;2d&quot;).drawImage(e(),t.x,t.y,t.width,t.height,0,0,r.width,r.height),v=s.scale(r,i),_=n.preserveHeaders,!_){var o=this.meta&amp;&amp;this.meta.tiff&amp;&amp;this.meta.tiff.Orientation||1;v=f(v,o)}this.width=v.width,this.height=v.height,b=!0,this.trigger(&quot;Resize&quot;)},getAsCanvas:function(){return v||(v=c()),v.id=this.uid+&quot;_canvas&quot;,v},getAsBlob:function(e,t){return e!==this.type?(b=!0,new o(null,{name:y.name||&quot;&quot;,type:e,data:E.getAsDataURL(e,t)})):new o(null,{name:y.name||&quot;&quot;,type:e,data:E.getAsBinaryString(e,t)})},getAsDataURL:function(e){var t=arguments[1]||90;if(!b)return g.src;if(c(),&quot;image/jpeg&quot;!==e)return v.toDataURL(&quot;image/png&quot;);try{return v.toDataURL(&quot;image/jpeg&quot;,t/100)}catch(i){return v.toDataURL(&quot;image/jpeg&quot;)}},getAsBinaryString:function(e,t){if(!b)return w||(w=l(E.getAsDataURL(e,t))),w;if(&quot;image/jpeg&quot;!==e)w=l(E.getAsDataURL(e,t));else{var i;t||(t=90),c();try{i=v.toDataURL(&quot;image/jpeg&quot;,t/100)}catch(n){i=v.toDataURL(&quot;image/jpeg&quot;)}w=l(i),x&amp;&amp;(w=x.stripHeaders(w),_&amp;&amp;(x.meta&amp;&amp;x.meta.exif&amp;&amp;x.setExif({PixelXDimension:this.width,PixelYDimension:this.height}),w=x.writeHeaders(w)),x.purge(),x=null)}return b=!1,w},destroy:function(){E=null,p.call(this),this.getRuntime().getShim().removeInstance(this.uid)}})}return e.Image=c}),n(&quot;moxie/runtime/flash/Runtime&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Env&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/runtime/Runtime&quot;],function(e,t,i,n,o){function a(){var e;try{e=navigator.plugins[&quot;Shockwave Flash&quot;],e=e.description}catch(t){try{e=new ActiveXObject(&quot;ShockwaveFlash.ShockwaveFlash&quot;).GetVariable(&quot;$version&quot;)}catch(i){e=&quot;0.0&quot;}}return e=e.match(/\d+/g),parseFloat(e[0]+&quot;.&quot;+e[1])}function s(e){var n=i.get(e);n&amp;&amp;&quot;OBJECT&quot;==n.nodeName&amp;&amp;(&quot;IE&quot;===t.browser?(n.style.display=&quot;none&quot;,function r(){4==n.readyState?u(e):setTimeout(r,10)}()):n.parentNode.removeChild(n))}function u(e){var t=i.get(e);if(t){for(var n in t)&quot;function&quot;==typeof t[n]&amp;&amp;(t[n]=null);t.parentNode.removeChild(t)}}function c(u){var c,m=this;u=e.extend({swf_url:t.swf_url},u),o.call(this,u,l,{access_binary:function(e){return e&amp;&amp;&quot;browser&quot;===m.mode},access_image_binary:function(e){return e&amp;&amp;&quot;browser&quot;===m.mode},display_media:o.capTest(r(&quot;moxie/image/Image&quot;)),do_cors:o.capTrue,drag_and_drop:!1,report_upload_progress:function(){return&quot;client&quot;===m.mode},resize_image:o.capTrue,return_response_headers:!1,return_response_type:function(t){return&quot;json&quot;===t&amp;&amp;window.JSON?!0:!e.arrayDiff(t,[&quot;&quot;,&quot;text&quot;,&quot;document&quot;])||&quot;browser&quot;===m.mode},return_status_code:function(t){return&quot;browser&quot;===m.mode||!e.arrayDiff(t,[200,404])},select_file:o.capTrue,select_multiple:o.capTrue,send_binary_string:function(e){return e&amp;&amp;&quot;browser&quot;===m.mode},send_browser_cookies:function(e){return e&amp;&amp;&quot;browser&quot;===m.mode},send_custom_headers:function(e){return e&amp;&amp;&quot;browser&quot;===m.mode},send_multipart:o.capTrue,slice_blob:function(e){return e&amp;&amp;&quot;browser&quot;===m.mode},stream_upload:function(e){return e&amp;&amp;&quot;browser&quot;===m.mode},summon_file_dialog:!1,upload_filesize:function(t){return e.parseSizeStr(t)&lt;=2097152||&quot;client&quot;===m.mode},use_http_method:function(t){return!e.arrayDiff(t,[&quot;GET&quot;,&quot;POST&quot;])}},{access_binary:function(e){return e?&quot;browser&quot;:&quot;client&quot;},access_image_binary:function(e){return e?&quot;browser&quot;:&quot;client&quot;},report_upload_progress:function(e){return e?&quot;browser&quot;:&quot;client&quot;},return_response_type:function(t){return e.arrayDiff(t,[&quot;&quot;,&quot;text&quot;,&quot;json&quot;,&quot;document&quot;])?&quot;browser&quot;:[&quot;client&quot;,&quot;browser&quot;]},return_status_code:function(t){return e.arrayDiff(t,[200,404])?&quot;browser&quot;:[&quot;client&quot;,&quot;browser&quot;]},send_binary_string:function(e){return e?&quot;browser&quot;:&quot;client&quot;},send_browser_cookies:function(e){return e?&quot;browser&quot;:&quot;client&quot;},send_custom_headers:function(e){return e?&quot;browser&quot;:&quot;client&quot;},slice_blob:function(e){return e?&quot;browser&quot;:&quot;client&quot;},stream_upload:function(e){return e?&quot;client&quot;:&quot;browser&quot;},upload_filesize:function(t){return e.parseSizeStr(t)&gt;=2097152?&quot;client&quot;:&quot;browser&quot;}},&quot;client&quot;),a()&lt;11.3&amp;&amp;(this.mode=!1),e.extend(this,{getShim:function(){return i.get(this.uid)},shimExec:function(e,t){var i=[].slice.call(arguments,2);return m.getShim().exec(this.uid,e,t,i)},init:function(){var i,r,a;a=this.getShimContainer(),e.extend(a.style,{position:&quot;absolute&quot;,top:&quot;-8px&quot;,left:&quot;-8px&quot;,width:&quot;9px&quot;,height:&quot;9px&quot;,overflow:&quot;hidden&quot;}),i=&#39;&lt;object id=&quot;&#39;+this.uid+&#39;&quot; type=&quot;application/x-shockwave-flash&quot; data=&quot;&#39;+u.swf_url+&#39;&quot; &#39;,&quot;IE&quot;===t.browser&amp;&amp;(i+=&#39;classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; &#39;),i+=&#39;width=&quot;100%&quot; height=&quot;100%&quot; style=&quot;outline:0&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;&#39;+u.swf_url+&#39;&quot; /&gt;&#39;+&#39;&lt;param name=&quot;flashvars&quot; value=&quot;uid=&#39;+escape(this.uid)+&quot;&amp;target=&quot;+o.getGlobalEventTarget()+&#39;&quot; /&gt;&#39;+&#39;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;&#39;+&#39;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&#39;+&quot;&lt;/object&gt;&quot;,&quot;IE&quot;===t.browser?(r=document.createElement(&quot;div&quot;),a.appendChild(r),r.outerHTML=i,r=a=null):a.innerHTML=i,c=setTimeout(function(){m&amp;&amp;!m.initialized&amp;&amp;m.trigger(&quot;Error&quot;,new n.RuntimeError(n.RuntimeError.NOT_INIT_ERR))},5e3)},destroy:function(e){return function(){s(m.uid),e.call(m),clearTimeout(c),u=c=e=m=null}}(this.destroy)},d)}var l=&quot;flash&quot;,d={};return o.addConstructor(l,c),d}),n(&quot;moxie/runtime/flash/file/Blob&quot;,[&quot;moxie/runtime/flash/Runtime&quot;,&quot;moxie/file/Blob&quot;],function(e,t){var i={slice:function(e,i,n,r){var o=this.getRuntime();return 0&gt;i?i=Math.max(e.size+i,0):i&gt;0&amp;&amp;(i=Math.min(i,e.size)),0&gt;n?n=Math.max(e.size+n,0):n&gt;0&amp;&amp;(n=Math.min(n,e.size)),e=o.shimExec.call(this,&quot;Blob&quot;,&quot;slice&quot;,i,n,r||&quot;&quot;),e&amp;&amp;(e=new t(o.uid,e)),e}};return e.Blob=i}),n(&quot;moxie/runtime/flash/file/FileInput&quot;,[&quot;moxie/runtime/flash/Runtime&quot;,&quot;moxie/file/File&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/utils/Basic&quot;],function(e,t,i,n){var r={init:function(e){var r=this,o=this.getRuntime(),a=i.get(e.browse_button);a&amp;&amp;(a.setAttribute(&quot;tabindex&quot;,-1),a=null),this.bind(&quot;Change&quot;,function(){var e=o.shimExec.call(r,&quot;FileInput&quot;,&quot;getFiles&quot;);r.files=[],n.each(e,function(e){r.files.push(new t(o.uid,e))})},999),this.getRuntime().shimExec.call(this,&quot;FileInput&quot;,&quot;init&quot;,{accept:e.accept,multiple:e.multiple}),this.trigger(&quot;ready&quot;)}};return e.FileInput=r}),n(&quot;moxie/runtime/flash/file/FileReader&quot;,[&quot;moxie/runtime/flash/Runtime&quot;,&quot;moxie/core/utils/Encode&quot;],function(e,t){function i(e,i){switch(i){case&quot;readAsText&quot;:return t.atob(e,&quot;utf8&quot;);case&quot;readAsBinaryString&quot;:return t.atob(e);case&quot;readAsDataURL&quot;:return e}return null}var n={read:function(e,t){var n=this;return n.result=&quot;&quot;,&quot;readAsDataURL&quot;===e&amp;&amp;(n.result=&quot;data:&quot;+(t.type||&quot;&quot;)+&quot;;base64,&quot;),n.bind(&quot;Progress&quot;,function(t,r){r&amp;&amp;(n.result+=i(r,e))},999),n.getRuntime().shimExec.call(this,&quot;FileReader&quot;,&quot;readAsBase64&quot;,t.uid)}};return e.FileReader=n}),n(&quot;moxie/runtime/flash/file/FileReaderSync&quot;,[&quot;moxie/runtime/flash/Runtime&quot;,&quot;moxie/core/utils/Encode&quot;],function(e,t){function i(e,i){switch(i){case&quot;readAsText&quot;:return t.atob(e,&quot;utf8&quot;);case&quot;readAsBinaryString&quot;:return t.atob(e);case&quot;readAsDataURL&quot;:return e}return null}var n={read:function(e,t){var n,r=this.getRuntime();return(n=r.shimExec.call(this,&quot;FileReaderSync&quot;,&quot;readAsBase64&quot;,t.uid))?(&quot;readAsDataURL&quot;===e&amp;&amp;(n=&quot;data:&quot;+(t.type||&quot;&quot;)+&quot;;base64,&quot;+n),i(n,e,t.type)):null}};return e.FileReaderSync=n}),n(&quot;moxie/runtime/flash/runtime/Transporter&quot;,[&quot;moxie/runtime/flash/Runtime&quot;,&quot;moxie/file/Blob&quot;],function(e,t){var i={getAsBlob:function(e){var i=this.getRuntime(),n=i.shimExec.call(this,&quot;Transporter&quot;,&quot;getAsBlob&quot;,e);return n?new t(i.uid,n):null}};return e.Transporter=i}),n(&quot;moxie/runtime/flash/xhr/XMLHttpRequest&quot;,[&quot;moxie/runtime/flash/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/file/File&quot;,&quot;moxie/file/FileReaderSync&quot;,&quot;moxie/runtime/flash/file/FileReaderSync&quot;,&quot;moxie/xhr/FormData&quot;,&quot;moxie/runtime/Transporter&quot;,&quot;moxie/runtime/flash/runtime/Transporter&quot;],function(e,t,i,n,r,o,a,s){var u={send:function(e,n){function r(){e.transport=l.mode,l.shimExec.call(c,&quot;XMLHttpRequest&quot;,&quot;send&quot;,e,n)}function o(e,t){l.shimExec.call(c,&quot;XMLHttpRequest&quot;,&quot;appendBlob&quot;,e,t.uid),n=null,r()}function u(e,t){var i=new s;i.bind(&quot;TransportingComplete&quot;,function(){t(this.result)}),i.transport(e.getSource(),e.type,{ruid:l.uid})}var c=this,l=c.getRuntime();if(t.isEmptyObj(e.headers)||t.each(e.headers,function(e,t){l.shimExec.call(c,&quot;XMLHttpRequest&quot;,&quot;setRequestHeader&quot;,t,e.toString())}),n instanceof a){var d;if(n.each(function(e,t){e instanceof i?d=t:l.shimExec.call(c,&quot;XMLHttpRequest&quot;,&quot;append&quot;,t,e)}),n.hasBlob()){var m=n.getBlob();m.isDetached()?u(m,function(e){m.destroy(),o(d,e)}):o(d,m)}else n=null,r()}else n instanceof i?n.isDetached()?u(n,function(e){n.destroy(),n=e.uid,r()}):(n=n.uid,r()):r()},getResponse:function(e){var i,o,a=this.getRuntime();if(o=a.shimExec.call(this,&quot;XMLHttpRequest&quot;,&quot;getResponseAsBlob&quot;)){if(o=new n(a.uid,o),&quot;blob&quot;===e)return o;try{if(i=new r,~t.inArray(e,[&quot;&quot;,&quot;text&quot;]))return i.readAsText(o);if(&quot;json&quot;===e&amp;&amp;window.JSON)return JSON.parse(i.readAsText(o))}finally{o.destroy()}}return null},abort:function(){var e=this.getRuntime();e.shimExec.call(this,&quot;XMLHttpRequest&quot;,&quot;abort&quot;),this.dispatchEvent(&quot;readystatechange&quot;),this.dispatchEvent(&quot;abort&quot;)}};return e.XMLHttpRequest=u}),n(&quot;moxie/runtime/flash/image/Image&quot;,[&quot;moxie/runtime/flash/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/Transporter&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/file/FileReaderSync&quot;],function(e,t,i,n,r){var o={loadFromBlob:function(e){function t(e){r.shimExec.call(n,&quot;Image&quot;,&quot;loadFromBlob&quot;,e.uid),n=r=null}var n=this,r=n.getRuntime();if(e.isDetached()){var o=new i;o.bind(&quot;TransportingComplete&quot;,function(){t(o.result.getSource())}),o.transport(e.getSource(),e.type,{ruid:r.uid})}else t(e.getSource())},loadFromImage:function(e){var t=this.getRuntime();return t.shimExec.call(this,&quot;Image&quot;,&quot;loadFromImage&quot;,e.uid)},getInfo:function(){var e=this.getRuntime(),t=e.shimExec.call(this,&quot;Image&quot;,&quot;getInfo&quot;);return t.meta&amp;&amp;t.meta.thumb&amp;&amp;t.meta.thumb.data&amp;&amp;!(e.meta.thumb.data instanceof n)&amp;&amp;(t.meta.thumb.data=new n(e.uid,t.meta.thumb.data)),t},getAsBlob:function(e,t){var i=this.getRuntime(),r=i.shimExec.call(this,&quot;Image&quot;,&quot;getAsBlob&quot;,e,t);return r?new n(i.uid,r):null},getAsDataURL:function(){var e,t=this.getRuntime(),i=t.Image.getAsBlob.apply(this,arguments);return i?(e=new r,e.readAsDataURL(i)):null}};return e.Image=o}),n(&quot;moxie/runtime/silverlight/Runtime&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Env&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/runtime/Runtime&quot;],function(e,t,i,n,o){function a(e){var t,i,n,r,o,a=!1,s=null,u=0;try{try{s=new ActiveXObject(&quot;AgControl.AgControl&quot;),s.IsVersionSupported(e)&amp;&amp;(a=!0),s=null}catch(c){var l=navigator.plugins[&quot;Silverlight Plug-In&quot;];if(l){for(t=l.description,&quot;1.0.30226.2&quot;===t&amp;&amp;(t=&quot;2.0.30226.2&quot;),i=t.split(&quot;.&quot;);i.length&gt;3;)i.pop();for(;i.length&lt;4;)i.push(0);for(n=e.split(&quot;.&quot;);n.length&gt;4;)n.pop();do r=parseInt(n[u],10),o=parseInt(i[u],10),u++;while(u&lt;n.length&amp;&amp;r===o);o&gt;=r&amp;&amp;!isNaN(r)&amp;&amp;(a=!0)}}}catch(d){a=!1}return a}function s(s){var l,d=this;s=e.extend({xap_url:t.xap_url},s),o.call(this,s,u,{access_binary:o.capTrue,access_image_binary:o.capTrue,display_media:o.capTest(r(&quot;moxie/image/Image&quot;)),do_cors:o.capTrue,drag_and_drop:!1,report_upload_progress:o.capTrue,resize_image:o.capTrue,return_response_headers:function(e){return e&amp;&amp;&quot;client&quot;===d.mode},return_response_type:function(e){return&quot;json&quot;!==e?!0:!!window.JSON},return_status_code:function(t){return&quot;client&quot;===d.mode||!e.arrayDiff(t,[200,404])},select_file:o.capTrue,select_multiple:o.capTrue,send_binary_string:o.capTrue,send_browser_cookies:function(e){return e&amp;&amp;&quot;browser&quot;===d.mode},send_custom_headers:function(e){return e&amp;&amp;&quot;client&quot;===d.mode},send_multipart:o.capTrue,slice_blob:o.capTrue,stream_upload:!0,summon_file_dialog:!1,upload_filesize:o.capTrue,use_http_method:function(t){return&quot;client&quot;===d.mode||!e.arrayDiff(t,[&quot;GET&quot;,&quot;POST&quot;])}},{return_response_headers:function(e){return e?&quot;client&quot;:&quot;browser&quot;},return_status_code:function(t){return e.arrayDiff(t,[200,404])?&quot;client&quot;:[&quot;client&quot;,&quot;browser&quot;]},send_browser_cookies:function(e){return e?&quot;browser&quot;:&quot;client&quot;},send_custom_headers:function(e){return e?&quot;client&quot;:&quot;browser&quot;},use_http_method:function(t){return e.arrayDiff(t,[&quot;GET&quot;,&quot;POST&quot;])?&quot;client&quot;:[&quot;client&quot;,&quot;browser&quot;]}}),a(&quot;2.0.31005.0&quot;)&amp;&amp;&quot;Opera&quot;!==t.browser||(this.mode=!1),e.extend(this,{getShim:function(){return i.get(this.uid).content.Moxie},shimExec:function(e,t){var i=[].slice.call(arguments,2);return d.getShim().exec(this.uid,e,t,i)},init:function(){var e;e=this.getShimContainer(),e.innerHTML=&#39;&lt;object id=&quot;&#39;+this.uid+&#39;&quot; data=&quot;data:application/x-silverlight,&quot; type=&quot;application/x-silverlight-2&quot; width=&quot;100%&quot; height=&quot;100%&quot; style=&quot;outline:none;&quot;&gt;&#39;+&#39;&lt;param name=&quot;source&quot; value=&quot;&#39;+s.xap_url+&#39;&quot;/&gt;&#39;+&#39;&lt;param name=&quot;background&quot; value=&quot;Transparent&quot;/&gt;&#39;+&#39;&lt;param name=&quot;windowless&quot; value=&quot;true&quot;/&gt;&#39;+&#39;&lt;param name=&quot;enablehtmlaccess&quot; value=&quot;true&quot;/&gt;&#39;+&#39;&lt;param name=&quot;initParams&quot; value=&quot;uid=&#39;+this.uid+&quot;,target=&quot;+o.getGlobalEventTarget()+&#39;&quot;/&gt;&#39;+&quot;&lt;/object&gt;&quot;,l=setTimeout(function(){d&amp;&amp;!d.initialized&amp;&amp;d.trigger(&quot;Error&quot;,new n.RuntimeError(n.RuntimeError.NOT_INIT_ERR))},&quot;Windows&quot;!==t.OS?1e4:5e3)},destroy:function(e){return function(){e.call(d),clearTimeout(l),s=l=e=d=null}}(this.destroy)},c)}var u=&quot;silverlight&quot;,c={};return o.addConstructor(u,s),c}),n(&quot;moxie/runtime/silverlight/file/Blob&quot;,[&quot;moxie/runtime/silverlight/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/flash/file/Blob&quot;],function(e,t,i){return e.Blob=t.extend({},i)}),n(&quot;moxie/runtime/silverlight/file/FileInput&quot;,[&quot;moxie/runtime/silverlight/Runtime&quot;,&quot;moxie/file/File&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/utils/Basic&quot;],function(e,t,i,n){function r(e){for(var t=&quot;&quot;,i=0;i&lt;e.length;i++)t+=(&quot;&quot;!==t?&quot;|&quot;:&quot;&quot;)+e[i].title+&quot; | *.&quot;+e[i].extensions.replace(/,/g,&quot;;*.&quot;);return t}var o={init:function(e){var o=this,a=this.getRuntime(),s=i.get(e.browse_button);s&amp;&amp;(s.setAttribute(&quot;tabindex&quot;,-1),s=null),this.bind(&quot;Change&quot;,function(){var e=a.shimExec.call(o,&quot;FileInput&quot;,&quot;getFiles&quot;);</td>
      </tr>
      <tr>
        <td id="L16" class="blob-num js-line-number" data-line-number="16"></td>
        <td id="LC16" class="blob-code blob-code-inner js-file-line">o.files=[],n.each(e,function(e){o.files.push(new t(a.uid,e))})},999),a.shimExec.call(this,&quot;FileInput&quot;,&quot;init&quot;,r(e.accept),e.multiple),this.trigger(&quot;ready&quot;)},setOption:function(e,t){&quot;accept&quot;==e&amp;&amp;(t=r(t)),this.getRuntime().shimExec.call(this,&quot;FileInput&quot;,&quot;setOption&quot;,e,t)}};return e.FileInput=o}),n(&quot;moxie/runtime/silverlight/file/FileDrop&quot;,[&quot;moxie/runtime/silverlight/Runtime&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/utils/Events&quot;],function(e,t,i){var n={init:function(){var e,n=this,r=n.getRuntime();return e=r.getShimContainer(),i.addEvent(e,&quot;dragover&quot;,function(e){e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=&quot;copy&quot;},n.uid),i.addEvent(e,&quot;dragenter&quot;,function(e){e.preventDefault();var i=t.get(r.uid).dragEnter(e);i&amp;&amp;e.stopPropagation()},n.uid),i.addEvent(e,&quot;drop&quot;,function(e){e.preventDefault();var i=t.get(r.uid).dragDrop(e);i&amp;&amp;e.stopPropagation()},n.uid),r.shimExec.call(this,&quot;FileDrop&quot;,&quot;init&quot;)}};return e.FileDrop=n}),n(&quot;moxie/runtime/silverlight/file/FileReader&quot;,[&quot;moxie/runtime/silverlight/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/flash/file/FileReader&quot;],function(e,t,i){return e.FileReader=t.extend({},i)}),n(&quot;moxie/runtime/silverlight/file/FileReaderSync&quot;,[&quot;moxie/runtime/silverlight/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/flash/file/FileReaderSync&quot;],function(e,t,i){return e.FileReaderSync=t.extend({},i)}),n(&quot;moxie/runtime/silverlight/runtime/Transporter&quot;,[&quot;moxie/runtime/silverlight/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/flash/runtime/Transporter&quot;],function(e,t,i){return e.Transporter=t.extend({},i)}),n(&quot;moxie/runtime/silverlight/xhr/XMLHttpRequest&quot;,[&quot;moxie/runtime/silverlight/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/runtime/flash/xhr/XMLHttpRequest&quot;,&quot;moxie/runtime/silverlight/file/FileReaderSync&quot;,&quot;moxie/runtime/silverlight/runtime/Transporter&quot;],function(e,t,i){return e.XMLHttpRequest=t.extend({},i)}),n(&quot;moxie/runtime/silverlight/image/Image&quot;,[&quot;moxie/runtime/silverlight/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/runtime/flash/image/Image&quot;],function(e,t,i,n){return e.Image=t.extend({},n,{getInfo:function(){var e=this.getRuntime(),n=[&quot;tiff&quot;,&quot;exif&quot;,&quot;gps&quot;,&quot;thumb&quot;],r={meta:{}},o=e.shimExec.call(this,&quot;Image&quot;,&quot;getInfo&quot;);return o.meta&amp;&amp;(t.each(n,function(e){var t,i,n,a,s=o.meta[e];if(s&amp;&amp;s.keys)for(r.meta[e]={},i=0,n=s.keys.length;n&gt;i;i++)t=s.keys[i],a=s[t],a&amp;&amp;(/^(\d|[1-9]\d+)$/.test(a)?a=parseInt(a,10):/^\d*\.\d+$/.test(a)&amp;&amp;(a=parseFloat(a)),r.meta[e][t]=a)}),r.meta&amp;&amp;r.meta.thumb&amp;&amp;r.meta.thumb.data&amp;&amp;!(e.meta.thumb.data instanceof i)&amp;&amp;(r.meta.thumb.data=new i(e.uid,r.meta.thumb.data))),r.width=parseInt(o.width,10),r.height=parseInt(o.height,10),r.size=parseInt(o.size,10),r.type=o.type,r.name=o.name,r},resize:function(e,t,i){this.getRuntime().shimExec.call(this,&quot;Image&quot;,&quot;resize&quot;,e.x,e.y,e.width,e.height,t,i.preserveHeaders,i.resample)}})}),n(&quot;moxie/runtime/html4/Runtime&quot;,[&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/runtime/Runtime&quot;,&quot;moxie/core/utils/Env&quot;],function(e,t,i,n){function o(t){var o=this,u=i.capTest,c=i.capTrue;i.call(this,t,a,{access_binary:u(window.FileReader||window.File&amp;&amp;File.getAsDataURL),access_image_binary:!1,display_media:u((n.can(&quot;create_canvas&quot;)||n.can(&quot;use_data_uri_over32kb&quot;))&amp;&amp;r(&quot;moxie/image/Image&quot;)),do_cors:!1,drag_and_drop:!1,filter_by_extension:u(function(){return!(&quot;Chrome&quot;===n.browser&amp;&amp;n.verComp(n.version,28,&quot;&lt;&quot;)||&quot;IE&quot;===n.browser&amp;&amp;n.verComp(n.version,10,&quot;&lt;&quot;)||&quot;Safari&quot;===n.browser&amp;&amp;n.verComp(n.version,11,&quot;&lt;=&quot;)||&quot;Firefox&quot;===n.browser&amp;&amp;n.verComp(n.version,37,&quot;&lt;&quot;)||&quot;iOS&quot;===n.os||&quot;Android&quot;===n.os)}()),resize_image:function(){return s.Image&amp;&amp;o.can(&quot;access_binary&quot;)&amp;&amp;n.can(&quot;create_canvas&quot;)},report_upload_progress:!1,return_response_headers:!1,return_response_type:function(t){return&quot;json&quot;===t&amp;&amp;window.JSON?!0:!!~e.inArray(t,[&quot;text&quot;,&quot;document&quot;,&quot;&quot;])},return_status_code:function(t){return!e.arrayDiff(t,[200,404])},select_file:function(){return n.can(&quot;use_fileinput&quot;)},select_multiple:!1,send_binary_string:!1,send_custom_headers:!1,send_multipart:!0,slice_blob:!1,stream_upload:function(){return o.can(&quot;select_file&quot;)},summon_file_dialog:function(){return o.can(&quot;select_file&quot;)&amp;&amp;!(&quot;Firefox&quot;===n.browser&amp;&amp;n.verComp(n.version,4,&quot;&lt;&quot;)||&quot;Opera&quot;===n.browser&amp;&amp;n.verComp(n.version,12,&quot;&lt;&quot;)||&quot;IE&quot;===n.browser&amp;&amp;n.verComp(n.version,10,&quot;&lt;&quot;))},upload_filesize:c,use_http_method:function(t){return!e.arrayDiff(t,[&quot;GET&quot;,&quot;POST&quot;])}}),e.extend(this,{init:function(){this.trigger(&quot;Init&quot;)},destroy:function(e){return function(){e.call(o),e=o=null}}(this.destroy)}),e.extend(this.getShim(),s)}var a=&quot;html4&quot;,s={};return i.addConstructor(a,o),s}),n(&quot;moxie/runtime/html4/file/FileInput&quot;,[&quot;moxie/runtime/html4/Runtime&quot;,&quot;moxie/file/File&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/utils/Events&quot;,&quot;moxie/core/utils/Mime&quot;,&quot;moxie/core/utils/Env&quot;],function(e,t,i,n,r,o,a){function s(){function e(){var o,c,d,m,h,f,p=this,g=p.getRuntime();f=i.guid(&quot;uid_&quot;),o=g.getShimContainer(),s&amp;&amp;(d=n.get(s+&quot;_form&quot;),d&amp;&amp;(i.extend(d.style,{top:&quot;100%&quot;}),d.firstChild.setAttribute(&quot;tabindex&quot;,-1))),m=document.createElement(&quot;form&quot;),m.setAttribute(&quot;id&quot;,f+&quot;_form&quot;),m.setAttribute(&quot;method&quot;,&quot;post&quot;),m.setAttribute(&quot;enctype&quot;,&quot;multipart/form-data&quot;),m.setAttribute(&quot;encoding&quot;,&quot;multipart/form-data&quot;),i.extend(m.style,{overflow:&quot;hidden&quot;,position:&quot;absolute&quot;,top:0,left:0,width:&quot;100%&quot;,height:&quot;100%&quot;}),h=document.createElement(&quot;input&quot;),h.setAttribute(&quot;id&quot;,f),h.setAttribute(&quot;type&quot;,&quot;file&quot;),h.setAttribute(&quot;accept&quot;,l.join(&quot;,&quot;)),g.can(&quot;summon_file_dialog&quot;)&amp;&amp;h.setAttribute(&quot;tabindex&quot;,-1),i.extend(h.style,{fontSize:&quot;999px&quot;,opacity:0}),m.appendChild(h),o.appendChild(m),i.extend(h.style,{position:&quot;absolute&quot;,top:0,left:0,width:&quot;100%&quot;,height:&quot;100%&quot;}),&quot;IE&quot;===a.browser&amp;&amp;a.verComp(a.version,10,&quot;&lt;&quot;)&amp;&amp;i.extend(h.style,{filter:&quot;progid:DXImageTransform.Microsoft.Alpha(opacity=0)&quot;}),h.onchange=function(){var i;this.value&amp;&amp;(i=this.files?this.files[0]:{name:this.value},i=new t(g.uid,i),this.onchange=function(){},e.call(p),p.files=[i],h.setAttribute(&quot;id&quot;,i.uid),m.setAttribute(&quot;id&quot;,i.uid+&quot;_form&quot;),p.trigger(&quot;change&quot;),h=m=null)},g.can(&quot;summon_file_dialog&quot;)&amp;&amp;(c=n.get(u.browse_button),r.removeEvent(c,&quot;click&quot;,p.uid),r.addEvent(c,&quot;click&quot;,function(e){h&amp;&amp;!h.disabled&amp;&amp;h.click(),e.preventDefault()},p.uid)),s=f,o=d=c=null}var s,u,c,l=[];i.extend(this,{init:function(t){var i,a=this,s=a.getRuntime();u=t,l=o.extList2mimes(t.accept,s.can(&quot;filter_by_extension&quot;)),i=s.getShimContainer(),function(){var e,o,l;e=n.get(t.browse_button),c=n.getStyle(e,&quot;z-index&quot;)||&quot;auto&quot;,s.can(&quot;summon_file_dialog&quot;)?(&quot;static&quot;===n.getStyle(e,&quot;position&quot;)&amp;&amp;(e.style.position=&quot;relative&quot;),a.bind(&quot;Refresh&quot;,function(){o=parseInt(c,10)||1,n.get(u.browse_button).style.zIndex=o,this.getRuntime().getShimContainer().style.zIndex=o-1})):e.setAttribute(&quot;tabindex&quot;,-1),l=s.can(&quot;summon_file_dialog&quot;)?e:i,r.addEvent(l,&quot;mouseover&quot;,function(){a.trigger(&quot;mouseenter&quot;)},a.uid),r.addEvent(l,&quot;mouseout&quot;,function(){a.trigger(&quot;mouseleave&quot;)},a.uid),r.addEvent(l,&quot;mousedown&quot;,function(){a.trigger(&quot;mousedown&quot;)},a.uid),r.addEvent(n.get(t.container),&quot;mouseup&quot;,function(){a.trigger(&quot;mouseup&quot;)},a.uid),e=null}(),e.call(this),i=null,a.trigger({type:&quot;ready&quot;,async:!0})},setOption:function(e,t){var i,r=this.getRuntime();&quot;accept&quot;==e&amp;&amp;(l=t.mimes||o.extList2mimes(t,r.can(&quot;filter_by_extension&quot;))),i=n.get(s),i&amp;&amp;i.setAttribute(&quot;accept&quot;,l.join(&quot;,&quot;))},disable:function(e){var t;(t=n.get(s))&amp;&amp;(t.disabled=!!e)},destroy:function(){var e=this.getRuntime(),t=e.getShim(),i=e.getShimContainer(),o=u&amp;&amp;n.get(u.container),a=u&amp;&amp;n.get(u.browse_button);o&amp;&amp;r.removeAllEvents(o,this.uid),a&amp;&amp;(r.removeAllEvents(a,this.uid),a.style.zIndex=c),i&amp;&amp;(r.removeAllEvents(i,this.uid),i.innerHTML=&quot;&quot;),t.removeInstance(this.uid),s=l=u=i=o=a=t=null}})}return e.FileInput=s}),n(&quot;moxie/runtime/html4/file/FileReader&quot;,[&quot;moxie/runtime/html4/Runtime&quot;,&quot;moxie/runtime/html5/file/FileReader&quot;],function(e,t){return e.FileReader=t}),n(&quot;moxie/runtime/html4/xhr/XMLHttpRequest&quot;,[&quot;moxie/runtime/html4/Runtime&quot;,&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/utils/Url&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/utils/Events&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/xhr/FormData&quot;],function(e,t,i,n,r,o,a,s){function u(){function e(e){var t,n,r,a,s=this,u=!1;if(l){if(t=l.id.replace(/_iframe$/,&quot;&quot;),n=i.get(t+&quot;_form&quot;)){for(r=n.getElementsByTagName(&quot;input&quot;),a=r.length;a--;)switch(r[a].getAttribute(&quot;type&quot;)){case&quot;hidden&quot;:r[a].parentNode.removeChild(r[a]);break;case&quot;file&quot;:u=!0}r=[],u||n.parentNode.removeChild(n),n=null}setTimeout(function(){o.removeEvent(l,&quot;load&quot;,s.uid),l.parentNode&amp;&amp;l.parentNode.removeChild(l);var t=s.getRuntime().getShimContainer();t.children.length||t.parentNode.removeChild(t),t=l=null,e()},1)}}var u,c,l;t.extend(this,{send:function(d,m){function h(){var i=w.getShimContainer()||document.body,r=document.createElement(&quot;div&quot;);r.innerHTML=&#39;&lt;iframe id=&quot;&#39;+f+&#39;_iframe&quot; name=&quot;&#39;+f+&#39;_iframe&quot; src=&quot;javascript:&amp;quot;&amp;quot;&quot; style=&quot;display:none&quot;&gt;&lt;/iframe&gt;&#39;,l=r.firstChild,i.appendChild(l),o.addEvent(l,&quot;load&quot;,function(){var i;try{i=l.contentWindow.document||l.contentDocument||window.frames[l.id].document,/^4(0[0-9]|1[0-7]|2[2346])\s/.test(i.title)?u=i.title.replace(/^(\d+).*$/,&quot;$1&quot;):(u=200,c=t.trim(i.body.innerHTML),v.trigger({type:&quot;progress&quot;,loaded:c.length,total:c.length}),x&amp;&amp;v.trigger({type:&quot;uploadprogress&quot;,loaded:x.size||1025,total:x.size||1025}))}catch(r){if(!n.hasSameOrigin(d.url))return e.call(v,function(){v.trigger(&quot;error&quot;)}),void 0;u=404}e.call(v,function(){v.trigger(&quot;load&quot;)})},v.uid)}var f,p,g,x,v=this,w=v.getRuntime();if(u=c=null,m instanceof s&amp;&amp;m.hasBlob()){if(x=m.getBlob(),f=x.uid,g=i.get(f),p=i.get(f+&quot;_form&quot;),!p)throw new r.DOMException(r.DOMException.NOT_FOUND_ERR)}else f=t.guid(&quot;uid_&quot;),p=document.createElement(&quot;form&quot;),p.setAttribute(&quot;id&quot;,f+&quot;_form&quot;),p.setAttribute(&quot;method&quot;,d.method),p.setAttribute(&quot;enctype&quot;,&quot;multipart/form-data&quot;),p.setAttribute(&quot;encoding&quot;,&quot;multipart/form-data&quot;),w.getShimContainer().appendChild(p);p.setAttribute(&quot;target&quot;,f+&quot;_iframe&quot;),m instanceof s&amp;&amp;m.each(function(e,i){if(e instanceof a)g&amp;&amp;g.setAttribute(&quot;name&quot;,i);else{var n=document.createElement(&quot;input&quot;);t.extend(n,{type:&quot;hidden&quot;,name:i,value:e}),g?p.insertBefore(n,g):p.appendChild(n)}}),p.setAttribute(&quot;action&quot;,d.url),h(),p.submit(),v.trigger(&quot;loadstart&quot;)},getStatus:function(){return u},getResponse:function(e){if(&quot;json&quot;===e&amp;&amp;&quot;string&quot;===t.typeOf(c)&amp;&amp;window.JSON)try{return JSON.parse(c.replace(/^\s*&lt;pre[^&gt;]*&gt;/,&quot;&quot;).replace(/&lt;\/pre&gt;\s*$/,&quot;&quot;))}catch(i){return null}return c},abort:function(){var t=this;l&amp;&amp;l.contentWindow&amp;&amp;(l.contentWindow.stop?l.contentWindow.stop():l.contentWindow.document.execCommand?l.contentWindow.document.execCommand(&quot;Stop&quot;):l.src=&quot;about:blank&quot;),e.call(this,function(){t.dispatchEvent(&quot;abort&quot;)})},destroy:function(){this.getRuntime().getShim().removeInstance(this.uid)}})}return e.XMLHttpRequest=u}),n(&quot;moxie/runtime/html4/image/Image&quot;,[&quot;moxie/runtime/html4/Runtime&quot;,&quot;moxie/runtime/html5/image/Image&quot;],function(e,t){return e.Image=t}),a([&quot;moxie/core/utils/Basic&quot;,&quot;moxie/core/utils/Encode&quot;,&quot;moxie/core/utils/Env&quot;,&quot;moxie/core/Exceptions&quot;,&quot;moxie/core/utils/Dom&quot;,&quot;moxie/core/EventTarget&quot;,&quot;moxie/runtime/Runtime&quot;,&quot;moxie/runtime/RuntimeClient&quot;,&quot;moxie/file/Blob&quot;,&quot;moxie/core/I18n&quot;,&quot;moxie/core/utils/Mime&quot;,&quot;moxie/file/FileInput&quot;,&quot;moxie/file/File&quot;,&quot;moxie/file/FileDrop&quot;,&quot;moxie/file/FileReader&quot;,&quot;moxie/core/utils/Url&quot;,&quot;moxie/runtime/RuntimeTarget&quot;,&quot;moxie/xhr/FormData&quot;,&quot;moxie/xhr/XMLHttpRequest&quot;,&quot;moxie/image/Image&quot;,&quot;moxie/core/utils/Events&quot;,&quot;moxie/runtime/html5/image/ResizerCanvas&quot;])}(this)});</td>
      </tr>
</table>

  <div class="BlobToolbar position-absolute js-file-line-actions dropdown js-menu-container js-select-menu d-none" aria-hidden="true">
    <button class="btn-octicon ml-0 px-2 p-0 bg-white border border-gray-dark rounded-1 dropdown-toggle js-menu-target" type="button" aria-expanded="false" aria-haspopup="true" aria-label="Inline file action toolbar" aria-controls="inline-file-actions">
      <svg class="octicon octicon-kebab-horizontal" viewBox="0 0 13 16" version="1.1" width="13" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm5 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM13 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/></svg>
    </button>
    <div class="dropdown-menu-content js-menu-content" id="inline-file-actions">
      <ul class="BlobToolbar-dropdown dropdown-menu dropdown-menu-se mt-2">
        <li><clipboard-copy class="dropdown-item" id="js-copy-lines" style="cursor:pointer;" data-original-text="Copy lines">Copy lines</clipboard-copy></li>
        <li><clipboard-copy class="dropdown-item" id="js-copy-permalink" style="cursor:pointer;" data-original-text="Copy permalink">Copy permalink</clipboard-copy></li>
        <li><a class="dropdown-item js-update-url-with-hash" id="js-view-git-blame" href="/moxiecode/moxie/blame/09eaf578f38480dc4b8e2017c473c496883b6168/bin/js/moxie.min.js">View git blame</a></li>
          <li><a class="dropdown-item" id="js-new-issue" href="/moxiecode/moxie/issues/new">Open new issue</a></li>
      </ul>
    </div>
  </div>

  </div>

  </div>

  <button type="button" data-facebox="#jump-to-line" data-facebox-class="linejump" data-hotkey="l" class="d-none">Jump to Line</button>
  <div id="jump-to-line" style="display:none">
    <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form" action="" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" />
      <input class="form-control linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" aria-label="Jump to line" autofocus>
      <button type="submit" class="btn">Go</button>
</form>  </div>


  </div>
  <div class="modal-backdrop js-touch-events"></div>
</div>

    </div>
  </div>

  </div>

      
<div class="footer container-lg px-3" role="contentinfo">
  <div class="position-relative d-flex flex-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light ">
    <ul class="list-style-none d-flex flex-wrap ">
      <li class="mr-3">&copy; 2018 <span title="0.29002s from unicorn-666720022-6h5b2">GitHub</span>, Inc.</li>
        <li class="mr-3"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li>
        <li class="mr-3"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li>
        <li class="mr-3"><a href="https://help.github.com/articles/github-security/" data-ga-click="Footer, go to security, text:security">Security</a></li>
        <li class="mr-3"><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
        <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li>
    </ul>

    <a aria-label="Homepage" title="GitHub" class="footer-octicon" href="https://github.com">
      <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
</a>
   <ul class="list-style-none d-flex flex-wrap ">
        <li class="mr-3"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li>
      <li class="mr-3"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
      <li class="mr-3"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
      <li class="mr-3"><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li>
        <li class="mr-3"><a href="https://blog.github.com" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
        <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li>

    </ul>
  </div>
  <div class="d-flex flex-justify-center pb-6">
    <span class="f6 text-gray-light"></span>
  </div>
</div>



  <div id="ajax-error-message" class="ajax-error-message flash flash-error">
    <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg>
    <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
    </button>
    You can’t perform that action at this time.
  </div>


    <script crossorigin="anonymous" integrity="sha512-AJroIDzeBTsez82UXWwVAmoSz2nKhws/uQvJ8aKfadJZcvL83MIXMjRYm7MVZaKSNXvifa/OGpn54kiDBKpyLw==" type="application/javascript" src="https://assets-cdn.github.com/assets/compat-37e9ce8318a51dd51033283da82c8546.js"></script>
    <script crossorigin="anonymous" integrity="sha512-/+pkpBQ4DDFOUT8uX6Dbla+41M4Vom3TMEl4repg2iD+ObxYlMFlg753ZkQTsney36h43DjiRu7WcKrvajXLpA==" type="application/javascript" src="https://assets-cdn.github.com/assets/frameworks-6dccd67c7251fe9a33ed7221404a7921.js"></script>
    
    <script crossorigin="anonymous" async="async" integrity="sha512-XB8KkkjBk6MHTSoAQ65jbLeDNe43Pg4S4sPmAtcQoA9muwav7n7RLhdXCF/sG2CeuGuS00X/77744OE7KWQI+w==" type="application/javascript" src="https://assets-cdn.github.com/assets/github-cfaba2c13c176b701d8051d256600f88.js"></script>
    
    
    
  <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none">
    <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg>
    <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
    <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
  </div>
  <div class="facebox" id="facebox" style="display:none;">
  <div class="facebox-popup">
    <div class="facebox-content" role="dialog" aria-labelledby="facebox-header" aria-describedby="facebox-description">
    </div>
    <button type="button" class="facebox-close js-facebox-close" aria-label="Close modal">
      <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
    </button>
  </div>
</div>

  <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
  <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;">
  </div>
</div>

<div id="hovercard-aria-description" class="sr-only">
  Press h to open a hovercard with more details.
</div>


  </body>
</html>