Goldenrod
\define f2t-toggle()
<$vars newlist={{$:/temp/$(currentTiddler)$}} temp="""$:/temp/$(currentTiddler)$""">
   <$checkbox field="mode" checked="-edit" unchecked="" default=" " class="f2t-btn" 
        actions="""<$action-createtiddler $basetitle=<<temp>> text={{$(currentTiddler)$!!list}}/>"""
        uncheckactions="""<$action-setfield $tiddler=<<currentTiddler>> list=<<newlist>> /><$action-deletetiddler $tiddler=<<temp>> />"""
>
 <div class="f2t-btn$(mode)$">{{$:/core/images/edit-button}}</div>
   </$checkbox>
</$vars>
\end

\define f2t-header()
<$list filter=<<fieldnames>>>
   <th class="f2t-header">{{!!title}}</th>
</$list>
\end

\define f2t-header-edit()
<$set name=colspan filter="$(fieldnames)$ +[count[]]">
   <td colspan=<<colspan>> class="f2t-td-edit f2t-note">
      <$edit-text  tiddler="""$:/temp/$(currentTiddler)$""" class="f2t-editor f2t-header-editor" default={{$(currentTiddler)$!!list}} tag=input/>
   </td>
</$set>
\end

\define f2t-td-edit() <td class="f2t-td-edit"><$edit-text  tiddler=<<tid>> field={{!!title}} size=1 class="f2t-editor" placeholder={{!!title}}/></td>

\define f2t-td() <td><$transclude tiddler=<<tid>> field={{!!title}} /></td>

\define fields2table-inner()
<table class="f2t-table">
<tr>
   <th><<f2t-toggle>></th>
   <<f2t-header$(mode)$>>
</tr>
<$list filter="""$(filter)$""" variable=tid>
<tr>
   <td>
      <$link to=<<tid>>><$view tiddler=<<tid>> field=title/></$link>
   </td>
   <$list filter=<<fieldnames>>>
      <<f2t-td$(mode)$>>
   </$list>
</tr>
</$list>
</table>
\end

\define fields2table(filter)
<$vars filter="""$filter$""" fieldnames={{!!list}} mode={{!!mode}}>
<<fields2table-inner "$filter$">>
</$vars>
\end
.f2t-table { width:100%;
}
.f2t-td-edit { padding:0; 
}
.f2t-header { text-transform:capitalize
}
.f2t-editor {
  padding-top:0; padding-bottom:0; border:0; outline:1px solid lightgreen; width:100%; padding-left:5px;
}
.f2t-editor::placeholder { color: lightgreen;
}
.f2t-header-editor { font-weight:bold;
}
.f2t-note:before {
  content:"Note: Headings must use field name format!"; position:absolute; margin-top:-1.5em; color: green; font-style:italic; font-size:80%;
}
.f2t-btn input {
  position: absolute;
  opacity: 0;
  height: 0;
  width: 0;
}
.f2t-btn svg { height:1.4em; float:left;
}
.f2t-btn-edit svg { background:lightgreen;
}
<pre>
.stretch-closed {
  display:inline-block;
  padding: 0 3px 0 2px;
  margin:0px -2px 0 -1px;
  line-height:96%;
  background: none;
  border: 1px solid lightgray; 
/*  box-shadow: inset 0 0 5px #b3b3b3; */
  margin-right:2px; 
}

.stretch-open {
  display:inline-block;
  padding: 0px 3px; /*0 3*/
  margin:0 -2px;
  background:#f4f4f4;
  border: 1px solid transparent; border-bottom:1px solid silver;
}

.stretch-outline {
   display:inline-block;
/* box-shadow: inset 0 0 2px gray; */
   padding-right:2px; padding-left:0px; /*2*/
   -webkit-animation: revealoutline 3.5s ease 1 running;
   animation: revealoutline 3.5s ease 1 running;
   outline: solid 0px red; 
   outline-offset:1px;
/* margin-right:0px; */
}

@-webkit-keyframes revealoutline {
  0%  { outline: transparent solid 1px; }
  25.0%  { outline: silver solid 1px; }
  50.0%  { outline: silver solid 1px; }
  100.0%  { outline: transparent solid 1px; }
}
@keyframes revealoutline {
  0%  {outline: transparent solid 1px; }
  25.0%  { outline: silver solid 1px; }
  50.0%  { outline: silver solid 1px; }
  100.0%  { outline: transparent solid 1px; }
}

.stretch-open:hover + .stretch-outline { outline:silver solid 1px; }

.stretch-content { 
  padding: 0 0px; /*0 3 */
  white-space: pre-wrap; 
/*   margin-right:-6px;  -6 */
   -webkit-animation: revealcontent .4s ease 1 running;
   animation: revealcontent .4s ease 1 running;
   opacity:1;
}

@-webkit-keyframes revealcontent {
  0%  {opacity:0;} 100.0% {opacity:1;}
}
@keyframes revealcontent {
  0%  {opacity:0;} 100.0% {opacity:1;}
}

</pre>
\define cont() $(content)$

\define stretch(label, restornothing, content)
<$vars restornothing="""$restornothing$""" content="""$content$""">
<$set name="contentToReveal" filter="[<content>regexp[^$]]"
          value=<<restornothing>> emptyValue=<<content>>>
<$set name="rest" filter="[<content>regexp[^$]]"
          value="" emptyValue=<<restornothing>>>
<$set name="qualstate" value=<<qualify "$:/state/$label$">> >
   <$reveal type="nomatch" state=<<qualstate>> text="show" animate="yes">
      <$button set=<<qualstate>> setTo="show" class="stretch-closed" >
         <$list filter="[[$label$]splitbefore[_]removesuffix[_]] [[$label$]splitbefore[_]] +[first[]]" variable="lab"><<lab>></$list>
      </$button>"""<<rest>>"""
   </$reveal><$reveal type="match" state=<<qualstate>> text="show" animate="yes">
      <$button set=<<qualstate>> setTo="hide" class="stretch-open" >
         <$action-setfield $tiddler=<<qualstate>>/>
         <$list filter="[[$label$]splitbefore[_]removesuffix[_]] [[$label$]splitbefore[_]] +[first[]]" variable="lab"><<lab>></$list>
      </$button> """<<rest>>"""<span class="stretch-outline">
         <span class="stretch-content"><<contentToReveal>></span>
      </span></$reveal>
</$set>
</$set>
</$set>
</$vars>
\end
<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.2); }</style>
<div class="ShadeWrapperSB">
<div class="ShadeContainerSB">
<div class="ShadeTitleSB">~SideBar Shade&nbsp;&copy;&reg;&trade;&nbsp;:&#222; Settings</div>
<div class="ShadeCellSB">
<div class="ShadeHeaderSB">Opacity: 80%</div>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.8); }</style>"></$radio><div class="ShadeElementSB" style="background-color: black; color: white;">Black</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.8); }</style>"></$radio><div class="ShadeElementSB" style="background-color: red; color: white;">Red</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.8); }</style>"></$radio><div class="ShadeElementSB" style="background-color: white; color: black;">White</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.8); }</style>"></$radio><div class="ShadeElementSB" style="background-color: green; color: white;">Green</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.8); }</style>"></$radio><div class="ShadeElementSB" style="background-color: blue; color: white;">Blue</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.8); }</style>"></$radio><div class="ShadeElementSB" style="background-color: orange; color: white;">Orange</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.8); }</style>"></$radio><div class="ShadeElementSB" style="background-color: yellow; color: black;">Yellow</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.8); }</style>"></$radio><div class="ShadeElementSB" style="background-color: purple; color: white;">Purple</div><br/>
</div>
<div class="ShadeCellSB">
<div class="ShadeHeaderSB">Opacity: 70%</div>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.7); }</style>"></$radio><div class="ShadeElementSB" style="background-color: black; color: white;">Black</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.7); }</style>"></$radio><div class="ShadeElementSB" style="background-color: red; color: white;">Red</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.7); }</style>"></$radio><div class="ShadeElementSB" style="background-color: white; color: black;">White</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.7); }</style>"></$radio><div class="ShadeElementSB" style="background-color: green; color: white;">Green</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.7); }</style>"></$radio><div class="ShadeElementSB" style="background-color: blue; color: white;">Blue</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.7); }</style>"></$radio><div class="ShadeElementSB" style="background-color: orange; color: white;">Orange</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.7); }</style>"></$radio><div class="ShadeElementSB" style="background-color: yellow; color: black;">Yellow</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.7); }</style>"></$radio><div class="ShadeElementSB" style="background-color: purple; color: white;">Purple</div><br/>
</div>
<div class="ShadeCellSB">
<div class="ShadeHeaderSB">Opacity: 60%</div>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.6); }</style>"></$radio><div class="ShadeElementSB" style="background-color: black; color: white;">Black</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.6); }</style>"></$radio><div class="ShadeElementSB" style="background-color: red; color: white;">Red</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.6); }</style>"></$radio><div class="ShadeElementSB" style="background-color: white; color: black;">White</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.6); }</style>"></$radio><div class="ShadeElementSB" style="background-color: green; color: white;">Green</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.6); }</style>"></$radio><div class="ShadeElementSB" style="background-color: blue; color: white;">Blue</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.6); }</style>"></$radio><div class="ShadeElementSB" style="background-color: orange; color: white;">Orange</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.6); }</style>"></$radio><div class="ShadeElementSB" style="background-color: yellow; color: black;">Yellow</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.6); }</style>"></$radio><div class="ShadeElementSB" style="background-color: purple; color: white;">Purple</div><br/>
</div>
<div class="ShadeCellSB">
<div class="ShadeHeaderSB">Opacity: 50%</div>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.5); }</style>"></$radio><div class="ShadeElementSB" style="background-color: black; color: white;">Black</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.5); }</style>"></$radio><div class="ShadeElementSB" style="background-color: red; color: white;">Red</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.5); }</style>"></$radio><div class="ShadeElementSB" style="background-color: white; color: black;">White</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.5); }</style>"></$radio><div class="ShadeElementSB" style="background-color: green; color: white;">Green</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.5); }</style>"></$radio><div class="ShadeElementSB" style="background-color: blue; color: white;">Blue</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.5); }</style>"></$radio><div class="ShadeElementSB" style="background-color: orange; color: white;">Orange</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.5); }</style>"></$radio><div class="ShadeElementSB" style="background-color: yellow; color: black;">Yellow</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.5); }</style>"></$radio><div class="ShadeElementSB" style="background-color: purple; color: white;">Purple</div><br/>
</div>
<div class="ShadeCellSB">
<div class="ShadeHeaderSB">Opacity: 40%</div>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.4); }</style>"></$radio><div class="ShadeElementSB" style="background-color: black; color: white;">Black</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.4); }</style>"></$radio><div class="ShadeElementSB" style="background-color: red; color: white;">Red</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.4); }</style>"></$radio><div class="ShadeElementSB" style="background-color: white; color: black;">White</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.4); }</style>"></$radio><div class="ShadeElementSB" style="background-color: green; color: white;">Green</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.4); }</style>"></$radio><div class="ShadeElementSB" style="background-color: blue; color: white;">Blue</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.4); }</style>"></$radio><div class="ShadeElementSB" style="background-color: orange; color: white;">Orange</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.4); }</style>"></$radio><div class="ShadeElementSB" style="background-color: yellow; color: black;">Yellow</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.4); }</style>"></$radio><div class="ShadeElementSB" style="background-color: purple; color: white;">Purple</div><br/>
</div>
<div class="ShadeCellSB">
<div class="ShadeHeaderSB">Opacity: 30%</div>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.3); }</style>"></$radio><div class="ShadeElementSB" style="background-color: black; color: white;">Black</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.3); }</style>"></$radio><div class="ShadeElementSB" style="background-color: red; color: white;">Red</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.3); }</style>"></$radio><div class="ShadeElementSB" style="background-color: white; color: black;">White</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.3); }</style>"></$radio><div class="ShadeElementSB" style="background-color: green; color: white;">Green</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.3); }</style>"></$radio><div class="ShadeElementSB" style="background-color: blue; color: white;">Blue</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.3); }</style>"></$radio><div class="ShadeElementSB" style="background-color: orange; color: white;">Orange</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.3); }</style>"></$radio><div class="ShadeElementSB" style="background-color: yellow; color: black;">Yellow</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.3); }</style>"></$radio><div class="ShadeElementSB" style="background-color: purple; color: white;">Purple</div><br/>
</div>

<div class="ShadeCellSB">
<div class="ShadeHeaderSB">Opacity: 20%</div>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.2); }</style>"></$radio><div class="ShadeElementSB" style="background-color: black; color: white;">Black</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.2); }</style>"></$radio><div class="ShadeElementSB" style="background-color: red; color: white;">Red</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.2); }</style>"></$radio><div class="ShadeElementSB" style="background-color: white; color: black;">White</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(100,230,0,0.2); }</style>"></$radio><div class="ShadeElementSB" style="background-color: green; color: white;">Green</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.2); }</style>"></$radio><div class="ShadeElementSB" style="background-color: blue; color: white;">Blue</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.2); }</style>"></$radio><div class="ShadeElementSB" style="background-color: orange; color: white;">Orange</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.2); }</style>"></$radio><div class="ShadeElementSB" style="background-color: yellow; color: black;">Yellow</div><br/>
<$radio tiddler="$:/_Zaphod_SBBG1" field="text" value="<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.2); }</style>"></$radio><div class="ShadeElementSB" style="background-color: purple; color: white;">Purple</div><br/>
</div>

</div>
</div>
{
    "tiddlers": {
        "$:/ak/plugins/TWCrossLinks/config/default": {
            "created": "20200429195808011",
            "creator": "akhater",
            "text": "{\n    \"DefaultFoldData\": \"show\",\n    \"DefaultTab\": \"$:/ak/plugins/TWCrossLinks/core/backlinks\",\n    \"TranscludeInboundLinks\": \"true\",\n    \"HideInboundTitle\": \"false\",\n    \"UseFullMatch4Freelinks\": \"false\"\n}",
            "bag": "default",
            "revision": "0",
            "type": "application/json",
            "title": "$:/ak/plugins/TWCrossLinks/config/default",
            "tags": "",
            "modified": "20200522132619441",
            "modifier": "akhater"
        },
        "$:/ak/plugins/TWCrossLinks/core/backlinks": {
            "created": "20200429182330136",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]!is[system]!is[shadow]!tag[hide]sort[title]] -[is[current]]\" emptyMessage=<<lingo References/Empty>> variable=result>\n    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[true]]\" variable=conf>\n        <div class=\"tc-menu-list-item\"> <$link to=<<result>> ><$view tiddler=<<result>> field=title> </$view></$link> </div>  \n    </$list>\n    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[false]]\" variable=conf>\n        <div class=\"tc-menu-list-item\">\n            <div class=\"trans-container\"> \n                <$link to=<<result>> ><$view tiddler=<<result>> field=title template=\"$:/core/ui/ListItemTemplate\"> </$view></$link>\n                <span class=\"trans-content\">  <$context term=<<currentTiddler>> tiddler= <<result>> />  </span> \n            </div>\n        </div>\n    </$list>\n</$list>",
            "bag": "default",
            "revision": "0",
            "type": "text/vnd.tiddlywiki",
            "title": "$:/ak/plugins/TWCrossLinks/core/backlinks",
            "tags": "$:/tags/TWCrossLinks",
            "modified": "20200513143753383",
            "caption": "Backlinks"
        },
        "$:/ak/plugins/TWCrossLinks/core/freelinks": {
            "title": "$:/ak/plugins/TWCrossLinks/core/freelinks",
            "caption": "Freelinks",
            "created": "20200430051330741",
            "creator": "akhater",
            "modified": "20200522113718035",
            "modifier": "akhater",
            "tags": "$:/tags/TWCrossLinks",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define fullMatchPattern()\n\\b$(currentTiddler)$\\b(?i)\n\\end\n\n\\define PartialMatchPattern()\n$(currentTiddler)$(?i)\n\\end\n\n<$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[UseFullMatch4Freelinks]match[true]]\" variable=none>\n    <$set name=pattern value=<<fullMatchPattern>> >\n        <$list filter=\"[regexp:title<pattern>] [regexp:text<pattern>] -[all[current]backlinks[]] -[all[current]tagging[]] -[is[current]] -[tag[hide]] -[is[system]]\" emptyMessage=\"No freelinks to this tiddler\" variable=result>\n            <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[true]]\" variable=var1>\n                <div class=\"tc-menu-list-item\"> <$link to=<<result>> ><$view tiddler=<<result>> field=title> </$view></$link> </div> \n            </$list>\n            <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[false]]\" variable=var1>\n                <div class=\"tc-menu-list-item\">\n                    <div class=\"trans-container\">\n                        <$link to=<<result>> ><$view tiddler=<<result>> field=title> </$view></$link>\n                        <span class=\"trans-content\">  <$context term=<<currentTiddler>> tiddler=<<result>> /> </span>\n                    </div>\n                </div>\n            </$list>\n        </$list>\n    </$set>\n</$list>\n<$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[UseFullMatch4Freelinks]match[false]]\" variable=none>\n    <$set name=pattern value=<<PartialMatchPattern>> >\n        <$list filter=\"[regexp:title<pattern>] [regexp:text<pattern>] -[all[current]backlinks[]] -[all[current]tagging[]] -[is[current]] -[tag[hide]] -[is[system]]\" emptyMessage=\"No freelinks to this tiddler\" variable=result>\n            <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[true]]\" variable=var1>\n                <div class=\"tc-menu-list-item\"> <$link to=<<result>> ><$view tiddler=<<result>> field=title> </$view></$link> </div> \n            </$list>\n            <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[false]]\" variable=var1>\n                <div class=\"tc-menu-list-item\">\n                    <div class=\"trans-container\">\n                        <$link to=<<result>> ><$view tiddler=<<result>> field=title> </$view></$link>\n                        <span class=\"trans-content\">  <$context term=<<currentTiddler>> tiddler=<<result>> /> </span>\n                    </div>\n                </div>\n            </$list>\n        </$list>\n    </$set>\n</$list>",
            "revision": "0",
            "bag": "default"
        },
        "$:/ak/plugins/TWCrossLinks/core/keywords": {
            "title": "$:/ak/plugins/TWCrossLinks/core/keywords",
            "caption": "Keywords",
            "created": "20200429195123372",
            "creator": "akhater",
            "modified": "20200522105420967",
            "modifier": "akhater",
            "tags": "$:/tags/TWCrossLinks",
            "type": "text/vnd.tiddlywiki",
            "text": "\n<$list filter=\"[search:keywords<currentTiddler>!is[system]!is[shadow]sort[title]]\" emptyMessage=\"There are no tiddler having this one as keyword\" variable=result>\n    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[true]]\" variable=conf>\n        <div class=\"tc-menu-list-item\"> <$link to=<<result>> ><$view tiddler=<<result>> field=title> </$view></$link> </div>\n    </$list>\n    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[false]]\" variable=conf>\n        <div class=\"tc-menu-list-item\">\n            <div class=\"trans-container\"> \n                <$link to=<<result>> ><$view tiddler=<<result>> field=title template=\"$:/core/ui/ListItemTemplate\"> </$view></$link>\n                <span class=\"trans-content noContext\">  <$transclude tiddler= <<result>> />  </span> \n            </div>\n        </div>\n    </$list>\n</$list>",
            "revision": "0",
            "bag": "default"
        },
        "$:/ak/plugins/TWCrossLinks/core/tagging": {
            "title": "$:/ak/plugins/TWCrossLinks/core/tagging",
            "caption": "Tagged",
            "created": "20200429183952157",
            "creator": "akhater",
            "modified": "20200522113343160",
            "modifier": "akhater",
            "tags": "$:/tags/TWCrossLinks",
            "type": "text/vnd.tiddlywiki",
            "text": "\n\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]!is[system]!is[shadow]]\" emptyMessage=<<lingo Tagging/Empty>> variable=result>\n    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[true]]\" variable=conf>\n        <div class=\"tc-menu-list-item\"> <$link to=<<result>> ><$view tiddler=<<result>> field=title> </$view></$link> </div>\n    </$list>\n    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[TranscludeInboundLinks]] -[[false]]\" variable=conf>\n        <div class=\"tc-menu-list-item\">\n            <div class=\"trans-container\"> \n                <$link to=<<result>> ><$view tiddler=<<result>> field=title template=\"$:/core/ui/ListItemTemplate\"> </$view></$link>\n                <span class=\"trans-content noContext\">  <$transclude tiddler= <<result>> />  </span> \n            </div>\n        </div>\n    </$list>\n</$list>\n",
            "revision": "0",
            "bag": "default"
        },
        "$:/ak/plugins/TWCrossLinks/ui/footer": {
            "created": "20200430143629582",
            "text": "\\define fullMatchPattern()\n\\b$(currentTiddler)$\\b(?i)\n\\end\n\n\\define PartialMatchPattern()\n$(currentTiddler)$(?i)\n\\end\n\n\\define showFooterTabs() \n<span class=\"TWCrossLinksFooter\">\n    <$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TWCrossLinksSegment]!has[draft.of]] [[$:/ak/plugins/TWCrossLinks/ui/tabs]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>> mode=\"block\"> </$list>\n</span>\n\\end\n\n<$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[UseFullMatch4Freelinks]match[true]]\" variable=none>\n    <$set name=\"text-pattern\" value=<<fullMatchPattern>>>\n        <$list filter=\"[all[current]tagging[]]  [search:keywords<currentTiddler>]  [regexp:text<text-pattern>] [regexp:title<text-pattern>] [all[current]backlinks[]] -[is[current]] -[tag[hide]] -[is[system]] +[limit[1]]\" variable=none>\n            <$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\">\n                <span class=\"hideprint\">\n                    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[HideInboundTitle]] -[[true]]\" variable=conf>\n                        <hr />\n                        <span style=\"font-size:0.85em\" >\n                            //<$count filter=\"[all[current]tagging[]]  [search:keywords<currentTiddler>]  [regexp:text<text-pattern>] [regexp:title<text-pattern>] [all[current]backlinks[]] -[is[current]] -[tag[hide]] -[is[system]]\" />  References:// \n                        </span>\n                        <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[DefaultFoldData]]\" variable=DefaultFoldState>\n                            <$reveal type=\"nomatch\" stateTitle=\"$:/temp/TWCrossLinksFoldData\" stateIndex=<<currentTiddler>> text=\"show\" default=<<DefaultFoldState>> >\n                                <$button  class=<<tv-config-toolbar-class>> setTitle=\"$:/temp/TWCrossLinksFoldData\" setIndex=<<currentTiddler>> setTo=\"show\">{{$:/core/images/unfold-button}}</$button>    \n                            </$reveal>\n                            <$reveal type=\"match\" stateTitle=\"$:/temp/TWCrossLinksFoldData\" stateIndex=<<currentTiddler>> text=\"show\" default=<<DefaultFoldState>> >\n                                <$button class=<<tv-config-toolbar-class>> setTitle=\"$:/temp/TWCrossLinksFoldData\" setIndex=<<currentTiddler>> setTo=\"hide\" >{{$:/core/images/fold-button}}</$button> \n                                <<showFooterTabs>>\n                            </$reveal>\n                        </$list>\n                    </$list>\n                    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[HideInboundTitle]] -[[false]]\" variable=conf>\n                        <<showFooterTabs>>\n                    </$list>\n                </span>\n            </$reveal>\n        </$list>\n    </$set>\n</$list>\n\n<$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[UseFullMatch4Freelinks]match[false]]\" variable=none>\n    <$set name=\"text-pattern\" value=<<PartialMatchPattern>>>\n        <$list filter=\"[all[current]tagging[]]  [search:keywords<currentTiddler>]  [regexp:text<text-pattern>] [regexp:title<text-pattern>] [all[current]backlinks[]] -[is[current]] -[tag[hide]] -[is[system]] +[limit[1]]\" variable=none>\n            <$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\">\n                <span class=\"hideprint\">\n                    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[HideInboundTitle]] -[[true]]\" variable=conf>\n                        <hr />\n                        <span style=\"font-size:0.85em\" >\n                            //<$count filter=\"[all[current]tagging[]]  [search:keywords<currentTiddler>]  [regexp:text<text-pattern>] [regexp:title<text-pattern>] [all[current]backlinks[]] -[is[current]] -[tag[hide]] -[is[system]]\" />  References:// \n                        </span>\n                        <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[DefaultFoldData]]\" variable=DefaultFoldState>\n                            <$reveal type=\"nomatch\" stateTitle=\"$:/temp/TWCrossLinksFoldData\" stateIndex=<<currentTiddler>> text=\"show\" default=<<DefaultFoldState>> >\n                                <$button  class=<<tv-config-toolbar-class>> setTitle=\"$:/temp/TWCrossLinksFoldData\" setIndex=<<currentTiddler>> setTo=\"show\">{{$:/core/images/unfold-button}}</$button>    \n                            </$reveal>\n                            <$reveal type=\"match\" stateTitle=\"$:/temp/TWCrossLinksFoldData\" stateIndex=<<currentTiddler>> text=\"show\" default=<<DefaultFoldState>> >\n                                <$button class=<<tv-config-toolbar-class>> setTitle=\"$:/temp/TWCrossLinksFoldData\" setIndex=<<currentTiddler>> setTo=\"hide\" >{{$:/core/images/fold-button}}</$button> \n                                <<showFooterTabs>>\n                            </$reveal>\n                        </$list>\n                    </$list>\n                    <$list filter=\"[[$:/ak/plugins/TWCrossLinks/config/default]getindex[HideInboundTitle]] -[[false]]\" variable=conf>\n                        <<showFooterTabs>>\n                    </$list>\n                </span>\n            </$reveal>\n        </$list>\n    </$set>\n</$list>",
            "bag": "default",
            "revision": "0",
            "type": "text/vnd.tiddlywiki",
            "title": "$:/ak/plugins/TWCrossLinks/ui/footer",
            "tags": "$:/tags/ViewTemplate",
            "modified": "20200518214521376"
        },
        "$:/ak/plugins/TWCrossLinks/ui/footer.kwd": {
            "created": "20200428214251454",
            "text": "<!--If  has keywords-->\n<$list filter=\"[all[current]has[keywords]]\">\n,,//See also//:\n<$list filter=\"[enlist{!!keywords}]\" template=\"$:/ak/plugins/TWCrossLinks/ui/footer.kwd.template\"></$list>,,\n</$list>\n<!--If reference field is not empty-->\n<$list filter=\"[is[current]!field:reference[]]\">\n <br />\n,,External ref: <a href={{!!url}} target=\"_blank\" class=\"tc-tiddlylink-external\"><$view field=\"reference\"}}/></a><br>,,\n</$list>\n\n\n\n",
            "bag": "default",
            "revision": "0",
            "type": "text/vnd.tiddlywiki",
            "title": "$:/ak/plugins/TWCrossLinks/ui/footer.kwd",
            "tags": "$:/tags/ViewTemplate",
            "modified": "20200502090828057",
            "list-before": "$:/ak/plugins/TWCrossLinks/ui/footer"
        },
        "$:/ak/plugins/TWCrossLinks/ui/footer.kwd.css": {
            "created": "20200428212006657",
            "text": ".sl-header{\n  color: #383d41;\n  background-color: #e2e3e5;\n  border-color: #d6d8db;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 1rem;\n  border-radius: 0.25rem;\n}\n\n.sl-keywords {\n   display: inline-block;\n    padding: 0.16em 0.7em;\n    font-size: 0.9em;\n    font-weight: 400;\n    line-height: 1.2em;\n    color: #333333;\n    white-space: nowrap;\n    vertical-align: baseline;\n    border-radius: 1em;\n    background-color:#ffe7b3;\n}\n.sl-keywords {\n  outline:none;\n} /*remove the blue border on button focus */\n\n.TWCrossLinksFooter p { margin: 0;}",
            "bag": "default",
            "revision": "0",
            "type": "text/css",
            "title": "$:/ak/plugins/TWCrossLinks/ui/footer.kwd.css",
            "tags": "$:/tags/Stylesheet",
            "modified": "20200508045139340"
        },
        "$:/ak/plugins/TWCrossLinks/ui/footer.kwd.template": {
            "created": "20200428204919232",
            "text": "\\define keywords-body(kwd)\n<$list filter=\"[tag[$kwd$]] [search:keywords[$kwd$]]\" variable=\"itemTid\">\n<$link to=<<itemTid>> ><$text text=<<itemTid>>/></$link>\n</$list>\n\\end\n<!-- keywords-body lists all tiddler tagged with kwd or have kwd in their keywords field -->\n\n\n<$set name=\"transclusion\" value=<<qualify \"$:/state/popup/tag\">> >\n<$button class=\"tc-btn-invisible sl-keywords\" popup=<<transclusion>> >\n<$text text=<<currentTiddler>>/>\n</$button>\n<$reveal state=<<transclusion>> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$link to=<<currentTiddler>> ><$text text=<<currentTiddler>>/></$link>\n<hr>\n<$macrocall $name=\"keywords-body\" kwd=<<currentTiddler>> />\n</$reveal>\n</$set>\n\n",
            "bag": "default",
            "revision": "0",
            "type": "text/vnd.tiddlywiki",
            "title": "$:/ak/plugins/TWCrossLinks/ui/footer.kwd.template",
            "modified": "20200502091004582"
        },
        "$:/ak/plugins/TWCrossLinks/ui/tabs": {
            "title": "$:/ak/plugins/TWCrossLinks/ui/tabs",
            "created": "20200429182054776",
            "creator": "akhater",
            "modified": "20200522102012918",
            "modifier": "akhater",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define pattern()\n\\b$(currentTiddler)$\\b(?i)\n\\end\n\n\n<$vars  isBacklink={{{ [all[current]backlinks[]!is[system]!is[shadow]!tag[hide]sort[title]] -[is[current]] +[then[$:/ak/plugins/TWCrossLinks/core/backlinks]else[]] }}} \n        isKeyword={{{ [search:keywords<currentTiddler>!is[system]!is[shadow]sort[title]] +[then[$:/ak/plugins/TWCrossLinks/core/keywords]else[]] }}}\n        isTag = {{{ [all[current]tagging[]!is[system]!is[shadow]] +[then[$:/ak/plugins/TWCrossLinks/core/tagging]else[]] }}}\n        isFreelink = {{{ [regexp:title<pattern>] [regexp:text<pattern>] -[all[current]backlinks[]] -[is[current]] -[tag[hide]] -[is[system]] +[then[$:/ak/plugins/TWCrossLinks/core/freelinks]else[]] }}}\n>\n\n    <$set name=DefaultTab filter=\"[enlist<isBacklink>] [enlist<isKeyword>] [enlist<isTag>] [enlist<isFreelink>] +[sort[]first[]]\" >\n        <$macrocall $name=\"tabs\" tabsList=\"[enlist<isBacklink>] [enlist<isKeyword>] [enlist<isTag>] [enlist<isFreelink>] +[sort[]]\"  default=<<DefaultTab>> />\n    </$set>\n\n</$vars>",
            "revision": "0",
            "bag": "default"
        },
        "$:/ak/plugins/TWCrossLinks/change.log": {
            "created": "20200502091404523",
            "creator": "akhater",
            "text": "''2020-05-22'': v0.1.20\n\n* Empty tabs are not now hidden no need to look at empty spaces\n* Transclusion now works for keywords and tags, full Tiddler is transcluded\n* Change in the transclusion css to match the selected theme\n\n''2020-05-18'': v0.1.18\n\n* Bug fixes in freelinks\n* Added option to allow freelinks matching with \"full match\" or \"Partial Match\"\n\n''2020-05-18'': v0.1.17\n\n* System Tiddlers should now be hidden\n* Freelinks fixed to show only full word match (credits Scott Kingery)\n* Freelinks now search titles too  (credits Scott Kingery)\n* Performance tweak | More efficient coding \n* Bug fix in reference counter\n\n''2020-05-14'': v0.1.8\n\n* You can now exclude a tiddler from appearing in the references by tagging it with \"hide\" \n\n''2020-05-13'': v0.1.6\n\n* Bug fixes uncaught js error in transclusion code\n\n''2020-05-08'': v0.1.3\n\n* Added counter showing the number of inbound links\n* Fixed bug in Freelinks\n* Saved some screen real-estate in the footer \n* Added the possibility to remove the toggle and show the tabs by default saving even more screen estate try it \n**<$checkbox tiddler=\"$:/ak/plugins/TWCrossLinks/config/default\" index=\"HideInboundTitle\" checked=\"true\" unchecked=\"false\" default=\"false\"> ''Hide Inbound Links Title & display references''</$checkbox>\n\n''2020-05-05'': v0.1.0\n\n* Inbound links for \"//Backlinks//\" and \"//Freelinks//\" can now be transcluded in a pop-up, try it by enabling this feature from the [[TWCrosslinks|$:/ak/plugins/TWCrossLinks]] config panel\n\n\n''2020-05-03'': v0.0.7\n\n* Added configuration panel, can be found at $:/ak/plugins/TWCrossLinks\n** You can now set the Default state of the \"inbound links\" {Shown / Hidden}\n** You can now set the Default \"inbound links\" tab\n\n''2020-05-02'': v0.0.3\n\n* Initial packaging and release",
            "bag": "default",
            "type": "text/vnd.tiddlywiki",
            "title": "$:/ak/plugins/TWCrossLinks/change.log",
            "tags": "",
            "modified": "20200522133028701",
            "revision": "32",
            "modifier": "akhater"
        },
        "$:/ak/plugins/TWCrossLinks/config": {
            "title": "$:/ak/plugins/TWCrossLinks/config",
            "created": "20200503100751953",
            "creator": "akhater",
            "modified": "20200522102100118",
            "modifier": "akhater",
            "type": "text/vnd.tiddlywiki",
            "text": "''By default the //inbound links// should be:'' <br />\n<$tiddler tiddler=\"$:/ak/plugins/TWCrossLinks/config/default\">\n<$radio index=\"DefaultFoldData\" value=\"show\"> Shown </$radio>\n<$radio index=\"DefaultFoldData\" value=\"hide\"> Hidden </$radio>\n</$tiddler>\n\n<!--\n''Select which Tab you want to be open by Default'' <br />\n<$tiddler tiddler=\"$:/ak/plugins/TWCrossLinks/config/default\">\n<$radio index=\"DefaultTab\" value=\"$:/ak/plugins/TWCrossLinks/core/backlinks\"> Backlinks </$radio>\n<$radio index=\"DefaultTab\" value=\"$:/ak/plugins/TWCrossLinks/core/freelinks\"> Freelinks </$radio>\n<$radio index=\"DefaultTab\" value=\"$:/ak/plugins/TWCrossLinks/core/keywords\"> Keywords </$radio>\n<$radio index=\"DefaultTab\" value=\"$:/ak/plugins/TWCrossLinks/core/tagging\"> Tagged </$radio>\n</$tiddler>\n-->\n\n<$checkbox tiddler=\"$:/ak/plugins/TWCrossLinks/config/default\" index=\"TranscludeInboundLinks\" checked=\"true\" unchecked=\"false\" default=\"false\"> ''Transclude //Backlinks// & //Freelinks// on hover''</$checkbox>\n\n<$checkbox tiddler=\"$:/ak/plugins/TWCrossLinks/config/default\" index=\"HideInboundTitle\" checked=\"true\" unchecked=\"false\" default=\"false\"> ''Make inbound links permanent (removes toggle option)''</$checkbox>\n\n<$checkbox tiddler=\"$:/ak/plugins/TWCrossLinks/config/default\" index=\"UseFullMatch4Freelinks\" checked=\"true\" unchecked=\"false\" default=\"false\"> ''Consider only Full match as //freelink//''</$checkbox>\n\n<div style=\"float: right;\">,,~TWCrossLinks version {{$:/ak/plugins/TWCrossLinks!!version}},,</div>",
            "revision": "0",
            "bag": "default"
        },
        "$:/ak/plugins/TWCrossLinks/readme": {
            "created": "20200503110056664",
            "text": "For feedback / suggestions / help please visit plugin page on [[Google Groups|https://groups.google.com/forum/#!topic/tiddlywiki/9ra0s9AEKl4]] or [[Github|https://github.com/akhater/TWCrossLinks]]",
            "tags": "",
            "title": "$:/ak/plugins/TWCrossLinks/readme",
            "modified": "20200503110556549"
        },
        "$:/ak/plugins/TWCrossLinks/daniello/context.js": {
            "text": "/*\\\\\ntitle: $:/core/modules/widgets/danielo/context-widget.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar contextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\ncontextWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\ncontextWidget.prototype.render = function(parent,nextSibling) {\n   // Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n    \n  if(this.term && this.term.length>3){\n     \n      this.createRegexp();\n      var matches = this.executeRegexp();\n\t  if(matches.length > 0){ \n        this.domNode = this.document.createElement(this.element);\n        this.domNode.className=\"tw-context\";\n        this.composeResults( matches ); //this appends to domNode        \n      \t// Insert element\n      \tparent.insertBefore(this.domNode,nextSibling);\n      \tthis.renderChildren(this.domNode,null);\n\t  \tthis.domNodes.push(this.domNode);\n      }\n  }\n\t\n};\n\n/*\nCompute the internal state of the widget\n*/\ncontextWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n    this.matchedClass = this.getAttribute(\"matchClass\",\"matched\");\n\tthis.tiddler = this.getAttribute( \"tiddler\",this.getVariable(\"currentTiddler\") );\n    this.term =  this.getAttribute(\"term\",this.getAttribute(\"searchTerm\"));\n\tthis.contextLength = this.getAttribute(\"length\",50);\n    this.before = this.getAttribute(\"before\",this.contextLength);\n    this.after = this.getAttribute(\"after\",this.contextLength);\n    this.maxMatches = this.getAttribute(\"maxMatches\",10);\n    this.element = this.getAttribute(\"element\",\"pre\");\n\tthis.makeChildWidgets();\n};\n\n  /*Create the regular expression*/\ncontextWidget.prototype.createRegexp = function()\n{\n  var regString = \"(\\\\w+[\\\\s\\\\S]{0,#before#})?(#term#)([\\\\s\\\\S]{0,#after#}\\\\w+)?\";\n\n  var regString = regString.replace(\"#before#\",this.before).replace(\"#term#\", $tw.utils.escapeRegExp(this.term) ) .replace(\"#after#\",this.after);\n  this.regexp = new RegExp(regString,\"ig\");\n  //console.log(regString);\n};\n/*\nexecute the regular expresion\n*/\ncontextWidget.prototype.executeRegexp = function()\n{\n  var text = this.wiki.getTiddlerText(this.tiddler), match,results = new Array();\n  while( (match = this.regexp.exec( text ) ) && (results.length < this.maxMatches) )\n      { results.push(match) }\n  //console.log(\"matches\",results);\n  return results;\n};\n\n/*\ncompose the results\nmatches : array of match objects from regular expression execute\n*/\ncontextWidget.prototype.composeResults = function(matches){\n var result=[], self=this, node = this.domNode,\n dots = textNode(\"...\\n\"),\n span = matchedNode( this.term );\n\n  for(var i=0; i < matches.length; i++){\n   try {\n        processMatch( matches[i] );\n    }\n    catch (e) {\n        console.log(e);\n    }\n }\n  \n  function processMatch(match){\n    if( match.index !== 0) node.appendChild( dots.cloneNode(true) );\n    for( var i=1;i<match.length;i++ ) {//match[0] full matched text (all groups together)\n      if( match[i] ) {\n        if ( match[i].toLowerCase() == self.term.toLowerCase() ) \n          node.appendChild( match[i] == self.term ? span.cloneNode(true) : matchedNode( match[i] ) )\n          else\n            node.appendChild( textNode( match[i]) )\n      }\n    }\n    if( match.index + match[0].length < match.input.length) node.appendChild( dots.cloneNode(true) );\n  }\n  \n  function textNode(text){ return self.document.createTextNode(text) }\n  function matchedNode(text) { \n    var node = self.document.createElement(\"span\"); node.appendChild( textNode(text) );  node.className = self.matchedClass;\n    return node }\n  \n};\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\ncontextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.term || changedAttributes.length || changedAttributes.matchedClass) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n    return this.refreshChildren(changedTiddlers);\n};\n\nexports.context = contextWidget;\n\n})();",
            "bag": "default",
            "revision": "1",
            "type": "application/javascript",
            "title": "$:/ak/plugins/TWCrossLinks/daniello/context.js",
            "module-type": "widget",
            "modifier": "danielo",
            "modified": "20200512135226172",
            "creator": "danielo",
            "created": "20140418153435777"
        },
        "$:/ak/plugins/TWCrossLinks/ui/context.css": {
            "title": "$:/ak/plugins/TWCrossLinks/ui/context.css",
            "created": "20140529162823729",
            "creator": "akhater",
            "modified": "20200522111912501",
            "modifier": "akhater",
            "tags": "$:/tags/Stylesheet",
            "type": "text/vnd.tiddlywiki",
            "text": ".matched {background-color:#faed27; color:black;}\n\n\n.tw-context {\n    display: block;\n    padding: 10px 20px;\n    margin-top: 1em;\n    margin-bottom: 1em;\n    word-break: normal;\n    word-wrap: break-word;\n    white-space: pre;\n    white-space: pre-wrap;\n    background-color: <<colour page-background>>;\n    border: 1px solid #cccccc;\n    border-radius: 3px;\n}\n\n.tc-menu-list-item .trans-container {\n   padding-left: 5px;\n}",
            "revision": "0",
            "bag": "default"
        },
        "$:/ak/plugins/TWCrossLinks/ui/transclude.css": {
            "title": "$:/ak/plugins/TWCrossLinks/ui/transclude.css",
            "text": ".trans-container {\n  position: relative;\n  display: inline-block;\n}\n\n.trans-container .trans-content {\n  visibility: hidden;\n  overflow: hidden;\n  margin-top: -2em;\n  padding: 5px;\n  display: block;\n  \n  /* Position the tooltip */\n  position: absolute;\n  z-index: 80;\n  \n  /*  \n  top: 20px;\n  left: 20px;  */\n\n  float: right;  \n  opacity: 0;\n  transition: opacity 0.3s; \n}\n\n.trans-container .trans-content::after {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  border: 1px;\n}\n\n.trans-content {\n   width: 90vw;\n   max-width: 32em;\n}\n\n\n.trans-container:hover > .trans-content {\n  margin-top:-5px;\n  visibility: visible;\n  opacity: 1;\n  transition: 0.25s all ease;\n  transition-delay: 0.75s;\n}\n\nspan.trans-content.noContext {\n\nbackground-color: <<colour page-background>>;\n\nborder-radius: 5px;\npadding: 1px 1em;\nborder: 1px solid #cccccc;\n}\n\n",
            "created": "20200505112617003",
            "creator": "akhater",
            "modified": "20200522112043494",
            "modifier": "akhater",
            "tags": "$:/tags/Stylesheet",
            "type": "text/vnd.tiddlywiki",
            "revision": "0",
            "bag": "default"
        }
    }
}
|Shortcut |Function |h
|Shift-Tab |indentLess |
|Shift-Ctrl-K |deleteLine |
|Alt-Q |wrapLines |
|Alt-T |transposeChars |
|Alt-Left |goSubwordLeft |
|Alt-Right |goSubwordRight |
|Ctrl-Up |scrollLineUp |
|Ctrl-Down |scrollLineDown |
|Alt-L |selectLine |
|Shift-Alt-L |splitSelectionByLine |
|Ctrl-Esc |singleSelectionTop |
|Shift-Enter |insertLineAfter |
|Shift-Ctrl-Enter |insertLineBefore |
|Ctrl-D |selectNextOccurrence |
|Shift-Ctrl-Space |selectScope |
|Shift-Ctrl-M |selectBetweenBrackets |
|Alt-M |goToBracket |
|Shift-Ctrl-Up |swapLineUp |
|Shift-Ctrl-Down |swapLineDown |
|Ctrl-/ |toggleCommentIndented |
|Ctrl-J |joinLines |
|Shift-Ctrl-D |duplicateLine |
|F9 |sortLines |
|Ctrl-F9 |sortLinesInsensitive |
|F2 |nextBookmark |
|Shift-F2 |prevBookmark |
|Ctrl-F2 |toggleBookmark |
|Shift-Ctrl-F2 |clearBookmarks |
|Alt-F2 |selectBookmarks |
|Backspace |smartBackspace |
|Ctrl-K Ctrl-K |delLineRight |
|Ctrl-K Alt-U |upcaseAtCursor |
|Ctrl-K Alt-L |downcaseAtCursor |
|Ctrl-K Ctrl-Space |setSublimeMark |
|Ctrl-K Ctrl-A |selectToSublimeMark |
|Ctrl-K Alt-D |deleteToSublimeMark |
|Ctrl-K Ctrl-X |swapWithSublimeMark |
|Ctrl-K Ctrl-Y |sublimeYank |
|Ctrl-K Ctrl-C |showInCenter |
|Ctrl-K Ctrl-G |clearBookmarks |
|Ctrl-K Ctrl-Backspace |delLineLeft |
|Ctrl-K Ctrl-0 |unfoldAll |
|Ctrl-K Ctrl-J |unfoldAll |
|Ctrl-Alt-Up |addCursorToPrevLine |
|Ctrl-Alt-Down |addCursorToNextLine |
|Ctrl-F3 |findUnder |
|Shift-Ctrl-F3 |findUnderPrevious |
|Shift-Ctrl-[ |fold |
|Shift-Ctrl-] |unfold |
|Ctrl-H |replace |

#946b6b

1
Kookma plugin library is a set of plugins developed by [[Mohammad|https://github.com/kookma]]. A good recommendation is to backup your data before installing any plugins. These plugins distributed under  MIT license.

To use in other wikis, drag and drop this link to those wikis: [[Kookma Plugin Library|$:/config/KookmaPluginLibrary]]
show
yes
yes
show
hide
$:/_ExcelImporter/ImportSpecifiers/OSCQR
yes
show
show
hide
{
    "tiddlers": {
        "$:/Acknowledgements": {
            "title": "$:/Acknowledgements",
            "text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
        },
        "$:/core/copyright.txt": {
            "title": "$:/core/copyright.txt",
            "type": "text/plain",
            "text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2020, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
        },
        "$:/core/icon": {
            "title": "$:/core/icon",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"
        },
        "$:/core/images/add-comment": {
            "title": "$:/core/images/add-comment",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-add-comment tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 56H36a8 8 0 100 16h20v20a8 8 0 1016 0V72h20a8 8 0 100-16H72V36a8 8 0 10-16 0v20zm-12.595 58.362c-6.683 7.659-20.297 12.903-36.006 12.903-2.196 0-4.35-.102-6.451-.3 9.652-3.836 17.356-12.24 21.01-22.874C8.516 94.28 0 79.734 0 63.5 0 33.953 28.206 10 63 10s63 23.953 63 53.5S97.794 117 63 117c-6.841 0-13.428-.926-19.595-2.638z\"/></svg>"
        },
        "$:/core/images/advanced-search-button": {
            "title": "$:/core/images/advanced-search-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-advanced-search-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M74.565 87.985A47.776 47.776 0 0148 96C21.49 96 0 74.51 0 48S21.49 0 48 0s48 21.49 48 48c0 9.854-2.97 19.015-8.062 26.636l34.347 34.347a9.443 9.443 0 010 13.36 9.446 9.446 0 01-13.36 0l-34.36-34.358zM48 80c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/><circle cx=\"48\" cy=\"48\" r=\"8\"/><circle cx=\"28\" cy=\"48\" r=\"8\"/><circle cx=\"68\" cy=\"48\" r=\"8\"/></g></svg>"
        },
        "$:/core/images/auto-height": {
            "title": "$:/core/images/auto-height",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-auto-height tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M67.987 114.356l-.029-14.477a4 4 0 00-2.067-3.494l-15.966-8.813-1.933 7.502H79.9c4.222 0 5.564-5.693 1.786-7.58L49.797 71.572 48.01 79.15h31.982c4.217 0 5.564-5.682 1.795-7.575L49.805 55.517l-1.795 7.575h31.982c4.212 0 5.563-5.67 1.805-7.57l-16.034-8.105 2.195 3.57V35.614l9.214 9.213a4 4 0 105.656-5.656l-16-16a4 4 0 00-5.656 0l-16 16a4 4 0 105.656 5.656l9.13-9.13v15.288a4 4 0 002.195 3.57l16.035 8.106 1.804-7.57H48.01c-4.217 0-5.564 5.682-1.795 7.574l31.982 16.059 1.795-7.575H48.01c-4.222 0-5.564 5.693-1.787 7.579l31.89 15.923 1.787-7.578H47.992c-4.133 0-5.552 5.504-1.933 7.501l15.966 8.813-2.067-3.494.029 14.436-9.159-9.158a4 4 0 00-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656l-9.185 9.184zM16 20h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"
        },
        "$:/core/images/blank": {
            "title": "$:/core/images/blank",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\"/>"
        },
        "$:/core/images/bold": {
            "title": "$:/core/images/bold",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-bold tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.146 51.81V21.87h26.353c2.51 0 4.93.21 7.26.628 2.33.418 4.392 1.165 6.185 2.24 1.793 1.076 3.227 2.57 4.302 4.482 1.076 1.913 1.614 4.363 1.614 7.35 0 5.379-1.613 9.263-4.84 11.653-3.227 2.39-7.35 3.586-12.37 3.586H41.146zM13 0v128h62.028a65.45 65.45 0 0016.762-2.151c5.438-1.434 10.278-3.645 14.52-6.633 4.244-2.988 7.62-6.842 10.13-11.563 2.51-4.721 3.764-10.308 3.764-16.762 0-8.008-1.942-14.85-5.826-20.527-3.884-5.677-9.77-9.65-17.658-11.921 5.737-2.75 10.069-6.275 12.997-10.577 2.928-4.303 4.392-9.681 4.392-16.135 0-5.976-.986-10.995-2.958-15.059-1.972-4.063-4.75-7.32-8.336-9.77-3.585-2.45-7.888-4.213-12.907-5.289C84.888.538 79.33 0 73.235 0H13zm28.146 106.129V70.992H71.8c6.095 0 10.995 1.404 14.7 4.212 3.705 2.81 5.558 7.5 5.558 14.073 0 3.347-.568 6.096-1.703 8.247-1.136 2.151-2.66 3.854-4.572 5.11-1.912 1.254-4.123 2.15-6.633 2.688-2.51.538-5.139.807-7.888.807H41.146z\"/></svg>"
        },
        "$:/core/images/cancel-button": {
            "title": "$:/core/images/cancel-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 76.314l-16.97 16.97a7.999 7.999 0 01-11.314 0c-3.118-3.118-3.124-8.19 0-11.313L52.686 65l-16.97-16.97a7.999 7.999 0 010-11.314c3.118-3.118 8.19-3.124 11.313 0L64 53.686l16.97-16.97a7.999 7.999 0 0111.314 0c3.118 3.118 3.124 8.19 0 11.313L75.314 65l16.97 16.97a7.999 7.999 0 010 11.314c-3.118 3.118-8.19 3.124-11.313 0L64 76.314zM64 129c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 1 0 29.654 0 65c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 17 64 17 16 38.49 16 65s21.49 48 48 48z\"/></svg>"
        },
        "$:/core/images/chevron-down": {
            "title": "$:/core/images/chevron-down",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-down tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.053 85.456a7.889 7.889 0 01-5.6-2.316L2.473 27.16a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0L64.05 66.344l50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.105 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.317z\"/><path d=\"M64.053 124.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></g></svg>"
        },
        "$:/core/images/chevron-left": {
            "title": "$:/core/images/chevron-left",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M47.544 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L66.656 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.105 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.317-5.595z\"/><path d=\"M8.931 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L28.041 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.104 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.316-5.595z\"/></g></svg>"
        },
        "$:/core/images/chevron-right": {
            "title": "$:/core/images/chevron-right",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-right tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M83.456 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196L64.344 63.95 13.963 13.567a7.92 7.92 0 010-11.195c3.086-3.085 8.105-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.317 5.595z\"/><path d=\"M122.069 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></g></svg>"
        },
        "$:/core/images/chevron-up": {
            "title": "$:/core/images/chevron-up",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-up tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M63.947 44.544c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 63.656l-50.382 50.382a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.317z\"/><path d=\"M63.947 5.931c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 25.041 13.567 75.423a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.104 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.316z\"/></g></svg>"
        },
        "$:/core/images/clone-button": {
            "title": "$:/core/images/clone-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-clone-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M32.265 96v24.002A7.996 7.996 0 0040.263 128h79.74a7.996 7.996 0 007.997-7.998v-79.74a7.996 7.996 0 00-7.998-7.997H96V48h12.859a2.99 2.99 0 012.994 2.994v57.865a2.99 2.99 0 01-2.994 2.994H50.994A2.99 2.99 0 0148 108.859V96H32.265z\"/><path d=\"M40 56h-7.993C27.588 56 24 52.418 24 48c0-4.41 3.585-8 8.007-8H40v-7.993C40 27.588 43.582 24 48 24c4.41 0 8 3.585 8 8.007V40h7.993C68.412 40 72 43.582 72 48c0 4.41-3.585 8-8.007 8H56v7.993C56 68.412 52.418 72 48 72c-4.41 0-8-3.585-8-8.007V56zM8 0C3.58 0 0 3.588 0 8v80c0 4.419 3.588 8 8 8h80c4.419 0 8-3.588 8-8V8c0-4.419-3.588-8-8-8H8zM19 16A2.997 2.997 0 0016 19.001v57.998A2.997 2.997 0 0019.001 80h57.998A2.997 2.997 0 0080 76.999V19.001A2.997 2.997 0 0076.999 16H19.001z\"/></g></svg>"
        },
        "$:/core/images/close-all-button": {
            "title": "$:/core/images/close-all-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-close-all-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M28 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L16.686 100 2.543 85.856a8 8 0 0111.313-11.313L28 88.686l14.144-14.143a8 8 0 0111.313 11.313L39.314 100l14.143 14.144a8 8 0 01-11.313 11.313L28 111.314zM28 39.314L13.856 53.457A8 8 0 012.543 42.144L16.686 28 2.543 13.856A8 8 0 0113.856 2.543L28 16.686 42.144 2.543a8 8 0 0111.313 11.313L39.314 28l14.143 14.144a8 8 0 01-11.313 11.313L28 39.314zM100 39.314L85.856 53.457a8 8 0 01-11.313-11.313L88.686 28 74.543 13.856A8 8 0 0185.856 2.543L100 16.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 28l14.143 14.144a8 8 0 01-11.313 11.313L100 39.314zM100 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L88.686 100 74.543 85.856a8 8 0 0111.313-11.313L100 88.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 100l14.143 14.144a8 8 0 01-11.313 11.313L100 111.314z\"/></g></svg>"
        },
        "$:/core/images/close-button": {
            "title": "$:/core/images/close-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M65.086 75.41l-50.113 50.113c-3.121 3.121-8.192 3.126-11.316.002-3.118-3.118-3.123-8.19.002-11.316l50.114-50.114L3.659 13.982C.538 10.86.533 5.79 3.657 2.666c3.118-3.118 8.19-3.123 11.316.002l50.113 50.114L115.2 2.668c3.121-3.121 8.192-3.126 11.316-.002 3.118 3.118 3.123 8.19-.002 11.316L76.4 64.095l50.114 50.114c3.121 3.121 3.126 8.192.002 11.316-3.118 3.118-8.19 3.123-11.316-.002L65.086 75.409z\"/></svg>"
        },
        "$:/core/images/close-others-button": {
            "title": "$:/core/images/close-others-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-others-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48zm0-16c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32zm0-16c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16z\"/></svg>"
        },
        "$:/core/images/copy-clipboard": {
            "title": "$:/core/images/copy-clipboard",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-copy-clipboard tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"33\" height=\"8\" x=\"40\" y=\"40\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"82\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"54\" rx=\"4\"/><rect width=\"33\" height=\"8\" x=\"40\" y=\"96\" rx=\"4\"/><rect width=\"12\" height=\"8\" x=\"40\" y=\"68\" rx=\"4\"/><path d=\"M40 16H24c-4.419 0-8 3.59-8 8a8.031 8.031 0 000 .01v95.98a8.03 8.03 0 000 .01c0 4.41 3.581 8 8 8h80a7.975 7.975 0 005.652-2.34 7.958 7.958 0 002.348-5.652v-16.016c0-4.414-3.582-7.992-8-7.992-4.41 0-8 3.578-8 7.992V112H32V32h64v8.008C96 44.422 99.582 48 104 48c4.41 0 8-3.578 8-7.992V23.992a7.963 7.963 0 00-2.343-5.651A7.995 7.995 0 00104.001 16H88c0-4.41-3.585-8-8.007-8H48.007C43.588 8 40 11.582 40 16zm4-1.004A4.001 4.001 0 0148 11h32c2.21 0 4 1.797 4 3.996v4.008A4.001 4.001 0 0180 23H48c-2.21 0-4-1.797-4-3.996v-4.008z\"/><rect width=\"66\" height=\"16\" x=\"62\" y=\"64\" rx=\"8\"/><path d=\"M84.657 82.343l-16-16v11.314l16-16a8 8 0 10-11.314-11.314l-16 16a8 8 0 000 11.314l16 16a8 8 0 1011.314-11.314z\"/></g></svg>"
        },
        "$:/core/images/delete-button": {
            "title": "$:/core/images/delete-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(12)\"><rect width=\"105\" height=\"16\" y=\"11\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"28\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"8\" y=\"16\" rx=\"8\"/><rect width=\"88\" height=\"16\" x=\"8\" y=\"112\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"80\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"56\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"32\" y=\"16\" rx=\"8\"/></g></svg>"
        },
        "$:/core/images/done-button": {
            "title": "$:/core/images/done-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M42.26 111.032c-2.051.001-4.103-.78-5.668-2.345L2.662 74.758a8 8 0 01-.005-11.32c3.118-3.117 8.192-3.12 11.32.007l28.278 28.278 72.124-72.124a8.002 8.002 0 0111.314-.001c3.118 3.118 3.124 8.19 0 11.315l-77.78 77.78a7.978 7.978 0 01-5.658 2.343z\"/></svg>"
        },
        "$:/core/images/down-arrow": {
            "title": "$:/core/images/down-arrow",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.177 100.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.086 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></svg>"
        },
        "$:/core/images/download-button": {
            "title": "$:/core/images/download-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-download-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\" class=\"tc-image-download-button-ring\"/><path d=\"M34.35 66.43l26.892 27.205a4.57 4.57 0 006.516 0L94.65 66.43a4.7 4.7 0 000-6.593 4.581 4.581 0 00-3.258-1.365h-8.46c-2.545 0-4.608-2.087-4.608-4.661v-15.15c0-2.575-2.063-4.662-4.608-4.662H55.284c-2.545 0-4.608 2.087-4.608 4.662v15.15c0 2.574-2.063 4.661-4.608 4.661h-8.46c-2.545 0-4.608 2.087-4.608 4.662a4.69 4.69 0 001.35 3.296z\"/></g></svg>"
        },
        "$:/core/images/edit-button": {
            "title": "$:/core/images/edit-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M95.627 10.059l-5.656 5.657 11.313 11.313 5.657-5.656-11.314-11.314zm5.657-5.657l1.966-1.966c3.123-3.122 8.194-3.129 11.319-.005 3.117 3.118 3.122 8.192-.005 11.32l-1.966 1.965-11.314-11.314zm-16.97 16.97l-60.25 60.25a8.12 8.12 0 00-.322.342c-.1.087-.198.179-.295.275-5.735 5.735-10.702 22.016-10.702 22.016s16.405-5.09 22.016-10.702c.095-.096.186-.193.272-.292a8.12 8.12 0 00.345-.325l60.25-60.25-11.314-11.313zM35.171 124.19c6.788-.577 13.898-2.272 23.689-5.348 1.825-.573 3.57-1.136 6.336-2.04 16-5.226 21.877-6.807 28.745-7.146 8.358-.413 13.854 2.13 17.58 8.699a4 4 0 006.959-3.946c-5.334-9.406-13.745-13.296-24.933-12.744-7.875.39-14.057 2.052-30.835 7.533-2.739.894-4.46 1.45-6.25 2.012-19.46 6.112-30.77 7.072-39.597 1.747a4 4 0 10-4.132 6.85c6.333 3.82 13.754 5.12 22.438 4.383z\"/></g></svg>"
        },
        "$:/core/images/erase": {
            "title": "$:/core/images/erase",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-erase tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.087 127.996l63.015-63.015c6.535-6.535 6.528-17.115-.003-23.646L99.466 17.702c-6.539-6.538-17.117-6.532-23.646-.003L4.898 88.62c-6.535 6.534-6.528 17.115.003 23.646l15.73 15.73h39.456zm-34.95-7.313l-14.324-14.325c-3.267-3.268-3.268-8.564-.008-11.824L46.269 59.07l35.462 35.462-26.15 26.15H25.137z\"/></svg>"
        },
        "$:/core/images/excise": {
            "title": "$:/core/images/excise",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-excise tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 107.314l-2.343 2.343a8 8 0 11-11.314-11.314l16-16a8 8 0 0111.314 0l16 16a8 8 0 11-11.314 11.314L72 107.314v14.284c0 3.536-3.582 6.402-8 6.402s-8-2.866-8-6.402v-14.284zM0 40.007C0 35.585 3.59 32 8 32c4.418 0 8 3.588 8 8.007v31.986C16 76.415 12.41 80 8 80c-4.418 0-8-3.588-8-8.007V40.007zm32 0C32 35.585 35.59 32 40 32c4.418 0 8 3.588 8 8.007v31.986C48 76.415 44.41 80 40 80c-4.418 0-8-3.588-8-8.007V40.007zm48 0C80 35.585 83.59 32 88 32c4.418 0 8 3.588 8 8.007v31.986C96 76.415 92.41 80 88 80c-4.418 0-8-3.588-8-8.007V40.007zm-24-32C56 3.585 59.59 0 64 0c4.418 0 8 3.588 8 8.007v31.986C72 44.415 68.41 48 64 48c-4.418 0-8-3.588-8-8.007V8.007zm56 32c0-4.422 3.59-8.007 8-8.007 4.418 0 8 3.588 8 8.007v31.986c0 4.422-3.59 8.007-8 8.007-4.418 0-8-3.588-8-8.007V40.007z\"/></svg>"
        },
        "$:/core/images/export-button": {
            "title": "$:/core/images/export-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-export-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.003 128H119.993a7.984 7.984 0 005.664-2.349v.007A7.975 7.975 0 00128 120V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v56H16V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v64c0 4.418 3.59 8 8 8h.003zm48.62-100.689l-8.965 8.966c-3.125 3.125-8.195 3.13-11.319.005-3.118-3.118-3.122-8.192.005-11.319L58.962 2.346A7.986 7.986 0 0164.625 0l-.006.002c2.05-.001 4.102.78 5.666 2.344l22.618 22.617c3.124 3.125 3.129 8.195.005 11.319-3.118 3.118-8.192 3.122-11.319-.005l-8.965-8.966v61.256c0 4.411-3.582 8-8 8-4.41 0-8-3.582-8-8V27.311z\"/></svg>"
        },
        "$:/core/images/file": {
            "title": "$:/core/images/file",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-file tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M111.968 30.5H112V120a8 8 0 01-8 8H24a8 8 0 01-8-8V8a8 8 0 018-8h57v.02a7.978 7.978 0 015.998 2.337l22.627 22.627a7.975 7.975 0 012.343 5.516zM81 8H24v112h80V30.5H89c-4.418 0-8-3.578-8-8V8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"68\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"84\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"100\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/></svg>"
        },
        "$:/core/images/fixed-height": {
            "title": "$:/core/images/fixed-height",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fixed-height tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60 35.657l-9.172 9.171a4 4 0 11-5.656-5.656l16-16a4 4 0 015.656 0l16 16a4 4 0 01-5.656 5.656L68 35.657v57.686l9.172-9.171a4 4 0 115.656 5.656l-16 16a4 4 0 01-5.656 0l-16-16a4 4 0 115.656-5.656L60 93.343V35.657zM16 116h96a4 4 0 100-8H16a4 4 0 100 8zm0-96h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"
        },
        "$:/core/images/fold-all-button": {
            "title": "$:/core/images/fold-all-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M64.03 20.004c-2.05 0-4.102.78-5.667 2.344L35.746 44.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 22.348a7.986 7.986 0 00-5.663-2.346zM64.03 85.002c-2.05-.001-4.102.78-5.667 2.344l-22.617 22.617c-3.125 3.125-3.13 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.966 16.966 16.966c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.192-.005-11.319L69.687 87.346A7.986 7.986 0 0064.024 85z\"/></g></svg>"
        },
        "$:/core/images/fold-button": {
            "title": "$:/core/images/fold-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M64.03 25.004c-2.05 0-4.102.78-5.667 2.344L35.746 49.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 27.348a7.986 7.986 0 00-5.663-2.346zM64.005 67.379c-2.05 0-4.102.78-5.666 2.344L35.722 92.34c-3.125 3.125-3.13 8.195-.006 11.32 3.118 3.117 8.192 3.121 11.32-.006L64 86.69l16.965 16.965c3.125 3.125 8.195 3.13 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L69.663 69.723A7.986 7.986 0 0064 67.377z\"/></g></svg>"
        },
        "$:/core/images/fold-others-button": {
            "title": "$:/core/images/fold-others-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-others tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" y=\"56.031\" rx=\"8\"/><path d=\"M86.632 79.976c-2.05 0-4.102.78-5.666 2.345L64 99.286 47.034 82.321a7.986 7.986 0 00-5.662-2.346l.005.001c-2.05 0-4.102.78-5.666 2.345l-22.618 22.617c-3.124 3.125-3.129 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.966-16.966 16.965 16.966a7.986 7.986 0 005.663 2.346l-.005-.002c2.05 0 4.102-.78 5.666-2.344l16.965-16.966 16.966 16.966c3.125 3.124 8.194 3.129 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L92.289 82.321a7.986 7.986 0 00-5.663-2.346zM86.7 48.024c-2.05 0-4.102-.78-5.666-2.345L64.07 28.714 47.103 45.679a7.986 7.986 0 01-5.663 2.346l.005-.001c-2.05 0-4.101-.78-5.666-2.345L13.162 23.062c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L41.44 28.714l16.966-16.966a7.986 7.986 0 015.662-2.346l-.005.002c2.05 0 4.102.78 5.666 2.344l16.966 16.966 16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L92.358 45.679a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
        },
        "$:/core/images/folder": {
            "title": "$:/core/images/folder",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-folder tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.694 128H8C3.58 128 0 124.414 0 119.996V48.004C0 43.584 3.584 40 7.999 40H16v-8c0-4.418 3.578-8 8-8h32a8 8 0 018 8v8h40.001c4.418 0 7.999 3.586 7.999 8.004V59.83l-8-.082v-7.749A4 4 0 0099.997 48H56V36c0-2.21-1.793-4-4.004-4H28.004A4 4 0 0024 36v12H12.003A4 4 0 008 52v64a4 4 0 004.003 4h46.76l-3.069 8z\"/><path d=\"M23.873 55.5h96.003c4.417 0 7.004 4.053 5.774 9.063l-13.344 54.374c-1.228 5.005-5.808 9.063-10.223 9.063H6.08c-4.417 0-7.003-4.053-5.774-9.063L13.65 64.563c1.228-5.005 5.808-9.063 10.223-9.063zm1.78 8.5h87.994c2.211 0 3.504 2.093 2.891 4.666l-11.12 46.668c-.614 2.577-2.902 4.666-5.115 4.666H12.31c-2.211 0-3.504-2.093-2.891-4.666l11.12-46.668C21.152 66.09 23.44 64 25.653 64z\"/></g></svg>"
        },
        "$:/core/images/full-screen-button": {
            "title": "$:/core/images/full-screen-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-full-screen-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 8a8 8 0 018-8h32a8 8 0 110 16H16v24a8 8 0 11-16 0V8zM128 120a8 8 0 01-8 8H88a8 8 0 110-16h24V88a8 8 0 1116 0v32zM8 128a8 8 0 01-8-8V88a8 8 0 1116 0v24h24a8 8 0 110 16H8zM120 0a8 8 0 018 8v32a8 8 0 11-16 0V16H88a8 8 0 110-16h32z\"/></svg>"
        },
        "$:/core/images/github": {
            "title": "$:/core/images/github",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-github tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M63.938 1.607c-35.336 0-63.994 28.69-63.994 64.084 0 28.312 18.336 52.329 43.768 60.802 3.202.59 4.37-1.388 4.37-3.088 0-1.518-.056-5.55-.087-10.897-17.802 3.871-21.558-8.591-21.558-8.591-2.911-7.404-7.108-9.375-7.108-9.375-5.81-3.973.44-3.895.44-3.895 6.424.453 9.803 6.606 9.803 6.606 5.709 9.791 14.981 6.963 18.627 5.322.582-4.138 2.236-6.963 4.063-8.564-14.211-1.617-29.153-7.117-29.153-31.672 0-6.995 2.495-12.718 6.589-17.195-.66-1.621-2.856-8.14.629-16.96 0 0 5.37-1.722 17.597 6.57 5.104-1.424 10.58-2.132 16.022-2.16 5.438.028 10.91.736 16.022 2.16 12.22-8.292 17.582-6.57 17.582-6.57 3.493 8.82 1.297 15.339.64 16.96 4.102 4.477 6.578 10.2 6.578 17.195 0 24.618-14.966 30.035-29.22 31.62 2.295 1.98 4.342 5.89 4.342 11.87 0 8.564-.079 15.476-.079 17.576 0 1.715 1.155 3.71 4.4 3.084 25.413-8.493 43.733-32.494 43.733-60.798 0-35.394-28.657-64.084-64.006-64.084\"/></svg>"
        },
        "$:/core/images/gitter": {
            "title": "$:/core/images/gitter",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-gitter tc-image-button\" viewBox=\"0 0 18 25\"><path d=\"M15 5h2v10h-2zM10 5h2v20h-2zM5 5h2v20H5zM0 0h2v15H0z\"/></svg>"
        },
        "$:/core/images/globe": {
            "title": "$:/core/images/globe",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-globe tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M72.811 37.128v2.554c0 2.196.978 6.881 0 8.832-1.466 2.928-4.65 3.54-6.394 5.867-1.182 1.577-4.618 10.601-3.69 12.92 3.969 9.922 11.534 3.187 17.962 9.293.864.821 2.887 2.273 3.296 3.296 3.29 8.223-7.576 15.009 3.757 26.3 1.245 1.24 3.813-3.817 4.079-4.614.852-2.563 6.725-5.45 9.088-7.053 2.02-1.37 4.873-2.667 6.328-4.745 2.27-3.244 1.48-7.514 3.098-10.745 2.139-4.274 3.828-9.635 5.998-13.966 3.898-7.781 4.721 2.093 5.067 2.439.358.357 1.011 0 1.517 0 .094 0 1.447.099 1.516 0 .65-.935-1.043-17.92-1.318-19.297-1.404-7.01-6.944-15.781-11.865-20.5-6.274-6.015-7.09-16.197-18.259-14.954-.204.022-5.084 10.148-7.777 13.512-3.728 4.657-2.47-4.153-6.526-4.153-.081 0-1.183-.103-1.253 0-.586.88-1.44 3.896-2.306 4.417-.265.16-1.722-.239-1.846 0-2.243 4.3 8.256 2.212 5.792 7.952-2.352 5.481-6.328-1.997-6.328 8.56M44.467 7.01c9.685 6.13.682 12.198 2.694 16.215 1.655 3.303 4.241 5.395 1.714 9.814-2.063 3.608-6.87 3.966-9.623 6.723-3.04 3.044-5.464 8.94-6.79 12.911-1.617 4.843 14.547 6.866 12.063 11.008-1.386 2.311-6.746 1.466-8.437.198-1.165-.873-3.593-.546-4.417-1.78-2.613-3.915-2.26-8.023-3.625-12.128-.938-2.822-6.313-2.12-7.844-.593-.523.522-.33 1.792-.33 2.505 0 5.285 7.12 3.316 7.12 6.46 0 14.636 3.927 6.534 11.14 11.336 10.036 6.683 7.844 7.303 14.946 14.404 3.673 3.673 7.741 3.686 9.425 9.294 1.602 5.331-9.327 5.339-11.716 7.448-1.123.991-2.813 4.146-4.219 4.615-1.792.598-3.234.496-4.944 1.78-2.427 1.82-3.9 4.932-4.02 4.81-2.148-2.147-3.52-15.479-3.89-18.257-.588-4.42-5.59-5.54-6.986-9.03-1.57-3.927 1.524-9.52-1.129-13.761-6.52-10.424-11.821-14.5-15.35-26.292-.942-3.148 3.342-6.529 4.877-8.833 1.877-2.816 2.662-5.854 4.746-8.635C22.147 24.19 40.855 9.461 43.857 8.635l.61-1.625z\"/><path d=\"M64 126c34.242 0 62-27.758 62-62 0-34.242-27.758-62-62-62C29.758 2 2 29.758 2 64c0 34.242 27.758 62 62 62zm0-6c30.928 0 56-25.072 56-56S94.928 8 64 8 8 33.072 8 64s25.072 56 56 56z\"/></g></svg>"
        },
        "$:/core/images/heading-1": {
            "title": "$:/core/images/heading-1",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-1 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M14 30h13.25v30.104H61.7V30h13.25v75.684H61.7V71.552H27.25v34.132H14V30zm70.335 13.78c2.544 0 5.017-.212 7.42-.636 2.403-.424 4.576-1.13 6.52-2.12 1.942-.99 3.603-2.261 4.981-3.816 1.378-1.555 2.28-3.463 2.703-5.724h9.858v74.2h-13.25V53.32H84.335v-9.54z\"/></svg>"
        },
        "$:/core/images/heading-2": {
            "title": "$:/core/images/heading-2",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-2 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm119.52 75.684H74.85c.07-6.148 1.555-11.519 4.452-16.112 2.897-4.593 6.855-8.586 11.872-11.978a133.725 133.725 0 017.526-5.141 59.6 59.6 0 007.208-5.353c2.19-1.908 3.993-3.975 5.406-6.201 1.413-2.226 2.155-4.788 2.226-7.685 0-1.343-.159-2.774-.477-4.293a11.357 11.357 0 00-1.855-4.24c-.919-1.307-2.19-2.403-3.816-3.286-1.625-.883-3.745-1.325-6.36-1.325-2.403 0-4.399.477-5.989 1.431-1.59.954-2.862 2.261-3.816 3.922-.954 1.66-1.66 3.622-2.12 5.883-.46 2.261-.724 4.7-.795 7.314H76.23c0-4.099.548-7.897 1.643-11.395 1.095-3.498 2.738-6.519 4.93-9.063 2.19-2.544 4.857-4.54 8.002-5.989C93.95 30.724 97.606 30 101.775 30c4.523 0 8.303.742 11.342 2.226 3.039 1.484 5.494 3.357 7.367 5.618 1.873 2.261 3.198 4.717 3.975 7.367.777 2.65 1.166 5.176 1.166 7.579 0 2.968-.46 5.653-1.378 8.056a25.942 25.942 0 01-3.71 6.625 37.5 37.5 0 01-5.3 5.565 79.468 79.468 0 01-6.148 4.77 165.627 165.627 0 01-6.36 4.24 94.28 94.28 0 00-5.883 4.028c-1.802 1.343-3.374 2.738-4.717 4.187-1.343 1.449-2.261 2.986-2.756 4.611h36.146v10.812z\"/></svg>"
        },
        "$:/core/images/heading-3": {
            "title": "$:/core/images/heading-3",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-3 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm88.885 32.224c1.979.07 3.957-.07 5.936-.424 1.979-.353 3.745-.972 5.3-1.855a10.365 10.365 0 003.763-3.657c.954-1.555 1.431-3.463 1.431-5.724 0-3.18-1.078-5.724-3.233-7.632-2.155-1.908-4.929-2.862-8.32-2.862-2.12 0-3.958.424-5.513 1.272a11.318 11.318 0 00-3.869 3.445c-1.025 1.449-1.784 3.074-2.279 4.876a18.335 18.335 0 00-.636 5.565H75.381c.141-3.604.813-6.943 2.014-10.017 1.201-3.074 2.844-5.742 4.93-8.003 2.084-2.261 4.61-4.028 7.578-5.3C92.871 30.636 96.228 30 99.973 30a29.2 29.2 0 018.533 1.272c2.791.848 5.3 2.085 7.526 3.71s4.01 3.692 5.353 6.201c1.343 2.509 2.014 5.388 2.014 8.639 0 3.745-.848 7.014-2.544 9.805-1.696 2.791-4.346 4.823-7.95 6.095v.212c4.24.848 7.544 2.95 9.911 6.307s3.551 7.438 3.551 12.243c0 3.533-.707 6.696-2.12 9.487a21.538 21.538 0 01-5.724 7.102c-2.403 1.943-5.194 3.445-8.374 4.505-3.18 1.06-6.537 1.59-10.07 1.59-4.31 0-8.074-.618-11.289-1.855s-5.9-2.986-8.056-5.247c-2.155-2.261-3.798-4.982-4.929-8.162-1.13-3.18-1.731-6.713-1.802-10.6h12.084c-.141 4.523.972 8.286 3.34 11.289 2.366 3.003 5.917 4.505 10.652 4.505 4.028 0 7.402-1.148 10.123-3.445 2.72-2.297 4.081-5.565 4.081-9.805 0-2.897-.565-5.194-1.696-6.89a10.97 10.97 0 00-4.452-3.869c-1.837-.883-3.904-1.431-6.2-1.643a58.067 58.067 0 00-7.05-.212v-9.01z\"/></svg>"
        },
        "$:/core/images/heading-4": {
            "title": "$:/core/images/heading-4",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-4 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8 30h13.25v30.104H55.7V30h13.25v75.684H55.7V71.552H21.25v34.132H8V30zm76.59 48.548h22.471V45.9h-.212L84.59 78.548zm43.46 9.54h-9.54v17.596H107.06V88.088h-31.8V76.11l31.8-44.626h11.448v47.064h9.54v9.54z\"/></svg>"
        },
        "$:/core/images/heading-5": {
            "title": "$:/core/images/heading-5",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-5 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm77.755 1.484h38.372v10.812H92.765L88.95 61.164l.212.212c1.625-1.837 3.692-3.233 6.201-4.187 2.509-.954 5-1.431 7.473-1.431 3.675 0 6.96.618 9.858 1.855 2.897 1.237 5.335 2.968 7.314 5.194s3.48 4.858 4.505 7.897c1.025 3.039 1.537 6.325 1.537 9.858 0 2.968-.477 6.024-1.43 9.169a25.161 25.161 0 01-4.559 8.586c-2.085 2.58-4.752 4.7-8.003 6.36-3.25 1.66-7.137 2.491-11.66 2.491-3.604 0-6.943-.477-10.017-1.431-3.074-.954-5.777-2.385-8.109-4.293-2.332-1.908-4.187-4.258-5.565-7.049-1.378-2.791-2.138-6.06-2.279-9.805h12.084c.353 4.028 1.731 7.12 4.134 9.275 2.403 2.155 5.583 3.233 9.54 3.233 2.544 0 4.7-.424 6.466-1.272 1.767-.848 3.198-2.014 4.293-3.498 1.095-1.484 1.873-3.215 2.332-5.194.46-1.979.69-4.099.69-6.36 0-2.05-.284-4.01-.849-5.883-.565-1.873-1.413-3.516-2.544-4.929-1.13-1.413-2.597-2.544-4.399-3.392-1.802-.848-3.904-1.272-6.307-1.272-2.544 0-4.929.477-7.155 1.431-2.226.954-3.834 2.738-4.823 5.353H75.805l7.95-40.598z\"/></svg>"
        },
        "$:/core/images/heading-6": {
            "title": "$:/core/images/heading-6",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-6 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm106.587 20.246c-.283-3.039-1.36-5.494-3.233-7.367-1.873-1.873-4.399-2.809-7.579-2.809-2.19 0-4.08.406-5.67 1.219a12.435 12.435 0 00-4.029 3.233c-1.095 1.343-1.979 2.88-2.65 4.611a37.696 37.696 0 00-1.643 5.459 46.08 46.08 0 00-.9 5.671 722.213 722.213 0 00-.478 5.247l.212.212c1.625-2.968 3.87-5.176 6.731-6.625 2.862-1.449 5.954-2.173 9.275-2.173 3.675 0 6.96.636 9.858 1.908 2.897 1.272 5.353 3.021 7.367 5.247 2.014 2.226 3.551 4.858 4.611 7.897 1.06 3.039 1.59 6.325 1.59 9.858 0 3.604-.583 6.943-1.749 10.017-1.166 3.074-2.844 5.76-5.035 8.056-2.19 2.297-4.805 4.081-7.844 5.353-3.039 1.272-6.395 1.908-10.07 1.908-5.441 0-9.91-1.007-13.409-3.021-3.498-2.014-6.254-4.77-8.268-8.268-2.014-3.498-3.41-7.597-4.187-12.296-.777-4.7-1.166-9.77-1.166-15.211 0-4.452.477-8.94 1.431-13.462.954-4.523 2.526-8.639 4.717-12.349 2.19-3.71 5.07-6.731 8.64-9.063C92.676 31.166 97.075 30 102.304 30c2.968 0 5.76.495 8.374 1.484 2.615.99 4.93 2.367 6.943 4.134 2.014 1.767 3.657 3.887 4.93 6.36 1.271 2.473 1.978 5.23 2.12 8.268h-12.085zm-11.66 46.852c2.19 0 4.099-.442 5.724-1.325a12.869 12.869 0 004.081-3.445c1.095-1.413 1.908-3.056 2.438-4.929.53-1.873.795-3.798.795-5.777s-.265-3.887-.795-5.724c-.53-1.837-1.343-3.445-2.438-4.823-1.095-1.378-2.456-2.491-4.08-3.339-1.626-.848-3.534-1.272-5.725-1.272-2.19 0-4.116.406-5.777 1.219-1.66.813-3.056 1.908-4.187 3.286-1.13 1.378-1.979 2.986-2.544 4.823-.565 1.837-.848 3.78-.848 5.83 0 2.05.283 3.993.848 5.83.565 1.837 1.413 3.48 2.544 4.929a12.39 12.39 0 004.187 3.445c1.66.848 3.586 1.272 5.777 1.272z\"/></svg>"
        },
        "$:/core/images/help": {
            "title": "$:/core/images/help",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-help tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M36.055 111.441c-5.24 4.396-15.168 7.362-26.555 7.362-1.635 0-3.24-.06-4.806-.179 7.919-2.64 14.062-8.6 16.367-16.014C8.747 92.845 1.05 78.936 1.05 63.5c0-29.547 28.206-53.5 63-53.5s63 23.953 63 53.5-28.206 53.5-63 53.5c-10.055 0-19.56-2-27.994-5.559zm35.35-33.843a536.471 536.471 0 00.018-4.682 199.02 199.02 0 00-.023-3.042c.008-1.357.595-2.087 3.727-4.235.112-.077 1.085-.74 1.386-.948 3.093-2.133 5.022-3.786 6.762-6.187 2.34-3.228 3.558-7.077 3.558-11.649 0-13.292-9.86-21.952-21.455-21.952-11.103 0-22.499 9.609-24.066 22.295a6.023 6.023 0 1011.956 1.477c.806-6.527 6.972-11.726 12.11-11.726 5.265 0 9.408 3.64 9.408 9.906 0 3.634-1.1 5.153-5.111 7.919l-1.362.93c-2.682 1.84-4.227 3.1-5.7 4.931-2.109 2.62-3.242 5.717-3.258 9.314.013.892.02 1.86.022 2.981a470.766 470.766 0 01-.022 4.943 6.023 6.023 0 1012.046.12l.003-.395zm-6.027 24.499a7.529 7.529 0 100-15.058 7.529 7.529 0 000 15.058z\"/></svg>"
        },
        "$:/core/images/home-button": {
            "title": "$:/core/images/home-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112.985 119.502c.01-.165.015-.331.015-.499V67.568c3.137 2.948 8.076 2.884 11.134-.174a7.999 7.999 0 00-.002-11.316L70.396 2.343A7.978 7.978 0 0064.734 0a7.957 7.957 0 00-5.656 2.343L33 28.42V8.007C33 3.585 29.41 0 25 0c-4.418 0-8 3.59-8 8.007V44.42L5.342 56.078c-3.125 3.125-3.12 8.198-.002 11.316a7.999 7.999 0 0011.316-.003l.344-.343v52.945a8.11 8.11 0 000 .007c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8a8.11 8.11 0 00-.015-.498zM97 112V51.574L64.737 19.31 33 51.048V112h64z\"/></svg>"
        },
        "$:/core/images/import-button": {
            "title": "$:/core/images/import-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-import-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M114.832 60.436s3.235-3.27 6.921.417c3.686 3.686.231 7.14.231 7.14l-42.153 42.92s-30.765 32.367-58.798 4.333C-7 87.213 24.59 55.623 24.59 55.623L67.363 12.85s22.725-24.6 43.587-3.738c20.862 20.862-3.96 43.09-3.96 43.09l-35.04 35.04S49.903 112.546 36.426 99.07c-13.476-13.477 11.83-35.523 11.83-35.523l35.04-35.04s3.902-3.902 7.78-.023c3.879 3.878.118 7.921.118 7.921l-35.04 35.04s-13.212 13.212-8.872 17.551c4.34 4.34 16.77-9.653 16.77-9.653l35.04-35.04s16.668-14.598 3.966-27.3c-13.893-13.892-27.565 3.702-27.565 3.702l-42.91 42.91s-23.698 23.698-3.658 43.738 43.012-4.385 43.012-4.385l42.895-42.533z\"/></svg>"
        },
        "$:/core/images/info-button": {
            "title": "$:/core/images/info-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(.05)\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/><circle cx=\"64\" cy=\"32\" r=\"8\"/><rect width=\"16\" height=\"56\" x=\"56\" y=\"48\" rx=\"8\"/></g></svg>"
        },
        "$:/core/images/italic": {
            "title": "$:/core/images/italic",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-italic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M66.711 0h22.41L62.408 128H40z\"/></svg>"
        },
        "$:/core/images/left-arrow": {
            "title": "$:/core/images/left-arrow",
            "created": "20150315234410875",
            "modified": "20150315235324760",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-left-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 64.177c0-2.026.771-4.054 2.317-5.6l55.98-55.98a7.92 7.92 0 0111.195.001c3.086 3.085 3.092 8.104.001 11.195L19.111 64.175l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.086-8.105 3.092-11.196.001l-55.98-55.98A7.892 7.892 0 010 64.177z\"/></svg>"
        },
        "$:/core/images/line-width": {
            "title": "$:/core/images/line-width",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-line-width tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M16 18h96a2 2 0 000-4H16a2 2 0 100 4zm0 17h96a4 4 0 100-8H16a4 4 0 100 8zm0 21h96a6 6 0 000-12H16a6 6 0 100 12zm0 29h96c5.523 0 10-4.477 10-10s-4.477-10-10-10H16c-5.523 0-10 4.477-10 10s4.477 10 10 10zm0 43h96c8.837 0 16-7.163 16-16s-7.163-16-16-16H16c-8.837 0-16 7.163-16 16s7.163 16 16 16z\"/></svg>"
        },
        "$:/core/images/link": {
            "title": "$:/core/images/link",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-link tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M42.263 69.38a31.919 31.919 0 006.841 10.13c12.5 12.5 32.758 12.496 45.255 0l22.627-22.628c12.502-12.501 12.497-32.758 0-45.255-12.5-12.5-32.758-12.496-45.254 0L49.104 34.255a32.333 32.333 0 00-2.666 3.019 36.156 36.156 0 0121.94.334l14.663-14.663c6.25-6.25 16.382-6.254 22.632-.004 6.248 6.249 6.254 16.373-.004 22.631l-22.62 22.62c-6.25 6.25-16.381 6.254-22.631.004a15.93 15.93 0 01-4.428-8.433 11.948 11.948 0 00-7.59 3.48l-6.137 6.137z\"/><path d=\"M86.35 59.234a31.919 31.919 0 00-6.84-10.13c-12.5-12.5-32.758-12.497-45.255 0L11.627 71.732c-12.501 12.5-12.496 32.758 0 45.254 12.5 12.5 32.758 12.497 45.255 0L79.51 94.36a32.333 32.333 0 002.665-3.02 36.156 36.156 0 01-21.94-.333l-14.663 14.663c-6.25 6.25-16.381 6.253-22.63.004-6.25-6.249-6.255-16.374.003-22.632l22.62-22.62c6.25-6.25 16.381-6.253 22.631-.003a15.93 15.93 0 014.428 8.432 11.948 11.948 0 007.59-3.48l6.137-6.136z\"/></g></svg>"
        },
        "$:/core/images/linkify": {
            "title": "$:/core/images/linkify",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-linkify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M17.031 31.919H9.048V96.85h7.983v6.92H0V25h17.031v6.919zm24.66 0h-7.983V96.85h7.983v6.92H24.66V25h17.03v6.919zM67.77 56.422l11.975-3.903 2.306 7.096-12.063 3.903 7.628 10.379-6.12 4.435-7.63-10.467-7.45 10.2-5.943-4.523L58.1 63.518 45.95 59.35l2.306-7.096 12.064 4.17V43.825h7.45v12.596zM86.31 96.85h7.982V31.92H86.31V25h17.031v78.77H86.31v-6.92zm24.659 0h7.983V31.92h-7.983V25H128v78.77h-17.031v-6.92z\"/></svg>"
        },
        "$:/core/images/list-bullet": {
            "title": "$:/core/images/list-bullet",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-bullet tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M11.636 40.273c6.427 0 11.637-5.21 11.637-11.637C23.273 22.21 18.063 17 11.636 17 5.21 17 0 22.21 0 28.636c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.637 0-6.426-5.21-11.636-11.637-11.636C5.21 51.91 0 57.12 0 63.545c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.636 0-6.427-5.21-11.637-11.637-11.637C5.21 86.818 0 92.028 0 98.455c0 6.426 5.21 11.636 11.636 11.636zM34.91 22.818H128v11.637H34.91V22.818zm0 34.91H128v11.636H34.91V57.727zm0 34.908H128v11.637H34.91V92.636z\"/></svg>"
        },
        "$:/core/images/list-number": {
            "title": "$:/core/images/list-number",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-number tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M33.84 22.356H128v11.77H33.84v-11.77zm0 35.31H128v11.77H33.84v-11.77zm0 35.311H128v11.77H33.84v-11.77zM.38 42.631v-2.223h.998c.826 0 1.445-.14 1.858-.42.413-.28.619-.948.619-2.002V22.769c0-1.442-.193-2.336-.58-2.683-.385-.347-1.477-.52-3.275-.52v-2.143c3.502-.147 6.252-.955 8.25-2.423h2.117v22.865c0 .921.15 1.575.449 1.963.3.387.949.58 1.948.58h.998v2.223H.38zm-.3 35.356v-1.902c7.19-6.554 10.786-12.58 10.786-18.08 0-1.562-.326-2.81-.979-3.744-.652-.934-1.524-1.402-2.616-1.402-.893 0-1.655.317-2.287.952-.633.634-.95 1.364-.95 2.192 0 .974.247 1.829.74 2.563.106.16.16.28.16.36 0 .147-.16.28-.48.4-.213.08-.752.308-1.618.681-.839.374-1.358.561-1.558.561-.24 0-.512-.37-.819-1.111A6.2 6.2 0 010 57.064c0-1.949.849-3.544 2.547-4.785 1.698-1.242 3.798-1.862 6.302-1.862 2.463 0 4.53.67 6.202 2.012 1.67 1.341 2.506 3.093 2.506 5.256a8.644 8.644 0 01-.849 3.724c-.566 1.201-1.92 3.053-4.064 5.556a165.471 165.471 0 01-6.272 6.938h11.445l-1.019 5.726h-2.117c.08-.28.12-.534.12-.76 0-.388-.1-.631-.3-.731-.2-.1-.599-.15-1.198-.15H.08zm12.124 19.207c1.745.04 3.236.637 4.474 1.792 1.239 1.154 1.858 2.773 1.858 4.855 0 2.99-1.132 5.393-3.396 7.208-2.263 1.815-5 2.723-8.209 2.723-2.01 0-3.669-.384-4.974-1.151C.652 111.853 0 110.849 0 109.607c0-.774.27-1.398.809-1.872.54-.474 1.128-.71 1.768-.71.639 0 1.162.2 1.568.6.406.4.782 1.055 1.128 1.962.466 1.268 1.239 1.902 2.317 1.902 1.265 0 2.287-.477 3.066-1.431.78-.955 1.169-2.686 1.169-5.196 0-1.709-.12-3.023-.36-3.944-.24-.921-.792-1.382-1.658-1.382-.586 0-1.185.307-1.797.921-.493.494-.932.741-1.319.741-.333 0-.602-.147-.809-.44-.206-.294-.31-.574-.31-.841 0-.32.104-.594.31-.821.207-.227.69-.594 1.449-1.102 2.876-1.922 4.314-4.017 4.314-6.287 0-1.188-.306-2.092-.919-2.713a3.001 3.001 0 00-2.217-.93c-.799 0-1.525.263-2.177.79-.653.528-.979 1.158-.979 1.892 0 .641.253 1.235.76 1.782.172.2.259.367.259.5 0 .121-.57.428-1.708.922-1.139.494-1.854.74-2.147.74-.413 0-.75-.333-1.009-1-.26-.668-.39-1.282-.39-1.842 0-1.749.93-3.224 2.787-4.425 1.858-1.202 3.965-1.802 6.322-1.802 2.064 0 3.851.447 5.363 1.341 1.511.895 2.267 2.116 2.267 3.664 0 1.362-.57 2.623-1.708 3.784a13.387 13.387 0 01-3.945 2.784z\"/></svg>"
        },
        "$:/core/images/list": {
            "title": "$:/core/images/list",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M87.748 128H23.999c-4.418 0-7.999-3.59-7.999-8.007V8.007C16 3.585 19.588 0 24 0h80c4.419 0 8 3.59 8 8.007V104H91.25c-.965 0-1.84.392-2.473 1.025a3.476 3.476 0 00-1.029 2.476V128zm8-.12l15.88-15.88h-15.88v15.88zM40 15.508A3.502 3.502 0 0143.5 12h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 20h-55a3.498 3.498 0 01-3.5-3.509v-.982zM32 22a6 6 0 100-12 6 6 0 000 12zm8 9.509A3.502 3.502 0 0143.5 28h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 36h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 44h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 52h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 60h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 68h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 76h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 84h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 92h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 100h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.505 3.505 0 0143.497 108h33.006A3.497 3.497 0 0180 111.509v.982A3.505 3.505 0 0176.503 116H43.497A3.497 3.497 0 0140 112.491v-.982zM32 38a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12z\"/></svg>"
        },
        "$:/core/images/locked-padlock": {
            "title": "$:/core/images/locked-padlock",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-locked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M96.472 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h8c.003-15.723.303-47.731 32.16-47.731 31.794 0 32.305 32.057 32.312 47.731zm-15.897 0H48.44c.002-16.287.142-32 15.719-32 15.684 0 16.977 16.136 16.415 32zM67.732 92.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"
        },
        "$:/core/images/mail": {
            "title": "$:/core/images/mail",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mail tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M122.827 104.894a7.986 7.986 0 01-2.834.516H8.007c-.812 0-1.597-.12-2.335-.345l34.163-34.163 20.842 20.842a3.998 3.998 0 003.418 1.134 4.003 4.003 0 003.395-1.134L88.594 70.64c.075.09.155.176.24.26l33.993 33.994zm5.076-6.237c.064-.406.097-.823.097-1.247v-64c0-.669-.082-1.318-.237-1.94L94.23 65.006c.09.075.177.154.261.239l33.413 33.413zm-127.698.56A8.023 8.023 0 010 97.41v-64c0-.716.094-1.41.271-2.071l33.907 33.906L.205 99.218zM5.93 25.684a8.012 8.012 0 012.078-.273h111.986c.766 0 1.507.108 2.209.308L64.083 83.837 5.93 25.683z\"/></svg>"
        },
        "$:/core/images/menu-button": {
            "title": "$:/core/images/menu-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\"><rect width=\"128\" height=\"16\" y=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"56\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"96\" rx=\"8\"/></svg>"
        },
        "$:/core/images/mono-block": {
            "title": "$:/core/images/mono-block",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-block tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M23.965 32.967h.357c.755 0 1.328.192 1.72.577.39.384.586.947.586 1.688 0 .824-.206 1.418-.618 1.782-.413.363-1.094.545-2.045.545h-6.31c-.965 0-1.65-.178-2.056-.535-.405-.356-.608-.954-.608-1.792 0-.811.203-1.391.608-1.74.406-.35 1.09-.525 2.055-.525h.734l-.86-2.453H8.471l-.902 2.453h.734c.95 0 1.632.178 2.044.535.413.356.619.933.619 1.73 0 .824-.206 1.418-.619 1.782-.412.363-1.094.545-2.044.545h-5.41c-.964 0-1.649-.182-2.054-.545-.406-.364-.608-.958-.608-1.782 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.719-.577h.356l5.62-15.641H6.835c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.95-.619-1.76 0-.825.207-1.42.619-1.783.412-.363 1.094-.545 2.044-.545h7.863c1.244 0 2.118.67 2.62 2.013v.063l6.647 18.2zM12.98 17.326l-3.04 8.848h6.08l-3.04-8.848zm22.402 9.372v6.395h3.145c2.223 0 3.788-.245 4.697-.734.908-.49 1.362-1.307 1.362-2.453 0-1.16-.433-1.985-1.3-2.474-.866-.49-2.383-.734-4.55-.734h-3.354zm10.693-2.327c1.524.559 2.642 1.324 3.355 2.295.713.972 1.07 2.212 1.07 3.722 0 1.272-.308 2.432-.923 3.48-.615 1.049-1.496 1.909-2.642 2.58a7.499 7.499 0 01-2.254.849c-.832.174-2.01.262-3.533.262H30.202c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.782 0-.741.189-1.304.566-1.688.378-.385.93-.577 1.657-.577h.356V17.326h-.356c-.727 0-1.28-.196-1.657-.587-.377-.392-.566-.965-.566-1.72 0-.81.203-1.401.608-1.771.406-.37 1.062-.556 1.971-.556h9.645c2.95 0 5.19.573 6.72 1.72 1.53 1.145 2.296 2.823 2.296 5.031 0 1.09-.234 2.052-.703 2.883-.468.832-1.163 1.513-2.086 2.045zM35.381 17.2v5.284h2.83c1.72 0 2.932-.203 3.638-.609.706-.405 1.06-1.09 1.06-2.054 0-.909-.319-1.573-.955-1.992-.636-.42-1.667-.63-3.093-.63h-3.48zm35.863-3.816c.28-.503.566-.86.86-1.07.293-.21.664-.314 1.111-.314.685 0 1.17.182 1.457.545.287.364.43.986.43 1.866l.042 5.452c0 .964-.157 1.614-.472 1.95-.314.335-.884.503-1.709.503-.587 0-1.037-.14-1.352-.42-.314-.28-.584-.796-.807-1.551-.364-1.328-.944-2.282-1.74-2.862-.797-.58-1.901-.87-3.313-.87-2.153 0-3.802.727-4.948 2.18-1.147 1.454-1.72 3.558-1.72 6.311 0 2.74.58 4.844 1.74 6.311 1.16 1.468 2.817 2.202 4.97 2.202 1.467 0 3.085-.49 4.854-1.468 1.768-.978 2.883-1.467 3.344-1.467.545 0 1.003.23 1.373.692.37.46.556 1.034.556 1.719 0 1.23-1.084 2.39-3.25 3.48-2.167 1.09-4.606 1.636-7.318 1.636-3.662 0-6.625-1.21-8.89-3.627-2.264-2.419-3.396-5.578-3.396-9.478 0-3.76 1.146-6.884 3.438-9.372 2.293-2.488 5.2-3.732 8.723-3.732.992 0 1.97.112 2.935.335.964.224 1.992.574 3.082 1.049zm10.22 19.583V17.326h-.356c-.755 0-1.328-.196-1.72-.587-.39-.392-.586-.965-.586-1.72 0-.81.21-1.401.629-1.771.42-.37 1.097-.556 2.034-.556h5.178c2.922 0 5.06.126 6.416.377 1.356.252 2.51.671 3.46 1.258 1.691 1.007 2.988 2.443 3.89 4.31.9 1.865 1.352 4.021 1.352 6.467 0 2.586-.514 4.847-1.541 6.783-1.028 1.936-2.485 3.4-4.372 4.393-.853.447-1.852.772-2.998.975-1.147.203-2.852.304-5.116.304h-6.269c-.965 0-1.65-.178-2.055-.535-.406-.356-.608-.954-.608-1.792 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.72-.577h.356zm5.41-15.725v15.725h1.195c2.642 0 4.592-.646 5.85-1.94 1.258-1.292 1.887-3.28 1.887-5.965 0-2.641-.64-4.612-1.918-5.912-1.28-1.3-3.205-1.95-5.777-1.95-.335 0-.59.003-.765.01a7.992 7.992 0 00-.472.032zm35.067-.126h-9.75v5.368h3.69v-.252c0-.797.175-1.39.524-1.782.35-.392.88-.587 1.594-.587.629 0 1.142.178 1.54.534.4.357.598.808.598 1.353 0 .028.007.118.021.272.014.154.021.308.021.462v4.34c0 .936-.167 1.607-.503 2.013-.335.405-.88.608-1.635.608-.713 0-1.251-.19-1.615-.567-.363-.377-.545-.936-.545-1.677v-.377h-3.69v6.269h9.75v-2.495c0-.937.178-1.608.534-2.013.357-.405.94-.608 1.75-.608.798 0 1.367.2 1.71.597.342.399.513 1.073.513 2.024v5.074c0 .755-.146 1.258-.44 1.51-.293.251-.873.377-1.74.377h-17.172c-.923 0-1.583-.182-1.982-.545-.398-.364-.597-.958-.597-1.782 0-.741.189-1.304.566-1.688.377-.385.93-.577 1.656-.577h.357V17.326h-.357c-.712 0-1.261-.2-1.646-.598-.384-.398-.576-.968-.576-1.709 0-.81.203-1.401.608-1.771.405-.37 1.062-.556 1.97-.556h17.173c.853 0 1.43.13 1.73.388.3.258.45.772.45 1.54v4.698c0 .95-.174 1.631-.524 2.044-.35.412-.915.618-1.698.618-.81 0-1.394-.21-1.75-.629-.357-.419-.535-1.097-.535-2.033v-2.202zM19.77 47.641c.267-.504.55-.86.85-1.07.3-.21.675-.314 1.122-.314.685 0 1.17.181 1.457.545.287.363.43.985.43 1.866l.042 5.451c0 .965-.157 1.615-.472 1.95-.314.336-.891.504-1.73.504-.587 0-1.045-.144-1.373-.43-.329-.287-.598-.8-.807-1.541-.378-1.342-.958-2.3-1.74-2.873-.783-.573-1.88-.86-3.292-.86-2.153 0-3.799.727-4.938 2.181-1.14 1.454-1.709 3.557-1.709 6.311s.598 4.882 1.793 6.385C10.599 67.248 12.294 68 14.488 68c.503 0 1.077-.06 1.72-.179a23.809 23.809 0 002.264-.555v-3.313h-2.37c-.95 0-1.624-.175-2.023-.524-.398-.35-.597-.93-.597-1.74 0-.84.199-1.437.597-1.793.399-.357 1.073-.535 2.024-.535h7.569c.978 0 1.667.175 2.065.524.398.35.598.937.598 1.762 0 .74-.2 1.31-.598 1.708-.398.399-.975.598-1.73.598h-.335v5.242c0 .447-.05.758-.147.933-.098.174-.293.353-.587.534-.797.476-2.062.895-3.795 1.258a25.576 25.576 0 01-5.263.546c-3.662 0-6.625-1.21-8.89-3.628-2.264-2.418-3.397-5.577-3.397-9.477 0-3.76 1.147-6.884 3.44-9.372 2.292-2.488 5.199-3.732 8.721-3.732.979 0 1.954.112 2.925.335.972.224 2.003.573 3.093 1.049zm15.84 3.941v4.823h6.857v-4.823h-.336c-.754 0-1.331-.195-1.73-.587-.398-.391-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.364 1.093-.545 2.044-.545h5.41c.95 0 1.624.181 2.023.545.398.363.597.957.597 1.782 0 .755-.192 1.328-.576 1.72-.385.39-.947.586-1.688.586h-.357v15.642h.357c.755 0 1.328.192 1.719.576.391.385.587.947.587 1.688 0 .825-.203 1.419-.608 1.782-.405.364-1.09.546-2.055.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.2-1.303.598-1.688.398-.384.975-.576 1.73-.576h.335v-6.186h-6.856v6.186h.335c.755 0 1.331.192 1.73.576.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.412.364-1.094.546-2.044.546h-5.41c-.964 0-1.65-.179-2.055-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.392-.384.965-.576 1.72-.576h.356V51.582h-.356c-.741 0-1.304-.195-1.688-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.073-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.335zm31.754 0v15.642h3.523c.95 0 1.632.178 2.044.534.412.357.618.933.618 1.73 0 .811-.21 1.402-.629 1.772-.419.37-1.097.556-2.033.556H58.433c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.957-.619-1.782 0-.81.203-1.39.608-1.74.406-.35 1.09-.524 2.055-.524h3.523V51.582h-3.523c-.95 0-1.632-.181-2.044-.545-.412-.363-.619-.95-.619-1.761 0-.825.203-1.412.608-1.761.406-.35 1.09-.524 2.055-.524h12.455c.992 0 1.684.174 2.075.524.392.35.587.936.587 1.761 0 .81-.202 1.398-.608 1.761-.405.364-1.09.545-2.054.545h-3.523zm30.496 0v11.994c0 1.873-.122 3.228-.367 4.067a5.876 5.876 0 01-1.227 2.244c-.74.852-1.768 1.495-3.082 1.929-1.314.433-2.893.65-4.738.65-1.3 0-2.555-.126-3.764-.378a16.843 16.843 0 01-3.491-1.132c-.615-.28-1.017-.643-1.206-1.09-.188-.448-.283-1.175-.283-2.18v-4.32c0-1.202.175-2.04.525-2.516.349-.475.957-.713 1.824-.713 1.244 0 1.929.915 2.054 2.747.014.321.035.566.063.733.168 1.622.545 2.73 1.133 3.324.587.594 1.523.89 2.81.89 1.593 0 2.714-.422 3.364-1.268.65-.845.975-2.386.975-4.623V51.582H88.93c-.95 0-1.632-.181-2.044-.545-.413-.363-.619-.95-.619-1.761 0-.825.2-1.412.598-1.761.398-.35 1.086-.524 2.065-.524h10.693c.979 0 1.667.174 2.065.524.399.35.598.936.598 1.761 0 .81-.206 1.398-.619 1.761-.412.364-1.093.545-2.044.545h-1.761zm14.644 0v6.353l6.48-6.478c-.728-.084-1.238-.29-1.531-.619-.294-.328-.44-.85-.44-1.562 0-.825.198-1.419.597-1.782.398-.364 1.073-.545 2.023-.545h5.137c.95 0 1.625.181 2.023.545.399.363.598.957.598 1.782 0 .769-.2 1.345-.598 1.73-.398.384-.982.576-1.75.576h-.483l-6.101 6.06c1.132.839 2.167 1.94 3.103 3.302.937 1.363 2.034 3.456 3.292 6.28h.692c.825 0 1.44.188 1.845.566.405.377.608.943.608 1.698 0 .825-.206 1.419-.619 1.782-.412.364-1.093.546-2.044.546h-2.579c-1.132 0-2.048-.762-2.746-2.286-.126-.28-.224-.503-.294-.67-.923-1.958-1.768-3.467-2.537-4.53a16.616 16.616 0 00-2.705-2.914l-1.97 1.887v3.92h.335c.755 0 1.331.193 1.73.577.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.413.364-1.094.546-2.045.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.391-.384.965-.576 1.72-.576h.356V51.582h-.357c-.74 0-1.303-.195-1.687-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.072-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.336zM13.44 96.326l4.005-11.889c.251-.782.6-1.352 1.048-1.709.447-.356 1.041-.534 1.782-.534h3.271c.95 0 1.632.182 2.044.545.413.363.619.957.619 1.782 0 .755-.2 1.328-.598 1.72-.398.39-.975.587-1.73.587h-.335l.587 15.641h.357c.754 0 1.32.192 1.698.577.377.384.566.947.566 1.687 0 .825-.2 1.42-.598 1.783-.398.363-1.072.545-2.023.545h-4.718c-.95 0-1.624-.178-2.023-.535-.398-.356-.597-.954-.597-1.793 0-.74.192-1.303.576-1.687.385-.385.954-.577 1.709-.577h.335l-.293-12.79-3.061 9.52c-.224.712-.542 1.226-.954 1.54-.413.315-.982.472-1.709.472-.727 0-1.303-.157-1.73-.472-.426-.314-.751-.828-.975-1.54l-3.04-9.52-.294 12.79h.336c.755 0 1.324.192 1.709.577.384.384.576.947.576 1.687 0 .825-.202 1.42-.608 1.783-.405.363-1.076.545-2.013.545H2.621c-.937 0-1.608-.182-2.013-.545-.405-.364-.608-.958-.608-1.783 0-.74.192-1.303.577-1.687.384-.385.954-.577 1.708-.577h.336l.608-15.641h-.336c-.754 0-1.331-.196-1.73-.588-.398-.39-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.363 1.093-.545 2.044-.545h3.27c.728 0 1.311.175 1.752.524.44.35.8.923 1.08 1.72l4.109 11.888zm30.454 2.054V86.828H42.74c-.922 0-1.583-.182-1.981-.546-.398-.363-.598-.95-.598-1.76 0-.812.2-1.402.598-1.773.398-.37 1.059-.555 1.981-.555h5.955c.909 0 1.566.185 1.97.555.406.37.609.961.609 1.772 0 .741-.192 1.31-.577 1.709-.384.398-.933.598-1.646.598h-.356v19.038c0 .657-.07 1.069-.21 1.237-.14.167-.454.251-.943.251h-2.097c-.67 0-1.143-.07-1.415-.21-.273-.14-.507-.384-.703-.733l-8.722-15.327v11.385h1.216c.909 0 1.559.175 1.95.524.392.35.587.93.587 1.74 0 .825-.199 1.42-.597 1.783-.399.363-1.045.545-1.94.545h-6.017c-.909 0-1.566-.182-1.971-.545-.406-.364-.608-.958-.608-1.783 0-.74.188-1.303.566-1.687.377-.385.936-.577 1.677-.577h.336V86.828h-.336c-.713 0-1.265-.2-1.656-.598-.392-.398-.587-.968-.587-1.709 0-.81.206-1.401.618-1.772.413-.37 1.066-.555 1.96-.555h3.44c.824 0 1.383.108 1.677.325.293.216.622.653.985 1.31l7.989 14.551zM64.66 86.366c-1.803 0-3.218.727-4.245 2.18-1.028 1.455-1.541 3.474-1.541 6.06 0 2.586.517 4.613 1.551 6.08 1.034 1.468 2.446 2.202 4.235 2.202 1.804 0 3.222-.73 4.257-2.19 1.034-1.461 1.551-3.492 1.551-6.092 0-2.586-.513-4.605-1.54-6.06-1.028-1.453-2.45-2.18-4.268-2.18zm0-4.864c3.44 0 6.27 1.23 8.492 3.69 2.223 2.46 3.334 5.598 3.334 9.414 0 3.844-1.104 6.99-3.313 9.436-2.208 2.446-5.046 3.669-8.513 3.669-3.424 0-6.255-1.234-8.491-3.701-2.237-2.467-3.355-5.602-3.355-9.404 0-3.83 1.108-6.971 3.323-9.424 2.216-2.454 5.057-3.68 8.523-3.68zM87.461 98.17v4.298h2.16c.908 0 1.555.175 1.94.524.384.35.576.93.576 1.74 0 .825-.196 1.42-.587 1.783-.392.363-1.035.545-1.93.545h-7.254c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.783 0-.74.189-1.303.566-1.687.378-.385.93-.577 1.657-.577h.356V86.828h-.356c-.713 0-1.262-.2-1.646-.598-.385-.398-.577-.968-.577-1.709 0-.81.203-1.401.608-1.772.406-.37 1.063-.555 1.971-.555h8.66c3.424 0 6.014.657 7.768 1.97 1.754 1.315 2.631 3.25 2.631 5.809 0 2.697-.873 4.738-2.62 6.122-1.748 1.384-4.34 2.076-7.78 2.076h-3.564zm0-11.343v6.625h2.977c1.65 0 2.89-.28 3.722-.839.832-.559 1.248-1.397 1.248-2.516 0-1.048-.43-1.855-1.29-2.421-.86-.566-2.086-.85-3.68-.85h-2.977zm27.267 20.568l-1.636 1.636a12.37 12.37 0 011.772-.44c.58-.098 1.15-.147 1.709-.147 1.104 0 2.268.164 3.491.492 1.223.329 1.967.493 2.233.493.447 0 1.03-.15 1.75-.45.72-.301 1.206-.452 1.458-.452.517 0 .947.2 1.29.598.342.398.513.898.513 1.5 0 .796-.472 1.474-1.415 2.033-.944.56-2.1.839-3.47.839-.937 0-2.139-.22-3.607-.66-1.467-.441-2.53-.661-3.187-.661-.992 0-2.11.272-3.354.817-1.244.546-2.013.818-2.307.818a2.14 2.14 0 01-1.53-.597c-.42-.399-.63-.878-.63-1.437 0-.391.134-.807.4-1.247.265-.44.733-1.01 1.404-1.709l2.118-2.139c-2.335-.852-4.194-2.386-5.578-4.602-1.384-2.215-2.075-4.763-2.075-7.642 0-3.802 1.104-6.909 3.312-9.32 2.209-2.411 5.053-3.617 8.534-3.617 3.467 0 6.304 1.209 8.513 3.627 2.208 2.418 3.312 5.522 3.312 9.31 0 3.774-1.097 6.884-3.291 9.33-2.195 2.446-4.977 3.67-8.345 3.67a22.5 22.5 0 01-1.384-.043zm1.195-21.03c-1.803 0-3.218.727-4.246 2.18-1.027 1.455-1.54 3.474-1.54 6.06 0 2.586.516 4.613 1.55 6.08 1.035 1.468 2.447 2.202 4.236 2.202 1.803 0 3.222-.73 4.256-2.19 1.035-1.461 1.552-3.492 1.552-6.092 0-2.586-.514-4.605-1.541-6.06-1.028-1.453-2.45-2.18-4.267-2.18z\"/></svg>"
        },
        "$:/core/images/mono-line": {
            "title": "$:/core/images/mono-line",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-line tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.437 84.523h.908c1.922 0 3.381.489 4.378 1.468.997.979 1.495 2.411 1.495 4.298 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388h-16.07c-2.456 0-4.2-.454-5.232-1.361-1.032-.908-1.548-2.43-1.548-4.565 0-2.065.516-3.542 1.548-4.432 1.032-.89 2.776-1.334 5.232-1.334h1.869l-2.19-6.247H20.983l-2.296 6.247h1.87c2.42 0 4.155.453 5.205 1.361 1.05.908 1.575 2.376 1.575 4.405 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388H6.781c-2.456 0-4.2-.463-5.233-1.388C.516 93.9 0 92.389 0 90.289c0-1.887.498-3.32 1.495-4.298.997-.979 2.456-1.468 4.378-1.468h.908l14.308-39.83h-4.271c-2.42 0-4.156-.462-5.206-1.387-1.05-.926-1.575-2.42-1.575-4.485 0-2.1.525-3.613 1.575-4.538 1.05-.926 2.785-1.388 5.206-1.388h20.021c3.168 0 5.392 1.708 6.674 5.125v.16l16.924 46.343zm-27.976-39.83L24.72 67.225h15.483l-7.742-22.53zM89.506 68.56v16.284h8.008c5.66 0 9.646-.623 11.96-1.869 2.313-1.245 3.47-3.328 3.47-6.246 0-2.955-1.103-5.055-3.31-6.3-2.207-1.246-6.069-1.869-11.586-1.869h-8.542zm27.229-5.926c3.88 1.423 6.727 3.372 8.542 5.846 1.815 2.474 2.723 5.633 2.723 9.477 0 3.239-.783 6.193-2.35 8.862-1.565 2.67-3.808 4.859-6.726 6.567-1.709.997-3.622 1.718-5.74 2.163-2.118.445-5.116.667-8.996.667h-27.87c-2.349 0-4.03-.463-5.045-1.388-1.014-.926-1.521-2.438-1.521-4.538 0-1.887.48-3.32 1.441-4.298.961-.979 2.367-1.468 4.218-1.468h.907v-39.83h-.907c-1.851 0-3.257-.498-4.218-1.494-.961-.997-1.441-2.456-1.441-4.378 0-2.065.516-3.568 1.548-4.512 1.032-.943 2.705-1.414 5.018-1.414h24.56c7.51 0 13.214 1.459 17.111 4.377 3.898 2.92 5.847 7.19 5.847 12.814 0 2.776-.597 5.223-1.789 7.341-1.192 2.118-2.963 3.853-5.312 5.206zm-27.23-18.26v13.455h7.208c4.378 0 7.466-.516 9.264-1.549 1.797-1.032 2.696-2.776 2.696-5.232 0-2.313-.81-4.004-2.43-5.072-1.619-1.068-4.244-1.602-7.874-1.602h-8.863z\"/></svg>"
        },
        "$:/core/images/new-button": {
            "title": "$:/core/images/new-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 72H8.007C3.591 72 0 68.418 0 64c0-4.41 3.585-8 8.007-8H56V8.007C56 3.591 59.582 0 64 0c4.41 0 8 3.585 8 8.007V56h47.993c4.416 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H72v47.993c0 4.416-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V72z\"/></svg>"
        },
        "$:/core/images/new-here-button": {
            "title": "$:/core/images/new-here-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-here-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.838 20.935l-3.572.938c-3.688.968-8.23 4.43-10.136 7.731L3.37 96.738c-1.905 3.3-.771 7.524 2.534 9.432l33.717 19.466c3.297 1.904 7.53.78 9.435-2.521l38.76-67.134c1.905-3.3 2.632-8.963 1.623-12.646L83.285 20.88c-1.009-3.68-4.821-5.884-8.513-4.915l-7.603 1.995.043.287c.524 3.394 2.053 7.498 4.18 11.55.418.163.829.36 1.23.59a8.864 8.864 0 014.438 8.169c.104.132.21.264.316.395l-.386.318a8.663 8.663 0 01-1.082 3.137c-2.42 4.192-7.816 5.608-12.051 3.163-4.12-2.379-5.624-7.534-3.476-11.671-2.177-4.394-3.788-8.874-4.543-12.964z\"/><path d=\"M69.554 44.76c-5.944-7.476-10.74-17.196-11.955-25.059-1.68-10.875 3.503-18.216 15.082-18.04 10.407.158 19.975 5.851 24.728 13.785 5.208 8.695 2.95 17.868-6.855 20.496l-2.037-7.601c4.232-1.134 4.999-4.248 2.24-8.853-3.37-5.626-10.465-9.848-18.146-9.965-6.392-.097-8.31 2.62-7.323 9.01.999 6.465 5.318 15.138 10.582 21.65l-.072.06c.559 1.553-4.17 6.44-5.938 4.888l-.005.004-.028-.034a1.323 1.323 0 01-.124-.135 2.618 2.618 0 01-.149-.205z\"/><rect width=\"16\" height=\"48\" x=\"96\" y=\"80\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"80\" y=\"96\" rx=\"8\"/></g></svg>"
        },
        "$:/core/images/new-image-button": {
            "title": "$:/core/images/new-image-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.362 73.627l15.826-27.41a2.626 2.626 0 00-.962-3.59l-50.01-28.872a2.626 2.626 0 00-3.588.961L30.058 36.49l10.04-5.261c3.042-1.595 6.771.114 7.55 3.46l3.607 17.702 9.88.85a5.25 5.25 0 014.571 3.77c.034.115.1.344.199.671.165.553.353 1.172.562 1.843.595 1.914 1.23 3.85 1.872 5.678.207.588.412 1.156.614 1.701.625 1.685 1.209 3.114 1.725 4.207.255.54.485.977.726 1.427.214.212.547.425 1.011.622 1.141.482 2.784.74 4.657.758.864.008 1.71-.034 2.492-.11.448-.043.753-.085.871-.104.315-.053.625-.077.927-.076zM37.47 2.649A5.257 5.257 0 0144.649.725l63.645 36.746a5.257 5.257 0 011.923 7.178L73.47 108.294a5.257 5.257 0 01-7.177 1.923L2.649 73.47a5.257 5.257 0 01-1.924-7.177L37.471 2.649zm42.837 50.49a5.25 5.25 0 105.25-9.092 5.25 5.25 0 00-5.25 9.093zM96 112h-7.993c-4.419 0-8.007-3.582-8.007-8 0-4.41 3.585-8 8.007-8H96v-7.993C96 83.588 99.582 80 104 80c4.41 0 8 3.585 8 8.007V96h7.993c4.419 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H112v7.993c0 4.419-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V112zM33.347 51.791c7.428 7.948 9.01 10.69 7.449 13.394-1.56 2.703-13.838-2.328-16.094 1.58-2.256 3.908-.907 3.258-2.437 5.908l19.73 11.39s-5.605-8.255-4.235-10.628c2.515-4.356 8.77-1.256 10.365-4.019 2.414-4.181-5.103-9.639-14.778-17.625z\"/></svg>"
        },
        "$:/core/images/new-journal-button": {
            "title": "$:/core/images/new-journal-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-journal-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.545 112.818v11.818c0 1.306 1.086 2.364 2.425 2.364h6.06c1.34 0 2.425-1.058 2.425-2.364v-11.818h12.12c1.34 0 2.425-1.058 2.425-2.363v-5.91c0-1.305-1.085-2.363-2.424-2.363h-12.121V90.364c0-1.306-1.086-2.364-2.425-2.364h-6.06c-1.34 0-2.425 1.058-2.425 2.364v11.818h-12.12c-1.34 0-2.425 1.058-2.425 2.363v5.91c0 1.305 1.085 2.363 2.424 2.363h12.121zM60.016 4.965c-4.781-2.76-10.897-1.118-13.656 3.66L5.553 79.305A9.993 9.993 0 009.21 92.963l51.04 29.468c4.78 2.76 10.897 1.118 13.655-3.66l40.808-70.681a9.993 9.993 0 00-3.658-13.656L60.016 4.965zm-3.567 27.963a6 6 0 106-10.393 6 6 0 00-6 10.393zm31.697 17.928a6 6 0 106-10.392 6 6 0 00-6 10.392z\"/><text class=\"tc-fill-background\" font-family=\"Helvetica\" font-size=\"47.172\" font-weight=\"bold\" transform=\"rotate(30 25.742 95.82)\"><tspan x=\"42\" y=\"77.485\" text-anchor=\"middle\"><<now \"DD\">></tspan></text></g></svg>"
        },
        "$:/core/images/opacity": {
            "title": "$:/core/images/opacity",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-opacity tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.362 65a51.595 51.595 0 01-1.942 6H82.584a35.867 35.867 0 002.997-6h16.78zm.472-2c.423-1.961.734-3.963.929-6H87.656a35.78 35.78 0 01-1.368 6h16.546zm-3.249 10a51.847 51.847 0 01-3.135 6H75.812a36.205 36.205 0 005.432-6h18.341zm-4.416 8c-1.424 2.116-3 4.12-4.71 6H60.46a35.843 35.843 0 0012.874-6h21.834zm-7.513-34h16.107C101.247 20.627 79.033 0 52 0 23.281 0 0 23.281 0 52c0 25.228 17.965 46.26 41.8 51h20.4a51.66 51.66 0 0015.875-6H39v-2h42.25a52.257 52.257 0 007.288-6H39v-2h4.539C27.739 83.194 16 68.968 16 52c0-19.882 16.118-36 36-36 18.186 0 33.222 13.484 35.656 31zm.22 2h16.039a52.823 52.823 0 010 6H87.877a36.483 36.483 0 000-6z\"/><path d=\"M76 128c28.719 0 52-23.281 52-52s-23.281-52-52-52-52 23.281-52 52 23.281 52 52 52zm0-16c19.882 0 36-16.118 36-36S95.882 40 76 40 40 56.118 40 76s16.118 36 36 36z\"/><path d=\"M37 58h53v4H37v-4zm3-8h53v4H40v-4zm0-8h53v4H40v-4zm-8 24h53v4H32v-4zm-2 8h53v4H30v-4zm-3 8h53v4H27v-4z\"/></g></svg>"
        },
        "$:/core/images/open-window": {
            "title": "$:/core/images/open-window",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-open-window tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M16 112h88.994c3.87 0 7.006 3.59 7.006 8 0 4.418-3.142 8-7.006 8H7.006C3.136 128 0 124.41 0 120a9.321 9.321 0 010-.01V24.01C0 19.586 3.59 16 8 16c4.418 0 8 3.584 8 8.01V112z\"/><path d=\"M96 43.196V56a8 8 0 1016 0V24c0-4.41-3.585-8-8.007-8H72.007C67.588 16 64 19.582 64 24c0 4.41 3.585 8 8.007 8H84.57l-36.3 36.299a8 8 0 00-.001 11.316c3.117 3.117 8.19 3.123 11.316-.003L96 43.196zM32 7.999C32 3.581 35.588 0 40 0h80c4.419 0 8 3.588 8 8v80c0 4.419-3.588 8-8 8H40c-4.419 0-8-3.588-8-8V8z\"/></g></svg>"
        },
        "$:/core/images/options-button": {
            "title": "$:/core/images/options-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-options-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M110.488 76a47.712 47.712 0 01-5.134 12.384l6.724 6.724c3.123 3.123 3.132 8.192.011 11.313l-5.668 5.668c-3.12 3.12-8.186 3.117-11.313-.01l-6.724-6.725c-3.82 2.258-7.98 4-12.384 5.134v9.505c0 4.417-3.578 8.007-7.992 8.007h-8.016C55.58 128 52 124.415 52 119.993v-9.505a47.712 47.712 0 01-12.384-5.134l-6.724 6.725c-3.123 3.122-8.192 3.131-11.313.01l-5.668-5.668c-3.12-3.12-3.116-8.186.01-11.313l6.725-6.724c-2.257-3.82-4-7.98-5.134-12.384H8.007C3.591 76 0 72.422 0 68.01v-8.017C0 55.58 3.585 52 8.007 52h9.505a47.712 47.712 0 015.134-12.383l-6.724-6.725c-3.123-3.122-3.132-8.191-.011-11.312l5.668-5.669c3.12-3.12 8.186-3.116 11.313.01l6.724 6.725c3.82-2.257 7.98-4 12.384-5.134V8.007C52 3.591 55.578 0 59.992 0h8.016C72.42 0 76 3.585 76 8.007v9.505a47.712 47.712 0 0112.384 5.134l6.724-6.724c3.123-3.123 8.192-3.132 11.313-.01l5.668 5.668c3.12 3.12 3.116 8.186-.01 11.312l-6.725 6.725c2.257 3.82 4 7.979 5.134 12.383h9.505c4.416 0 8.007 3.578 8.007 7.992v8.017c0 4.411-3.585 7.991-8.007 7.991h-9.505zM64 96c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/></svg>"
        },
        "$:/core/images/paint": {
            "title": "$:/core/images/paint",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-paint tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M83.527 76.19C90.43 69.287 91.892 59 87.91 50.665l37.903-37.902c2.919-2.92 2.913-7.659 0-10.572a7.474 7.474 0 00-10.572 0L77.338 40.093c-8.335-3.982-18.622-2.521-25.526 4.383l31.715 31.715zm-2.643 2.644L49.169 47.119S8.506 81.243 0 80.282c0 0 3.782 5.592 6.827 8.039 14.024-5.69 37.326-24.6 37.326-24.6l.661.66S19.45 90.222 9.18 92.047c1.222 1.44 4.354 4.053 6.247 5.776 5.417-1.488 34.733-28.57 34.733-28.57l.661.66-32.407 31.022 5.285 5.286L56.106 75.2l.662.66s-27.864 30.536-28.684 32.432c0 0 6.032 6.853 7.569 7.824.702-2.836 27.884-33.485 27.884-33.485l.661.66s-20.597 23.755-24.964 36.732c3.21 3.549 7.5 5.137 10.926 6.298-2.19-11.817 30.724-47.487 30.724-47.487z\"/></svg>"
        },
        "$:/core/images/palette": {
            "title": "$:/core/images/palette",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-palette tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.247 39.182a93.52 93.52 0 00-16.228-1.4C28.662 37.781 0 57.131 0 81.002c0 9.642 4.676 18.546 12.58 25.735C23.504 91.19 26.34 72.395 36.89 63.562c15.183-12.713 26.538-7.828 26.538-7.828l16.82-16.552zm26.535 9.655c13.049 7.913 21.257 19.392 21.257 32.166 0 9.35.519 17.411-11.874 25.08-10.797 6.681-3.824-6.536-11.844-10.898s-19.946 1.308-18.213 7.906c3.2 12.181 19.422 11.455 6.314 16.658-13.107 5.202-18.202 4.476-28.403 4.476-7.821 0-15.315-.947-22.243-2.68 9.844-4.197 27.88-12.539 33.354-19.456C82.788 92.409 87.37 80 83.324 72.484c-.194-.359 11.215-11.668 23.458-23.647zM1.134 123.867l-.66.002c33.479-14.94 22.161-64.226 58.818-64.226.317 1.418.644 2.944 1.062 4.494-25.907-4.166-23.567 48.031-59.22 59.73zm.713-.007c38.872-.506 78.152-22.347 78.152-44.813-9.27 0-14.073-3.48-16.816-7.942-16.597-7.003-30.365 45.715-61.336 52.755zm65.351-64.008c-4.45 4.115 4.886 16.433 11.318 11.318l45.27-45.27c11.317-11.318 0-22.635-11.318-11.318-11.317 11.318-33.518 34.405-45.27 45.27z\"/></svg>"
        },
        "$:/core/images/permalink-button": {
            "title": "$:/core/images/permalink-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permalink-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.483 48l-7.387 32h-25.58l7.388-32h25.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L100.598 32h3.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-7.096l-7.387 32H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H85.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L69.402 96h-25.58L38.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L27.402 96h-3.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h7.096l7.387-32H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h18.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L58.598 32h25.58z\"/></svg>"
        },
        "$:/core/images/permaview-button": {
            "title": "$:/core/images/permaview-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permaview-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.483 48l-1.846 8h-5.58l1.847-8h5.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L101.598 32h2.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-6.096l-1.847 8h7.944c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H92.364l-1.846 8H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H86.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L70.402 96h-5.58L59.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L48.402 96h-5.58L37.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L26.402 96h-2.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h6.096l1.847-8h-7.944C19.59 72 16 68.418 16 64c0-4.41 3.581-8 8-8h11.637l1.846-8H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h17.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L57.598 32h5.58L68.8 7.642c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L79.598 32h5.58zM53.904 48l-1.847 8h5.58l1.846-8h-5.579zm22.039 24l-1.847 8h-5.58l1.847-8h5.58zm-27.58 0l-1.846 8h5.579l1.847-8h-5.58z\"/></svg>"
        },
        "$:/core/images/picture": {
            "title": "$:/core/images/picture",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-picture tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112 68.233v-48.23A4.001 4.001 0 00107.997 16H20.003A4.001 4.001 0 0016 20.003v38.31l9.241-14.593c2.8-4.422 9.023-5.008 12.6-1.186l18.247 20.613 13.687-6.407a8 8 0 018.903 1.492 264.97 264.97 0 002.92 2.739 249.44 249.44 0 006.798 6.066 166.5 166.5 0 002.106 1.778c2.108 1.747 3.967 3.188 5.482 4.237.748.518 1.383.92 2.044 1.33.444.117 1.046.144 1.809.05 1.873-.233 4.238-1.144 6.723-2.547a36.016 36.016 0 003.205-2.044c.558-.4.93-.686 1.07-.802.376-.31.765-.577 1.165-.806zM0 8.007A8.01 8.01 0 018.007 0h111.986A8.01 8.01 0 01128 8.007v111.986a8.01 8.01 0 01-8.007 8.007H8.007A8.01 8.01 0 010 119.993V8.007zM95 42a8 8 0 100-16 8 8 0 000 16zM32 76c15.859 4.83 20.035 7.244 20.035 12S32 95.471 32 102.347c0 6.876 1.285 4.99 1.285 9.653H68s-13.685-6.625-13.685-10.8c0-7.665 10.615-8.34 10.615-13.2 0-7.357-14.078-8.833-32.93-12z\"/></svg>"
        },
        "$:/core/images/plugin-generic-language": {
            "title": "$:/core/images/plugin-generic-language",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M61.207 68.137c-4.324 2.795-6.999 6.656-6.999 10.921 0 7.906 9.19 14.424 21.042 15.336 2.162 3.902 8.598 6.785 16.318 7.01-5.126-1.125-9.117-3.742-10.62-7.01C92.805 93.487 102 86.967 102 79.059c0-8.53-10.699-15.445-23.896-15.445-6.599 0-12.572 1.729-16.897 4.524zm12.794-14.158c-4.324 2.795-10.298 4.524-16.897 4.524-2.619 0-5.14-.272-7.497-.775-3.312 2.25-8.383 3.69-14.067 3.69l-.255-.002c4.119-.892 7.511-2.747 9.478-5.13-6.925-2.704-11.555-7.617-11.555-13.228 0-8.53 10.699-15.445 23.896-15.445C70.301 27.613 81 34.528 81 43.058c0 4.265-2.675 8.126-6.999 10.921zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"
        },
        "$:/core/images/plugin-generic-plugin": {
            "title": "$:/core/images/plugin-generic-plugin",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M40.397 76.446V95.34h14.12l-.001-.005a6.912 6.912 0 005.364-11.593l.046-.023a6.912 6.912 0 119.979.526l.086.055a6.914 6.914 0 004.408 10.948l-.023.092h21.32V75.568l-.15.038a6.912 6.912 0 00-11.593-5.364l-.022-.046a6.912 6.912 0 11.526-9.979l.055-.086a6.914 6.914 0 0010.948-4.408c.079.018.158.038.236.059v-15.74h-21.32l.023-.094a6.914 6.914 0 01-4.408-10.947 10.23 10.23 0 00-.086-.055 6.912 6.912 0 10-9.979-.526l-.046.023a6.912 6.912 0 01-5.364 11.593l.001.005h-14.12v12.847A6.912 6.912 0 0129.5 59.843l-.054.086a6.912 6.912 0 10-.526 9.979l.023.046a6.912 6.912 0 0111.455 6.492zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"
        },
        "$:/core/images/plugin-generic-theme": {
            "title": "$:/core/images/plugin-generic-theme",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M29.408 91.472L51.469 69.41l-.004-.005a2.22 2.22 0 01.004-3.146c.87-.87 2.281-.872 3.147-.005l9.465 9.464a2.22 2.22 0 01-.005 3.147c-.87.87-2.28.871-3.147.005l-.005-.005-22.061 22.062a6.686 6.686 0 11-9.455-9.455zM60.802 66.38c-2.436-2.704-4.465-5.091-5.817-6.869-6.855-9.014-10.313-4.268-14.226 0-3.913 4.268 1.03 7.726-2.683 10.741-3.713 3.015-3.484 4.06-9.752-1.455-6.267-5.516-6.7-7.034-3.823-10.181 2.877-3.147 5.281 1.808 11.159-3.785 5.877-5.593.94-10.55.94-10.55s12.237-25.014 28.588-23.167c16.351 1.848-6.186-2.392-11.792 17.226-2.4 8.4.447 6.42 4.998 9.968 1.394 1.086 6.03 4.401 11.794 8.685l20.677-20.676 1.615-4.766 7.84-4.689 3.151 3.152-4.688 7.84-4.766 1.615-20.224 20.223c12.663 9.547 28.312 22.146 28.312 26.709 0 7.217-3.071 11.526-9.535 9.164-4.693-1.715-18.768-15.192-28.753-25.897l-2.893 2.893-3.151-3.152 3.029-3.029zM63.953 0l54.56 32v64l-54.56 32-54.56-32V32l54.56-32z\"/></svg>"
        },
        "$:/core/images/preview-closed": {
            "title": "$:/core/images/preview-closed",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-closed tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M.088 64a7.144 7.144 0 001.378 5.458C16.246 88.818 39.17 100.414 64 100.414c24.83 0 47.753-11.596 62.534-30.956A7.144 7.144 0 00127.912 64C110.582 78.416 88.304 87.086 64 87.086 39.696 87.086 17.418 78.416.088 64z\"/><rect width=\"4\" height=\"16\" x=\"62\" y=\"96\" rx=\"4\"/><rect width=\"4\" height=\"16\" x=\"78\" y=\"93\" rx=\"4\" transform=\"rotate(-5 80 101)\"/><rect width=\"4\" height=\"16\" x=\"46\" y=\"93\" rx=\"4\" transform=\"rotate(5 48 101)\"/><rect width=\"4\" height=\"16\" x=\"30\" y=\"88\" rx=\"4\" transform=\"rotate(10 32 96)\"/><rect width=\"4\" height=\"16\" x=\"94\" y=\"88\" rx=\"4\" transform=\"rotate(-10 96 96)\"/><rect width=\"4\" height=\"16\" x=\"110\" y=\"80\" rx=\"4\" transform=\"rotate(-20 112 88)\"/><rect width=\"4\" height=\"16\" x=\"14\" y=\"80\" rx=\"4\" transform=\"rotate(20 16 88)\"/></g></svg>"
        },
        "$:/core/images/preview-open": {
            "title": "$:/core/images/preview-open",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-open tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.11 99.588c-24.83 0-47.754-11.596-62.534-30.957a7.148 7.148 0 010-8.675C16.356 40.596 39.28 29 64.11 29c24.83 0 47.753 11.596 62.534 30.956a7.148 7.148 0 010 8.675c-14.78 19.36-37.703 30.957-62.534 30.957zm46.104-32.007c1.44-1.524 1.44-3.638 0-5.162C99.326 50.9 82.439 44 64.147 44S28.968 50.9 18.08 62.42c-1.44 1.523-1.44 3.637 0 5.16C28.968 79.1 45.855 86 64.147 86s35.179-6.9 46.067-18.42z\"/><path d=\"M63.5 88C76.479 88 87 77.479 87 64.5S76.479 41 63.5 41 40 51.521 40 64.5 50.521 88 63.5 88z\"/></g></svg>"
        },
        "$:/core/images/print-button": {
            "title": "$:/core/images/print-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M112 71V30.5h-.032c-.035-2-.816-3.99-2.343-5.516L86.998 2.357A7.978 7.978 0 0081 .02V0H24a8 8 0 00-8 8v63h8V8h57v14.5c0 4.422 3.582 8 8 8h15V71h8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/><path d=\"M0 80.005C0 71.165 7.156 64 16 64h96c8.836 0 16 7.155 16 16.005v31.99c0 8.84-7.156 16.005-16 16.005H16c-8.836 0-16-7.155-16-16.005v-31.99zM104 96a8 8 0 100-16 8 8 0 000 16z\"/></g></svg>"
        },
        "$:/core/images/quote": {
            "title": "$:/core/images/quote",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-quote tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M51.219 117.713V62.199H27.427c0-8.891 1.683-16.401 5.047-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.36 3.184-20.728 6.669-6.368 3.484-11.835 7.87-16.401 13.157C9.524 27.113 5.98 33.241 3.456 40.21.933 47.18-.21 54.63.03 62.56v55.153H51.22zm76.781 0V62.199h-23.791c0-8.891 1.682-16.401 5.046-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.359 3.184-20.727 6.669-6.369 3.484-11.836 7.87-16.402 13.157-4.566 5.287-8.11 11.415-10.634 18.384-2.523 6.97-3.665 14.42-3.424 22.35v55.153H128z\"/></svg>"
        },
        "$:/core/images/refresh-button": {
            "title": "$:/core/images/refresh-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-refresh-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M106.369 39.433c10.16 20.879 6.57 46.764-10.771 64.106-21.87 21.87-57.327 21.87-79.196 0-21.87-21.87-21.87-57.326 0-79.196a8 8 0 1111.314 11.314c-15.621 15.62-15.621 40.947 0 56.568 15.62 15.621 40.947 15.621 56.568 0C97.72 78.79 99.6 58.175 89.924 42.73l-6.44 12.264a8 8 0 11-14.166-7.437L84.435 18.76a8 8 0 0110.838-3.345l28.873 15.345a8 8 0 11-7.51 14.129l-10.267-5.457zm-8.222-12.368c-.167-.19-.336-.38-.506-.57l.96-.296-.454.866z\"/></svg>"
        },
        "$:/core/images/right-arrow": {
            "title": "$:/core/images/right-arrow",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-right-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M99.069 64.173c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></svg>"
        },
        "$:/core/images/rotate-left": {
            "title": "$:/core/images/rotate-left",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-rotate-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"32\" height=\"80\" rx=\"8\"/><rect width=\"80\" height=\"32\" x=\"48\" y=\"96\" rx=\"8\"/><path d=\"M61.32 36.65c19.743 2.45 35.023 19.287 35.023 39.693a4 4 0 01-8 0c0-15.663-11.254-28.698-26.117-31.46l3.916 3.916a4 4 0 11-5.657 5.657L49.172 43.142a4 4 0 010-5.657l11.313-11.313a4 4 0 115.657 5.656l-4.821 4.822z\"/></g></svg>"
        },
        "$:/core/images/save-button": {
            "title": "$:/core/images/save-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\"/></svg>"
        },
        "$:/core/images/size": {
            "title": "$:/core/images/size",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-size tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M92.343 26l-9.171 9.172a4 4 0 105.656 5.656l16-16a4 4 0 000-5.656l-16-16a4 4 0 10-5.656 5.656L92.343 18H22a4 4 0 00-4 4v70.343l-9.172-9.171a4 4 0 10-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656L26 92.343V22l-4 4h70.343zM112 52v64l4-4H52a4 4 0 100 8h64a4 4 0 004-4V52a4 4 0 10-8 0z\"/></svg>"
        },
        "$:/core/images/spiral": {
            "title": "$:/core/images/spiral",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-spiral tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074a4.785 4.785 0 00-4.52-5.03 4.778 4.778 0 00-5.03 4.52c-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01a1.047 1.047 0 01-.264-.332c-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"/></svg>"
        },
        "$:/core/images/stamp": {
            "title": "$:/core/images/stamp",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-stamp tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M49.733 64H16.01C11.584 64 8 67.583 8 72.003V97h112V72.003A8 8 0 00111.99 64H78.267A22.813 22.813 0 0175.5 53.077c0-6.475 2.687-12.324 7.009-16.497A22.818 22.818 0 0087 22.952C87 10.276 76.703 0 64 0S41 10.276 41 22.952c0 5.103 1.669 9.817 4.491 13.628 4.322 4.173 7.009 10.022 7.009 16.497 0 3.954-1.002 7.675-2.767 10.923zM8 104h112v8H8v-8z\"/></svg>"
        },
        "$:/core/images/star-filled": {
            "title": "$:/core/images/star-filled",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-star-filled tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M61.836 96.823l37.327 27.287c2.72 1.99 6.379-.69 5.343-3.912L90.29 75.988l-1.26 3.91 37.285-27.345c2.718-1.993 1.32-6.327-2.041-6.33l-46.113-.036 3.3 2.416L67.176 4.416c-1.04-3.221-5.563-3.221-6.604 0L46.29 48.603l3.3-2.416-46.113.036c-3.362.003-4.759 4.337-2.04 6.33L38.72 79.898l-1.26-3.91-14.216 44.21c-1.036 3.223 2.622 5.901 5.343 3.912l37.326-27.287h-4.078z\"/></svg>"
        },
        "$:/core/images/storyview-classic": {
            "title": "$:/core/images/storyview-classic",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-classic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm0 48C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0 32C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"
        },
        "$:/core/images/storyview-pop": {
            "title": "$:/core/images/storyview-pop",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-pop tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm-7.99 40C11.587 56 8 59.578 8 63.992v16.016C8 84.422 11.584 88 16.01 88h95.98c4.424 0 8.01-3.578 8.01-7.992V63.992c0-4.414-3.584-7.992-8.01-7.992H16.01zM24 96C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0-32C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"
        },
        "$:/core/images/storyview-zoomin": {
            "title": "$:/core/images/storyview-zoomin",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-zoomin tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16A8 8 0 0016 24.009V71.99C16 76.414 19.588 80 24 80h80a8 8 0 008-8.009V24.01c0-4.423-3.588-8.009-8-8.009H24z\"/></svg>"
        },
        "$:/core/images/strikethrough": {
            "title": "$:/core/images/strikethrough",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-strikethrough tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M92.794 38.726h15.422c-.229-6.74-1.514-12.538-3.856-17.393-2.342-4.855-5.54-8.881-9.596-12.08-4.055-3.199-8.767-5.54-14.136-7.025C75.258.743 69.433 0 63.15 0a62.76 62.76 0 00-16.364 2.142C41.474 3.57 36.733 5.74 32.564 8.653c-4.17 2.913-7.511 6.626-10.025 11.138-2.513 4.512-3.77 9.853-3.77 16.022 0 5.597 1.115 10.252 3.342 13.965 2.228 3.712 5.198 6.74 8.91 9.081 3.713 2.342 7.911 4.227 12.595 5.655a194.641 194.641 0 0014.308 3.77c4.855 1.085 9.624 2.142 14.308 3.17 4.683 1.028 8.881 2.37 12.594 4.027 3.713 1.656 6.683 3.798 8.91 6.425 2.228 2.628 3.342 6.055 3.342 10.281 0 4.456-.914 8.111-2.742 10.967a19.953 19.953 0 01-7.197 6.768c-2.97 1.657-6.311 2.828-10.024 3.513a60.771 60.771 0 01-11.052 1.028c-4.57 0-9.025-.571-13.366-1.713-4.34-1.143-8.139-2.913-11.394-5.312-3.256-2.4-5.884-5.455-7.883-9.168-1.999-3.712-2.998-8.139-2.998-13.28H15c0 7.426 1.342 13.852 4.027 19.278 2.684 5.426 6.34 9.881 10.966 13.365 4.627 3.484 9.996 6.083 16.107 7.797 6.112 1.713 12.595 2.57 19.449 2.57 5.597 0 11.223-.657 16.878-1.97 5.655-1.314 10.767-3.428 15.336-6.34 4.57-2.914 8.31-6.683 11.224-11.31 2.913-4.626 4.37-10.195 4.37-16.707 0-6.054-1.115-11.08-3.342-15.079-2.228-3.998-5.198-7.31-8.91-9.938-3.713-2.627-7.911-4.712-12.595-6.254a170.83 170.83 0 00-14.308-4.027 549.669 549.669 0 00-14.308-3.17c-4.683-.971-8.881-2.2-12.594-3.684-3.713-1.485-6.683-3.399-8.91-5.74-2.228-2.342-3.342-5.398-3.342-9.168 0-3.998.771-7.34 2.313-10.024 1.543-2.685 3.599-4.826 6.17-6.426 2.57-1.599 5.51-2.741 8.824-3.427a49.767 49.767 0 0110.11-1.028c8.453 0 15.393 1.97 20.819 5.912 5.426 3.94 8.596 10.31 9.51 19.106z\"/><path d=\"M5 54h118v16H5z\"/></g></svg>"
        },
        "$:/core/images/subscript": {
            "title": "$:/core/images/subscript",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-subscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 128.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"
        },
        "$:/core/images/superscript": {
            "title": "$:/core/images/superscript",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-superscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 63.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"
        },
        "$:/core/images/tag-button": {
            "title": "$:/core/images/tag-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tag-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M18.164 47.66l.004 4.105c.003 3.823 2.19 9.097 4.885 11.792l61.85 61.85c2.697 2.697 7.068 2.69 9.769-.01L125.767 94.3a6.903 6.903 0 00.01-9.77L63.928 22.683c-2.697-2.697-7.976-4.88-11.796-4.881l-27.076-.007a6.902 6.902 0 00-6.91 6.91l.008 9.96.287.033c3.73.411 8.489-.044 13.365-1.153a9.702 9.702 0 0111.14-3.662l.291-.13.128.285a9.7 9.7 0 013.3 2.17c3.796 3.796 3.801 9.945.012 13.734-3.618 3.618-9.386 3.777-13.204.482-5.365 1.122-10.674 1.596-15.309 1.237z\"/><path d=\"M47.633 39.532l.023.051c-9.689 4.356-21.584 6.799-30.396 5.828C5.273 44.089-1.028 36.43 2.443 24.078 5.562 12.976 14.3 4.361 24.047 1.548c10.68-3.083 19.749 1.968 19.749 13.225h-8.623c0-4.859-3.078-6.573-8.735-4.94-6.91 1.995-13.392 8.383-15.694 16.577-1.915 6.818.417 9.653 7.46 10.43 7.126.785 17.531-1.352 25.917-5.121l.027.06.036-.017c1.76-.758 6.266 6.549 3.524 7.74a2.8 2.8 0 01-.075.03z\"/></g></svg>"
        },
        "$:/core/images/theme-button": {
            "title": "$:/core/images/theme-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-theme-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.854 66.945a122.626 122.626 0 01-3.9-4.819c-11.064-14.548-16.645-6.888-22.96 0-6.315 6.888 1.664 12.47-4.33 17.335-5.993 4.866-5.623 6.552-15.737-2.35-10.115-8.9-10.815-11.351-6.172-16.43 4.644-5.08 8.524 2.918 18.01-6.108 9.485-9.026 1.517-17.026 1.517-17.026S42.03-2.824 68.42.157c26.39 2.982-9.984-3.86-19.031 27.801-3.874 13.556.72 10.362 8.066 16.087 1.707 1.33 6.428 4.732 12.671 9.318-6.129 5.879-11.157 10.669-14.273 13.582zm11.641 12.947c16.013 17.036 37.742 37.726 45.117 40.42 10.432 3.813 15.388-3.141 15.388-14.79 0-7.151-23.83-26.542-43.924-41.769-7.408 7.156-13.376 12.953-16.58 16.139z\"/><path d=\"M11.069 109.828L46.31 74.587a3.56 3.56 0 115.037-5.032l15.098 15.098a3.56 3.56 0 11-5.032 5.037l-35.24 35.241c-4.171 4.17-10.933 4.17-15.104 0-4.17-4.17-4.17-10.933 0-15.103zM124.344 6.622l5.034 5.034-7.49 12.524-7.613 2.58L61.413 79.62l-5.034-5.034 52.861-52.862 2.58-7.614 12.524-7.49z\"/></g></svg>"
        },
        "$:/core/images/timestamp-off": {
            "title": "$:/core/images/timestamp-off",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-off tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/></g></svg>"
        },
        "$:/core/images/timestamp-on": {
            "title": "$:/core/images/timestamp-on",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-on tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178a5.005 5.005 0 01-7.045-.613 5.008 5.008 0 01.616-7.047l9.95-8.348a5 5 0 016.429 7.661l-9.95 8.348zm89.573 0a5.005 5.005 0 007.045-.613 5.008 5.008 0 00-.616-7.047l-9.95-8.348a5 5 0 00-6.428 7.661l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/></g></svg>"
        },
        "$:/core/images/tip": {
            "title": "$:/core/images/tip",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tip tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z\"/></svg>"
        },
        "$:/core/images/transcludify": {
            "title": "$:/core/images/transcludify",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-transcludify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M0 59.482c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.651-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02C1.36 67.377.591 67.288 0 67.288v-7.806zm24.66 0c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.65-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02c-.946-.177-1.715-.266-2.306-.266v-7.806zm43.965-3.538L80.6 52.041l2.306 7.097-12.063 3.903 7.628 10.378-6.12 4.435-7.63-10.467-7.45 10.201-5.943-4.524 7.628-10.023-12.152-4.17 2.306-7.096 12.064 4.17V43.347h7.451v12.596zm34.425 11.344c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806zm24.66 0c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806z\"/></svg>"
        },
        "$:/core/images/twitter": {
            "title": "$:/core/images/twitter",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-twitter tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.626 115.803A73.376 73.376 0 012 104.235c2.022.238 4.08.36 6.166.36 12.111 0 23.258-4.117 32.105-11.023-11.312-.208-20.859-7.653-24.148-17.883a25.98 25.98 0 0011.674-.441C15.971 72.881 7.061 62.474 7.061 49.997c0-.108 0-.216.002-.323a25.824 25.824 0 0011.709 3.22c-6.936-4.617-11.5-12.5-11.5-21.433 0-4.719 1.274-9.142 3.5-12.945 12.75 15.579 31.797 25.83 53.281 26.904-.44-1.884-.67-3.85-.67-5.868 0-14.22 11.575-25.75 25.852-25.75a25.865 25.865 0 0118.869 8.132 51.892 51.892 0 0016.415-6.248c-1.93 6.012-6.029 11.059-11.366 14.246A51.844 51.844 0 00128 25.878a52.428 52.428 0 01-12.9 13.33c.05 1.104.075 2.214.075 3.33 0 34.028-26 73.265-73.549 73.265\"/></svg>"
        },
        "$:/core/images/underline": {
            "title": "$:/core/images/underline",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-underline tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M7 117.421h114.248V128H7v-10.579zm97.871-18.525V0h-16.26v55.856c0 4.463-.605 8.576-1.816 12.338-1.212 3.762-3.03 7.046-5.452 9.851-2.423 2.806-5.452 4.974-9.086 6.504-3.635 1.53-7.939 2.296-12.912 2.296-6.25 0-11.159-1.786-14.73-5.356-3.57-3.571-5.356-8.417-5.356-14.538V0H23v65.038c0 5.356.542 10.234 1.626 14.633 1.084 4.4 2.965 8.194 5.643 11.382 2.678 3.188 6.185 5.643 10.52 7.365 4.337 1.721 9.756 2.582 16.26 2.582 7.27 0 13.582-1.435 18.938-4.304 5.356-2.87 9.755-7.365 13.199-13.486h.382v15.686h15.303z\"/></svg>"
        },
        "$:/core/images/unfold-all-button": {
            "title": "$:/core/images/unfold-all-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M63.945 60.624c-2.05 0-4.101-.78-5.666-2.345L35.662 35.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 41.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 58.279a7.986 7.986 0 01-5.663 2.346zM64.004 124.565c-2.05 0-4.102-.78-5.666-2.345L35.721 99.603c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 105.255l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.662 122.22a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
        },
        "$:/core/images/unfold-button": {
            "title": "$:/core/images/unfold-button",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M63.945 63.624c-2.05 0-4.101-.78-5.666-2.345L35.662 38.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 44.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 61.279a7.986 7.986 0 01-5.663 2.346zM64.004 105.682c-2.05.001-4.102-.78-5.666-2.344L35.721 80.721c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 86.373l16.966-16.966c3.124-3.125 8.194-3.13 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319l-22.617 22.617a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
        },
        "$:/core/images/unlocked-padlock": {
            "title": "$:/core/images/unlocked-padlock",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unlocked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M48.627 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h6.136c-10.455-12.651-27.364-35.788-4.3-55.142 24.636-20.672 45.835 4.353 55.777 16.201 9.943 11.85-2.676 22.437-12.457 9.892-9.78-12.545-21.167-24.146-33.207-14.043-12.041 10.104-1.757 22.36 8.813 34.958 2.467 2.94 3.641 5.732 3.865 8.134zm19.105 28.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"
        },
        "$:/core/images/up-arrow": {
            "title": "$:/core/images/up-arrow",
            "created": "20150316000544368",
            "modified": "20150316000831867",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-up-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M63.892.281c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.104 3.092-11.196 0L63.894 19.393 13.513 69.774a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98A7.892 7.892 0 0163.893.28z\"/></svg>"
        },
        "$:/core/images/video": {
            "title": "$:/core/images/video",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-video tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 12c-34.91 0-55.273 2.917-58.182 5.833C2.91 20.75 0 41.167 0 64.5c0 23.333 2.91 43.75 5.818 46.667C8.728 114.083 29.091 117 64 117c34.91 0 55.273-2.917 58.182-5.833C125.09 108.25 128 87.833 128 64.5c0-23.333-2.91-43.75-5.818-46.667C119.272 14.917 98.909 12 64 12zm-9.084 32.618c-3.813-2.542-6.905-.879-6.905 3.698v31.368c0 4.585 3.099 6.235 6.905 3.698l22.168-14.779c3.813-2.542 3.806-6.669 0-9.206L54.916 44.618z\"/></svg>"
        },
        "$:/core/images/warning": {
            "title": "$:/core/images/warning",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-warning tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z\"/></svg>"
        },
        "$:/language/Buttons/AdvancedSearch/Caption": {
            "title": "$:/language/Buttons/AdvancedSearch/Caption",
            "text": "advanced search"
        },
        "$:/language/Buttons/AdvancedSearch/Hint": {
            "title": "$:/language/Buttons/AdvancedSearch/Hint",
            "text": "Advanced search"
        },
        "$:/language/Buttons/Cancel/Caption": {
            "title": "$:/language/Buttons/Cancel/Caption",
            "text": "cancel"
        },
        "$:/language/Buttons/Cancel/Hint": {
            "title": "$:/language/Buttons/Cancel/Hint",
            "text": "Discard changes to this tiddler"
        },
        "$:/language/Buttons/Clone/Caption": {
            "title": "$:/language/Buttons/Clone/Caption",
            "text": "clone"
        },
        "$:/language/Buttons/Clone/Hint": {
            "title": "$:/language/Buttons/Clone/Hint",
            "text": "Clone this tiddler"
        },
        "$:/language/Buttons/Close/Caption": {
            "title": "$:/language/Buttons/Close/Caption",
            "text": "close"
        },
        "$:/language/Buttons/Close/Hint": {
            "title": "$:/language/Buttons/Close/Hint",
            "text": "Close this tiddler"
        },
        "$:/language/Buttons/CloseAll/Caption": {
            "title": "$:/language/Buttons/CloseAll/Caption",
            "text": "close all"
        },
        "$:/language/Buttons/CloseAll/Hint": {
            "title": "$:/language/Buttons/CloseAll/Hint",
            "text": "Close all tiddlers"
        },
        "$:/language/Buttons/CloseOthers/Caption": {
            "title": "$:/language/Buttons/CloseOthers/Caption",
            "text": "close others"
        },
        "$:/language/Buttons/CloseOthers/Hint": {
            "title": "$:/language/Buttons/CloseOthers/Hint",
            "text": "Close other tiddlers"
        },
        "$:/language/Buttons/ControlPanel/Caption": {
            "title": "$:/language/Buttons/ControlPanel/Caption",
            "text": "control panel"
        },
        "$:/language/Buttons/ControlPanel/Hint": {
            "title": "$:/language/Buttons/ControlPanel/Hint",
            "text": "Open control panel"
        },
        "$:/language/Buttons/CopyToClipboard/Caption": {
            "title": "$:/language/Buttons/CopyToClipboard/Caption",
            "text": "copy to clipboard"
        },
        "$:/language/Buttons/CopyToClipboard/Hint": {
            "title": "$:/language/Buttons/CopyToClipboard/Hint",
            "text": "Copy this text to the clipboard"
        },
        "$:/language/Buttons/Delete/Caption": {
            "title": "$:/language/Buttons/Delete/Caption",
            "text": "delete"
        },
        "$:/language/Buttons/Delete/Hint": {
            "title": "$:/language/Buttons/Delete/Hint",
            "text": "Delete this tiddler"
        },
        "$:/language/Buttons/Edit/Caption": {
            "title": "$:/language/Buttons/Edit/Caption",
            "text": "edit"
        },
        "$:/language/Buttons/Edit/Hint": {
            "title": "$:/language/Buttons/Edit/Hint",
            "text": "Edit this tiddler"
        },
        "$:/language/Buttons/Encryption/Caption": {
            "title": "$:/language/Buttons/Encryption/Caption",
            "text": "encryption"
        },
        "$:/language/Buttons/Encryption/Hint": {
            "title": "$:/language/Buttons/Encryption/Hint",
            "text": "Set or clear a password for saving this wiki"
        },
        "$:/language/Buttons/Encryption/ClearPassword/Caption": {
            "title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
            "text": "clear password"
        },
        "$:/language/Buttons/Encryption/ClearPassword/Hint": {
            "title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
            "text": "Clear the password and save this wiki without encryption"
        },
        "$:/language/Buttons/Encryption/SetPassword/Caption": {
            "title": "$:/language/Buttons/Encryption/SetPassword/Caption",
            "text": "set password"
        },
        "$:/language/Buttons/Encryption/SetPassword/Hint": {
            "title": "$:/language/Buttons/Encryption/SetPassword/Hint",
            "text": "Set a password for saving this wiki with encryption"
        },
        "$:/language/Buttons/ExportPage/Caption": {
            "title": "$:/language/Buttons/ExportPage/Caption",
            "text": "export all"
        },
        "$:/language/Buttons/ExportPage/Hint": {
            "title": "$:/language/Buttons/ExportPage/Hint",
            "text": "Export all tiddlers"
        },
        "$:/language/Buttons/ExportTiddler/Caption": {
            "title": "$:/language/Buttons/ExportTiddler/Caption",
            "text": "export tiddler"
        },
        "$:/language/Buttons/ExportTiddler/Hint": {
            "title": "$:/language/Buttons/ExportTiddler/Hint",
            "text": "Export tiddler"
        },
        "$:/language/Buttons/ExportTiddlers/Caption": {
            "title": "$:/language/Buttons/ExportTiddlers/Caption",
            "text": "export tiddlers"
        },
        "$:/language/Buttons/ExportTiddlers/Hint": {
            "title": "$:/language/Buttons/ExportTiddlers/Hint",
            "text": "Export tiddlers"
        },
        "$:/language/Buttons/SidebarSearch/Hint": {
            "title": "$:/language/Buttons/SidebarSearch/Hint",
            "text": "Select the sidebar search field"
        },
        "$:/language/Buttons/Fold/Caption": {
            "title": "$:/language/Buttons/Fold/Caption",
            "text": "fold tiddler"
        },
        "$:/language/Buttons/Fold/Hint": {
            "title": "$:/language/Buttons/Fold/Hint",
            "text": "Fold the body of this tiddler"
        },
        "$:/language/Buttons/Fold/FoldBar/Caption": {
            "title": "$:/language/Buttons/Fold/FoldBar/Caption",
            "text": "fold-bar"
        },
        "$:/language/Buttons/Fold/FoldBar/Hint": {
            "title": "$:/language/Buttons/Fold/FoldBar/Hint",
            "text": "Optional bars to fold and unfold tiddlers"
        },
        "$:/language/Buttons/Unfold/Caption": {
            "title": "$:/language/Buttons/Unfold/Caption",
            "text": "unfold tiddler"
        },
        "$:/language/Buttons/Unfold/Hint": {
            "title": "$:/language/Buttons/Unfold/Hint",
            "text": "Unfold the body of this tiddler"
        },
        "$:/language/Buttons/FoldOthers/Caption": {
            "title": "$:/language/Buttons/FoldOthers/Caption",
            "text": "fold other tiddlers"
        },
        "$:/language/Buttons/FoldOthers/Hint": {
            "title": "$:/language/Buttons/FoldOthers/Hint",
            "text": "Fold the bodies of other opened tiddlers"
        },
        "$:/language/Buttons/FoldAll/Caption": {
            "title": "$:/language/Buttons/FoldAll/Caption",
            "text": "fold all tiddlers"
        },
        "$:/language/Buttons/FoldAll/Hint": {
            "title": "$:/language/Buttons/FoldAll/Hint",
            "text": "Fold the bodies of all opened tiddlers"
        },
        "$:/language/Buttons/UnfoldAll/Caption": {
            "title": "$:/language/Buttons/UnfoldAll/Caption",
            "text": "unfold all tiddlers"
        },
        "$:/language/Buttons/UnfoldAll/Hint": {
            "title": "$:/language/Buttons/UnfoldAll/Hint",
            "text": "Unfold the bodies of all opened tiddlers"
        },
        "$:/language/Buttons/FullScreen/Caption": {
            "title": "$:/language/Buttons/FullScreen/Caption",
            "text": "full-screen"
        },
        "$:/language/Buttons/FullScreen/Hint": {
            "title": "$:/language/Buttons/FullScreen/Hint",
            "text": "Enter or leave full-screen mode"
        },
        "$:/language/Buttons/Help/Caption": {
            "title": "$:/language/Buttons/Help/Caption",
            "text": "help"
        },
        "$:/language/Buttons/Help/Hint": {
            "title": "$:/language/Buttons/Help/Hint",
            "text": "Show help panel"
        },
        "$:/language/Buttons/Import/Caption": {
            "title": "$:/language/Buttons/Import/Caption",
            "text": "import"
        },
        "$:/language/Buttons/Import/Hint": {
            "title": "$:/language/Buttons/Import/Hint",
            "text": "Import many types of file including text, image, TiddlyWiki or JSON"
        },
        "$:/language/Buttons/Info/Caption": {
            "title": "$:/language/Buttons/Info/Caption",
            "text": "info"
        },
        "$:/language/Buttons/Info/Hint": {
            "title": "$:/language/Buttons/Info/Hint",
            "text": "Show information for this tiddler"
        },
        "$:/language/Buttons/Home/Caption": {
            "title": "$:/language/Buttons/Home/Caption",
            "text": "home"
        },
        "$:/language/Buttons/Home/Hint": {
            "title": "$:/language/Buttons/Home/Hint",
            "text": "Open the default tiddlers"
        },
        "$:/language/Buttons/Language/Caption": {
            "title": "$:/language/Buttons/Language/Caption",
            "text": "language"
        },
        "$:/language/Buttons/Language/Hint": {
            "title": "$:/language/Buttons/Language/Hint",
            "text": "Choose the user interface language"
        },
        "$:/language/Buttons/Manager/Caption": {
            "title": "$:/language/Buttons/Manager/Caption",
            "text": "tiddler manager"
        },
        "$:/language/Buttons/Manager/Hint": {
            "title": "$:/language/Buttons/Manager/Hint",
            "text": "Open tiddler manager"
        },
        "$:/language/Buttons/More/Caption": {
            "title": "$:/language/Buttons/More/Caption",
            "text": "more"
        },
        "$:/language/Buttons/More/Hint": {
            "title": "$:/language/Buttons/More/Hint",
            "text": "More actions"
        },
        "$:/language/Buttons/NewHere/Caption": {
            "title": "$:/language/Buttons/NewHere/Caption",
            "text": "new here"
        },
        "$:/language/Buttons/NewHere/Hint": {
            "title": "$:/language/Buttons/NewHere/Hint",
            "text": "Create a new tiddler tagged with this one"
        },
        "$:/language/Buttons/NewJournal/Caption": {
            "title": "$:/language/Buttons/NewJournal/Caption",
            "text": "new journal"
        },
        "$:/language/Buttons/NewJournal/Hint": {
            "title": "$:/language/Buttons/NewJournal/Hint",
            "text": "Create a new journal tiddler"
        },
        "$:/language/Buttons/NewJournalHere/Caption": {
            "title": "$:/language/Buttons/NewJournalHere/Caption",
            "text": "new journal here"
        },
        "$:/language/Buttons/NewJournalHere/Hint": {
            "title": "$:/language/Buttons/NewJournalHere/Hint",
            "text": "Create a new journal tiddler tagged with this one"
        },
        "$:/language/Buttons/NewImage/Caption": {
            "title": "$:/language/Buttons/NewImage/Caption",
            "text": "new image"
        },
        "$:/language/Buttons/NewImage/Hint": {
            "title": "$:/language/Buttons/NewImage/Hint",
            "text": "Create a new image tiddler"
        },
        "$:/language/Buttons/NewMarkdown/Caption": {
            "title": "$:/language/Buttons/NewMarkdown/Caption",
            "text": "new Markdown tiddler"
        },
        "$:/language/Buttons/NewMarkdown/Hint": {
            "title": "$:/language/Buttons/NewMarkdown/Hint",
            "text": "Create a new Markdown tiddler"
        },
        "$:/language/Buttons/NewTiddler/Caption": {
            "title": "$:/language/Buttons/NewTiddler/Caption",
            "text": "new tiddler"
        },
        "$:/language/Buttons/NewTiddler/Hint": {
            "title": "$:/language/Buttons/NewTiddler/Hint",
            "text": "Create a new tiddler"
        },
        "$:/language/Buttons/OpenWindow/Caption": {
            "title": "$:/language/Buttons/OpenWindow/Caption",
            "text": "open in new window"
        },
        "$:/language/Buttons/OpenWindow/Hint": {
            "title": "$:/language/Buttons/OpenWindow/Hint",
            "text": "Open tiddler in new window"
        },
        "$:/language/Buttons/Palette/Caption": {
            "title": "$:/language/Buttons/Palette/Caption",
            "text": "palette"
        },
        "$:/language/Buttons/Palette/Hint": {
            "title": "$:/language/Buttons/Palette/Hint",
            "text": "Choose the colour palette"
        },
        "$:/language/Buttons/Permalink/Caption": {
            "title": "$:/language/Buttons/Permalink/Caption",
            "text": "permalink"
        },
        "$:/language/Buttons/Permalink/Hint": {
            "title": "$:/language/Buttons/Permalink/Hint",
            "text": "Set browser address bar to a direct link to this tiddler"
        },
        "$:/language/Buttons/Permaview/Caption": {
            "title": "$:/language/Buttons/Permaview/Caption",
            "text": "permaview"
        },
        "$:/language/Buttons/Permaview/Hint": {
            "title": "$:/language/Buttons/Permaview/Hint",
            "text": "Set browser address bar to a direct link to all the tiddlers in this story"
        },
        "$:/language/Buttons/Print/Caption": {
            "title": "$:/language/Buttons/Print/Caption",
            "text": "print page"
        },
        "$:/language/Buttons/Print/Hint": {
            "title": "$:/language/Buttons/Print/Hint",
            "text": "Print the current page"
        },
        "$:/language/Buttons/Refresh/Caption": {
            "title": "$:/language/Buttons/Refresh/Caption",
            "text": "refresh"
        },
        "$:/language/Buttons/Refresh/Hint": {
            "title": "$:/language/Buttons/Refresh/Hint",
            "text": "Perform a full refresh of the wiki"
        },
        "$:/language/Buttons/Save/Caption": {
            "title": "$:/language/Buttons/Save/Caption",
            "text": "ok"
        },
        "$:/language/Buttons/Save/Hint": {
            "title": "$:/language/Buttons/Save/Hint",
            "text": "Confirm changes to this tiddler"
        },
        "$:/language/Buttons/SaveWiki/Caption": {
            "title": "$:/language/Buttons/SaveWiki/Caption",
            "text": "save changes"
        },
        "$:/language/Buttons/SaveWiki/Hint": {
            "title": "$:/language/Buttons/SaveWiki/Hint",
            "text": "Save changes"
        },
        "$:/language/Buttons/StoryView/Caption": {
            "title": "$:/language/Buttons/StoryView/Caption",
            "text": "storyview"
        },
        "$:/language/Buttons/StoryView/Hint": {
            "title": "$:/language/Buttons/StoryView/Hint",
            "text": "Choose the story visualisation"
        },
        "$:/language/Buttons/HideSideBar/Caption": {
            "title": "$:/language/Buttons/HideSideBar/Caption",
            "text": "hide sidebar"
        },
        "$:/language/Buttons/HideSideBar/Hint": {
            "title": "$:/language/Buttons/HideSideBar/Hint",
            "text": "Hide sidebar"
        },
        "$:/language/Buttons/ShowSideBar/Caption": {
            "title": "$:/language/Buttons/ShowSideBar/Caption",
            "text": "show sidebar"
        },
        "$:/language/Buttons/ShowSideBar/Hint": {
            "title": "$:/language/Buttons/ShowSideBar/Hint",
            "text": "Show sidebar"
        },
        "$:/language/Buttons/TagManager/Caption": {
            "title": "$:/language/Buttons/TagManager/Caption",
            "text": "tag manager"
        },
        "$:/language/Buttons/TagManager/Hint": {
            "title": "$:/language/Buttons/TagManager/Hint",
            "text": "Open tag manager"
        },
        "$:/language/Buttons/Timestamp/Caption": {
            "title": "$:/language/Buttons/Timestamp/Caption",
            "text": "timestamps"
        },
        "$:/language/Buttons/Timestamp/Hint": {
            "title": "$:/language/Buttons/Timestamp/Hint",
            "text": "Choose whether modifications update timestamps"
        },
        "$:/language/Buttons/Timestamp/On/Caption": {
            "title": "$:/language/Buttons/Timestamp/On/Caption",
            "text": "timestamps are on"
        },
        "$:/language/Buttons/Timestamp/On/Hint": {
            "title": "$:/language/Buttons/Timestamp/On/Hint",
            "text": "Update timestamps when tiddlers are modified"
        },
        "$:/language/Buttons/Timestamp/Off/Caption": {
            "title": "$:/language/Buttons/Timestamp/Off/Caption",
            "text": "timestamps are off"
        },
        "$:/language/Buttons/Timestamp/Off/Hint": {
            "title": "$:/language/Buttons/Timestamp/Off/Hint",
            "text": "Don't update timestamps when tiddlers are modified"
        },
        "$:/language/Buttons/Theme/Caption": {
            "title": "$:/language/Buttons/Theme/Caption",
            "text": "theme"
        },
        "$:/language/Buttons/Theme/Hint": {
            "title": "$:/language/Buttons/Theme/Hint",
            "text": "Choose the display theme"
        },
        "$:/language/Buttons/Bold/Caption": {
            "title": "$:/language/Buttons/Bold/Caption",
            "text": "bold"
        },
        "$:/language/Buttons/Bold/Hint": {
            "title": "$:/language/Buttons/Bold/Hint",
            "text": "Apply bold formatting to selection"
        },
        "$:/language/Buttons/Clear/Caption": {
            "title": "$:/language/Buttons/Clear/Caption",
            "text": "clear"
        },
        "$:/language/Buttons/Clear/Hint": {
            "title": "$:/language/Buttons/Clear/Hint",
            "text": "Clear image to solid colour"
        },
        "$:/language/Buttons/EditorHeight/Caption": {
            "title": "$:/language/Buttons/EditorHeight/Caption",
            "text": "editor height"
        },
        "$:/language/Buttons/EditorHeight/Caption/Auto": {
            "title": "$:/language/Buttons/EditorHeight/Caption/Auto",
            "text": "Automatically adjust height to fit content"
        },
        "$:/language/Buttons/EditorHeight/Caption/Fixed": {
            "title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
            "text": "Fixed height:"
        },
        "$:/language/Buttons/EditorHeight/Hint": {
            "title": "$:/language/Buttons/EditorHeight/Hint",
            "text": "Choose the height of the text editor"
        },
        "$:/language/Buttons/Excise/Caption": {
            "title": "$:/language/Buttons/Excise/Caption",
            "text": "excise"
        },
        "$:/language/Buttons/Excise/Caption/Excise": {
            "title": "$:/language/Buttons/Excise/Caption/Excise",
            "text": "Perform excision"
        },
        "$:/language/Buttons/Excise/Caption/MacroName": {
            "title": "$:/language/Buttons/Excise/Caption/MacroName",
            "text": "Macro name:"
        },
        "$:/language/Buttons/Excise/Caption/NewTitle": {
            "title": "$:/language/Buttons/Excise/Caption/NewTitle",
            "text": "Title of new tiddler:"
        },
        "$:/language/Buttons/Excise/Caption/Replace": {
            "title": "$:/language/Buttons/Excise/Caption/Replace",
            "text": "Replace excised text with:"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Macro": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
            "text": "macro"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Link": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Link",
            "text": "link"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
            "text": "transclusion"
        },
        "$:/language/Buttons/Excise/Caption/Tag": {
            "title": "$:/language/Buttons/Excise/Caption/Tag",
            "text": "Tag new tiddler with the title of this tiddler"
        },
        "$:/language/Buttons/Excise/Caption/TiddlerExists": {
            "title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
            "text": "Warning: tiddler already exists"
        },
        "$:/language/Buttons/Excise/Hint": {
            "title": "$:/language/Buttons/Excise/Hint",
            "text": "Excise the selected text into a new tiddler"
        },
        "$:/language/Buttons/Heading1/Caption": {
            "title": "$:/language/Buttons/Heading1/Caption",
            "text": "heading 1"
        },
        "$:/language/Buttons/Heading1/Hint": {
            "title": "$:/language/Buttons/Heading1/Hint",
            "text": "Apply heading level 1 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading2/Caption": {
            "title": "$:/language/Buttons/Heading2/Caption",
            "text": "heading 2"
        },
        "$:/language/Buttons/Heading2/Hint": {
            "title": "$:/language/Buttons/Heading2/Hint",
            "text": "Apply heading level 2 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading3/Caption": {
            "title": "$:/language/Buttons/Heading3/Caption",
            "text": "heading 3"
        },
        "$:/language/Buttons/Heading3/Hint": {
            "title": "$:/language/Buttons/Heading3/Hint",
            "text": "Apply heading level 3 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading4/Caption": {
            "title": "$:/language/Buttons/Heading4/Caption",
            "text": "heading 4"
        },
        "$:/language/Buttons/Heading4/Hint": {
            "title": "$:/language/Buttons/Heading4/Hint",
            "text": "Apply heading level 4 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading5/Caption": {
            "title": "$:/language/Buttons/Heading5/Caption",
            "text": "heading 5"
        },
        "$:/language/Buttons/Heading5/Hint": {
            "title": "$:/language/Buttons/Heading5/Hint",
            "text": "Apply heading level 5 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading6/Caption": {
            "title": "$:/language/Buttons/Heading6/Caption",
            "text": "heading 6"
        },
        "$:/language/Buttons/Heading6/Hint": {
            "title": "$:/language/Buttons/Heading6/Hint",
            "text": "Apply heading level 6 formatting to lines containing selection"
        },
        "$:/language/Buttons/Italic/Caption": {
            "title": "$:/language/Buttons/Italic/Caption",
            "text": "italic"
        },
        "$:/language/Buttons/Italic/Hint": {
            "title": "$:/language/Buttons/Italic/Hint",
            "text": "Apply italic formatting to selection"
        },
        "$:/language/Buttons/LineWidth/Caption": {
            "title": "$:/language/Buttons/LineWidth/Caption",
            "text": "line width"
        },
        "$:/language/Buttons/LineWidth/Hint": {
            "title": "$:/language/Buttons/LineWidth/Hint",
            "text": "Set line width for painting"
        },
        "$:/language/Buttons/Link/Caption": {
            "title": "$:/language/Buttons/Link/Caption",
            "text": "link"
        },
        "$:/language/Buttons/Link/Hint": {
            "title": "$:/language/Buttons/Link/Hint",
            "text": "Create wikitext link"
        },
        "$:/language/Buttons/Linkify/Caption": {
            "title": "$:/language/Buttons/Linkify/Caption",
            "text": "wikilink"
        },
        "$:/language/Buttons/Linkify/Hint": {
            "title": "$:/language/Buttons/Linkify/Hint",
            "text": "Wrap selection in square brackets"
        },
        "$:/language/Buttons/ListBullet/Caption": {
            "title": "$:/language/Buttons/ListBullet/Caption",
            "text": "bulleted list"
        },
        "$:/language/Buttons/ListBullet/Hint": {
            "title": "$:/language/Buttons/ListBullet/Hint",
            "text": "Apply bulleted list formatting to lines containing selection"
        },
        "$:/language/Buttons/ListNumber/Caption": {
            "title": "$:/language/Buttons/ListNumber/Caption",
            "text": "numbered list"
        },
        "$:/language/Buttons/ListNumber/Hint": {
            "title": "$:/language/Buttons/ListNumber/Hint",
            "text": "Apply numbered list formatting to lines containing selection"
        },
        "$:/language/Buttons/MonoBlock/Caption": {
            "title": "$:/language/Buttons/MonoBlock/Caption",
            "text": "monospaced block"
        },
        "$:/language/Buttons/MonoBlock/Hint": {
            "title": "$:/language/Buttons/MonoBlock/Hint",
            "text": "Apply monospaced block formatting to lines containing selection"
        },
        "$:/language/Buttons/MonoLine/Caption": {
            "title": "$:/language/Buttons/MonoLine/Caption",
            "text": "monospaced"
        },
        "$:/language/Buttons/MonoLine/Hint": {
            "title": "$:/language/Buttons/MonoLine/Hint",
            "text": "Apply monospaced character formatting to selection"
        },
        "$:/language/Buttons/Opacity/Caption": {
            "title": "$:/language/Buttons/Opacity/Caption",
            "text": "opacity"
        },
        "$:/language/Buttons/Opacity/Hint": {
            "title": "$:/language/Buttons/Opacity/Hint",
            "text": "Set painting opacity"
        },
        "$:/language/Buttons/Paint/Caption": {
            "title": "$:/language/Buttons/Paint/Caption",
            "text": "paint colour"
        },
        "$:/language/Buttons/Paint/Hint": {
            "title": "$:/language/Buttons/Paint/Hint",
            "text": "Set painting colour"
        },
        "$:/language/Buttons/Picture/Caption": {
            "title": "$:/language/Buttons/Picture/Caption",
            "text": "picture"
        },
        "$:/language/Buttons/Picture/Hint": {
            "title": "$:/language/Buttons/Picture/Hint",
            "text": "Insert picture"
        },
        "$:/language/Buttons/Preview/Caption": {
            "title": "$:/language/Buttons/Preview/Caption",
            "text": "preview"
        },
        "$:/language/Buttons/Preview/Hint": {
            "title": "$:/language/Buttons/Preview/Hint",
            "text": "Show preview pane"
        },
        "$:/language/Buttons/PreviewType/Caption": {
            "title": "$:/language/Buttons/PreviewType/Caption",
            "text": "preview type"
        },
        "$:/language/Buttons/PreviewType/Hint": {
            "title": "$:/language/Buttons/PreviewType/Hint",
            "text": "Choose preview type"
        },
        "$:/language/Buttons/Quote/Caption": {
            "title": "$:/language/Buttons/Quote/Caption",
            "text": "quote"
        },
        "$:/language/Buttons/Quote/Hint": {
            "title": "$:/language/Buttons/Quote/Hint",
            "text": "Apply quoted text formatting to lines containing selection"
        },
        "$:/language/Buttons/RotateLeft/Caption": {
            "title": "$:/language/Buttons/RotateLeft/Caption",
            "text": "rotate left"
        },
        "$:/language/Buttons/RotateLeft/Hint": {
            "title": "$:/language/Buttons/RotateLeft/Hint",
            "text": "Rotate image left by 90 degrees"
        },
        "$:/language/Buttons/Size/Caption": {
            "title": "$:/language/Buttons/Size/Caption",
            "text": "image size"
        },
        "$:/language/Buttons/Size/Caption/Height": {
            "title": "$:/language/Buttons/Size/Caption/Height",
            "text": "Height:"
        },
        "$:/language/Buttons/Size/Caption/Resize": {
            "title": "$:/language/Buttons/Size/Caption/Resize",
            "text": "Resize image"
        },
        "$:/language/Buttons/Size/Caption/Width": {
            "title": "$:/language/Buttons/Size/Caption/Width",
            "text": "Width:"
        },
        "$:/language/Buttons/Size/Hint": {
            "title": "$:/language/Buttons/Size/Hint",
            "text": "Set image size"
        },
        "$:/language/Buttons/Stamp/Caption": {
            "title": "$:/language/Buttons/Stamp/Caption",
            "text": "stamp"
        },
        "$:/language/Buttons/Stamp/Caption/New": {
            "title": "$:/language/Buttons/Stamp/Caption/New",
            "text": "Add your own"
        },
        "$:/language/Buttons/Stamp/Hint": {
            "title": "$:/language/Buttons/Stamp/Hint",
            "text": "Insert a preconfigured snippet of text"
        },
        "$:/language/Buttons/Stamp/New/Title": {
            "title": "$:/language/Buttons/Stamp/New/Title",
            "text": "Name as shown in menu"
        },
        "$:/language/Buttons/Stamp/New/Text": {
            "title": "$:/language/Buttons/Stamp/New/Text",
            "text": "Text of snippet. (Remember to add a descriptive title in the caption field)."
        },
        "$:/language/Buttons/Strikethrough/Caption": {
            "title": "$:/language/Buttons/Strikethrough/Caption",
            "text": "strikethrough"
        },
        "$:/language/Buttons/Strikethrough/Hint": {
            "title": "$:/language/Buttons/Strikethrough/Hint",
            "text": "Apply strikethrough formatting to selection"
        },
        "$:/language/Buttons/Subscript/Caption": {
            "title": "$:/language/Buttons/Subscript/Caption",
            "text": "subscript"
        },
        "$:/language/Buttons/Subscript/Hint": {
            "title": "$:/language/Buttons/Subscript/Hint",
            "text": "Apply subscript formatting to selection"
        },
        "$:/language/Buttons/Superscript/Caption": {
            "title": "$:/language/Buttons/Superscript/Caption",
            "text": "superscript"
        },
        "$:/language/Buttons/Superscript/Hint": {
            "title": "$:/language/Buttons/Superscript/Hint",
            "text": "Apply superscript formatting to selection"
        },
        "$:/language/Buttons/ToggleSidebar/Hint": {
            "title": "$:/language/Buttons/ToggleSidebar/Hint",
            "text": "Toggle the sidebar visibility"
        },
        "$:/language/Buttons/Transcludify/Caption": {
            "title": "$:/language/Buttons/Transcludify/Caption",
            "text": "transclusion"
        },
        "$:/language/Buttons/Transcludify/Hint": {
            "title": "$:/language/Buttons/Transcludify/Hint",
            "text": "Wrap selection in curly brackets"
        },
        "$:/language/Buttons/Underline/Caption": {
            "title": "$:/language/Buttons/Underline/Caption",
            "text": "underline"
        },
        "$:/language/Buttons/Underline/Hint": {
            "title": "$:/language/Buttons/Underline/Hint",
            "text": "Apply underline formatting to selection"
        },
        "$:/language/ControlPanel/Advanced/Caption": {
            "title": "$:/language/ControlPanel/Advanced/Caption",
            "text": "Advanced"
        },
        "$:/language/ControlPanel/Advanced/Hint": {
            "title": "$:/language/ControlPanel/Advanced/Hint",
            "text": "Internal information about this TiddlyWiki"
        },
        "$:/language/ControlPanel/Appearance/Caption": {
            "title": "$:/language/ControlPanel/Appearance/Caption",
            "text": "Appearance"
        },
        "$:/language/ControlPanel/Appearance/Hint": {
            "title": "$:/language/ControlPanel/Appearance/Hint",
            "text": "Ways to customise the appearance of your TiddlyWiki."
        },
        "$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
            "title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
            "text": "Animation duration"
        },
        "$:/language/ControlPanel/Basics/AutoFocus/Prompt": {
            "title": "$:/language/ControlPanel/Basics/AutoFocus/Prompt",
            "text": "Default focus field for new tiddlers"
        },
        "$:/language/ControlPanel/Basics/Caption": {
            "title": "$:/language/ControlPanel/Basics/Caption",
            "text": "Basics"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
            "text": "Use &#91;&#91;double square brackets&#93;&#93; for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
            "text": "Default tiddlers"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
            "text": "Choose which tiddlers are displayed at startup"
        },
        "$:/language/ControlPanel/Basics/Language/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Language/Prompt",
            "text": "Hello! Current language:"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
            "text": "Title of new journal tiddlers"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt",
            "text": "Text for new journal tiddlers"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
            "text": "Tags for new journal tiddlers"
        },
        "$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt",
            "text": "Title of new tiddlers"
        },
        "$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt",
            "text": "Tags for new tiddlers"
        },
        "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
            "text": "Number of overridden shadow tiddlers"
        },
        "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
            "text": "Number of shadow tiddlers"
        },
        "$:/language/ControlPanel/Basics/Subtitle/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
            "text": "Subtitle"
        },
        "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
            "text": "Number of system tiddlers"
        },
        "$:/language/ControlPanel/Basics/Tags/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Tags/Prompt",
            "text": "Number of tags"
        },
        "$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
            "text": "Number of tiddlers"
        },
        "$:/language/ControlPanel/Basics/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Title/Prompt",
            "text": "Title of this ~TiddlyWiki"
        },
        "$:/language/ControlPanel/Basics/Username/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Username/Prompt",
            "text": "Username for signing edits"
        },
        "$:/language/ControlPanel/Basics/Version/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Version/Prompt",
            "text": "~TiddlyWiki version"
        },
        "$:/language/ControlPanel/EditorTypes/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Caption",
            "text": "Editor Types"
        },
        "$:/language/ControlPanel/EditorTypes/Editor/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
            "text": "Editor"
        },
        "$:/language/ControlPanel/EditorTypes/Hint": {
            "title": "$:/language/ControlPanel/EditorTypes/Hint",
            "text": "These tiddlers determine which editor is used to edit specific tiddler types."
        },
        "$:/language/ControlPanel/EditorTypes/Type/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
            "text": "Type"
        },
        "$:/language/ControlPanel/Info/Caption": {
            "title": "$:/language/ControlPanel/Info/Caption",
            "text": "Info"
        },
        "$:/language/ControlPanel/Info/Hint": {
            "title": "$:/language/ControlPanel/Info/Hint",
            "text": "Information about this TiddlyWiki"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
            "text": "Type shortcut here"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
            "text": "add shortcut"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
            "text": "Keyboard Shortcuts"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Hint": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
            "text": "Manage keyboard shortcut assignments"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
            "text": "No keyboard shortcuts assigned"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
            "text": "remove keyboard shortcut"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
            "text": "All platforms"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
            "text": "Macintosh platform only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
            "text": "Non-Macintosh platforms only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
            "text": "Linux platform only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
            "text": "Non-Linux platforms only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
            "text": "Windows platform only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
            "text": "Non-Windows platforms only"
        },
        "$:/language/ControlPanel/LoadedModules/Caption": {
            "title": "$:/language/ControlPanel/LoadedModules/Caption",
            "text": "Loaded Modules"
        },
        "$:/language/ControlPanel/LoadedModules/Hint": {
            "title": "$:/language/ControlPanel/LoadedModules/Hint",
            "text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."
        },
        "$:/language/ControlPanel/Palette/Caption": {
            "title": "$:/language/ControlPanel/Palette/Caption",
            "text": "Palette"
        },
        "$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
            "title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
            "text": "clone"
        },
        "$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
            "text": "It is recommended that you clone this shadow palette before editing it"
        },
        "$:/language/ControlPanel/Palette/Editor/Delete/Hint": {
            "title": "$:/language/ControlPanel/Palette/Editor/Delete/Hint",
            "text": "delete this entry from the current palette"
        },
        "$:/language/ControlPanel/Palette/Editor/Names/External/Show": {
            "title": "$:/language/ControlPanel/Palette/Editor/Names/External/Show",
            "text": "Show color names that are not part of the current palette"
        },
        "$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
            "title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
            "text": "This shadow palette has been modified"
        },
        "$:/language/ControlPanel/Palette/Editor/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Editor/Prompt",
            "text": "Editing"
        },
        "$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
            "title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
            "text": "reset"
        },
        "$:/language/ControlPanel/Palette/HideEditor/Caption": {
            "title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
            "text": "hide editor"
        },
        "$:/language/ControlPanel/Palette/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Prompt",
            "text": "Current palette:"
        },
        "$:/language/ControlPanel/Palette/ShowEditor/Caption": {
            "title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
            "text": "show editor"
        },
        "$:/language/ControlPanel/Parsing/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Caption",
            "text": "Parsing"
        },
        "$:/language/ControlPanel/Parsing/Hint": {
            "title": "$:/language/ControlPanel/Parsing/Hint",
            "text": "Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation."
        },
        "$:/language/ControlPanel/Parsing/Block/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Block/Caption",
            "text": "Block Parse Rules"
        },
        "$:/language/ControlPanel/Parsing/Inline/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Inline/Caption",
            "text": "Inline Parse Rules"
        },
        "$:/language/ControlPanel/Parsing/Pragma/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
            "text": "Pragma Parse Rules"
        },
        "$:/language/ControlPanel/Plugins/Add/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Add/Caption",
            "text": "Get more plugins"
        },
        "$:/language/ControlPanel/Plugins/Add/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Add/Hint",
            "text": "Install plugins from the official library"
        },
        "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
            "title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
            "text": "This plugin is already installed at version <$text text=<<installedVersion>>/>"
        },
        "$:/language/ControlPanel/Plugins/AlsoRequires": {
            "title": "$:/language/ControlPanel/Plugins/AlsoRequires",
            "text": "Also requires:"
        },
        "$:/language/ControlPanel/Plugins/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Caption",
            "text": "Plugins"
        },
        "$:/language/ControlPanel/Plugins/Disable/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Disable/Caption",
            "text": "disable"
        },
        "$:/language/ControlPanel/Plugins/Disable/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Disable/Hint",
            "text": "Disable this plugin when reloading page"
        },
        "$:/language/ControlPanel/Plugins/Disabled/Status": {
            "title": "$:/language/ControlPanel/Plugins/Disabled/Status",
            "text": "(disabled)"
        },
        "$:/language/ControlPanel/Plugins/Downgrade/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Downgrade/Caption",
            "text": "downgrade"
        },
        "$:/language/ControlPanel/Plugins/Empty/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Empty/Hint",
            "text": "None"
        },
        "$:/language/ControlPanel/Plugins/Enable/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Enable/Caption",
            "text": "enable"
        },
        "$:/language/ControlPanel/Plugins/Enable/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Enable/Hint",
            "text": "Enable this plugin when reloading page"
        },
        "$:/language/ControlPanel/Plugins/Install/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Install/Caption",
            "text": "install"
        },
        "$:/language/ControlPanel/Plugins/Installed/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Installed/Hint",
            "text": "Currently installed plugins:"
        },
        "$:/language/ControlPanel/Plugins/Languages/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Languages/Caption",
            "text": "Languages"
        },
        "$:/language/ControlPanel/Plugins/Languages/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Languages/Hint",
            "text": "Language pack plugins"
        },
        "$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
            "title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
            "text": "No ''\"<$text text=<<currentTab>>/>\"'' found"
        },
        "$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
            "title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
            "text": "This plugin is not currently installed"
        },
        "$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
            "title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
            "text": "open plugin library"
        },
        "$:/language/ControlPanel/Plugins/ClosePluginLibrary": {
            "title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary",
            "text": "close plugin library"
        },
        "$:/language/ControlPanel/Plugins/PluginWillRequireReload": {
            "title": "$:/language/ControlPanel/Plugins/PluginWillRequireReload",
            "text": "(requires reload)"
        },
        "$:/language/ControlPanel/Plugins/Plugins/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
            "text": "Plugins"
        },
        "$:/language/ControlPanel/Plugins/Plugins/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
            "text": "Plugins"
        },
        "$:/language/ControlPanel/Plugins/Reinstall/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
            "text": "reinstall"
        },
        "$:/language/ControlPanel/Plugins/Themes/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Themes/Caption",
            "text": "Themes"
        },
        "$:/language/ControlPanel/Plugins/Themes/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Themes/Hint",
            "text": "Theme plugins"
        },
        "$:/language/ControlPanel/Plugins/Update/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Update/Caption",
            "text": "update"
        },
        "$:/language/ControlPanel/Plugins/Updates/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Updates/Caption",
            "text": "Updates"
        },
        "$:/language/ControlPanel/Plugins/Updates/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Updates/Hint",
            "text": "Available updates to installed plugins"
        },
        "$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption",
            "text": "Update <<update-count>> plugins"
        },
        "$:/language/ControlPanel/Plugins/SubPluginPrompt": {
            "title": "$:/language/ControlPanel/Plugins/SubPluginPrompt",
            "text": "With <<count>> sub-plugins available"
        },
        "$:/language/ControlPanel/Saving/Caption": {
            "title": "$:/language/ControlPanel/Saving/Caption",
            "text": "Saving"
        },
        "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": {
            "title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description",
            "text": "Permit automatic saving for the download saver"
        },
        "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": {
            "title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint",
            "text": "Enable Autosave for Download Saver"
        },
        "$:/language/ControlPanel/Saving/DownloadSaver/Caption": {
            "title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption",
            "text": "Download Saver"
        },
        "$:/language/ControlPanel/Saving/DownloadSaver/Hint": {
            "title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint",
            "text": "These settings apply to the HTML5-compatible download saver"
        },
        "$:/language/ControlPanel/Saving/General/Caption": {
            "title": "$:/language/ControlPanel/Saving/General/Caption",
            "text": "General"
        },
        "$:/language/ControlPanel/Saving/General/Hint": {
            "title": "$:/language/ControlPanel/Saving/General/Hint",
            "text": "These settings apply to all the loaded savers"
        },
        "$:/language/ControlPanel/Saving/Hint": {
            "title": "$:/language/ControlPanel/Saving/Hint",
            "text": "Settings used for saving the entire TiddlyWiki as a single file via a saver module"
        },
        "$:/language/ControlPanel/Saving/GitService/Branch": {
            "title": "$:/language/ControlPanel/Saving/GitService/Branch",
            "text": "Target branch for saving"
        },
        "$:/language/ControlPanel/Saving/GitService/CommitMessage": {
            "title": "$:/language/ControlPanel/Saving/GitService/CommitMessage",
            "text": "Saved by TiddlyWiki"
        },
        "$:/language/ControlPanel/Saving/GitService/Description": {
            "title": "$:/language/ControlPanel/Saving/GitService/Description",
            "text": "These settings are only used when saving to <<service-name>>"
        },
        "$:/language/ControlPanel/Saving/GitService/Filename": {
            "title": "$:/language/ControlPanel/Saving/GitService/Filename",
            "text": "Filename of target file (e.g. `index.html`)"
        },
        "$:/language/ControlPanel/Saving/GitService/Path": {
            "title": "$:/language/ControlPanel/Saving/GitService/Path",
            "text": "Path to target file (e.g. `/wiki/`)"
        },
        "$:/language/ControlPanel/Saving/GitService/Repo": {
            "title": "$:/language/ControlPanel/Saving/GitService/Repo",
            "text": "Target repository (e.g. `Jermolene/TiddlyWiki5`)"
        },
        "$:/language/ControlPanel/Saving/GitService/ServerURL": {
            "title": "$:/language/ControlPanel/Saving/GitService/ServerURL",
            "text": "Server API URL"
        },
        "$:/language/ControlPanel/Saving/GitService/UserName": {
            "title": "$:/language/ControlPanel/Saving/GitService/UserName",
            "text": "Username"
        },
        "$:/language/ControlPanel/Saving/GitService/GitHub/Caption": {
            "title": "$:/language/ControlPanel/Saving/GitService/GitHub/Caption",
            "text": "~GitHub Saver"
        },
        "$:/language/ControlPanel/Saving/GitService/GitHub/Password": {
            "title": "$:/language/ControlPanel/Saving/GitService/GitHub/Password",
            "text": "Password, OAUTH token, or personal access token (see [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] for details)"
        },
        "$:/language/ControlPanel/Saving/GitService/GitLab/Caption": {
            "title": "$:/language/ControlPanel/Saving/GitService/GitLab/Caption",
            "text": "~GitLab Saver"
        },
        "$:/language/ControlPanel/Saving/GitService/GitLab/Password": {
            "title": "$:/language/ControlPanel/Saving/GitService/GitLab/Password",
            "text": "Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] for details)"
        },
        "$:/language/ControlPanel/Saving/GitService/Gitea/Caption": {
            "title": "$:/language/ControlPanel/Saving/GitService/Gitea/Caption",
            "text": "Gitea Saver"
        },
        "$:/language/ControlPanel/Saving/GitService/Gitea/Password": {
            "title": "$:/language/ControlPanel/Saving/GitService/Gitea/Password",
            "text": "Personal access token for API (via Gitea’s web interface: `Settings | Applications | Generate New Token`)"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
            "text": "Advanced Settings"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
            "text": "Backup Directory"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
            "text": "Backups"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Caption": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption",
            "text": "~TiddlySpot Saver"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Description": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
            "text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
            "text": "Upload Filename"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
            "text": "~TiddlySpot"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
            "text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Password": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
            "text": "Password"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
            "text": "Server URL"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
            "text": "Upload Directory"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
            "text": "Wiki Name"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Caption": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
            "text": "Autosave"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
            "text": "Do not save changes automatically"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
            "text": "Save changes automatically"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Hint": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
            "text": "Attempt to automatically save changes during editing when using a supporting saver"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Caption": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
            "text": "Camel Case Wiki Links"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Hint": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
            "text": "You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Description": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Description",
            "text": "Enable automatic ~CamelCase linking"
        },
        "$:/language/ControlPanel/Settings/Caption": {
            "title": "$:/language/ControlPanel/Settings/Caption",
            "text": "Settings"
        },
        "$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
            "title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
            "text": "Editor Toolbar"
        },
        "$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
            "title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
            "text": "Enable or disable the editor toolbar:"
        },
        "$:/language/ControlPanel/Settings/EditorToolbar/Description": {
            "title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
            "text": "Show editor toolbar"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Caption": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption",
            "text": "Tiddler Info Panel Mode"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
            "text": "Control when the tiddler info panel closes:"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
            "text": "Tiddler info panel closes automatically"
        },
        "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
            "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
            "text": "Tiddler info panel stays open until explicitly closed"
        },
        "$:/language/ControlPanel/Settings/Hint": {
            "title": "$:/language/ControlPanel/Settings/Hint",
            "text": "These settings let you customise the behaviour of TiddlyWiki."
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
            "text": "Navigation Address Bar"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
            "text": "Behaviour of the browser address bar when navigating to a tiddler:"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
            "text": "Do not update the address bar"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
            "text": "Include the target tiddler"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
            "text": "Include the target tiddler and the current story sequence"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
            "text": "Navigation History"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
            "text": "Update browser history when navigating to a tiddler:"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
            "text": "Do not update history"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
            "text": "Update history"
        },
        "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption",
            "text": "Permalink/permaview Mode"
        },
        "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint",
            "text": "Choose how permalink/permaview is handled:"
        },
        "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description",
            "text": "Copy permalink/permaview URL to clipboard"
        },
        "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description",
            "text": "Update address bar with permalink/permaview URL"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
            "text": "Performance Instrumentation"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
            "text": "Displays performance statistics in the browser developer console. Requires reload to take effect"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
            "text": "Enable performance instrumentation"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
            "text": "Toolbar Button Style"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
            "text": "Choose the style for toolbar buttons:"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
            "text": "Borderless"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
            "text": "Boxed"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
            "text": "Rounded"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
            "text": "Toolbar Buttons"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
            "text": "Default toolbar button appearance:"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
            "text": "Include icon"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
            "text": "Include text"
        },
        "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
            "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
            "text": "Default Sidebar Tab"
        },
        "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
            "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
            "text": "Specify which sidebar tab is displayed by default"
        },
        "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption": {
            "title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption",
            "text": "Default More Sidebar Tab"
        },
        "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint": {
            "title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint",
            "text": "Specify which More sidebar tab is displayed by default"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
            "text": "Tiddler Opening Behaviour"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
            "text": "Navigation from //within// the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
            "text": "Navigation from //outside// the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
            "text": "Open above the current tiddler"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
            "text": "Open below the current tiddler"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
            "text": "Open at the top of the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
            "text": "Open at the bottom of the story river"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Caption": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
            "text": "Tiddler Titles"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Hint": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
            "text": "Optionally display tiddler titles as links"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
            "text": "Do not display tiddler titles as links"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
            "text": "Display tiddler titles as links"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Caption": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
            "text": "Wiki Links"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Hint": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
            "text": "Choose whether to link to tiddlers that do not exist yet"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Description": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
            "text": "Enable links to missing tiddlers"
        },
        "$:/language/ControlPanel/StoryView/Caption": {
            "title": "$:/language/ControlPanel/StoryView/Caption",
            "text": "Story View"
        },
        "$:/language/ControlPanel/StoryView/Prompt": {
            "title": "$:/language/ControlPanel/StoryView/Prompt",
            "text": "Current view:"
        },
        "$:/language/ControlPanel/Stylesheets/Caption": {
            "title": "$:/language/ControlPanel/Stylesheets/Caption",
            "text": "Stylesheets"
        },
        "$:/language/ControlPanel/Stylesheets/Expand/Caption": {
            "title": "$:/language/ControlPanel/Stylesheets/Expand/Caption",
            "text": "Expand All"
        },
        "$:/language/ControlPanel/Stylesheets/Hint": {
            "title": "$:/language/ControlPanel/Stylesheets/Hint",
            "text": "This is the rendered CSS of the current stylesheet tiddlers tagged with <<tag \"$:/tags/Stylesheet\">>"
        },
        "$:/language/ControlPanel/Stylesheets/Restore/Caption": {
            "title": "$:/language/ControlPanel/Stylesheets/Restore/Caption",
            "text": "Restore"
        },
        "$:/language/ControlPanel/Theme/Caption": {
            "title": "$:/language/ControlPanel/Theme/Caption",
            "text": "Theme"
        },
        "$:/language/ControlPanel/Theme/Prompt": {
            "title": "$:/language/ControlPanel/Theme/Prompt",
            "text": "Current theme:"
        },
        "$:/language/ControlPanel/TiddlerFields/Caption": {
            "title": "$:/language/ControlPanel/TiddlerFields/Caption",
            "text": "Tiddler Fields"
        },
        "$:/language/ControlPanel/TiddlerFields/Hint": {
            "title": "$:/language/ControlPanel/TiddlerFields/Hint",
            "text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."
        },
        "$:/language/ControlPanel/Toolbars/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/Caption",
            "text": "Toolbars"
        },
        "$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
            "text": "Edit Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
            "text": "Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering"
        },
        "$:/language/ControlPanel/Toolbars/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/Hint",
            "text": "Select which toolbar buttons are displayed"
        },
        "$:/language/ControlPanel/Toolbars/PageControls/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
            "text": "Page Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/PageControls/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
            "text": "Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering"
        },
        "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
            "text": "Editor Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
            "text": "Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering"
        },
        "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
            "text": "View Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
            "text": "Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering"
        },
        "$:/language/ControlPanel/Tools/Download/Full/Caption": {
            "title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
            "text": "Download full wiki"
        },
        "$:/language/Date/DaySuffix/1": {
            "title": "$:/language/Date/DaySuffix/1",
            "text": "st"
        },
        "$:/language/Date/DaySuffix/2": {
            "title": "$:/language/Date/DaySuffix/2",
            "text": "nd"
        },
        "$:/language/Date/DaySuffix/3": {
            "title": "$:/language/Date/DaySuffix/3",
            "text": "rd"
        },
        "$:/language/Date/DaySuffix/4": {
            "title": "$:/language/Date/DaySuffix/4",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/5": {
            "title": "$:/language/Date/DaySuffix/5",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/6": {
            "title": "$:/language/Date/DaySuffix/6",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/7": {
            "title": "$:/language/Date/DaySuffix/7",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/8": {
            "title": "$:/language/Date/DaySuffix/8",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/9": {
            "title": "$:/language/Date/DaySuffix/9",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/10": {
            "title": "$:/language/Date/DaySuffix/10",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/11": {
            "title": "$:/language/Date/DaySuffix/11",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/12": {
            "title": "$:/language/Date/DaySuffix/12",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/13": {
            "title": "$:/language/Date/DaySuffix/13",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/14": {
            "title": "$:/language/Date/DaySuffix/14",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/15": {
            "title": "$:/language/Date/DaySuffix/15",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/16": {
            "title": "$:/language/Date/DaySuffix/16",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/17": {
            "title": "$:/language/Date/DaySuffix/17",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/18": {
            "title": "$:/language/Date/DaySuffix/18",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/19": {
            "title": "$:/language/Date/DaySuffix/19",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/20": {
            "title": "$:/language/Date/DaySuffix/20",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/21": {
            "title": "$:/language/Date/DaySuffix/21",
            "text": "st"
        },
        "$:/language/Date/DaySuffix/22": {
            "title": "$:/language/Date/DaySuffix/22",
            "text": "nd"
        },
        "$:/language/Date/DaySuffix/23": {
            "title": "$:/language/Date/DaySuffix/23",
            "text": "rd"
        },
        "$:/language/Date/DaySuffix/24": {
            "title": "$:/language/Date/DaySuffix/24",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/25": {
            "title": "$:/language/Date/DaySuffix/25",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/26": {
            "title": "$:/language/Date/DaySuffix/26",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/27": {
            "title": "$:/language/Date/DaySuffix/27",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/28": {
            "title": "$:/language/Date/DaySuffix/28",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/29": {
            "title": "$:/language/Date/DaySuffix/29",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/30": {
            "title": "$:/language/Date/DaySuffix/30",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/31": {
            "title": "$:/language/Date/DaySuffix/31",
            "text": "st"
        },
        "$:/language/Date/Long/Day/0": {
            "title": "$:/language/Date/Long/Day/0",
            "text": "Sunday"
        },
        "$:/language/Date/Long/Day/1": {
            "title": "$:/language/Date/Long/Day/1",
            "text": "Monday"
        },
        "$:/language/Date/Long/Day/2": {
            "title": "$:/language/Date/Long/Day/2",
            "text": "Tuesday"
        },
        "$:/language/Date/Long/Day/3": {
            "title": "$:/language/Date/Long/Day/3",
            "text": "Wednesday"
        },
        "$:/language/Date/Long/Day/4": {
            "title": "$:/language/Date/Long/Day/4",
            "text": "Thursday"
        },
        "$:/language/Date/Long/Day/5": {
            "title": "$:/language/Date/Long/Day/5",
            "text": "Friday"
        },
        "$:/language/Date/Long/Day/6": {
            "title": "$:/language/Date/Long/Day/6",
            "text": "Saturday"
        },
        "$:/language/Date/Long/Month/1": {
            "title": "$:/language/Date/Long/Month/1",
            "text": "January"
        },
        "$:/language/Date/Long/Month/2": {
            "title": "$:/language/Date/Long/Month/2",
            "text": "February"
        },
        "$:/language/Date/Long/Month/3": {
            "title": "$:/language/Date/Long/Month/3",
            "text": "March"
        },
        "$:/language/Date/Long/Month/4": {
            "title": "$:/language/Date/Long/Month/4",
            "text": "April"
        },
        "$:/language/Date/Long/Month/5": {
            "title": "$:/language/Date/Long/Month/5",
            "text": "May"
        },
        "$:/language/Date/Long/Month/6": {
            "title": "$:/language/Date/Long/Month/6",
            "text": "June"
        },
        "$:/language/Date/Long/Month/7": {
            "title": "$:/language/Date/Long/Month/7",
            "text": "July"
        },
        "$:/language/Date/Long/Month/8": {
            "title": "$:/language/Date/Long/Month/8",
            "text": "August"
        },
        "$:/language/Date/Long/Month/9": {
            "title": "$:/language/Date/Long/Month/9",
            "text": "September"
        },
        "$:/language/Date/Long/Month/10": {
            "title": "$:/language/Date/Long/Month/10",
            "text": "October"
        },
        "$:/language/Date/Long/Month/11": {
            "title": "$:/language/Date/Long/Month/11",
            "text": "November"
        },
        "$:/language/Date/Long/Month/12": {
            "title": "$:/language/Date/Long/Month/12",
            "text": "December"
        },
        "$:/language/Date/Period/am": {
            "title": "$:/language/Date/Period/am",
            "text": "am"
        },
        "$:/language/Date/Period/pm": {
            "title": "$:/language/Date/Period/pm",
            "text": "pm"
        },
        "$:/language/Date/Short/Day/0": {
            "title": "$:/language/Date/Short/Day/0",
            "text": "Sun"
        },
        "$:/language/Date/Short/Day/1": {
            "title": "$:/language/Date/Short/Day/1",
            "text": "Mon"
        },
        "$:/language/Date/Short/Day/2": {
            "title": "$:/language/Date/Short/Day/2",
            "text": "Tue"
        },
        "$:/language/Date/Short/Day/3": {
            "title": "$:/language/Date/Short/Day/3",
            "text": "Wed"
        },
        "$:/language/Date/Short/Day/4": {
            "title": "$:/language/Date/Short/Day/4",
            "text": "Thu"
        },
        "$:/language/Date/Short/Day/5": {
            "title": "$:/language/Date/Short/Day/5",
            "text": "Fri"
        },
        "$:/language/Date/Short/Day/6": {
            "title": "$:/language/Date/Short/Day/6",
            "text": "Sat"
        },
        "$:/language/Date/Short/Month/1": {
            "title": "$:/language/Date/Short/Month/1",
            "text": "Jan"
        },
        "$:/language/Date/Short/Month/2": {
            "title": "$:/language/Date/Short/Month/2",
            "text": "Feb"
        },
        "$:/language/Date/Short/Month/3": {
            "title": "$:/language/Date/Short/Month/3",
            "text": "Mar"
        },
        "$:/language/Date/Short/Month/4": {
            "title": "$:/language/Date/Short/Month/4",
            "text": "Apr"
        },
        "$:/language/Date/Short/Month/5": {
            "title": "$:/language/Date/Short/Month/5",
            "text": "May"
        },
        "$:/language/Date/Short/Month/6": {
            "title": "$:/language/Date/Short/Month/6",
            "text": "Jun"
        },
        "$:/language/Date/Short/Month/7": {
            "title": "$:/language/Date/Short/Month/7",
            "text": "Jul"
        },
        "$:/language/Date/Short/Month/8": {
            "title": "$:/language/Date/Short/Month/8",
            "text": "Aug"
        },
        "$:/language/Date/Short/Month/9": {
            "title": "$:/language/Date/Short/Month/9",
            "text": "Sep"
        },
        "$:/language/Date/Short/Month/10": {
            "title": "$:/language/Date/Short/Month/10",
            "text": "Oct"
        },
        "$:/language/Date/Short/Month/11": {
            "title": "$:/language/Date/Short/Month/11",
            "text": "Nov"
        },
        "$:/language/Date/Short/Month/12": {
            "title": "$:/language/Date/Short/Month/12",
            "text": "Dec"
        },
        "$:/language/RelativeDate/Future/Days": {
            "title": "$:/language/RelativeDate/Future/Days",
            "text": "<<period>> days from now"
        },
        "$:/language/RelativeDate/Future/Hours": {
            "title": "$:/language/RelativeDate/Future/Hours",
            "text": "<<period>> hours from now"
        },
        "$:/language/RelativeDate/Future/Minutes": {
            "title": "$:/language/RelativeDate/Future/Minutes",
            "text": "<<period>> minutes from now"
        },
        "$:/language/RelativeDate/Future/Months": {
            "title": "$:/language/RelativeDate/Future/Months",
            "text": "<<period>> months from now"
        },
        "$:/language/RelativeDate/Future/Second": {
            "title": "$:/language/RelativeDate/Future/Second",
            "text": "1 second from now"
        },
        "$:/language/RelativeDate/Future/Seconds": {
            "title": "$:/language/RelativeDate/Future/Seconds",
            "text": "<<period>> seconds from now"
        },
        "$:/language/RelativeDate/Future/Years": {
            "title": "$:/language/RelativeDate/Future/Years",
            "text": "<<period>> years from now"
        },
        "$:/language/RelativeDate/Past/Days": {
            "title": "$:/language/RelativeDate/Past/Days",
            "text": "<<period>> days ago"
        },
        "$:/language/RelativeDate/Past/Hours": {
            "title": "$:/language/RelativeDate/Past/Hours",
            "text": "<<period>> hours ago"
        },
        "$:/language/RelativeDate/Past/Minutes": {
            "title": "$:/language/RelativeDate/Past/Minutes",
            "text": "<<period>> minutes ago"
        },
        "$:/language/RelativeDate/Past/Months": {
            "title": "$:/language/RelativeDate/Past/Months",
            "text": "<<period>> months ago"
        },
        "$:/language/RelativeDate/Past/Second": {
            "title": "$:/language/RelativeDate/Past/Second",
            "text": "1 second ago"
        },
        "$:/language/RelativeDate/Past/Seconds": {
            "title": "$:/language/RelativeDate/Past/Seconds",
            "text": "<<period>> seconds ago"
        },
        "$:/language/RelativeDate/Past/Years": {
            "title": "$:/language/RelativeDate/Past/Years",
            "text": "<<period>> years ago"
        },
        "$:/language/Docs/ModuleTypes/allfilteroperator": {
            "title": "$:/language/Docs/ModuleTypes/allfilteroperator",
            "text": "A sub-operator for the ''all'' filter operator."
        },
        "$:/language/Docs/ModuleTypes/animation": {
            "title": "$:/language/Docs/ModuleTypes/animation",
            "text": "Animations that may be used with the RevealWidget."
        },
        "$:/language/Docs/ModuleTypes/authenticator": {
            "title": "$:/language/Docs/ModuleTypes/authenticator",
            "text": "Defines how requests are authenticated by the built-in HTTP server."
        },
        "$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
            "title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
            "text": "A bitmap editor toolbar operation."
        },
        "$:/language/Docs/ModuleTypes/command": {
            "title": "$:/language/Docs/ModuleTypes/command",
            "text": "Commands that can be executed under Node.js."
        },
        "$:/language/Docs/ModuleTypes/config": {
            "title": "$:/language/Docs/ModuleTypes/config",
            "text": "Data to be inserted into `$tw.config`."
        },
        "$:/language/Docs/ModuleTypes/filteroperator": {
            "title": "$:/language/Docs/ModuleTypes/filteroperator",
            "text": "Individual filter operator methods."
        },
        "$:/language/Docs/ModuleTypes/global": {
            "title": "$:/language/Docs/ModuleTypes/global",
            "text": "Global data to be inserted into `$tw`."
        },
        "$:/language/Docs/ModuleTypes/info": {
            "title": "$:/language/Docs/ModuleTypes/info",
            "text": "Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin."
        },
        "$:/language/Docs/ModuleTypes/isfilteroperator": {
            "title": "$:/language/Docs/ModuleTypes/isfilteroperator",
            "text": "Operands for the ''is'' filter operator."
        },
        "$:/language/Docs/ModuleTypes/library": {
            "title": "$:/language/Docs/ModuleTypes/library",
            "text": "Generic module type for general purpose JavaScript modules."
        },
        "$:/language/Docs/ModuleTypes/macro": {
            "title": "$:/language/Docs/ModuleTypes/macro",
            "text": "JavaScript macro definitions."
        },
        "$:/language/Docs/ModuleTypes/parser": {
            "title": "$:/language/Docs/ModuleTypes/parser",
            "text": "Parsers for different content types."
        },
        "$:/language/Docs/ModuleTypes/route": {
            "title": "$:/language/Docs/ModuleTypes/route",
            "text": "Defines how individual URL patterns are handled by the built-in HTTP server."
        },
        "$:/language/Docs/ModuleTypes/saver": {
            "title": "$:/language/Docs/ModuleTypes/saver",
            "text": "Savers handle different methods for saving files from the browser."
        },
        "$:/language/Docs/ModuleTypes/startup": {
            "title": "$:/language/Docs/ModuleTypes/startup",
            "text": "Startup functions."
        },
        "$:/language/Docs/ModuleTypes/storyview": {
            "title": "$:/language/Docs/ModuleTypes/storyview",
            "text": "Story views customise the animation and behaviour of list widgets."
        },
        "$:/language/Docs/ModuleTypes/texteditoroperation": {
            "title": "$:/language/Docs/ModuleTypes/texteditoroperation",
            "text": "A text editor toolbar operation."
        },
        "$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
            "title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
            "text": "Converts different content types into tiddlers."
        },
        "$:/language/Docs/ModuleTypes/tiddlerfield": {
            "title": "$:/language/Docs/ModuleTypes/tiddlerfield",
            "text": "Defines the behaviour of an individual tiddler field."
        },
        "$:/language/Docs/ModuleTypes/tiddlermethod": {
            "title": "$:/language/Docs/ModuleTypes/tiddlermethod",
            "text": "Adds methods to the `$tw.Tiddler` prototype."
        },
        "$:/language/Docs/ModuleTypes/upgrader": {
            "title": "$:/language/Docs/ModuleTypes/upgrader",
            "text": "Applies upgrade processing to tiddlers during an upgrade/import."
        },
        "$:/language/Docs/ModuleTypes/utils": {
            "title": "$:/language/Docs/ModuleTypes/utils",
            "text": "Adds methods to `$tw.utils`."
        },
        "$:/language/Docs/ModuleTypes/utils-node": {
            "title": "$:/language/Docs/ModuleTypes/utils-node",
            "text": "Adds Node.js-specific methods to `$tw.utils`."
        },
        "$:/language/Docs/ModuleTypes/widget": {
            "title": "$:/language/Docs/ModuleTypes/widget",
            "text": "Widgets encapsulate DOM rendering and refreshing."
        },
        "$:/language/Docs/ModuleTypes/wikimethod": {
            "title": "$:/language/Docs/ModuleTypes/wikimethod",
            "text": "Adds methods to `$tw.Wiki`."
        },
        "$:/language/Docs/ModuleTypes/wikirule": {
            "title": "$:/language/Docs/ModuleTypes/wikirule",
            "text": "Individual parser rules for the main WikiText parser."
        },
        "$:/language/Docs/PaletteColours/alert-background": {
            "title": "$:/language/Docs/PaletteColours/alert-background",
            "text": "Alert background"
        },
        "$:/language/Docs/PaletteColours/alert-border": {
            "title": "$:/language/Docs/PaletteColours/alert-border",
            "text": "Alert border"
        },
        "$:/language/Docs/PaletteColours/alert-highlight": {
            "title": "$:/language/Docs/PaletteColours/alert-highlight",
            "text": "Alert highlight"
        },
        "$:/language/Docs/PaletteColours/alert-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
            "text": "Alert muted foreground"
        },
        "$:/language/Docs/PaletteColours/background": {
            "title": "$:/language/Docs/PaletteColours/background",
            "text": "General background"
        },
        "$:/language/Docs/PaletteColours/blockquote-bar": {
            "title": "$:/language/Docs/PaletteColours/blockquote-bar",
            "text": "Blockquote bar"
        },
        "$:/language/Docs/PaletteColours/button-background": {
            "title": "$:/language/Docs/PaletteColours/button-background",
            "text": "Default button background"
        },
        "$:/language/Docs/PaletteColours/button-border": {
            "title": "$:/language/Docs/PaletteColours/button-border",
            "text": "Default button border"
        },
        "$:/language/Docs/PaletteColours/button-foreground": {
            "title": "$:/language/Docs/PaletteColours/button-foreground",
            "text": "Default button foreground"
        },
        "$:/language/Docs/PaletteColours/dirty-indicator": {
            "title": "$:/language/Docs/PaletteColours/dirty-indicator",
            "text": "Unsaved changes indicator"
        },
        "$:/language/Docs/PaletteColours/code-background": {
            "title": "$:/language/Docs/PaletteColours/code-background",
            "text": "Code background"
        },
        "$:/language/Docs/PaletteColours/code-border": {
            "title": "$:/language/Docs/PaletteColours/code-border",
            "text": "Code border"
        },
        "$:/language/Docs/PaletteColours/code-foreground": {
            "title": "$:/language/Docs/PaletteColours/code-foreground",
            "text": "Code foreground"
        },
        "$:/language/Docs/PaletteColours/download-background": {
            "title": "$:/language/Docs/PaletteColours/download-background",
            "text": "Download button background"
        },
        "$:/language/Docs/PaletteColours/download-foreground": {
            "title": "$:/language/Docs/PaletteColours/download-foreground",
            "text": "Download button foreground"
        },
        "$:/language/Docs/PaletteColours/dragger-background": {
            "title": "$:/language/Docs/PaletteColours/dragger-background",
            "text": "Dragger background"
        },
        "$:/language/Docs/PaletteColours/dragger-foreground": {
            "title": "$:/language/Docs/PaletteColours/dragger-foreground",
            "text": "Dragger foreground"
        },
        "$:/language/Docs/PaletteColours/dropdown-background": {
            "title": "$:/language/Docs/PaletteColours/dropdown-background",
            "text": "Dropdown background"
        },
        "$:/language/Docs/PaletteColours/dropdown-border": {
            "title": "$:/language/Docs/PaletteColours/dropdown-border",
            "text": "Dropdown border"
        },
        "$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
            "text": "Dropdown tab background for selected tabs"
        },
        "$:/language/Docs/PaletteColours/dropdown-tab-background": {
            "title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
            "text": "Dropdown tab background"
        },
        "$:/language/Docs/PaletteColours/dropzone-background": {
            "title": "$:/language/Docs/PaletteColours/dropzone-background",
            "text": "Dropzone background"
        },
        "$:/language/Docs/PaletteColours/external-link-background-hover": {
            "title": "$:/language/Docs/PaletteColours/external-link-background-hover",
            "text": "External link background hover"
        },
        "$:/language/Docs/PaletteColours/external-link-background-visited": {
            "title": "$:/language/Docs/PaletteColours/external-link-background-visited",
            "text": "External link background visited"
        },
        "$:/language/Docs/PaletteColours/external-link-background": {
            "title": "$:/language/Docs/PaletteColours/external-link-background",
            "text": "External link background"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
            "text": "External link foreground hover"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground-visited": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
            "text": "External link foreground visited"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground",
            "text": "External link foreground"
        },
        "$:/language/Docs/PaletteColours/foreground": {
            "title": "$:/language/Docs/PaletteColours/foreground",
            "text": "General foreground"
        },
        "$:/language/Docs/PaletteColours/menubar-background": {
            "title": "$:/language/Docs/PaletteColours/menubar-background",
            "text": "Menu bar background"
        },
        "$:/language/Docs/PaletteColours/menubar-foreground": {
            "title": "$:/language/Docs/PaletteColours/menubar-foreground",
            "text": "Menu bar foreground"
        },
        "$:/language/Docs/PaletteColours/message-background": {
            "title": "$:/language/Docs/PaletteColours/message-background",
            "text": "Message box background"
        },
        "$:/language/Docs/PaletteColours/message-border": {
            "title": "$:/language/Docs/PaletteColours/message-border",
            "text": "Message box border"
        },
        "$:/language/Docs/PaletteColours/message-foreground": {
            "title": "$:/language/Docs/PaletteColours/message-foreground",
            "text": "Message box foreground"
        },
        "$:/language/Docs/PaletteColours/modal-backdrop": {
            "title": "$:/language/Docs/PaletteColours/modal-backdrop",
            "text": "Modal backdrop"
        },
        "$:/language/Docs/PaletteColours/modal-background": {
            "title": "$:/language/Docs/PaletteColours/modal-background",
            "text": "Modal background"
        },
        "$:/language/Docs/PaletteColours/modal-border": {
            "title": "$:/language/Docs/PaletteColours/modal-border",
            "text": "Modal border"
        },
        "$:/language/Docs/PaletteColours/modal-footer-background": {
            "title": "$:/language/Docs/PaletteColours/modal-footer-background",
            "text": "Modal footer background"
        },
        "$:/language/Docs/PaletteColours/modal-footer-border": {
            "title": "$:/language/Docs/PaletteColours/modal-footer-border",
            "text": "Modal footer border"
        },
        "$:/language/Docs/PaletteColours/modal-header-border": {
            "title": "$:/language/Docs/PaletteColours/modal-header-border",
            "text": "Modal header border"
        },
        "$:/language/Docs/PaletteColours/muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/muted-foreground",
            "text": "General muted foreground"
        },
        "$:/language/Docs/PaletteColours/notification-background": {
            "title": "$:/language/Docs/PaletteColours/notification-background",
            "text": "Notification background"
        },
        "$:/language/Docs/PaletteColours/notification-border": {
            "title": "$:/language/Docs/PaletteColours/notification-border",
            "text": "Notification border"
        },
        "$:/language/Docs/PaletteColours/page-background": {
            "title": "$:/language/Docs/PaletteColours/page-background",
            "text": "Page background"
        },
        "$:/language/Docs/PaletteColours/pre-background": {
            "title": "$:/language/Docs/PaletteColours/pre-background",
            "text": "Preformatted code background"
        },
        "$:/language/Docs/PaletteColours/pre-border": {
            "title": "$:/language/Docs/PaletteColours/pre-border",
            "text": "Preformatted code border"
        },
        "$:/language/Docs/PaletteColours/primary": {
            "title": "$:/language/Docs/PaletteColours/primary",
            "text": "General primary"
        },
        "$:/language/Docs/PaletteColours/select-tag-background": {
            "title": "$:/language/Docs/PaletteColours/select-tag-background",
            "text": "`<select>` element background"
        },
        "$:/language/Docs/PaletteColours/select-tag-foreground": {
            "title": "$:/language/Docs/PaletteColours/select-tag-foreground",
            "text": "`<select>` element text"
        },
        "$:/language/Docs/PaletteColours/sidebar-button-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
            "text": "Sidebar button foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
            "text": "Sidebar controls foreground hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
            "text": "Sidebar controls foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
            "title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
            "text": "Sidebar foreground shadow"
        },
        "$:/language/Docs/PaletteColours/sidebar-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-foreground",
            "text": "Sidebar foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
            "text": "Sidebar muted foreground hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
            "text": "Sidebar muted foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
            "text": "Sidebar tab background for selected tabs"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-background": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
            "text": "Sidebar tab background"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
            "text": "Sidebar tab border for selected tabs"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-border": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
            "text": "Sidebar tab border"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-divider": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
            "text": "Sidebar tab divider"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
            "text": "Sidebar tab foreground for selected tabs"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
            "text": "Sidebar tab foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
            "text": "Sidebar tiddler link foreground hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
            "text": "Sidebar tiddler link foreground"
        },
        "$:/language/Docs/PaletteColours/site-title-foreground": {
            "title": "$:/language/Docs/PaletteColours/site-title-foreground",
            "text": "Site title foreground"
        },
        "$:/language/Docs/PaletteColours/static-alert-foreground": {
            "title": "$:/language/Docs/PaletteColours/static-alert-foreground",
            "text": "Static alert foreground"
        },
        "$:/language/Docs/PaletteColours/tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-background-selected",
            "text": "Tab background for selected tabs"
        },
        "$:/language/Docs/PaletteColours/tab-background": {
            "title": "$:/language/Docs/PaletteColours/tab-background",
            "text": "Tab background"
        },
        "$:/language/Docs/PaletteColours/tab-border-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-border-selected",
            "text": "Tab border for selected tabs"
        },
        "$:/language/Docs/PaletteColours/tab-border": {
            "title": "$:/language/Docs/PaletteColours/tab-border",
            "text": "Tab border"
        },
        "$:/language/Docs/PaletteColours/tab-divider": {
            "title": "$:/language/Docs/PaletteColours/tab-divider",
            "text": "Tab divider"
        },
        "$:/language/Docs/PaletteColours/tab-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
            "text": "Tab foreground for selected tabs"
        },
        "$:/language/Docs/PaletteColours/tab-foreground": {
            "title": "$:/language/Docs/PaletteColours/tab-foreground",
            "text": "Tab foreground"
        },
        "$:/language/Docs/PaletteColours/table-border": {
            "title": "$:/language/Docs/PaletteColours/table-border",
            "text": "Table border"
        },
        "$:/language/Docs/PaletteColours/table-footer-background": {
            "title": "$:/language/Docs/PaletteColours/table-footer-background",
            "text": "Table footer background"
        },
        "$:/language/Docs/PaletteColours/table-header-background": {
            "title": "$:/language/Docs/PaletteColours/table-header-background",
            "text": "Table header background"
        },
        "$:/language/Docs/PaletteColours/tag-background": {
            "title": "$:/language/Docs/PaletteColours/tag-background",
            "text": "Tag background"
        },
        "$:/language/Docs/PaletteColours/tag-foreground": {
            "title": "$:/language/Docs/PaletteColours/tag-foreground",
            "text": "Tag foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-background",
            "text": "Tiddler background"
        },
        "$:/language/Docs/PaletteColours/tiddler-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-border",
            "text": "Tiddler border"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
            "text": "Tiddler controls foreground hover"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
            "text": "Tiddler controls foreground for selected controls"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
            "text": "Tiddler controls foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
            "text": "Tiddler editor background"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
            "text": "Tiddler editor border image"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
            "text": "Tiddler editor border"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
            "text": "Tiddler editor background for even fields"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
            "text": "Tiddler editor background for odd fields"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-background",
            "text": "Tiddler info panel background"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-border",
            "text": "Tiddler info panel border"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
            "text": "Tiddler info panel tab background"
        },
        "$:/language/Docs/PaletteColours/tiddler-link-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-link-background",
            "text": "Tiddler link background"
        },
        "$:/language/Docs/PaletteColours/tiddler-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
            "text": "Tiddler link foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
            "text": "Tiddler subtitle foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-title-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
            "text": "Tiddler title foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-new-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-new-button",
            "text": "Toolbar 'new tiddler' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-options-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-options-button",
            "text": "Toolbar 'options' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-save-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-save-button",
            "text": "Toolbar 'save' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-info-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-info-button",
            "text": "Toolbar 'info' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-edit-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
            "text": "Toolbar 'edit' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-close-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-close-button",
            "text": "Toolbar 'close' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-delete-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
            "text": "Toolbar 'delete' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-cancel-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
            "text": "Toolbar 'cancel' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-done-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-done-button",
            "text": "Toolbar 'done' button foreground"
        },
        "$:/language/Docs/PaletteColours/untagged-background": {
            "title": "$:/language/Docs/PaletteColours/untagged-background",
            "text": "Untagged pill background"
        },
        "$:/language/Docs/PaletteColours/very-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/very-muted-foreground",
            "text": "Very muted foreground"
        },
        "$:/language/EditTemplate/Body/External/Hint": {
            "title": "$:/language/EditTemplate/Body/External/Hint",
            "text": "This tiddler shows content stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"
        },
        "$:/language/EditTemplate/Body/Placeholder": {
            "title": "$:/language/EditTemplate/Body/Placeholder",
            "text": "Type the text for this tiddler"
        },
        "$:/language/EditTemplate/Body/Preview/Type/Output": {
            "title": "$:/language/EditTemplate/Body/Preview/Type/Output",
            "text": "output"
        },
        "$:/language/EditTemplate/Field/Remove/Caption": {
            "title": "$:/language/EditTemplate/Field/Remove/Caption",
            "text": "remove field"
        },
        "$:/language/EditTemplate/Field/Remove/Hint": {
            "title": "$:/language/EditTemplate/Field/Remove/Hint",
            "text": "Remove field"
        },
        "$:/language/EditTemplate/Field/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Field/Dropdown/Caption",
            "text": "field list"
        },
        "$:/language/EditTemplate/Field/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Field/Dropdown/Hint",
            "text": "Show field list"
        },
        "$:/language/EditTemplate/Fields/Add/Button": {
            "title": "$:/language/EditTemplate/Fields/Add/Button",
            "text": "add"
        },
        "$:/language/EditTemplate/Fields/Add/Button/Hint": {
            "title": "$:/language/EditTemplate/Fields/Add/Button/Hint",
            "text": "Add the new field to the tiddler"
        },
        "$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
            "title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
            "text": "field name"
        },
        "$:/language/EditTemplate/Fields/Add/Prompt": {
            "title": "$:/language/EditTemplate/Fields/Add/Prompt",
            "text": "Add a new field:"
        },
        "$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
            "title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
            "text": "field value"
        },
        "$:/language/EditTemplate/Fields/Add/Dropdown/System": {
            "title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
            "text": "System fields"
        },
        "$:/language/EditTemplate/Fields/Add/Dropdown/User": {
            "title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
            "text": "User fields"
        },
        "$:/language/EditTemplate/Shadow/Warning": {
            "title": "$:/language/EditTemplate/Shadow/Warning",
            "text": "This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"
        },
        "$:/language/EditTemplate/Shadow/OverriddenWarning": {
            "title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
            "text": "This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"
        },
        "$:/language/EditTemplate/Tags/Add/Button": {
            "title": "$:/language/EditTemplate/Tags/Add/Button",
            "text": "add"
        },
        "$:/language/EditTemplate/Tags/Add/Button/Hint": {
            "title": "$:/language/EditTemplate/Tags/Add/Button/Hint",
            "text": "add tag"
        },
        "$:/language/EditTemplate/Tags/Add/Placeholder": {
            "title": "$:/language/EditTemplate/Tags/Add/Placeholder",
            "text": "tag name"
        },
        "$:/language/EditTemplate/Tags/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
            "text": "tag list"
        },
        "$:/language/EditTemplate/Tags/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
            "text": "Show tag list"
        },
        "$:/language/EditTemplate/Title/BadCharacterWarning": {
            "title": "$:/language/EditTemplate/Title/BadCharacterWarning",
            "text": "Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"
        },
        "$:/language/EditTemplate/Title/Exists/Prompt": {
            "title": "$:/language/EditTemplate/Title/Exists/Prompt",
            "text": "Target tiddler already exists"
        },
        "$:/language/EditTemplate/Title/Relink/Prompt": {
            "title": "$:/language/EditTemplate/Title/Relink/Prompt",
            "text": "Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers"
        },
        "$:/language/EditTemplate/Title/References/Prompt": {
            "title": "$:/language/EditTemplate/Title/References/Prompt",
            "text": "The following references to this tiddler will not be automatically updated:"
        },
        "$:/language/EditTemplate/Type/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Type/Dropdown/Caption",
            "text": "content type list"
        },
        "$:/language/EditTemplate/Type/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Type/Dropdown/Hint",
            "text": "Show content type list"
        },
        "$:/language/EditTemplate/Type/Delete/Caption": {
            "title": "$:/language/EditTemplate/Type/Delete/Caption",
            "text": "delete content type"
        },
        "$:/language/EditTemplate/Type/Delete/Hint": {
            "title": "$:/language/EditTemplate/Type/Delete/Hint",
            "text": "Delete content type"
        },
        "$:/language/EditTemplate/Type/Placeholder": {
            "title": "$:/language/EditTemplate/Type/Placeholder",
            "text": "content type"
        },
        "$:/language/EditTemplate/Type/Prompt": {
            "title": "$:/language/EditTemplate/Type/Prompt",
            "text": "Type:"
        },
        "$:/language/Exporters/StaticRiver": {
            "title": "$:/language/Exporters/StaticRiver",
            "text": "Static HTML"
        },
        "$:/language/Exporters/JsonFile": {
            "title": "$:/language/Exporters/JsonFile",
            "text": "JSON file"
        },
        "$:/language/Exporters/CsvFile": {
            "title": "$:/language/Exporters/CsvFile",
            "text": "CSV file"
        },
        "$:/language/Exporters/TidFile": {
            "title": "$:/language/Exporters/TidFile",
            "text": "\".tid\" file"
        },
        "$:/language/Docs/Fields/_canonical_uri": {
            "title": "$:/language/Docs/Fields/_canonical_uri",
            "text": "The full URI of an external image tiddler"
        },
        "$:/language/Docs/Fields/bag": {
            "title": "$:/language/Docs/Fields/bag",
            "text": "The name of the bag from which a tiddler came"
        },
        "$:/language/Docs/Fields/caption": {
            "title": "$:/language/Docs/Fields/caption",
            "text": "The text to be displayed on a tab or button"
        },
        "$:/language/Docs/Fields/color": {
            "title": "$:/language/Docs/Fields/color",
            "text": "The CSS color value associated with a tiddler"
        },
        "$:/language/Docs/Fields/component": {
            "title": "$:/language/Docs/Fields/component",
            "text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]"
        },
        "$:/language/Docs/Fields/current-tiddler": {
            "title": "$:/language/Docs/Fields/current-tiddler",
            "text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]"
        },
        "$:/language/Docs/Fields/created": {
            "title": "$:/language/Docs/Fields/created",
            "text": "The date a tiddler was created"
        },
        "$:/language/Docs/Fields/creator": {
            "title": "$:/language/Docs/Fields/creator",
            "text": "The name of the person who created a tiddler"
        },
        "$:/language/Docs/Fields/dependents": {
            "title": "$:/language/Docs/Fields/dependents",
            "text": "For a plugin, lists the dependent plugin titles"
        },
        "$:/language/Docs/Fields/description": {
            "title": "$:/language/Docs/Fields/description",
            "text": "The descriptive text for a plugin, or a modal dialogue"
        },
        "$:/language/Docs/Fields/draft.of": {
            "title": "$:/language/Docs/Fields/draft.of",
            "text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
        },
        "$:/language/Docs/Fields/draft.title": {
            "title": "$:/language/Docs/Fields/draft.title",
            "text": "For draft tiddlers, contains the proposed new title of the tiddler"
        },
        "$:/language/Docs/Fields/footer": {
            "title": "$:/language/Docs/Fields/footer",
            "text": "The footer text for a wizard"
        },
        "$:/language/Docs/Fields/hide-body": {
            "title": "$:/language/Docs/Fields/hide-body",
            "text": "The view template will hide bodies of tiddlers if set to: ''yes''"
        },
        "$:/language/Docs/Fields/icon": {
            "title": "$:/language/Docs/Fields/icon",
            "text": "The title of the tiddler containing the icon associated with a tiddler"
        },
        "$:/language/Docs/Fields/library": {
            "title": "$:/language/Docs/Fields/library",
            "text": "Indicates that a tiddler should be saved as a JavaScript library if set to: ''yes''"
        },
        "$:/language/Docs/Fields/list": {
            "title": "$:/language/Docs/Fields/list",
            "text": "An ordered list of tiddler titles associated with a tiddler"
        },
        "$:/language/Docs/Fields/list-before": {
            "title": "$:/language/Docs/Fields/list-before",
            "text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"
        },
        "$:/language/Docs/Fields/list-after": {
            "title": "$:/language/Docs/Fields/list-after",
            "text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles, or at the end of the list if this field is present but empty"
        },
        "$:/language/Docs/Fields/modified": {
            "title": "$:/language/Docs/Fields/modified",
            "text": "The date and time at which a tiddler was last modified"
        },
        "$:/language/Docs/Fields/modifier": {
            "title": "$:/language/Docs/Fields/modifier",
            "text": "The tiddler title associated with the person who last modified a tiddler"
        },
        "$:/language/Docs/Fields/name": {
            "title": "$:/language/Docs/Fields/name",
            "text": "The human readable name associated with a plugin tiddler"
        },
        "$:/language/Docs/Fields/plugin-priority": {
            "title": "$:/language/Docs/Fields/plugin-priority",
            "text": "A numerical value indicating the priority of a plugin tiddler"
        },
        "$:/language/Docs/Fields/plugin-type": {
            "title": "$:/language/Docs/Fields/plugin-type",
            "text": "The type of plugin in a plugin tiddler"
        },
        "$:/language/Docs/Fields/revision": {
            "title": "$:/language/Docs/Fields/revision",
            "text": "The revision of the tiddler held at the server"
        },
        "$:/language/Docs/Fields/released": {
            "title": "$:/language/Docs/Fields/released",
            "text": "Date of a TiddlyWiki release"
        },
        "$:/language/Docs/Fields/source": {
            "title": "$:/language/Docs/Fields/source",
            "text": "The source URL associated with a tiddler"
        },
        "$:/language/Docs/Fields/subtitle": {
            "title": "$:/language/Docs/Fields/subtitle",
            "text": "The subtitle text for a wizard"
        },
        "$:/language/Docs/Fields/tags": {
            "title": "$:/language/Docs/Fields/tags",
            "text": "A list of tags associated with a tiddler"
        },
        "$:/language/Docs/Fields/text": {
            "title": "$:/language/Docs/Fields/text",
            "text": "The body text of a tiddler"
        },
        "$:/language/Docs/Fields/throttle.refresh": {
            "title": "$:/language/Docs/Fields/throttle.refresh",
            "text": "If present, throttles refreshes of this tiddler"
        },
        "$:/language/Docs/Fields/title": {
            "title": "$:/language/Docs/Fields/title",
            "text": "The unique name of a tiddler"
        },
        "$:/language/Docs/Fields/toc-link": {
            "title": "$:/language/Docs/Fields/toc-link",
            "text": "Suppresses the tiddler's link in a Table of Contents tree if set to: ''no''"
        },
        "$:/language/Docs/Fields/type": {
            "title": "$:/language/Docs/Fields/type",
            "text": "The content type of a tiddler"
        },
        "$:/language/Docs/Fields/version": {
            "title": "$:/language/Docs/Fields/version",
            "text": "Version information for a plugin"
        },
        "$:/language/Docs/Fields/_is_skinny": {
            "title": "$:/language/Docs/Fields/_is_skinny",
            "text": "If present, indicates that the tiddler text field must be loaded from the server"
        },
        "$:/language/Filters/AllTiddlers": {
            "title": "$:/language/Filters/AllTiddlers",
            "text": "All tiddlers except system tiddlers"
        },
        "$:/language/Filters/RecentSystemTiddlers": {
            "title": "$:/language/Filters/RecentSystemTiddlers",
            "text": "Recently modified tiddlers, including system tiddlers"
        },
        "$:/language/Filters/RecentTiddlers": {
            "title": "$:/language/Filters/RecentTiddlers",
            "text": "Recently modified tiddlers"
        },
        "$:/language/Filters/AllTags": {
            "title": "$:/language/Filters/AllTags",
            "text": "All tags except system tags"
        },
        "$:/language/Filters/Missing": {
            "title": "$:/language/Filters/Missing",
            "text": "Missing tiddlers"
        },
        "$:/language/Filters/Drafts": {
            "title": "$:/language/Filters/Drafts",
            "text": "Draft tiddlers"
        },
        "$:/language/Filters/Orphans": {
            "title": "$:/language/Filters/Orphans",
            "text": "Orphan tiddlers"
        },
        "$:/language/Filters/SystemTiddlers": {
            "title": "$:/language/Filters/SystemTiddlers",
            "text": "System tiddlers"
        },
        "$:/language/Filters/ShadowTiddlers": {
            "title": "$:/language/Filters/ShadowTiddlers",
            "text": "Shadow tiddlers"
        },
        "$:/language/Filters/OverriddenShadowTiddlers": {
            "title": "$:/language/Filters/OverriddenShadowTiddlers",
            "text": "Overridden shadow tiddlers"
        },
        "$:/language/Filters/SessionTiddlers": {
            "title": "$:/language/Filters/SessionTiddlers",
            "text": "Tiddlers modified since the wiki was loaded"
        },
        "$:/language/Filters/SystemTags": {
            "title": "$:/language/Filters/SystemTags",
            "text": "System tags"
        },
        "$:/language/Filters/StoryList": {
            "title": "$:/language/Filters/StoryList",
            "text": "Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>"
        },
        "$:/language/Filters/TypedTiddlers": {
            "title": "$:/language/Filters/TypedTiddlers",
            "text": "Non wiki-text tiddlers"
        },
        "GettingStarted": {
            "title": "GettingStarted",
            "text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
        },
        "$:/language/Help/build": {
            "title": "$:/language/Help/build",
            "description": "Automatically run configured commands",
            "text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
        },
        "$:/language/Help/clearpassword": {
            "title": "$:/language/Help/clearpassword",
            "description": "Clear a password for subsequent crypto operations",
            "text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
        },
        "$:/language/Help/default": {
            "title": "$:/language/Help/default",
            "text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
        },
        "$:/language/Help/deletetiddlers": {
            "title": "$:/language/Help/deletetiddlers",
            "description": "Deletes a group of tiddlers",
            "text": "<<.from-version \"5.1.20\">> Deletes a group of tiddlers identified by a filter.\n\n```\n--deletetiddlers <filter>\n```\n"
        },
        "$:/language/Help/editions": {
            "title": "$:/language/Help/editions",
            "description": "Lists the available editions of TiddlyWiki",
            "text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
        },
        "$:/language/Help/fetch": {
            "title": "$:/language/Help/fetch",
            "description": "Fetch tiddlers from wiki by URL",
            "text": "Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nThe \"file\" and \"files\" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The \"raw-file\" and \"raw-files\" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.\n\nWith the \"file\" and \"raw-file\" variants only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" and \"raw-files\" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nFor the \"file\" and \"files\" variants, the `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nFor all variants, the `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nThe following example retrieves the \"favicon\" file from tiddlywiki.com and saves it in a file called \"output.ico\". Note that the intermediate tiddler \"Icon Tiddler\" is quoted in the \"--fetch\" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the \"--savetiddler\" command because it is being used directly as a title.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
        },
        "$:/language/Help/help": {
            "title": "$:/language/Help/help",
            "description": "Display help for TiddlyWiki commands",
            "text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
        },
        "$:/language/Help/import": {
            "title": "$:/language/Help/import",
            "description": "Import tiddlers from a file",
            "text": "Import tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The deserializer must be explicitly specified, unlike the `load` command which infers the deserializer from the file extension.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nThe deserializers in the core include:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nThe title of the imported tiddler defaults to the filename.\n\nThe encoding defaults to \"utf8\", but can be \"base64\" for importing binary files.\n\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\n"
        },
        "$:/language/Help/init": {
            "title": "$:/language/Help/init",
            "description": "Initialise a new wiki folder",
            "text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
        },
        "$:/language/Help/listen": {
            "title": "$:/language/Help/listen",
            "description": "Provides an HTTP server interface to TiddlyWiki",
            "text": "Serves a wiki over HTTP.\n\nThe listen command uses NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\n\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\n* ''anon-username'' - the username for signing edits for anonymous users\n* ''username'' - optional username for basic authentication\n* ''password'' - optional password for basic authentication\n* ''authenticated-user-header'' - optional name of header to be used for trusted authentication\n* ''readers'' - comma separated list of principals allowed to read from this wiki\n* ''writers'' - comma separated list of principals allowed to write to this wiki\n* ''csrf-disable'' - set to \"yes\" to disable CSRF checks (defaults to \"no\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n* ''gzip'' - set to \"yes\" to enable gzip compression for some http endpoints (defaults to \"no\")\n\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\n"
        },
        "$:/language/Help/load": {
            "title": "$:/language/Help/load",
            "description": "Load tiddlers from a file",
            "text": "Load tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \"noerror\" parameter.\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
        },
        "$:/language/Help/makelibrary": {
            "title": "$:/language/Help/makelibrary",
            "description": "Construct library plugin required by upgrade process",
            "text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
        },
        "$:/language/Help/notfound": {
            "title": "$:/language/Help/notfound",
            "text": "No such help item"
        },
        "$:/language/Help/output": {
            "title": "$:/language/Help/output",
            "description": "Set the base output directory for subsequent commands",
            "text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
        },
        "$:/language/Help/password": {
            "title": "$:/language/Help/password",
            "description": "Set a password for subsequent crypto operations",
            "text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
        },
        "$:/language/Help/render": {
            "title": "$:/language/Help/render",
            "description": "Renders individual tiddlers to files",
            "text": "Render individual tiddlers identified by a filter and save the results to the specified files.\n\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \"currentTiddler\" variable set to the title of the tiddler that is being rendered.\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>]\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\n* ''template'': Optional template through which each tiddler is rendered\n* ''name'': Name of optional variable\n* ''value'': Value of optional variable\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--render \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\n\nExamples:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n\n"
        },
        "$:/language/Help/rendertiddler": {
            "title": "$:/language/Help/rendertiddler",
            "description": "Render an individual tiddler as a specified ContentType",
            "text": "(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
        },
        "$:/language/Help/rendertiddlers": {
            "title": "$:/language/Help/rendertiddlers",
            "description": "Render tiddlers matching a filter to a specified ContentType",
            "text": "(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
        },
        "$:/language/Help/save": {
            "title": "$:/language/Help/save",
            "description": "Saves individual raw tiddlers to files",
            "text": "Saves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--save \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\n\nExamples:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- saves all non-system image tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles\n"
        },
        "$:/language/Help/savetiddler": {
            "title": "$:/language/Help/savetiddler",
            "description": "Saves a raw tiddler to a file",
            "text": "(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
        },
        "$:/language/Help/savetiddlers": {
            "title": "$:/language/Help/savetiddlers",
            "description": "Saves a group of raw tiddlers to a directory",
            "text": "(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
        },
        "$:/language/Help/savewikifolder": {
            "title": "$:/language/Help/savewikifolder",
            "description": "Saves a wiki to a new wiki folder",
            "text": "<<.from-version \"5.1.20\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>]\n```\n\n* The target wiki folder must be empty or non-existent\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\n* Custom plugins are unpacked into their own folder\n\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n"
        },
        "$:/language/Help/server": {
            "title": "$:/language/Help/server",
            "description": "Provides an HTTP server interface to TiddlyWiki (deprecated in favour of the new listen command)",
            "text": "Legacy command to serve a wiki over HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\n\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \"MY_PORT_NUMBER\":\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"
        },
        "$:/language/Help/setfield": {
            "title": "$:/language/Help/setfield",
            "description": "Prepares external tiddlers for use",
            "text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
        },
        "$:/language/Help/unpackplugin": {
            "title": "$:/language/Help/unpackplugin",
            "description": "Unpack the payload tiddlers from a plugin",
            "text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
        },
        "$:/language/Help/verbose": {
            "title": "$:/language/Help/verbose",
            "description": "Triggers verbose output mode",
            "text": "Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"
        },
        "$:/language/Help/version": {
            "title": "$:/language/Help/version",
            "description": "Displays the version number of TiddlyWiki",
            "text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
        },
        "$:/language/Import/Imported/Hint": {
            "title": "$:/language/Import/Imported/Hint",
            "text": "The following tiddlers were imported:"
        },
        "$:/language/Import/Listing/Cancel/Caption": {
            "title": "$:/language/Import/Listing/Cancel/Caption",
            "text": "Cancel"
        },
        "$:/language/Import/Listing/Hint": {
            "title": "$:/language/Import/Listing/Hint",
            "text": "These tiddlers are ready to import:"
        },
        "$:/language/Import/Listing/Import/Caption": {
            "title": "$:/language/Import/Listing/Import/Caption",
            "text": "Import"
        },
        "$:/language/Import/Listing/Select/Caption": {
            "title": "$:/language/Import/Listing/Select/Caption",
            "text": "Select"
        },
        "$:/language/Import/Listing/Status/Caption": {
            "title": "$:/language/Import/Listing/Status/Caption",
            "text": "Status"
        },
        "$:/language/Import/Listing/Title/Caption": {
            "title": "$:/language/Import/Listing/Title/Caption",
            "text": "Title"
        },
        "$:/language/Import/Listing/Preview": {
            "title": "$:/language/Import/Listing/Preview",
            "text": "Preview:"
        },
        "$:/language/Import/Listing/Preview/Text": {
            "title": "$:/language/Import/Listing/Preview/Text",
            "text": "Text"
        },
        "$:/language/Import/Listing/Preview/TextRaw": {
            "title": "$:/language/Import/Listing/Preview/TextRaw",
            "text": "Text (Raw)"
        },
        "$:/language/Import/Listing/Preview/Fields": {
            "title": "$:/language/Import/Listing/Preview/Fields",
            "text": "Fields"
        },
        "$:/language/Import/Listing/Preview/Diff": {
            "title": "$:/language/Import/Listing/Preview/Diff",
            "text": "Diff"
        },
        "$:/language/Import/Listing/Preview/DiffFields": {
            "title": "$:/language/Import/Listing/Preview/DiffFields",
            "text": "Diff (Fields)"
        },
        "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
            "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
            "text": "Blocked incompatible or obsolete plugin"
        },
        "$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
            "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
            "text": "Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)"
        },
        "$:/language/Import/Upgrader/Plugins/Upgraded": {
            "title": "$:/language/Import/Upgrader/Plugins/Upgraded",
            "text": "Upgraded plugin from <<incoming>> to <<upgraded>>"
        },
        "$:/language/Import/Upgrader/State/Suppressed": {
            "title": "$:/language/Import/Upgrader/State/Suppressed",
            "text": "Blocked temporary state tiddler"
        },
        "$:/language/Import/Upgrader/System/Suppressed": {
            "title": "$:/language/Import/Upgrader/System/Suppressed",
            "text": "Blocked system tiddler"
        },
        "$:/language/Import/Upgrader/System/Warning": {
            "title": "$:/language/Import/Upgrader/System/Warning",
            "text": "Core module tiddler"
        },
        "$:/language/Import/Upgrader/System/Alert": {
            "title": "$:/language/Import/Upgrader/System/Alert",
            "text": "You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable"
        },
        "$:/language/Import/Upgrader/ThemeTweaks/Created": {
            "title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
            "text": "Migrated theme tweak from <$text text=<<from>>/>"
        },
        "$:/language/AboveStory/ClassicPlugin/Warning": {
            "title": "$:/language/AboveStory/ClassicPlugin/Warning",
            "text": "It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"
        },
        "$:/language/BinaryWarning/Prompt": {
            "title": "$:/language/BinaryWarning/Prompt",
            "text": "This tiddler contains binary data"
        },
        "$:/language/ClassicWarning/Hint": {
            "title": "$:/language/ClassicWarning/Hint",
            "text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See https://tiddlywiki.com/static/Upgrading.html for more details."
        },
        "$:/language/ClassicWarning/Upgrade/Caption": {
            "title": "$:/language/ClassicWarning/Upgrade/Caption",
            "text": "upgrade"
        },
        "$:/language/CloseAll/Button": {
            "title": "$:/language/CloseAll/Button",
            "text": "close all"
        },
        "$:/language/ColourPicker/Recent": {
            "title": "$:/language/ColourPicker/Recent",
            "text": "Recent:"
        },
        "$:/language/ConfirmCancelTiddler": {
            "title": "$:/language/ConfirmCancelTiddler",
            "text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmDeleteTiddler": {
            "title": "$:/language/ConfirmDeleteTiddler",
            "text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmOverwriteTiddler": {
            "title": "$:/language/ConfirmOverwriteTiddler",
            "text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmEditShadowTiddler": {
            "title": "$:/language/ConfirmEditShadowTiddler",
            "text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"
        },
        "$:/language/Count": {
            "title": "$:/language/Count",
            "text": "count"
        },
        "$:/language/DefaultNewTiddlerTitle": {
            "title": "$:/language/DefaultNewTiddlerTitle",
            "text": "New Tiddler"
        },
        "$:/language/Diffs/CountMessage": {
            "title": "$:/language/Diffs/CountMessage",
            "text": "<<diff-count>> differences"
        },
        "$:/language/DropMessage": {
            "title": "$:/language/DropMessage",
            "text": "Drop here (or use the 'Escape' key to cancel)"
        },
        "$:/language/Encryption/Cancel": {
            "title": "$:/language/Encryption/Cancel",
            "text": "Cancel"
        },
        "$:/language/Encryption/ConfirmClearPassword": {
            "title": "$:/language/Encryption/ConfirmClearPassword",
            "text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki"
        },
        "$:/language/Encryption/PromptSetPassword": {
            "title": "$:/language/Encryption/PromptSetPassword",
            "text": "Set a new password for this TiddlyWiki"
        },
        "$:/language/Encryption/Username": {
            "title": "$:/language/Encryption/Username",
            "text": "Username"
        },
        "$:/language/Encryption/Password": {
            "title": "$:/language/Encryption/Password",
            "text": "Password"
        },
        "$:/language/Encryption/RepeatPassword": {
            "title": "$:/language/Encryption/RepeatPassword",
            "text": "Repeat password"
        },
        "$:/language/Encryption/PasswordNoMatch": {
            "title": "$:/language/Encryption/PasswordNoMatch",
            "text": "Passwords do not match"
        },
        "$:/language/Encryption/SetPassword": {
            "title": "$:/language/Encryption/SetPassword",
            "text": "Set password"
        },
        "$:/language/Error/Caption": {
            "title": "$:/language/Error/Caption",
            "text": "Error"
        },
        "$:/language/Error/EditConflict": {
            "title": "$:/language/Error/EditConflict",
            "text": "File changed on server"
        },
        "$:/language/Error/Filter": {
            "title": "$:/language/Error/Filter",
            "text": "Filter error"
        },
        "$:/language/Error/FilterSyntax": {
            "title": "$:/language/Error/FilterSyntax",
            "text": "Syntax error in filter expression"
        },
        "$:/language/Error/IsFilterOperator": {
            "title": "$:/language/Error/IsFilterOperator",
            "text": "Filter Error: Unknown operand for the 'is' filter operator"
        },
        "$:/language/Error/LoadingPluginLibrary": {
            "title": "$:/language/Error/LoadingPluginLibrary",
            "text": "Error loading plugin library"
        },
        "$:/language/Error/NetworkErrorAlert": {
            "title": "$:/language/Error/NetworkErrorAlert",
            "text": "`<h2>''Network Error''</h2>It looks like the connection to the server has been lost. This may indicate a problem with your network connection. Please attempt to restore network connectivity before continuing.<br><br>''Any unsaved changes will be automatically synchronised when connectivity is restored''.`"
        },
        "$:/language/Error/RecursiveTransclusion": {
            "title": "$:/language/Error/RecursiveTransclusion",
            "text": "Recursive transclusion error in transclude widget"
        },
        "$:/language/Error/RetrievingSkinny": {
            "title": "$:/language/Error/RetrievingSkinny",
            "text": "Error retrieving skinny tiddler list"
        },
        "$:/language/Error/SavingToTWEdit": {
            "title": "$:/language/Error/SavingToTWEdit",
            "text": "Error saving to TWEdit"
        },
        "$:/language/Error/WhileSaving": {
            "title": "$:/language/Error/WhileSaving",
            "text": "Error while saving"
        },
        "$:/language/Error/XMLHttpRequest": {
            "title": "$:/language/Error/XMLHttpRequest",
            "text": "XMLHttpRequest error code"
        },
        "$:/language/InternalJavaScriptError/Title": {
            "title": "$:/language/InternalJavaScriptError/Title",
            "text": "Internal JavaScript Error"
        },
        "$:/language/InternalJavaScriptError/Hint": {
            "title": "$:/language/InternalJavaScriptError/Hint",
            "text": "Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"
        },
        "$:/language/InvalidFieldName": {
            "title": "$:/language/InvalidFieldName",
            "text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"
        },
        "$:/language/LazyLoadingWarning": {
            "title": "$:/language/LazyLoadingWarning",
            "text": "<p>Trying to load external content from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear, either the tiddler content type doesn't match the type of the external content, or you may be using a browser that doesn't support external content for wikis loaded as standalone files. See https://tiddlywiki.com/#ExternalText</p>"
        },
        "$:/language/LoginToTiddlySpace": {
            "title": "$:/language/LoginToTiddlySpace",
            "text": "Login to TiddlySpace"
        },
        "$:/language/Manager/Controls/FilterByTag/None": {
            "title": "$:/language/Manager/Controls/FilterByTag/None",
            "text": "(none)"
        },
        "$:/language/Manager/Controls/FilterByTag/Prompt": {
            "title": "$:/language/Manager/Controls/FilterByTag/Prompt",
            "text": "Filter by tag:"
        },
        "$:/language/Manager/Controls/Order/Prompt": {
            "title": "$:/language/Manager/Controls/Order/Prompt",
            "text": "Reverse order"
        },
        "$:/language/Manager/Controls/Search/Placeholder": {
            "title": "$:/language/Manager/Controls/Search/Placeholder",
            "text": "Search"
        },
        "$:/language/Manager/Controls/Search/Prompt": {
            "title": "$:/language/Manager/Controls/Search/Prompt",
            "text": "Search:"
        },
        "$:/language/Manager/Controls/Show/Option/Tags": {
            "title": "$:/language/Manager/Controls/Show/Option/Tags",
            "text": "tags"
        },
        "$:/language/Manager/Controls/Show/Option/Tiddlers": {
            "title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
            "text": "tiddlers"
        },
        "$:/language/Manager/Controls/Show/Prompt": {
            "title": "$:/language/Manager/Controls/Show/Prompt",
            "text": "Show:"
        },
        "$:/language/Manager/Controls/Sort/Prompt": {
            "title": "$:/language/Manager/Controls/Sort/Prompt",
            "text": "Sort by:"
        },
        "$:/language/Manager/Item/Colour": {
            "title": "$:/language/Manager/Item/Colour",
            "text": "Colour"
        },
        "$:/language/Manager/Item/Fields": {
            "title": "$:/language/Manager/Item/Fields",
            "text": "Fields"
        },
        "$:/language/Manager/Item/Icon/None": {
            "title": "$:/language/Manager/Item/Icon/None",
            "text": "(none)"
        },
        "$:/language/Manager/Item/Icon": {
            "title": "$:/language/Manager/Item/Icon",
            "text": "Icon"
        },
        "$:/language/Manager/Item/RawText": {
            "title": "$:/language/Manager/Item/RawText",
            "text": "Raw text"
        },
        "$:/language/Manager/Item/Tags": {
            "title": "$:/language/Manager/Item/Tags",
            "text": "Tags"
        },
        "$:/language/Manager/Item/Tools": {
            "title": "$:/language/Manager/Item/Tools",
            "text": "Tools"
        },
        "$:/language/Manager/Item/WikifiedText": {
            "title": "$:/language/Manager/Item/WikifiedText",
            "text": "Wikified text"
        },
        "$:/language/MissingTiddler/Hint": {
            "title": "$:/language/MissingTiddler/Hint",
            "text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" -- click {{||$:/core/ui/Buttons/edit}} to create"
        },
        "$:/language/No": {
            "title": "$:/language/No",
            "text": "No"
        },
        "$:/language/OfficialPluginLibrary": {
            "title": "$:/language/OfficialPluginLibrary",
            "text": "Official ~TiddlyWiki Plugin Library"
        },
        "$:/language/OfficialPluginLibrary/Hint": {
            "title": "$:/language/OfficialPluginLibrary/Hint",
            "text": "The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."
        },
        "$:/language/PluginReloadWarning": {
            "title": "$:/language/PluginReloadWarning",
            "text": "Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect"
        },
        "$:/language/RecentChanges/DateFormat": {
            "title": "$:/language/RecentChanges/DateFormat",
            "text": "DDth MMM YYYY"
        },
        "$:/language/SystemTiddler/Tooltip": {
            "title": "$:/language/SystemTiddler/Tooltip",
            "text": "This is a system tiddler"
        },
        "$:/language/SystemTiddlers/Include/Prompt": {
            "title": "$:/language/SystemTiddlers/Include/Prompt",
            "text": "Include system tiddlers"
        },
        "$:/language/TagManager/Colour/Heading": {
            "title": "$:/language/TagManager/Colour/Heading",
            "text": "Colour"
        },
        "$:/language/TagManager/Count/Heading": {
            "title": "$:/language/TagManager/Count/Heading",
            "text": "Count"
        },
        "$:/language/TagManager/Icon/Heading": {
            "title": "$:/language/TagManager/Icon/Heading",
            "text": "Icon"
        },
        "$:/language/TagManager/Icons/None": {
            "title": "$:/language/TagManager/Icons/None",
            "text": "None"
        },
        "$:/language/TagManager/Info/Heading": {
            "title": "$:/language/TagManager/Info/Heading",
            "text": "Info"
        },
        "$:/language/TagManager/Tag/Heading": {
            "title": "$:/language/TagManager/Tag/Heading",
            "text": "Tag"
        },
        "$:/language/Tiddler/DateFormat": {
            "title": "$:/language/Tiddler/DateFormat",
            "text": "DDth MMM YYYY at hh12:0mmam"
        },
        "$:/language/UnsavedChangesWarning": {
            "title": "$:/language/UnsavedChangesWarning",
            "text": "You have unsaved changes in TiddlyWiki"
        },
        "$:/language/Yes": {
            "title": "$:/language/Yes",
            "text": "Yes"
        },
        "$:/language/Modals/Download": {
            "title": "$:/language/Modals/Download",
            "subtitle": "Download changes",
            "footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
            "help": "https://tiddlywiki.com/static/DownloadingChanges.html",
            "text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
        },
        "$:/language/Modals/SaveInstructions": {
            "title": "$:/language/Modals/SaveInstructions",
            "subtitle": "Save your work",
            "footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
            "help": "https://tiddlywiki.com/static/SavingChanges.html",
            "text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
        },
        "$:/config/NewJournal/Title": {
            "title": "$:/config/NewJournal/Title",
            "text": "DDth MMM YYYY"
        },
        "$:/config/NewJournal/Text": {
            "title": "$:/config/NewJournal/Text",
            "text": ""
        },
        "$:/config/NewJournal/Tags": {
            "title": "$:/config/NewJournal/Tags",
            "tags": "Journal"
        },
        "$:/language/Notifications/Save/Done": {
            "title": "$:/language/Notifications/Save/Done",
            "text": "Saved wiki"
        },
        "$:/language/Notifications/Save/Starting": {
            "title": "$:/language/Notifications/Save/Starting",
            "text": "Starting to save wiki"
        },
        "$:/language/Notifications/CopiedToClipboard/Succeeded": {
            "title": "$:/language/Notifications/CopiedToClipboard/Succeeded",
            "text": "Copied to clipboard!"
        },
        "$:/language/Notifications/CopiedToClipboard/Failed": {
            "title": "$:/language/Notifications/CopiedToClipboard/Failed",
            "text": "Failed to copy to clipboard!"
        },
        "$:/language/Search/DefaultResults/Caption": {
            "title": "$:/language/Search/DefaultResults/Caption",
            "text": "List"
        },
        "$:/language/Search/Filter/Caption": {
            "title": "$:/language/Search/Filter/Caption",
            "text": "Filter"
        },
        "$:/language/Search/Filter/Hint": {
            "title": "$:/language/Search/Filter/Hint",
            "text": "Search via a [[filter expression|https://tiddlywiki.com/static/Filters.html]]"
        },
        "$:/language/Search/Filter/Matches": {
            "title": "$:/language/Search/Filter/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/Matches": {
            "title": "$:/language/Search/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/Matches/All": {
            "title": "$:/language/Search/Matches/All",
            "text": "All matches:"
        },
        "$:/language/Search/Matches/Title": {
            "title": "$:/language/Search/Matches/Title",
            "text": "Title matches:"
        },
        "$:/language/Search/Search": {
            "title": "$:/language/Search/Search",
            "text": "Search"
        },
        "$:/language/Search/Search/TooShort": {
            "title": "$:/language/Search/Search/TooShort",
            "text": "Search text too short"
        },
        "$:/language/Search/Shadows/Caption": {
            "title": "$:/language/Search/Shadows/Caption",
            "text": "Shadows"
        },
        "$:/language/Search/Shadows/Hint": {
            "title": "$:/language/Search/Shadows/Hint",
            "text": "Search for shadow tiddlers"
        },
        "$:/language/Search/Shadows/Matches": {
            "title": "$:/language/Search/Shadows/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/Standard/Caption": {
            "title": "$:/language/Search/Standard/Caption",
            "text": "Standard"
        },
        "$:/language/Search/Standard/Hint": {
            "title": "$:/language/Search/Standard/Hint",
            "text": "Search for standard tiddlers"
        },
        "$:/language/Search/Standard/Matches": {
            "title": "$:/language/Search/Standard/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/System/Caption": {
            "title": "$:/language/Search/System/Caption",
            "text": "System"
        },
        "$:/language/Search/System/Hint": {
            "title": "$:/language/Search/System/Hint",
            "text": "Search for system tiddlers"
        },
        "$:/language/Search/System/Matches": {
            "title": "$:/language/Search/System/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/SideBar/All/Caption": {
            "title": "$:/language/SideBar/All/Caption",
            "text": "All"
        },
        "$:/language/SideBar/Contents/Caption": {
            "title": "$:/language/SideBar/Contents/Caption",
            "text": "Contents"
        },
        "$:/language/SideBar/Drafts/Caption": {
            "title": "$:/language/SideBar/Drafts/Caption",
            "text": "Drafts"
        },
        "$:/language/SideBar/Explorer/Caption": {
            "title": "$:/language/SideBar/Explorer/Caption",
            "text": "Explorer"
        },
        "$:/language/SideBar/Missing/Caption": {
            "title": "$:/language/SideBar/Missing/Caption",
            "text": "Missing"
        },
        "$:/language/SideBar/More/Caption": {
            "title": "$:/language/SideBar/More/Caption",
            "text": "More"
        },
        "$:/language/SideBar/Open/Caption": {
            "title": "$:/language/SideBar/Open/Caption",
            "text": "Open"
        },
        "$:/language/SideBar/Orphans/Caption": {
            "title": "$:/language/SideBar/Orphans/Caption",
            "text": "Orphans"
        },
        "$:/language/SideBar/Recent/Caption": {
            "title": "$:/language/SideBar/Recent/Caption",
            "text": "Recent"
        },
        "$:/language/SideBar/Shadows/Caption": {
            "title": "$:/language/SideBar/Shadows/Caption",
            "text": "Shadows"
        },
        "$:/language/SideBar/System/Caption": {
            "title": "$:/language/SideBar/System/Caption",
            "text": "System"
        },
        "$:/language/SideBar/Tags/Caption": {
            "title": "$:/language/SideBar/Tags/Caption",
            "text": "Tags"
        },
        "$:/language/SideBar/Tags/Untagged/Caption": {
            "title": "$:/language/SideBar/Tags/Untagged/Caption",
            "text": "untagged"
        },
        "$:/language/SideBar/Tools/Caption": {
            "title": "$:/language/SideBar/Tools/Caption",
            "text": "Tools"
        },
        "$:/language/SideBar/Types/Caption": {
            "title": "$:/language/SideBar/Types/Caption",
            "text": "Types"
        },
        "$:/SiteSubtitle": {
            "title": "$:/SiteSubtitle",
            "text": "a non-linear personal web notebook"
        },
        "$:/SiteTitle": {
            "title": "$:/SiteTitle",
            "text": "My ~TiddlyWiki"
        },
        "$:/language/Snippets/ListByTag": {
            "title": "$:/language/Snippets/ListByTag",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "List of tiddlers by tag",
            "text": "<<list-links \"[tag[task]sort[title]]\">>\n"
        },
        "$:/language/Snippets/MacroDefinition": {
            "title": "$:/language/Snippets/MacroDefinition",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Macro definition",
            "text": "\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
        },
        "$:/language/Snippets/Table4x3": {
            "title": "$:/language/Snippets/Table4x3",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Table with 4 columns by 3 rows",
            "text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
        },
        "$:/language/Snippets/TableOfContents": {
            "title": "$:/language/Snippets/TableOfContents",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Table of Contents",
            "text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
        },
        "$:/language/ThemeTweaks/ThemeTweaks": {
            "title": "$:/language/ThemeTweaks/ThemeTweaks",
            "text": "Theme Tweaks"
        },
        "$:/language/ThemeTweaks/ThemeTweaks/Hint": {
            "title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
            "text": "You can tweak certain aspects of the ''Vanilla'' theme."
        },
        "$:/language/ThemeTweaks/Options": {
            "title": "$:/language/ThemeTweaks/Options",
            "text": "Options"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout",
            "text": "Sidebar layout"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
            "text": "Fixed story, fluid sidebar"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
            "text": "Fluid story, fixed sidebar"
        },
        "$:/language/ThemeTweaks/Options/StickyTitles": {
            "title": "$:/language/ThemeTweaks/Options/StickyTitles",
            "text": "Sticky titles"
        },
        "$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
            "title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
            "text": "Causes tiddler titles to \"stick\" to the top of the browser window"
        },
        "$:/language/ThemeTweaks/Options/CodeWrapping": {
            "title": "$:/language/ThemeTweaks/Options/CodeWrapping",
            "text": "Wrap long lines in code blocks"
        },
        "$:/language/ThemeTweaks/Settings": {
            "title": "$:/language/ThemeTweaks/Settings",
            "text": "Settings"
        },
        "$:/language/ThemeTweaks/Settings/FontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/FontFamily",
            "text": "Font family"
        },
        "$:/language/ThemeTweaks/Settings/CodeFontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
            "text": "Code font family"
        },
        "$:/language/ThemeTweaks/Settings/EditorFontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/EditorFontFamily",
            "text": "Editor font family"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImage": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
            "text": "Page background image"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
            "text": "Page background image attachment"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
            "text": "Scroll with tiddlers"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
            "text": "Fixed to window"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
            "text": "Page background image size"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
            "text": "Auto"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
            "text": "Cover"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
            "text": "Contain"
        },
        "$:/language/ThemeTweaks/Metrics": {
            "title": "$:/language/ThemeTweaks/Metrics",
            "text": "Sizes"
        },
        "$:/language/ThemeTweaks/Metrics/FontSize": {
            "title": "$:/language/ThemeTweaks/Metrics/FontSize",
            "text": "Font size"
        },
        "$:/language/ThemeTweaks/Metrics/LineHeight": {
            "title": "$:/language/ThemeTweaks/Metrics/LineHeight",
            "text": "Line height"
        },
        "$:/language/ThemeTweaks/Metrics/BodyFontSize": {
            "title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
            "text": "Font size for tiddler body"
        },
        "$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
            "title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
            "text": "Line height for tiddler body"
        },
        "$:/language/ThemeTweaks/Metrics/StoryLeft": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
            "text": "Story left position"
        },
        "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
            "text": "how far the left margin of the story river<br>(tiddler area) is from the left of the page"
        },
        "$:/language/ThemeTweaks/Metrics/StoryTop": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryTop",
            "text": "Story top position"
        },
        "$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
            "text": "how far the top margin of the story river<br>is from the top of the page"
        },
        "$:/language/ThemeTweaks/Metrics/StoryRight": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryRight",
            "text": "Story right"
        },
        "$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
            "text": "how far the left margin of the sidebar <br>is from the left of the page"
        },
        "$:/language/ThemeTweaks/Metrics/StoryWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
            "text": "Story width"
        },
        "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
            "text": "the overall width of the story river"
        },
        "$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
            "text": "Tiddler width"
        },
        "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
            "text": "within the story river"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
            "text": "Sidebar breakpoint"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
            "text": "the minimum page width at which the story<br>river and sidebar will appear side by side"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
            "text": "Sidebar width"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
            "text": "the width of the sidebar in fluid-fixed layout"
        },
        "$:/language/TiddlerInfo/Advanced/Caption": {
            "title": "$:/language/TiddlerInfo/Advanced/Caption",
            "text": "Advanced"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
            "text": "none"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
            "text": "Plugin Details"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
            "text": "This plugin contains the following shadow tiddlers:"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
            "text": "Shadow Status"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
            "text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
            "text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
            "text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
            "text": "It is overridden by an ordinary tiddler"
        },
        "$:/language/TiddlerInfo/Fields/Caption": {
            "title": "$:/language/TiddlerInfo/Fields/Caption",
            "text": "Fields"
        },
        "$:/language/TiddlerInfo/List/Caption": {
            "title": "$:/language/TiddlerInfo/List/Caption",
            "text": "List"
        },
        "$:/language/TiddlerInfo/List/Empty": {
            "title": "$:/language/TiddlerInfo/List/Empty",
            "text": "This tiddler does not have a list"
        },
        "$:/language/TiddlerInfo/Listed/Caption": {
            "title": "$:/language/TiddlerInfo/Listed/Caption",
            "text": "Listed"
        },
        "$:/language/TiddlerInfo/Listed/Empty": {
            "title": "$:/language/TiddlerInfo/Listed/Empty",
            "text": "This tiddler is not listed by any others"
        },
        "$:/language/TiddlerInfo/References/Caption": {
            "title": "$:/language/TiddlerInfo/References/Caption",
            "text": "References"
        },
        "$:/language/TiddlerInfo/References/Empty": {
            "title": "$:/language/TiddlerInfo/References/Empty",
            "text": "No tiddlers link to this one"
        },
        "$:/language/TiddlerInfo/Tagging/Caption": {
            "title": "$:/language/TiddlerInfo/Tagging/Caption",
            "text": "Tagging"
        },
        "$:/language/TiddlerInfo/Tagging/Empty": {
            "title": "$:/language/TiddlerInfo/Tagging/Empty",
            "text": "No tiddlers are tagged with this one"
        },
        "$:/language/TiddlerInfo/Tools/Caption": {
            "title": "$:/language/TiddlerInfo/Tools/Caption",
            "text": "Tools"
        },
        "$:/language/Docs/Types/application/javascript": {
            "title": "$:/language/Docs/Types/application/javascript",
            "description": "JavaScript code",
            "name": "application/javascript",
            "group": "Developer",
            "group-sort": "2"
        },
        "$:/language/Docs/Types/application/json": {
            "title": "$:/language/Docs/Types/application/json",
            "description": "JSON data",
            "name": "application/json",
            "group": "Developer",
            "group-sort": "2"
        },
        "$:/language/Docs/Types/application/x-tiddler-dictionary": {
            "title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
            "description": "Data dictionary",
            "name": "application/x-tiddler-dictionary",
            "group": "Developer",
            "group-sort": "2"
        },
        "$:/language/Docs/Types/image/gif": {
            "title": "$:/language/Docs/Types/image/gif",
            "description": "GIF image",
            "name": "image/gif",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/image/jpeg": {
            "title": "$:/language/Docs/Types/image/jpeg",
            "description": "JPEG image",
            "name": "image/jpeg",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/image/png": {
            "title": "$:/language/Docs/Types/image/png",
            "description": "PNG image",
            "name": "image/png",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/image/svg+xml": {
            "title": "$:/language/Docs/Types/image/svg+xml",
            "description": "Structured Vector Graphics image",
            "name": "image/svg+xml",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/image/x-icon": {
            "title": "$:/language/Docs/Types/image/x-icon",
            "description": "ICO format icon file",
            "name": "image/x-icon",
            "group": "Image",
            "group-sort": "1"
        },
        "$:/language/Docs/Types/text/css": {
            "title": "$:/language/Docs/Types/text/css",
            "description": "Static stylesheet",
            "name": "text/css",
            "group": "Developer",
            "group-sort": "2"
        },
        "$:/language/Docs/Types/text/html": {
            "title": "$:/language/Docs/Types/text/html",
            "description": "HTML markup",
            "name": "text/html",
            "group": "Text",
            "group-sort": "0"
        },
        "$:/language/Docs/Types/text/plain": {
            "title": "$:/language/Docs/Types/text/plain",
            "description": "Plain text",
            "name": "text/plain",
            "group": "Text",
            "group-sort": "0"
        },
        "$:/language/Docs/Types/text/vnd.tiddlywiki": {
            "title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
            "description": "TiddlyWiki 5",
            "name": "text/vnd.tiddlywiki",
            "group": "Text",
            "group-sort": "0"
        },
        "$:/language/Docs/Types/text/x-tiddlywiki": {
            "title": "$:/language/Docs/Types/text/x-tiddlywiki",
            "description": "TiddlyWiki Classic",
            "name": "text/x-tiddlywiki",
            "group": "Text",
            "group-sort": "0"
        },
        "$:/languages/en-GB/icon": {
            "title": "$:/languages/en-GB/icon",
            "type": "image/svg+xml",
            "text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"
        },
        "$:/languages/en-GB": {
            "title": "$:/languages/en-GB",
            "name": "en-GB",
            "description": "English (British)",
            "author": "JeremyRuston",
            "core-version": ">=5.0.0\"",
            "text": "Stub pseudo-plugin for the default language"
        },
        "$:/core/modules/commander.js": {
            "title": "$:/core/modules/commander.js",
            "text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nLog a string if verbose flag is set\n*/\nCommander.prototype.log = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str + \"\\n\");\n\t}\n};\n\n/*\nWrite a string if verbose flag is set\n*/\nCommander.prototype.write = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str);\n\t}\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\t// Parse named parameters if required\n\t\t\t\tif(command.info.namedParameterMode) {\n\t\t\t\t\tparams = this.extractNamedParameters(params,command.info.mandatoryParameters);\n\t\t\t\t\tif(typeof params === \"string\") {\n\t\t\t\t\t\treturn this.callback(params);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nGiven an array of parameter strings `params` in name:value format, and an array of mandatory parameter names in `mandatoryParameters`, returns a hashmap of values or a string if error\n*/\nCommander.prototype.extractNamedParameters = function(params,mandatoryParameters) {\n\tmandatoryParameters = mandatoryParameters || [];\n\tvar errors = [],\n\t\tparamsByName = Object.create(null);\n\t// Extract the parameters\n\t$tw.utils.each(params,function(param) {\n\t\tvar index = param.indexOf(\"=\");\n\t\tif(index < 1) {\n\t\t\terrors.push(\"malformed named parameter: '\" + param + \"'\");\n\t\t}\n\t\tparamsByName[param.slice(0,index)] = $tw.utils.trim(param.slice(index+1));\n\t});\n\t// Check the mandatory parameters are present\n\t$tw.utils.each(mandatoryParameters,function(mandatoryParameter) {\n\t\tif(!$tw.utils.hop(paramsByName,mandatoryParameter)) {\n\t\t\terrors.push(\"missing mandatory parameter: '\" + mandatoryParameter + \"'\");\n\t\t}\n\t});\n\t// Return any errors\n\tif(errors.length > 0) {\n\t\treturn errors.join(\" and\\n\");\n\t} else {\n\t\treturn paramsByName;\t\t\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/commands/build.js": {
            "title": "$:/core/modules/commands/build.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/clearpassword.js": {
            "title": "$:/core/modules/commands/clearpassword.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/deletetiddlers.js": {
            "title": "$:/core/modules/commands/deletetiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/deletetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to delete tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"deletetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filter\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\twiki.deleteTiddler(title);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/editions.js": {
            "title": "$:/core/modules/commands/editions.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\"    \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/fetch.js": {
            "title": "$:/core/modules/commands/fetch.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/fetch.js\ntype: application/javascript\nmodule-type: command\n\nCommands to fetch external tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"fetch\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing subcommand and url\";\n\t}\n\tswitch(this.params[0]) {\n\t\tcase \"raw-file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turl: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turl: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"raw-files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn null;\n};\n\nCommand.prototype.fetchFiles = function(options) {\n\tvar self = this;\n\t// Get the list of URLs\n\tvar urls;\n\tif(options.url) {\n\t\turls = [options.url]\n\t} else if(options.urlFilter) {\n\t\turls = $tw.wiki.filterTiddlers(options.urlFilter);\n\t} else {\n\t\treturn \"Missing URL\";\n\t}\n\t// Process each URL in turn\n\tvar next = 0;\n\tvar getNextFile = function(err) {\n\t\tif(err) {\n\t\t\treturn options.callback(err);\n\t\t}\n\t\tif(next < urls.length) {\n\t\t\tself.fetchFile(urls[next++],options,getNextFile);\n\t\t} else {\n\t\t\toptions.callback(null);\n\t\t}\n\t};\n\tgetNextFile(null);\n\t// Success\n\treturn null;\n};\n\nCommand.prototype.fetchFile = function(url,options,callback,redirectCount) {\n\tif(redirectCount > 10) {\n\t\treturn callback(\"Error too many redirects retrieving \" + url);\n\t}\n\tvar self = this,\n\t\tlib = url.substr(0,8) === \"https://\" ? require(\"https\") : require(\"http\");\n\tlib.get(url).on(\"response\",function(response) {\n\t    var type = (response.headers[\"content-type\"] || \"\").split(\";\")[0],\n\t    \tdata = [];\n\t    self.commander.write(\"Reading \" + url + \": \");\n\t    response.on(\"data\",function(chunk) {\n\t        data.push(chunk);\n\t        self.commander.write(\".\");\n\t    });\n\t    response.on(\"end\",function() {\n\t        self.commander.write(\"\\n\");\n\t        if(response.statusCode === 200) {\n\t\t        self.processBody(Buffer.concat(data),type,options,url);\n\t\t        callback(null);\n\t        } else {\n\t        \tif(response.statusCode === 302 || response.statusCode === 303 || response.statusCode === 307) {\n\t        \t\treturn self.fetchFile(response.headers.location,options,callback,redirectCount + 1);\n\t        \t} else {\n\t\t        \treturn callback(\"Error \" + response.statusCode + \" retrieving \" + url)\t        \t\t\n\t        \t}\n\t        }\n\t   \t});\n\t   \tresponse.on(\"error\",function(e) {\n\t\t\tconsole.log(\"Error on GET request: \" + e);\n\t\t\tcallback(e);\n\t   \t});\n\t});\n\treturn null;\n};\n\nCommand.prototype.processBody = function(body,type,options,url) {\n\tvar self = this;\n\t// Collect the tiddlers in a wiki\n\tvar incomingWiki = new $tw.Wiki();\n\tif(options.raw) {\n\t\tvar typeInfo = type ? $tw.config.contentTypeInfo[type] : null,\n\t\t\tencoding = typeInfo ? typeInfo.encoding : \"utf8\";\n\t\tincomingWiki.addTiddler(new $tw.Tiddler({\n\t\t\ttitle: url,\n\t\t\ttype: type,\n\t\t\ttext: body.toString(encoding)\n\t\t}));\n\t} else {\n\t\t// Deserialise the file to extract the tiddlers\n\t\tvar tiddlers = this.commander.wiki.deserializeTiddlers(type || \"text/html\",body.toString(\"utf8\"),{});\n\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t});\n\t}\n\t// Filter the tiddlers to select the ones we want\n\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter || \"[all[tiddlers]]\");\n\t// Import the selected tiddlers\n\tvar count = 0;\n\tincomingWiki.each(function(tiddler,title) {\n\t\tif(filteredTitles.indexOf(title) !== -1) {\n\t\t\tvar newTiddler;\n\t\t\tif(options.transformFilter) {\n\t\t\t\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\"\"])[0];\n\t\t\t\tif(transformedTitle) {\n\t\t\t\t\tself.commander.log(\"Importing \" + title + \" as \" + transformedTitle)\n\t\t\t\t\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.commander.log(\"Importing \" + title)\n\t\t\t\tnewTiddler = tiddler;\n\t\t\t}\n\t\t\tself.commander.wiki.importTiddler(newTiddler);\n\t\t\tcount++;\n\t\t}\n\t});\n\tself.commander.log(\"Imported \" + count + \" tiddlers\")\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/help.js": {
            "title": "$:/core/modules/commands/help.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/import.js": {
            "title": "$:/core/modules/commands/import.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/import.js\ntype: application/javascript\nmodule-type: command\n\nCommand to import tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"import\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 2) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar filename = self.params[0],\n\t\tdeserializer = self.params[1],\n\t\ttitle = self.params[2] || filename,\n\t\tencoding = self.params[3] || \"utf8\",\n\t\ttext = fs.readFileSync(filename,encoding),\n\t\ttiddlers = this.commander.wiki.deserializeTiddlers(null,text,{title: title},{deserializer: deserializer});\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t});\n\tthis.commander.log(tiddlers.length + \" tiddler(s) imported\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/init.js": {
            "title": "$:/core/modules/commands/init.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/listen.js": {
            "title": "$:/core/modules/commands/listen.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/listen.js\ntype: application/javascript\nmodule-type: command\n\nListen for HTTP requests and serve tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"listen\",\n\tsynchronous: true,\n\tnamedParameterMode: true,\n\tmandatoryParameters: [],\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: self.params\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/load.js": {
            "title": "$:/core/modules/commands/load.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file or directory\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar tiddlers = $tw.loadTiddlersFromPath(self.params[0]),\n\t\tcount = 0;\n\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\n\t\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\n\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\tcount++;\n\t\t});\n\t});\n\tif(!count && self.params[1] !== \"noerror\") {\n\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t} else {\n\t\tself.callback(null);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/makelibrary.js": {
            "title": "$:/core/modules/commands/makelibrary.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = fs.readdirSync(folder);\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = fs.readdirSync(folder);\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,$tw.config.pluginsEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,$tw.config.themesEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,$tw.config.languagesEnvVar),collectPlugins);\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers})\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/output.js": {
            "title": "$:/core/modules/commands/output.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/password.js": {
            "title": "$:/core/modules/commands/password.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/render.js": {
            "title": "$:/core/modules/commands/render.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/render.js\ntype: application/javascript\nmodule-type: command\n\nRender individual tiddlers and save the results to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"render\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing tiddler filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]addsuffix[.html]]\",\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tvarName = this.params[4],\n\t\tvarValue = this.params[5],\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template || title),\n\t\t\tvariables = {currentTiddler: title};\n\t\tif(varName) {\n\t\t\tvariables[varName] = varValue || \"\";\n\t\t}\n\t\tvar widgetNode = wiki.makeWidget(parser,{variables: variables}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Rendering \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/rendertiddler.js": {
            "title": "$:/core/modules/commands/rendertiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tname = this.params[4],\n\t\tvalue = this.params[5],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\tif(name && value) {\n\t\tvariables[name] = value;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/rendertiddlers.js": {
            "title": "$:/core/modules/commands/rendertiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\t\t\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,encodeURIComponent(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/save.js": {
            "title": "$:/core/modules/commands/save.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/save.js\ntype: application/javascript\nmodule-type: command\n\nSaves individual tiddlers in their raw text or binary format to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"save\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]]\",\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Saving \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savelibrarytiddlers.js": {
            "title": "$:/core/modules/commands/savelibrarytiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = JSON.parse(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\tdoesRequireReload = !!$tw.wiki.doesPluginInfoRequireReload(pluginTiddlers),\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{\n\t\t\ttext: undefined,\n\t\t\treadme: readmeContent,\n\t\t\t\"requires-reload\": doesRequireReload ? \"yes\" : \"no\",\n\t\t\ticon: iconContent\n\t\t}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savetiddler.js": {
            "title": "$:/core/modules/commands/savetiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savetiddlers.js": {
            "title": "$:/core/modules/commands/savetiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savewikifolder.js": {
            "title": "$:/core/modules/commands/savewikifolder.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/savewikifolder.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the current wiki as a wiki folder\n\n--savewikifolder <wikifolderpath> [<filter>]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savewikifolder\",\n\tsynchronous: true\n};\n\nvar fs,path;\nif($tw.node) {\n\tfs = require(\"fs\");\n\tpath = require(\"path\");\n}\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing wiki folder path\";\n\t}\n\tvar wikifoldermaker = new WikiFolderMaker(this.params[0],this.params[1],this.commander);\n\treturn wikifoldermaker.save();\n};\n\nfunction WikiFolderMaker(wikiFolderPath,wikiFilter,commander) {\n\tthis.wikiFolderPath = wikiFolderPath;\n\tthis.wikiFilter = wikiFilter || \"[all[tiddlers]]\";\n\tthis.commander = commander;\n\tthis.wiki = commander.wiki;\n\tthis.savedPaths = []; // So that we can detect filename clashes\n}\n\nWikiFolderMaker.prototype.log = function(str) {\n\tif(this.commander.verbose) {\n\t\tconsole.log(str);\n\t}\n};\n\nWikiFolderMaker.prototype.tiddlersToIgnore = [\n\t\"$:/boot/boot.css\",\n\t\"$:/boot/boot.js\",\n\t\"$:/boot/bootprefix.js\",\n\t\"$:/core\",\n\t\"$:/library/sjcl.js\",\n\t\"$:/temp/info-plugin\"\n];\n\n/*\nReturns null if successful, or an error string if there was an error\n*/\nWikiFolderMaker.prototype.save = function() {\n\tvar self = this;\n\t// Check that the output directory doesn't exist\n\tif(fs.existsSync(this.wikiFolderPath) && !$tw.utils.isDirectoryEmpty(this.wikiFolderPath)) {\n\t\treturn \"The unpackwiki command requires that the output wiki folder be empty\";\n\t}\n\t// Get the tiddlers from the source wiki\n\tvar tiddlerTitles = this.wiki.filterTiddlers(this.wikiFilter);\n\t// Initialise a new tiddlwiki.info file\n\tvar newWikiInfo = {};\n\t// Process each incoming tiddler in turn\n\t$tw.utils.each(tiddlerTitles,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tif(self.tiddlersToIgnore.indexOf(title) !== -1) {\n\t\t\t\t// Ignore the core plugin and the ephemeral info plugin\n\t\t\t\tself.log(\"Ignoring tiddler: \" + title);\n\t\t\t} else {\n\t\t\t\tvar type = tiddler.fields.type,\n\t\t\t\t\tpluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif(type === \"application/json\" && pluginType) {\n\t\t\t\t\t// Plugin tiddler\n\t\t\t\t\tvar libraryDetails = self.findPluginInLibrary(title);\n\t\t\t\t\tif(libraryDetails) {\n\t\t\t\t\t\t// A plugin from the core library\n\t\t\t\t\t\tself.log(\"Adding built-in plugin: \" + libraryDetails.name);\n\t\t\t\t\t\tnewWikiInfo[libraryDetails.type] = newWikiInfo[libraryDetails.type]  || [];\n\t\t\t\t\t\t$tw.utils.pushTop(newWikiInfo[libraryDetails.type],libraryDetails.name);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// A custom plugin\n\t\t\t\t\t\tself.log(\"Processing custom plugin: \" + title);\n\t\t\t\t\t\tself.saveCustomPlugin(tiddler);\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t// Ordinary tiddler\n\t\t\t\t\tself.saveTiddler(\"tiddlers\",tiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Save the tiddlywiki.info file\n\tthis.saveJSONFile(\"tiddlywiki.info\",newWikiInfo);\n\tself.log(\"Writing tiddlywiki.info: \" + JSON.stringify(newWikiInfo,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\n/*\nTest whether the specified tiddler is a plugin in the plugin library\n*/\nWikiFolderMaker.prototype.findPluginInLibrary = function(title) {\n\tvar parts = title.split(\"/\"),\n\t\tpluginPath, type, name;\n\tif(parts[0] === \"$:\") {\n\t\tif(parts[1] === \"languages\" && parts.length === 3) {\n\t\t\tpluginPath = \"languages\" + path.sep + parts[2];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2];\n\t\t} else if(parts[1] === \"plugins\" || parts[1] === \"themes\" && parts.length === 4) {\n\t\t\tpluginPath = parts[1] + path.sep + parts[2] + path.sep + parts[3];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2] + \"/\" + parts[3];\n\t\t}\n\t}\n\tif(pluginPath && type && name) {\n\t\tpluginPath = path.resolve($tw.boot.bootPath,\"..\",pluginPath);\n\t\tif(fs.existsSync(pluginPath)) {\n\t\t\treturn {\n\t\t\t\tpluginPath: pluginPath,\n\t\t\t\ttype: type,\n\t\t\t\tname: name\n\t\t\t};\n\t\t}\n\t}\n\treturn false;\n};\n\nWikiFolderMaker.prototype.saveCustomPlugin = function(pluginTiddler) {\n\tvar self = this,\n\t\tpluginTitle = pluginTiddler.fields.title,\n\t\ttitleParts = pluginTitle.split(\"/\"),\n\t\tdirectory = $tw.utils.generateTiddlerFilepath(titleParts[titleParts.length - 1],{\n\t\t\tdirectory: path.resolve(this.wikiFolderPath,pluginTiddler.fields[\"plugin-type\"] + \"s\")\n\t\t}),\n\t\tpluginInfo = pluginTiddler.getFieldStrings({exclude: [\"text\",\"type\"]});\n\tthis.saveJSONFile(directory + path.sep + \"plugin.info\",pluginInfo);\n\tself.log(\"Writing \" + directory + path.sep + \"plugin.info: \" + JSON.stringify(pluginInfo,null,$tw.config.preferences.jsonSpaces));\n\tvar pluginTiddlers = JSON.parse(pluginTiddler.fields.text).tiddlers; // A hashmap of tiddlers in the plugin\n\t$tw.utils.each(pluginTiddlers,function(tiddler) {\n\t\tself.saveTiddler(directory,new $tw.Tiddler(tiddler));\n\t});\n};\n\nWikiFolderMaker.prototype.saveTiddler = function(directory,tiddler) {\n\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\tdirectory: path.resolve(this.wikiFolderPath,directory),\n\t\twiki: this.wiki\n\t});\n\t$tw.utils.saveTiddlerToFileSync(tiddler,fileInfo);\n};\n\nWikiFolderMaker.prototype.saveJSONFile = function(filename,json) {\n\tthis.saveTextFile(filename,JSON.stringify(json,null,$tw.config.preferences.jsonSpaces));\n};\n\nWikiFolderMaker.prototype.saveTextFile = function(filename,data) {\n\tthis.saveFile(filename,\"utf8\",data);\n};\n\nWikiFolderMaker.prototype.saveFile = function(filename,encoding,data) {\n\tvar filepath = path.resolve(this.wikiFolderPath,filename);\n\t$tw.utils.createFileDirectories(filepath);\n\tfs.writeFileSync(filepath,data,encoding);\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/server.js": {
            "title": "$:/core/modules/commands/server.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nDeprecated legacy command for serving tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: {\n\t\t\tport: this.params[0],\n\t\t\thost: this.params[6],\n\t\t\t\"root-tiddler\": this.params[1],\n\t\t\t\"root-render-type\": this.params[2],\n\t\t\t\"root-serve-type\": this.params[3],\n\t\t\tusername: this.params[4],\n\t\t\tpassword: this.params[5],\n\t\t\t\"path-prefix\": this.params[7],\n\t\t\t\"debug-level\": this.params[8]\n\t\t}\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/setfield.js": {
            "title": "$:/core/modules/commands/setfield.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/unpackplugin.js": {
            "title": "$:/core/modules/commands/unpackplugin.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/verbose.js": {
            "title": "$:/core/modules/commands/verbose.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n  \" + $tw.boot.logMessages.join(\"\\n  \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/version.js": {
            "title": "$:/core/modules/commands/version.js",
            "text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/config.js": {
            "title": "$:/core/modules/config.js",
            "text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter:   \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n",
            "type": "application/javascript",
            "module-type": "config"
        },
        "$:/core/modules/deserializers.js": {
            "title": "$:/core/modules/deserializers.js",
            "text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming,\n\t\tresults = [];\n\ttry {\n\t\tincoming = JSON.parse(text);\n\t} catch(e) {\n\t\tincoming = [{\n\t\t\ttitle: \"JSON error: \" + e,\n\t\t\ttext: \"\"\n\t\t}]\n\t}\n\tif(!$tw.utils.isArray(incoming)) {\n\t\tincoming = [incoming];\n\t}\n\tfor(var t=0; t<incoming.length; t++) {\n\t\tvar incomingFields = incoming[t],\n\t\t\tfields = {};\n\t\tfor(var f in incomingFields) {\n\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t}\n\t\t}\n\t\tresults.push(fields);\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "tiddlerdeserializer"
        },
        "$:/core/modules/editor/engines/framed.js": {
            "title": "$:/core/modules/editor/engines/framed.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeNode.style[\"background-color\"] = this.widget.wiki.extractTiddlerDataItem(this.widget.wiki.getTiddlerText(\"$:/palette\"),\"tiddler-editor-background\");\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.iframeNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"click\",handlerObject: this,handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\tthis.domNode.style[\"background-color\"] = this.widget.wiki.extractTiddlerDataItem(this.widget.wiki.getTiddlerText(\"$:/palette\"),\"tiddler-editor-background\");\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus  = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a click\n*/\nFramedEngine.prototype.handleClickEvent = function(event) {\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/editor/engines/simple.js": {
            "title": "$:/core/modules/editor/engines/simple.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.domNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus  = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/editor/factory.js": {
            "title": "$:/core/modules/editor/factory.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag) || \"input\";\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0) && (!this.document.isTiddlyWikiFakeDom);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup ||  changedAttributes.rows || changedAttributes.tabindex || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t    clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t    el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/editor/operations/bitmap/clear.js": {
            "title": "$:/core/modules/editor/operations/bitmap/clear.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "bitmapeditoroperation"
        },
        "$:/core/modules/editor/operations/bitmap/resize.js": {
            "title": "$:/core/modules/editor/operations/bitmap/resize.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "bitmapeditoroperation"
        },
        "$:/core/modules/editor/operations/bitmap/rotate-left.js": {
            "title": "$:/core/modules/editor/operations/bitmap/rotate-left.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/rotate-left.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to rotate the image left by 90 degrees\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"rotate-left\"] = function(event) {\n\t// Rotate the canvas left by 90 degrees\n\tthis.rotateCanvasLeft();\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "bitmapeditoroperation"
        },
        "$:/core/modules/editor/operations/text/excise.js": {
            "title": "$:/core/modules/editor/operations/text/excise.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ?  [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/make-link.js": {
            "title": "$:/core/modules/editor/operations/text/make-link.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/prefix-lines.js": {
            "title": "$:/core/modules/editor/operations/text/prefix-lines.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\tvar targetCount = parseInt(event.paramObject.count + \"\",10);\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,targetCount);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile(line.charAt(0) === event.paramObject.character) {\n\t\t\tline = line.substring(1);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== targetCount) {\n\t\t\t// Apply the prefix\n\t\t\tline =  prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/replace-all.js": {
            "title": "$:/core/modules/editor/operations/text/replace-all.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/replace-selection.js": {
            "title": "$:/core/modules/editor/operations/text/replace-selection.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/save-selection.js": {
            "title": "$:/core/modules/editor/operations/text/save-selection.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/save-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to save the current selection in a specified tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"save-selection\"] = function(event,operation) {\n\tvar tiddler = event.paramObject.tiddler,\n\t\tfield = event.paramObject.field || \"text\";\n\tif(tiddler && field) {\n\t\tthis.wiki.setText(tiddler,field,null,operation.text.substring(operation.selStart,operation.selEnd));\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/wrap-lines.js": {
            "title": "$:/core/modules/editor/operations/text/wrap-lines.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Add the prefix and suffix\n\toperation.replacement = event.paramObject.prefix + \"\\n\" +\n\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\tevent.paramObject.suffix + \"\\n\";\n\toperation.newSelStart = operation.cutStart + event.paramObject.prefix.length + 1;\n\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/wrap-selection.js": {
            "title": "$:/core/modules/editor/operations/text/wrap-selection.js",
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix\n\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\toperation.replacement = \"\";\n\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/filters/addprefix.js": {
            "title": "$:/core/modules/filters/addprefix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/addsuffix.js": {
            "title": "$:/core/modules/filters/addsuffix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/after.js": {
            "title": "$:/core/modules/filters/after.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/all/current.js": {
            "title": "$:/core/modules/filters/all/current.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/missing.js": {
            "title": "$:/core/modules/filters/all/missing.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/orphans.js": {
            "title": "$:/core/modules/filters/all/orphans.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/shadows.js": {
            "title": "$:/core/modules/filters/all/shadows.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/tags.js": {
            "title": "$:/core/modules/filters/all/tags.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/tags.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tags]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,prefix,options) {\n\treturn Object.keys(options.wiki.getTagMap());\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/tiddlers.js": {
            "title": "$:/core/modules/filters/all/tiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all.js": {
            "title": "$:/core/modules/filters/all.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/backlinks.js": {
            "title": "$:/core/modules/filters/backlinks.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/before.js": {
            "title": "$:/core/modules/filters/before.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/commands.js": {
            "title": "$:/core/modules/filters/commands.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/compare.js": {
            "title": "$:/core/modules/filters/compare.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/compare.js\ntype: application/javascript\nmodule-type: filteroperator\n\nGeneral purpose comparison operator\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.compare = function(source,operator,options) {\n\tvar suffixes = operator.suffixes || [],\n\t\ttype = (suffixes[0] || [])[0],\n\t\tmode = (suffixes[1] || [])[0],\n\t\ttypeFn = types[type] || types.number,\n\t\tmodeFn = modes[mode] || modes.eq,\n\t\tinvert = operator.prefix === \"!\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tif(modeFn(typeFn(title,operator.operand)) !== invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\nvar types = {\n\t\"number\": function(a,b) {\n\t\treturn compare($tw.utils.parseNumber(a),$tw.utils.parseNumber(b));\n\t},\n\t\"integer\": function(a,b) {\n\t\treturn compare($tw.utils.parseInt(a),$tw.utils.parseInt(b));\n\t},\n\t\"string\": function(a,b) {\n\t\treturn compare(\"\" + a,\"\" +b);\n\t},\n\t\"date\": function(a,b) {\n\t\tvar dateA = $tw.utils.parseDate(a),\n\t\t\tdateB = $tw.utils.parseDate(b);\n\t\tif(!isFinite(dateA)) {\n\t\t\tdateA = new Date(0);\n\t\t}\n\t\tif(!isFinite(dateB)) {\n\t\t\tdateB = new Date(0);\n\t\t}\n\t\treturn compare(dateA,dateB);\n\t},\n\t\"version\": function(a,b) {\n\t\treturn $tw.utils.compareVersions(a,b);\n\t}\n};\n\nfunction compare(a,b) {\n\tif(a > b) {\n\t\treturn +1;\n\t} else if(a < b) {\n\t\treturn -1;\n\t} else {\n\t\treturn 0;\n\t}\n};\n\nvar modes = {\n\t\"eq\": function(value) {return value === 0;},\n\t\"ne\": function(value) {return value !== 0;},\n\t\"gteq\": function(value) {return value >= 0;},\n\t\"gt\": function(value) {return value > 0;},\n\t\"lteq\": function(value) {return value <= 0;},\n\t\"lt\": function(value) {return value < 0;}\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/contains.js": {
            "title": "$:/core/modules/filters/contains.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/contains.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for finding values in array fields\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.contains = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"list\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/count.js": {
            "title": "$:/core/modules/filters/count.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/count.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the number of entries in the current list.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.count = function(source,operator,options) {\n\tvar count = 0;\n\tsource(function(tiddler,title) {\n\t\tcount++;\n\t});\n\treturn [count + \"\"];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/days.js": {
            "title": "$:/core/modules/filters/days.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/each.js": {
            "title": "$:/core/modules/filters/each.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\tvalue,values = {},\n\tfield = operator.operand || \"title\";\n\tif(operator.suffix === \"value\" && field === \"title\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(values,title)) {\n\t\t\t\tvalues[title] = true;\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else if(operator.suffix !== \"list-item\") {\n\t\tif(field === \"title\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && !$tw.utils.hop(values,title)) {\n\t\t\t\t\tvalues[title] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvalue = tiddler.getFieldString(field);\n\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/eachday.js": {
            "title": "$:/core/modules/filters/eachday.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/editiondescription.js": {
            "title": "$:/core/modules/filters/editiondescription.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\tresults.push(editionInfo[title].description || \"\");\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/editions.js": {
            "title": "$:/core/modules/filters/editions.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\tresults.push(name);\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/else.js": {
            "title": "$:/core/modules/filters/else.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/else.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing an empty input list with a constant, passing a non-empty input list straight through\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.else = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tif(results.length === 0) {\n\t\treturn [operator.operand];\n\t} else {\n\t\treturn results;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/decodeuricomponent.js": {
            "title": "$:/core/modules/filters/decodeuricomponent.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/decodeuricomponent.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying decodeURIComponent() to each item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports.decodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURIComponent(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURIComponent(title));\n\t});\n\treturn results;\n};\n\nexports.decodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURI(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.decodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlDecode(title));\n\t});\n\treturn results;\n};\n\nexports.encodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlEncode(title));\n\t});\n\treturn results;\n};\n\nexports.stringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.stringify(title));\n\t});\n\treturn results;\n};\n\nexports.jsonstringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.jsonStringify(title));\n\t});\n\treturn results;\n};\n\nexports.escaperegexp = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.escapeRegExp(title));\n\t});\n\treturn results;\n};\n\nexports.escapecss = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t// escape any character with a special meaning in CSS using CSS.escape()\n\t\tresults.push(CSS.escape(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/enlist.js": {
            "title": "$:/core/modules/filters/enlist.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/enlist.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand parsed as a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.enlist = function(source,operator,options) {\n\tvar allowDuplicates = false;\n\tswitch(operator.suffix) {\n\t\tcase \"raw\":\n\t\t\tallowDuplicates = true;\n\t\t\tbreak;\n\t\tcase \"dedupe\":\n\t\t\tallowDuplicates = false;\n\t\t\tbreak;\n\t}\n\tvar list = $tw.utils.parseStringArray(operator.operand,allowDuplicates);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/field.js": {
            "title": "$:/core/modules/filters/field.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],indexedResults,\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif(source.byField && operator.operand) {\n\t\t\t\tindexedResults = source.byField(fieldname,operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults\n\t\t\t\t}\n\t\t\t}\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/fields.js": {
            "title": "$:/core/modules/filters/fields.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName,\n\t\tsuffixes = (operator.suffixes || [])[0] || [],\n\t\toperand = $tw.utils.parseStringArray(operator.operand);\n\t\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(suffixes.indexOf(\"include\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? $tw.utils.pushTop(results,fieldName) : \"\";\n\t\t\t\t}\n\t\t\t} else if (suffixes.indexOf(\"exclude\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? \"\" : $tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else if\n\t\t\telse {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else\n\t\t} // if (tiddler)\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/get.js": {
            "title": "$:/core/modules/filters/get.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/getindex.js": {
            "title": "$:/core/modules/filters/getindex.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/getvariable.js": {
            "title": "$:/core/modules/filters/getvariable.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/getvariable.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing input values by the value of the variable with the same name, or blank if the variable is missing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getvariable = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.widget.getVariable(title) || \"\");\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/has.js": {
            "title": "$:/core/modules/filters/has.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field or index\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [],\n\t\tinvert = operator.prefix === \"!\";\n\n\tif(operator.suffix === \"field\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse if(operator.suffix === \"index\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop($tw.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop($tw.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand] === \"\")) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && !(tiddler.fields[operator.operand] === \"\" || tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\t\t\t\t\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/haschanged.js": {
            "title": "$:/core/modules/filters/haschanged.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/indexes.js": {
            "title": "$:/core/modules/filters/indexes.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/insertbefore.js": {
            "title": "$:/core/modules/filters/insertbefore.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/insertbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item before another item in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\");\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry before the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,0,operator.operand);\n\t\t} else {\n\t\t\tresults.push(operator.operand);\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/is/binary.js": {
            "title": "$:/core/modules/filters/is/binary.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/binary.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[binary]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.binary = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/blank.js": {
            "title": "$:/core/modules/filters/is/blank.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/blank.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[blank]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.blank = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/current.js": {
            "title": "$:/core/modules/filters/is/current.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/image.js": {
            "title": "$:/core/modules/filters/is/image.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/missing.js": {
            "title": "$:/core/modules/filters/is/missing.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/orphan.js": {
            "title": "$:/core/modules/filters/is/orphan.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/shadow.js": {
            "title": "$:/core/modules/filters/is/shadow.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/system.js": {
            "title": "$:/core/modules/filters/is/system.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/tag.js": {
            "title": "$:/core/modules/filters/is/tag.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/tiddler.js": {
            "title": "$:/core/modules/filters/is/tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/variable.js": {
            "title": "$:/core/modules/filters/is/variable.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is/variable.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[variable]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variable = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!(title in options.widget.variables)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title in options.widget.variables) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is.js": {
            "title": "$:/core/modules/filters/is.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tif(operator.operand) {\n\t\tvar isFilterOperator = isFilterOperators[operator.operand];\n\t\tif(isFilterOperator) {\n\t\t\treturn isFilterOperator(source,operator.prefix,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all tiddlers if the operand is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/limit.js": {
            "title": "$:/core/modules/filters/limit.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/links.js": {
            "title": "$:/core/modules/filters/links.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/list.js": {
            "title": "$:/core/modules/filters/list.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/listed.js": {
            "title": "$:/core/modules/filters/listed.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/listops.js": {
            "title": "$:/core/modules/filters/listops.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.order = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operand.toLowerCase() === \"reverse\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.unshift(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/lookup.js": {
            "title": "$:/core/modules/filters/lookup.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/lookup.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that looks up values via a title prefix\n\n[lookup:<field>[<prefix>]]\n\nPrepends the prefix to the selected items and returns the specified field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.lookup = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.wiki.getTiddlerText(operator.operand + title) || options.wiki.getTiddlerText(operator.operand + operator.suffix));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/match.js": {
            "title": "$:/core/modules/filters/match.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/match.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title matches a string\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.match = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() !== (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() === (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/math.js": {
            "title": "$:/core/modules/filters/math.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/math.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for math. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\nNote that strings are converted to numbers automatically. Trailing non-digits are ignored.\n\n* \"\" converts to 0\n* \"12kk\" converts to 12\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.negate = makeNumericBinaryOperator(\n\tfunction(a) {return -a}\n);\n\nexports.abs = makeNumericBinaryOperator(\n\tfunction(a) {return Math.abs(a)}\n);\n\nexports.ceil = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(a)}\n);\n\nexports.floor = makeNumericBinaryOperator(\n\tfunction(a) {return Math.floor(a)}\n);\n\nexports.round = makeNumericBinaryOperator(\n\tfunction(a) {return Math.round(a)}\n);\n\nexports.trunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.trunc(a)}\n);\n\nexports.untrunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(Math.abs(a)) * Math.sign(a)}\n);\n\nexports.sign = makeNumericBinaryOperator(\n\tfunction(a) {return Math.sign(a)}\n);\n\nexports.add = makeNumericBinaryOperator(\n\tfunction(a,b) {return a + b;}\n);\n\nexports.subtract = makeNumericBinaryOperator(\n\tfunction(a,b) {return a - b;}\n);\n\nexports.multiply = makeNumericBinaryOperator(\n\tfunction(a,b) {return a * b;}\n);\n\nexports.divide = makeNumericBinaryOperator(\n\tfunction(a,b) {return a / b;}\n);\n\nexports.remainder = makeNumericBinaryOperator(\n\tfunction(a,b) {return a % b;}\n);\n\nexports.max = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.max(a,b);}\n);\n\nexports.min = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.min(a,b);}\n);\n\nexports.fixed = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toFixed.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.precision = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toPrecision.call(a,Math.min(Math.max(b,1),100));}\n);\n\nexports.exponential = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toExponential.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.sum = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value},\n\t0 // Initial value\n);\n\nexports.product = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator * value},\n\t1 // Initial value\n);\n\nexports.maxall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.max(accumulator,value)},\n\t-Infinity // Initial value\n);\n\nexports.minall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.min(accumulator,value)},\n\tInfinity // Initial value\n);\n\nfunction makeNumericBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [],\n\t\t\tnumOperand = $tw.utils.parseNumber(operator.operand);\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push($tw.utils.stringifyNumber(fnCalc($tw.utils.parseNumber(title),numOperand)));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeNumericReducingOperator(fnCalc,initialValue) {\n\tinitialValue = initialValue || 0;\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\treturn [$tw.utils.stringifyNumber(result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,$tw.utils.parseNumber(currentValue));\n\t\t},initialValue))];\n\t};\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/minlength.js": {
            "title": "$:/core/modules/filters/minlength.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/minlength.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for filtering out titles that don't meet the minimum length in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.minlength = function(source,operator,options) {\n\tvar results = [],\n\t\tminLength = parseInt(operator.operand || \"\",10) || 0;\n\tsource(function(tiddler,title) {\n\t\tif(title.length >= minLength) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/modules.js": {
            "title": "$:/core/modules/filters/modules.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/moduletypes.js": {
            "title": "$:/core/modules/filters/moduletypes.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/next.js": {
            "title": "$:/core/modules/filters/next.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/plugintiddlers.js": {
            "title": "$:/core/modules/filters/plugintiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/prefix.js": {
            "title": "$:/core/modules/filters/prefix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/previous.js": {
            "title": "$:/core/modules/filters/previous.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/range.js": {
            "title": "$:/core/modules/filters/range.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/range.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for generating a numeric range.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.range = function(source,operator,options) {\n\tvar results = [];\n\t// Split the operand into numbers delimited by these symbols\n\tvar parts = operator.operand.split(/[,:;]/g),\n\t\tbeg, end, inc, i, fixed = 0;\n\tfor (i=0; i<parts.length; i++) {\n\t\t// Validate real number\n\t\tif(!/^\\s*[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))\\s*$/.test(parts[i])) {\n\t\t\treturn [\"range: bad number \\\"\" + parts[i] + \"\\\"\"];\n\t\t}\n\t\t// Count digits; the most precise number determines decimal places in output.\n\t\tvar frac = /\\.\\d+/.exec(parts[i]);\n\t\tif(frac) {\n\t\t\tfixed = Math.max(fixed,frac[0].length-1);\n\t\t}\n\t\tparts[i] = parseFloat(parts[i]);\n\t}\n\tswitch(parts.length) {\n\t\tcase 1:\n\t\t\tend = parts[0];\n\t\t\tif (end >= 1) {\n\t\t\t\tbeg = 1;\n\t\t\t}\n\t\t\telse if (end <= -1) {\n\t\t\t\tbeg = -1;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = Math.abs(parts[2]);\n\t\t\tbreak;\n\t}\n\tif(inc === 0) {\n\t\treturn [\"range: increment 0 causes infinite loop\"];\n\t}\n\t// May need to count backwards\n\tvar direction = ((end < beg) ? -1 : 1);\n\tinc *= direction;\n\t// Estimate number of resulting elements\n\tif((end - beg) / inc > 10000) {\n\t\treturn [\"range: too many steps (over 10K)\"];\n\t}\n\t// Avoid rounding error on last step\n\tend += direction * 0.5 * Math.pow(0.1,fixed);\n\tvar safety = 10010;\n\t// Enumerate the range\n\tif (end<beg) {\n\t\tfor(i=beg; i>end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor(i=beg; i<end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(safety<0) {\n\t\treturn [\"range: unexpectedly large output\"];\n\t}\n\t// Reverse?\n\tif(operator.prefix === \"!\") {\n\t\tresults.reverse();\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/regexp.js": {
            "title": "$:/core/modules/filters/regexp.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/removeprefix.js": {
            "title": "$:/core/modules/filters/removeprefix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/removesuffix.js": {
            "title": "$:/core/modules/filters/removesuffix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title && title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/sameday.js": {
            "title": "$:/core/modules/filters/sameday.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(tiddler.getFieldDay(fieldName) === targetDate) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/search.js": {
            "title": "$:/core/modules/filters/search.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffixes) {\n\t\tvar hasFlag = function(flag) {\n\t\t\t\treturn (operator.suffixes[1] || []).indexOf(flag) !== -1;\n\t\t\t},\n\t\t\texcludeFields = false,\n\t\t\tfieldList = operator.suffixes[0] || [],\n\t\t\tfirstField = fieldList[0] || \"\", \n\t\t\tfirstChar = firstField.charAt(0),\n\t\t\tfields;\n\t\tif(firstChar === \"-\") {\n\t\t\tfields = [firstField.slice(1)].concat(fieldList.slice(1));\n\t\t\texcludeFields = true;\n\t\t} else if(fieldList[0] === \"*\"){\n\t\t\tfields = [];\n\t\t\texcludeFields = true;\n\t\t} else {\n\t\t\tfields = fieldList.slice(0);\n\t\t}\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: fields,\n\t\t\texcludeField: excludeFields,\n\t\t\tcaseSensitive: hasFlag(\"casesensitive\"),\n\t\t\tliteral: hasFlag(\"literal\"),\n\t\t\twhitespace: hasFlag(\"whitespace\"),\n\t\t\tanchored: hasFlag(\"anchored\"),\n\t\t\tregexp: hasFlag(\"regexp\"),\n\t\t\twords: hasFlag(\"words\")\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/shadowsource.js": {
            "title": "$:/core/modules/filters/shadowsource.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/sort.js": {
            "title": "$:/core/modules/filters/sort.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortan = function(source, operator, options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results, operator.operand || \"title\", operator.prefix === \"!\",false,false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/splitbefore.js": {
            "title": "$:/core/modules/filters/splitbefore.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/storyviews.js": {
            "title": "$:/core/modules/filters/storyviews.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/strings.js": {
            "title": "$:/core/modules/filters/strings.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/strings.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for strings. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.length = makeStringBinaryOperator(\n\tfunction(a) {return [\"\" + (\"\" + a).length];}\n);\n\nexports.uppercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toUpperCase()];}\n);\n\nexports.lowercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toLowerCase()];}\n);\n\nexports.sentencecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toSentenceCase(a)];}\n);\n\nexports.titlecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toTitleCase(a)];}\n);\n\nexports.trim = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.trim(a)];}\n);\n\nexports.split = makeStringBinaryOperator(\n\tfunction(a,b) {return (\"\" + a).split(b);}\n);\n\nexports.join = makeStringReducingOperator(\n\tfunction(accumulator,value,operand) {\n\t\tif(accumulator === null) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn accumulator + operand + value;\n\t\t}\n\t},null\n);\n\nfunction makeStringBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tArray.prototype.push.apply(result,fnCalc(title,operator.operand || \"\"));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeStringReducingOperator(fnCalc,initialValue) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\treturn [result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,currentValue,operator.operand || \"\");\n\t\t},initialValue) || \"\"];\n\t};\n}\n\nexports.splitregexp = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\tflags = (suffix.indexOf(\"m\") !== -1 ? \"m\" : \"\") + (suffix.indexOf(\"i\") !== -1 ? \"i\" : \"\"),\n\t\tregExp;\n\ttry {\n\t\tregExp = new RegExp(operator.operand || \"\",flags);\t\t\n\t} catch(ex) {\n\t\treturn [\"RegExp error: \" + ex];\n\t}\n\tsource(function(tiddler,title) {\n\t\tArray.prototype.push.apply(result,title.split(regExp));\n\t});\t\t\n\treturn result;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/subfilter.js": {
            "title": "$:/core/modules/filters/subfilter.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/subfilter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand evaluated as a filter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subfilter = function(source,operator,options) {\n\tvar list = options.wiki.filterTiddlers(operator.operand,options.widget,source);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/subtiddlerfields.js": {
            "title": "$:/core/modules/filters/subtiddlerfields.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/subtiddlerfields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected subtiddlers of the plugin named in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subtiddlerfields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar subtiddler = options.wiki.getSubTiddler(operator.operand,title);\n\t\tif(subtiddler) {\n\t\t\tfor(var fieldName in subtiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/suffix.js": {
            "title": "$:/core/modules/filters/suffix.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tag.js": {
            "title": "$:/core/modules/filters/tag.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [],indexedResults;\n\tif((operator.suffix || \"\").toLowerCase() === \"strict\" && !operator.operand) {\n\t\t// New semantics:\n\t\t// Always return copy of input if operator.operand is missing\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else {\n\t\t// Old semantics:\n\t\tvar tiddlers;\n\t\tif(operator.prefix === \"!\") {\n\t\t\t// Returns a copy of the input if operator.operand is missing\n\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddlers.indexOf(title) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Returns empty results if operator.operand is missing\n\t\t\tif(source.byTag) {\n\t\t\t\tindexedResults = source.byTag(operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\t\tsource(function(tiddler,title) {\n\t\t\t\t\tif(tiddlers.indexOf(title) !== -1) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t\t\t}\n\t\t}\t\t\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tagging.js": {
            "title": "$:/core/modules/filters/tagging.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tags.js": {
            "title": "$:/core/modules/filters/tags.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/then.js": {
            "title": "$:/core/modules/filters/then.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/then.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing any titles with a constant\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.then = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/title.js": {
            "title": "$:/core/modules/filters/title.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/untagged.js": {
            "title": "$:/core/modules/filters/untagged.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/variables.js": {
            "title": "$:/core/modules/filters/variables.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/variables.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the active variables\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variables = function(source,operator,options) {\n\tvar names = [];\n\tfor(var variable in options.widget.variables) {\n\t\tnames.push(variable);\n\t}\n\treturn names.sort();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/wikiparserrules.js": {
            "title": "$:/core/modules/filters/wikiparserrules.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [],\n\t\toperand = operator.operand;\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(!operand || exp.types[operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/x-listops.js": {
            "title": "$:/core/modules/filters/x-listops.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n    /*jslint node: true, browser: true */\n    /*global $tw: false */\n    \"use strict\";\n\n    /*\n    Fetch titles from the current list\n    */\n    var prepare_results = function (source) {\n    var results = [];\n        source(function (tiddler, title) {\n            results.push(title);\n        });\n        return results;\n    };\n\n    /*\n    Moves a number of items from the tail of the current list before the item named in the operand\n    */\n    exports.putbefore = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return (index === -1) ?\n            results.slice(0, -1) :\n            results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n    };\n\n    /*\n    Moves a number of items from the tail of the current list after the item named in the operand\n    */\n    exports.putafter = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return (index === -1) ?\n            results.slice(0, -1) :\n            results.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n    };\n\n    /*\n    Replaces the item named in the operand with a number of items from the tail of the current list\n    */\n    exports.replace = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return (index === -1) ?\n            results.slice(0, -count) :\n            results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n    };\n\n    /*\n    Moves a number of items from the tail of the current list to the head of the list\n    */\n    exports.putfirst = function (source, operator) {\n        var results = prepare_results(source),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return results.slice(-count).concat(results.slice(0, -count));\n    };\n\n    /*\n    Moves a number of items from the head of the current list to the tail of the list\n    */\n    exports.putlast = function (source, operator) {\n        var results = prepare_results(source),\n            count = $tw.utils.getInt(operator.suffix,1);\n        return results.slice(count).concat(results.slice(0, count));\n    };\n\n    /*\n    Moves the item named in the operand a number of places forward or backward in the list\n    */\n    exports.move = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = $tw.utils.getInt(operator.suffix,1),\n            marker = results.splice(index, 1),\n            offset =  (index + count) > 0 ? index + count : 0;\n        return results.slice(0, offset).concat(marker).concat(results.slice(offset));\n    };\n\n    /*\n    Returns the items from the current list that are after the item named in the operand\n    */\n    exports.allafter = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand);\n        return (index === -1) ? [] :\n            (operator.suffix) ? results.slice(index) :\n            results.slice(index + 1);\n    };\n\n    /*\n    Returns the items from the current list that are before the item named in the operand\n    */\n    exports.allbefore = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand);\n        return (index === -1) ? [] :\n            (operator.suffix) ? results.slice(0, index + 1) :\n            results.slice(0, index);\n    };\n\n    /*\n    Appends the items listed in the operand array to the tail of the current list\n    */\n    exports.append = function (source, operator) {\n        var append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n            results = prepare_results(source),\n            count = parseInt(operator.suffix) || append.length;\n        return (append.length === 0) ? results :\n            (operator.prefix) ? results.concat(append.slice(-count)) :\n            results.concat(append.slice(0, count));\n    };\n\n    /*\n    Prepends the items listed in the operand array to the head of the current list\n    */\n    exports.prepend = function (source, operator) {\n        var prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n            results = prepare_results(source),\n            count = $tw.utils.getInt(operator.suffix,prepend.length);\n        return (prepend.length === 0) ? results :\n            (operator.prefix) ? prepend.slice(-count).concat(results) :\n            prepend.slice(0, count).concat(results);\n    };\n\n    /*\n    Returns all items from the current list except the items listed in the operand array\n    */\n    exports.remove = function (source, operator) {\n        var array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n            results = prepare_results(source),\n            count = parseInt(operator.suffix) || array.length,\n            p,\n            len,\n            index;\n        len = array.length - 1;\n        for (p = 0; p < count; ++p) {\n            if (operator.prefix) {\n                index = results.indexOf(array[len - p]);\n            } else {\n                index = results.indexOf(array[p]);\n            }\n            if (index !== -1) {\n                results.splice(index, 1);\n            }\n        }\n        return results;\n    };\n\n    /*\n    Returns all items from the current list sorted in the order of the items in the operand array\n    */\n    exports.sortby = function (source, operator) {\n        var results = prepare_results(source);\n        if (!results || results.length < 2) {\n            return results;\n        }\n        var lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n        results.sort(function (a, b) {\n            return lookup.indexOf(a) - lookup.indexOf(b);\n        });\n        return results;\n    };\n\n    /*\n    Removes all duplicate items from the current list\n    */\n    exports.unique = function (source, operator) {\n        var results = prepare_results(source);\n        var set = results.reduce(function (a, b) {\n            if (a.indexOf(b) < 0) {\n                a.push(b);\n            }\n            return a;\n        }, []);\n        return set;\n    };\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters.js": {
            "title": "$:/core/modules/filters.js",
            "text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\t// The raw suffix for older filters\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t\t// The processed suffix for newer filters\n\t\t\toperator.suffixes = [];\n\t\t\t$tw.utils.each(operator.suffix.split(\":\"),function(subsuffix) {\n\t\t\t\toperator.suffixes.push([]);\n\t\t\t\t$tw.utils.each(subsuffix.split(\",\"),function(entry) {\n\t\t\t\t\tentry = $tw.utils.trim(entry);\n\t\t\t\t\tif(entry) {\n\t\t\t\t\t\toperator.suffixes[operator.suffixes.length - 1].push(entry); \n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\toperator.indirect = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\toperator.variable = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n// DEPRECATION WARNING\nconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\tif(!operator.regexp) {\n\t\t\toperator.operand = filterString.substring(p,nextBracketPos);\n\t\t}\n\t\tp = nextBracketPos + 1;\n\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-|~|=)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operand = operator.operand,\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tif(operator.variable) {\n\t\t\t\t\toperand = widget.getVariable(operator.operand,{defaultValue: \"\"});\n\t\t\t\t}\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tsuffixes: operator.suffixes,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"=\": // The results of the operation are pushed into the result without deduplication\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\tArray.prototype.push.apply(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = self.makeTiddlerIterator(results);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"~\": // This operation is unioned into the result only if the main result so far is empty\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\tif(results.length === 0) {\n\t\t\t\t\t\t\t// Main result so far is empty\n\t\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter: \" + filterString,function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results;\n\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/core/modules/indexers/backlinks-indexer.js": {
            "title": "$:/core/modules/indexers/backlinks-indexer.js",
            "text": "/*\\\ntitle: $:/core/modules/indexers/backlinks-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers' backlinks\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\n\nfunction BacklinksIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nBacklinksIndexer.prototype.init = function() {\n\tthis.index = null;\n}\n\nBacklinksIndexer.prototype.rebuild = function() {\n\tthis.index = null;\n}\n\nBacklinksIndexer.prototype._getLinks = function(tiddler) {\n\tvar parser =  this.wiki.parseText(tiddler.fields.type, tiddler.fields.text, {});\n\tif(parser) {\n\t\treturn this.wiki.extractLinks(parser.tree);\n\t}\n\treturn [];\n}\n\nBacklinksIndexer.prototype.update = function(updateDescriptor) {\n\tif(!this.index) {\n\t\treturn;\n\t}\n\tvar newLinks = [],\n\t    oldLinks = [],\n\t    self = this;\n\tif(updateDescriptor.old.exists) {\n\t\toldLinks = this._getLinks(updateDescriptor.old.tiddler);\n\t}\n\tif(updateDescriptor.new.exists) {\n\t\tnewLinks = this._getLinks(updateDescriptor.new.tiddler);\n\t}\n\n\t$tw.utils.each(oldLinks,function(link) {\n\t\tif(self.index[link]) {\n\t\t\tdelete self.index[link][updateDescriptor.old.tiddler.fields.title];\n\t\t}\n\t});\n\t$tw.utils.each(newLinks,function(link) {\n\t\tif(!self.index[link]) {\n\t\t\tself.index[link] = Object.create(null);\n\t\t}\n\t\tself.index[link][updateDescriptor.new.tiddler.fields.title] = true;\n\t});\n}\n\nBacklinksIndexer.prototype.lookup = function(title) {\n\tif(!this.index) {\n\t\tthis.index = Object.create(null);\n\t\tvar self = this;\n\t\tthis.wiki.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self._getLinks(tiddler);\n\t\t\t$tw.utils.each(links, function(link) {\n\t\t\t\tif(!self.index[link]) {\n\t\t\t\t\tself.index[link] = Object.create(null);\n\t\t\t\t}\n\t\t\t\tself.index[link][title] = true;\n\t\t\t});\n\t\t});\n\t}\n\tif(this.index[title]) {\n\t\treturn Object.keys(this.index[title]);\n\t} else {\n\t\treturn [];\n\t}\n}\n\nexports.BacklinksIndexer = BacklinksIndexer;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "indexer"
        },
        "$:/core/modules/indexers/field-indexer.js": {
            "title": "$:/core/modules/indexers/field-indexer.js",
            "text": "/*\\\ntitle: $:/core/modules/indexers/field-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nvar DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH = 128;\n\nfunction FieldIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nFieldIndexer.prototype.init = function() {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH;\n\tthis.addIndexMethods();\n}\n\n// Provided for testing\nFieldIndexer.prototype.setMaxIndexedValueLength = function(length) {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = length;\n};\n\nFieldIndexer.prototype.addIndexMethods = function() {\n\tvar self = this;\n\tthis.wiki.each.byField = function(name,value) {\n\t\tvar titles = self.wiki.allTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachShadow.byField = function(name,value) {\n\t\tvar titles = self.wiki.allShadowTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachTiddlerPlusShadows.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n\tthis.wiki.eachShadowPlusTiddlers.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n};\n\n/*\nTear down and then rebuild the index as if all tiddlers have changed\n*/\nFieldIndexer.prototype.rebuild = function() {\n\t// Invalidate the index so that it will be rebuilt when it is next used\n\tthis.index = null;\n};\n\n/*\nBuild the index for a particular field\n*/\nFieldIndexer.prototype.buildIndexForField = function(name) {\n\tvar self = this;\n\t// Hashmap by field name of hashmap by field value of array of tiddler titles\n\tthis.index = this.index || Object.create(null);\n\tthis.index[name] = Object.create(null);\n\tvar baseIndex = this.index[name];\n\t// Update the index for each tiddler\n\tthis.wiki.eachTiddlerPlusShadows(function(tiddler,title) {\n\t\tif(name in tiddler.fields) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t// Skip any values above the maximum length\n\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\tbaseIndex[value] = baseIndex[value] || [];\n\t\t\t\tbaseIndex[value].push(title);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nUpdate the index in the light of a tiddler value changing; note that the title must be identical. (Renames are handled as a separate delete and create)\nupdateDescriptor: {old: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>},new: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>}}\n*/\nFieldIndexer.prototype.update = function(updateDescriptor) {\n\tvar self = this;\n\t// Don't do anything if the index hasn't been built yet\n\tif(this.index === null) {\n\t\treturn;\n\t}\n\t// Remove the old tiddler from the index\n\tif(updateDescriptor.old.tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor.old.tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor.old.tiddler.getFieldString(name),\n\t\t\t\t\ttiddlerList = indexEntry[value];\n\t\t\t\tif(tiddlerList) {\n\t\t\t\t\tvar index = tiddlerList.indexOf(updateDescriptor.old.tiddler.fields.title);\n\t\t\t\t\tif(index !== -1) {\n\t\t\t\t\t\ttiddlerList.splice(index,1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// Add the new tiddler to the index\n\tif(updateDescriptor[\"new\"].tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor[\"new\"].tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor[\"new\"].tiddler.getFieldString(name);\n\t\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\t\tindexEntry[value] = indexEntry[value] || [];\n\t\t\t\t\tindexEntry[value].push(updateDescriptor[\"new\"].tiddler.fields.title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n// Lookup the given field returning a list of tiddler titles\nFieldIndexer.prototype.lookup = function(name,value) {\n\t// Fail the lookup if the value is too long\n\tif(value.length >= this.maxIndexedValueLength) {\n\t\treturn null;\n\t}\n\t// Update the index if it has yet to be built\n\tif(this.index === null || !this.index[name]) {\n\t\tthis.buildIndexForField(name);\n\t}\n\treturn this.index[name][value] || [];\n};\n\nexports.FieldIndexer = FieldIndexer;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "indexer"
        },
        "$:/core/modules/indexers/tag-indexer.js": {
            "title": "$:/core/modules/indexers/tag-indexer.js",
            "text": "/*\\\ntitle: $:/core/modules/indexers/tag-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nfunction TagIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nTagIndexer.prototype.init = function() {\n\tthis.subIndexers = [\n\t\tnew TagSubIndexer(this,\"each\"),\n\t\tnew TagSubIndexer(this,\"eachShadow\"),\n\t\tnew TagSubIndexer(this,\"eachTiddlerPlusShadows\"),\n\t\tnew TagSubIndexer(this,\"eachShadowPlusTiddlers\")\n\t];\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.addIndexMethod();\n\t});\n};\n\nTagIndexer.prototype.rebuild = function() {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.rebuild();\n\t});\n};\n\nTagIndexer.prototype.update = function(updateDescriptor) {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.update(updateDescriptor);\n\t});\n};\n\nfunction TagSubIndexer(indexer,iteratorMethod) {\n\tthis.indexer = indexer;\n\tthis.iteratorMethod = iteratorMethod;\n\tthis.index = null; // Hashmap of tag title to {isSorted: bool, titles: [array]} or null if not yet initialised\n}\n\nTagSubIndexer.prototype.addIndexMethod = function() {\n\tvar self = this;\n\tthis.indexer.wiki[this.iteratorMethod].byTag = function(tag) {\n\t\treturn self.lookup(tag).slice(0);\n\t};\n};\n\nTagSubIndexer.prototype.rebuild = function() {\n\tvar self = this;\n\t// Hashmap by tag of array of {isSorted:, titles:[]}\n\tthis.index = Object.create(null);\n\t// Add all the tags\n\tthis.indexer.wiki[this.iteratorMethod](function(tiddler,title) {\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\tif(!self.index[tag]) {\n\t\t\t\tself.index[tag] = {isSorted: false, titles: [title]};\n\t\t\t} else {\n\t\t\t\tself.index[tag].titles.push(title);\n\t\t\t}\n\t\t});\t\t\n\t});\n};\n\nTagSubIndexer.prototype.update = function(updateDescriptor) {\n\tthis.index = null;\n};\n\nTagSubIndexer.prototype.lookup = function(tag) {\n\t// Update the index if it has yet to be built\n\tif(this.index === null) {\n\t\tthis.rebuild();\n\t}\n\tvar indexRecord = this.index[tag];\n\tif(indexRecord) {\n\t\tif(!indexRecord.isSorted) {\n\t\t\tif(this.indexer.wiki.sortByList) {\n\t\t\t\tindexRecord.titles = this.indexer.wiki.sortByList(indexRecord.titles,tag);\n\t\t\t}\t\t\t\n\t\t\tindexRecord.isSorted = true;\n\t\t}\n\t\treturn indexRecord.titles;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n\nexports.TagIndexer = TagIndexer;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "indexer"
        },
        "$:/core/modules/info/platform.js": {
            "title": "$:/core/modules/info/platform.js",
            "text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\tif($tw.browser) {\n\t\t// Document location\n\t\tvar setLocationProperty = function(name,value) {\n\t\t\t\tinfoTiddlerFields.push({title: \"$:/info/url/\" + name, text: value});\t\t\t\n\t\t\t},\n\t\t\tlocation = document.location;\n\t\tsetLocationProperty(\"full\", (location.toString()).split(\"#\")[0]);\n\t\tsetLocationProperty(\"host\", location.host);\n\t\tsetLocationProperty(\"hostname\", location.hostname);\n\t\tsetLocationProperty(\"protocol\", location.protocol);\n\t\tsetLocationProperty(\"port\", location.port);\n\t\tsetLocationProperty(\"pathname\", location.pathname);\n\t\tsetLocationProperty(\"search\", location.search);\n\t\tsetLocationProperty(\"origin\", location.origin);\n\t\t// Screen size\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/width\", text: window.screen.width.toString()});\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/height\", text: window.screen.height.toString()});\n\t\t// Language\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/language\", text: navigator.language || \"\"});\n\t}\n\treturn infoTiddlerFields;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "info"
        },
        "$:/core/modules/keyboard.js": {
            "title": "$:/core/modules/keyboard.js",
            "text": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n\tthis.shortcutKeysList = [], // Stores the shortcut-key descriptors\n\tthis.shortcutActionList = [], // Stores the corresponding action strings\n\tthis.shortcutParsedList = []; // Stores the parsed key descriptors\n\tthis.lookupNames = [\"shortcuts\"];\n\tthis.lookupNames.push($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\")\n\tthis.lookupNames.push($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\tthis.lookupNames.push($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\tthis.updateShortcutLists(this.getShortcutTiddlerList());\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.handleShortcutChanges(changes);\n\t});\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t$tw.utils.each(self.lookupNames,function(platformDescriptor) {\n\t\t\t\t\tlookupName(platformDescriptor);\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t   (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t   (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t   (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t   (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.getShortcutTiddlerList = function() {\n\treturn $tw.wiki.getTiddlersWithTag(\"$:/tags/KeyboardShortcut\");\n};\n\nKeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {\n\tthis.shortcutTiddlers = tiddlerList;\n\tfor(var i=0; i<tiddlerList.length; i++) {\n\t\tvar title = tiddlerList[i],\n\t\t\ttiddlerFields = $tw.wiki.getTiddler(title).fields;\n\t\tthis.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\n\t\tthis.shortcutActionList[i] = tiddlerFields.text;\n\t\tthis.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;\n\t}\n};\n\nKeyboardManager.prototype.handleKeydownEvent = function(event) {\n\tvar key, action;\n\tfor(var i=0; i<this.shortcutTiddlers.length; i++) {\n\t\tif(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {\n\t\t\tkey = this.shortcutParsedList[i];\n\t\t\taction = this.shortcutActionList[i];\n\t\t}\n\t}\n\tif(key !== undefined) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\t$tw.rootWidget.invokeActionString(action,$tw.rootWidget);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.detectNewShortcuts = function(changedTiddlers) {\n\tvar shortcutConfigTiddlers = [],\n\t\thandled = false;\n\t$tw.utils.each(this.lookupNames,function(platformDescriptor) {\n\t\tvar descriptorString = \"$:/config/\" + platformDescriptor + \"/\";\n\t\tObject.keys(changedTiddlers).forEach(function(configTiddler) {\n\t\t\tvar configString = configTiddler.substr(0, configTiddler.lastIndexOf(\"/\") + 1);\n\t\t\tif(configString === descriptorString) {\n\t\t\t\tshortcutConfigTiddlers.push(configTiddler);\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t});\n\t});\n\tif(handled) {\n\t\treturn $tw.utils.hopArray(changedTiddlers,shortcutConfigTiddlers);\n\t} else {\n\t\treturn false;\n\t}\n};\n\nKeyboardManager.prototype.handleShortcutChanges = function(changedTiddlers) {\n\tvar newList = this.getShortcutTiddlerList();\n\tvar hasChanged = $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) ? true :\n\t\t($tw.utils.hopArray(changedTiddlers,newList) ? true :\n\t\t(this.detectNewShortcuts(changedTiddlers))\n\t);\n\t// Re-cache shortcuts if something changed\n\tif(hasChanged) {\n\t\tthis.updateShortcutLists(newList);\n\t}\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/language.js": {
            "title": "$:/core/modules/language.js",
            "text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/macros/changecount.js": {
            "title": "$:/core/modules/macros/changecount.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/contrastcolour.js": {
            "title": "$:/core/modules/macros/contrastcolour.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/csvtiddlers.js": {
            "title": "$:/core/modules/macros/csvtiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/displayshortcuts.js": {
            "title": "$:/core/modules/macros/displayshortcuts.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t    return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/jsontiddler.js": {
            "title": "$:/core/modules/macros/jsontiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/jsontiddler.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output a single tiddler to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddler\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\ttitle = title || this.getVariable(\"currentTiddler\");\n\tvar tiddler = !!title && this.wiki.getTiddler(title),\n\t\tfields = new Object();\n\tif(tiddler) {\n\t\tfor(var field in tiddler.fields) {\n\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t}\n\t}\n\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/jsontiddlers.js": {
            "title": "$:/core/modules/macros/jsontiddlers.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"spaces\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,spaces) {\n\treturn this.wiki.getTiddlersAsJson(filter,$tw.utils.parseInt(spaces));\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/makedatauri.js": {
            "title": "$:/core/modules/macros/makedatauri.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"},\n\t{name: \"_canonical_uri\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type,_canonical_uri) {\n\treturn $tw.utils.makeDataUri(text,type,_canonical_uri);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/now.js": {
            "title": "$:/core/modules/macros/now.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/qualify.js": {
            "title": "$:/core/modules/macros/qualify.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/resolvepath.js": {
            "title": "$:/core/modules/macros/resolvepath.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/unusedtitle.js": {
            "title": "$:/core/modules/macros/unusedtitle.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/unusedtitle.js\ntype: application/javascript\nmodule-type: macro\nMacro to return a new title that is unused in the wiki. It can be given a name as a base.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"unusedtitle\";\n\nexports.params = [\n\t{name: \"baseName\"},\n\t{name: \"options\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(baseName, options) {\n\tif(!baseName) {\n\t\tbaseName = $tw.language.getString(\"DefaultNewTiddlerTitle\");\n\t}\n\treturn this.wiki.generateNewTitle(baseName, options);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/version.js": {
            "title": "$:/core/modules/macros/version.js",
            "text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/parsers/audioparser.js": {
            "title": "$:/core/modules/parsers/audioparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/binaryparser.js": {
            "title": "$:/core/modules/parsers/binaryparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/binaryparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe binary parser parses a binary tiddler into a warning message and download link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar BinaryParser = function(type,text,options) {\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on binary tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!title\"}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to external or internal data URI\n\tif(options._canonical_uri) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: options._canonical_uri\n\t\t};\n\t} else if(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/octet-stream\"] = BinaryParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/csvparser.js": {
            "title": "$:/core/modules/parsers/csvparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/htmlparser.js": {
            "title": "$:/core/modules/parsers/htmlparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src},\n\t\t\tsandbox: {type: \"string\", value: \"\"}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/imageparser.js": {
            "title": "$:/core/modules/parsers/imageparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t};\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\tif(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"image/webp\"] = ImageParser;\nexports[\"image/heic\"] = ImageParser;\nexports[\"image/heif\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/utils/parseutils.js": {
            "title": "$:/core/modules/utils/parseutils.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treFilteredValue = /\\{\\{\\{(.+?)\\}\\}\\}/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for a filtered value\n\t\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\t\tif(filteredValue) {\n\t\t\t\tpos = filteredValue.end;\n\t\t\t\tnode.type = \"filtered\";\n\t\t\t\tnode.filter = filteredValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for an indirect value\n\t\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\t\tif(indirectValue) {\n\t\t\t\t\tpos = indirectValue.end;\n\t\t\t\t\tnode.type = \"indirect\";\n\t\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/parsers/pdfparser.js": {
            "title": "$:/core/modules/parsers/pdfparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/pdfparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe PDF parser embeds a PDF viewer\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"embed\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/pdf\"] = ImageParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/textparser.js": {
            "title": "$:/core/modules/parsers/textparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/videoparser.js": {
            "title": "$:/core/modules/parsers/videoparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar VideoParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"video/ogg\"] = VideoParser;\nexports[\"video/webm\"] = VideoParser;\nexports[\"video/mp4\"] = VideoParser;\nexports[\"video/quicktime\"] = VideoParser;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/dash.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"&ndash;\" : \"&mdash;\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/entity.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: &copy;\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/extlink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: https://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/heading.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/html.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/html.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.slice(1).indexOf(\"$\") !== -1) {\n\t\treturn null;\n\t}\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Check that the tag is terminated by a space, / or >\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \"/\") && !(source.charAt(pos) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/image.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/image.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[https://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [https://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [https://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|https://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/import.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/import.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/import.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for importing variable definitions\n\n```\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"import\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\import[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the filter terminated by a line break\n\tvar reMatch = /(.*)(\\r?\\n)|$/mg;\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\tthis.parser.pos = reMatch.lastIndex;\n\t// Parse tree nodes to return\n\treturn [{\n\t\ttype: \"importvariables\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: match[1]}\n\t\t},\n\t\tchildren: []\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/list.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/list.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"div\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"set\",\n\t\tattributes: {\n\t\t\tname: {type: \"string\", value: this.match[1]},\n\t\t\tvalue: {type: \"string\", value: text}\n\t\t},\n\t\tchildren: [],\n\t\tparams: params,\n\t\tisMacroDefinition: true\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[https://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|https://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/rules.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/syslink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/syslink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(\n\t\t\"~?\\\\$:\\\\/[\" +\n\t\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\n\t\t\"\\/._-]+\",\n\t\t\"mg\"\n\t);\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/table.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/table.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/whitespace.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/whitespace.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/whitespace.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for whitespace specifications\n\n```\n\\whitespace trim\n\\whitespace notrim\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"whitespace\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\whitespace[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\t$tw.utils.each(tokens,function(token) {\n\t\tswitch(token) {\n\t\t\tcase \"trim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = true;\n\t\t\t\tbreak;\n\t\t\tcase \"notrim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = false;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/wikiparser.js": {
            "title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Flag for ignoring whitespace\n\tthis.configTrimWhiteSpace = false;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = [];\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safemode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined  && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t//  Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t//  Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,nextMatch.matchIndex));\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,terminatorMatch.index));\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,inlineRuleMatch.matchIndex));\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nPush a text widget onto an array, respecting the configTrimWhiteSpace setting\n*/\nWikiParser.prototype.pushTextWidget = function(array,text) {\n\tif(this.configTrimWhiteSpace) {\n\t\ttext = $tw.utils.trim(text);\n\t}\n\tif(text) {\n\t\tarray.push({type: \"text\", text: text});\t\t\n\t}\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
            "title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/pluginswitcher.js": {
            "title": "$:/core/modules/pluginswitcher.js",
            "text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\tthis.onSwitch = options.onSwitch;\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Read the plugin info for the incoming plugins\n\tvar changes = $tw.wiki.readPluginInfo(plugins);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Call the switch handler\n\tif(this.onSwitch) {\n\t\tthis.onSwitch(plugins);\n\t}\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/saver-handler.js": {
            "title": "$:/core/modules/saver-handler.js",
            "text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.preloadDirty = options.preloadDirty || [];\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(self.preloadDirty,function(title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t});\n\t\tthis.numChanges = filteredChanges.length;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\";\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\") {\n\t\treturn false;\n\t}\n\tvar\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/savers/andtidwiki.js": {
            "title": "$:/core/modules/savers/andtidwiki.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback,options) {\n\tvar filename = options && options.variables ? options.variables.filename : null;\n\tif (method === \"download\") {\n\t\t// Support download\n\t\tif (window.twi.saveDownload) {\n\t\t\ttry {\n\t\t\t\twindow.twi.saveDownload(text,filename);\n\t\t\t} catch(err) {\n\t\t\t\tif (err.message === \"Method not found\") {\n\t\t\t\t\twindow.twi.saveDownload(text);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tvar link = document.createElement(\"a\");\n\t\t\tlink.setAttribute(\"href\",\"data:text/plain,\" + encodeURIComponent(text));\n\t\t\tif (filename) {\n\t\t\t    link.setAttribute(\"download\",filename);\n\t\t\t}\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t}\n\t} else if (window.twi.saveWiki) {\n\t\t// Direct save in Tiddloid\n\t\twindow.twi.saveWiki(text);\n\t} else {\n\t\t// Get the pathname of this document\n\t\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t\t// Strip the file://\n\t\tif(pathname.indexOf(\"file://\") === 0) {\n\t\t\tpathname = pathname.substr(7);\n\t\t}\n\t\t// Strip any query or location part\n\t\tvar p = pathname.indexOf(\"?\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\tp = pathname.indexOf(\"#\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\t// Save the file\n\t\twindow.twi.saveFile(pathname,text);\n\t}\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/beaker.js": {
            "title": "$:/core/modules/savers/beaker.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/beaker.js\ntype: application/javascript\nmodule-type: saver\n\nSaves files using the Beaker browser's (https://beakerbrowser.com) Dat protocol (https://datproject.org/)\nCompatible with beaker >= V0.7.2\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet up the saver\n*/\nvar BeakerSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nBeakerSaver.prototype.save = function(text,method,callback) {\n\tvar dat = new DatArchive(\"\" + window.location),\n\t\tpathname = (\"\" + window.location.pathname).split(\"#\")[0];\n\tdat.stat(pathname).then(function(value) {\n\t\tif(value.isDirectory()) {\n\t\t\tpathname = pathname + \"/index.html\";\n\t\t}\n\t\tdat.writeFile(pathname,text,\"utf8\").then(function(value) {\n\t\t\tcallback(null);\n\t\t},function(reason) {\n\t\t\tcallback(\"Beaker Saver Write Error: \" + reason);\n\t\t});\n\t},function(reason) {\n\t\tcallback(\"Beaker Saver Stat Error: \" + reason);\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nBeakerSaver.prototype.info = {\n\tname: \"beaker\",\n\tpriority: 3000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.DatArchive && location.protocol===\"dat:\";\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new BeakerSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/download.js": {
            "title": "$:/core/modules/savers/download.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\t// We decode the pathname because document.location is URL encoded by the browser\n\t\t\tfilename = decodeURIComponent(document.location.pathname.substr(p+1));\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\nObject.defineProperty(DownloadSaver.prototype.info, \"capabilities\", {\n\tget: function() {\n\t\tvar capabilities = [\"save\", \"download\"];\n\t\tif(($tw.wiki.getTextReference(\"$:/config/DownloadSaver/AutoSave\") || \"\").toLowerCase() === \"yes\") {\n\t\t\tcapabilities.push(\"autosave\");\n\t\t}\n\t\treturn capabilities;\n\t}\n});\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/fsosaver.js": {
            "title": "$:/core/modules/savers/fsosaver.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/gitea.js": {
            "title": "$:/core/modules/savers/gitea.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/gitea.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the gitea\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GiteaSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGiteaSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/Gitea/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"Gitea\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/Gitea/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/Gitea/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/Gitea/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/Gitea/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/Gitea/ServerURL\") || \"https://gitea\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + window.btoa(username + \":\" + password)\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar use_put = true;\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(sha === \"\"){\n\t\t\t\t\tuse_put = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: endpoint + \"/repos/\" + repo + \"/branches/\" + branch,\n\t\t\t\ttype: \"GET\",\n\t\t\t\theaders: headers,\n\t\t\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\t\t\tif(xhr.status === 404) {\n\t\t\t\t\t\tcallback(\"Please ensure the branch in the Gitea repo exists\");\n\t\t\t\t\t}else{\n\t\t\t\t\t\tdata[\"branch\"] = branch;\n\t\t\t\t\t\tself.upload(uri + filename, use_put?\"PUT\":\"POST\", headers, data, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\nGiteaSaver.prototype.upload = function(uri,method,headers,data,callback) {\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: method,\n\t\theaders: headers,\n\t\tdata: JSON.stringify(data),\n\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\tcallback(null);\n\t\t}\n\t});\n};\n\n/*\nInformation about this saver\n*/\nGiteaSaver.prototype.info = {\n\tname: \"Gitea\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GiteaSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/github.js": {
            "title": "$:/core/modules/savers/github.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/github.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitHub v3 REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitHubSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitHubSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitHub/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"github\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitHub/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitHub/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitHub/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitHub/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitHub/ServerURL\") || \"https://api.github.com\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/vnd.github.v3+json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + window.btoa(username + \":\" + password)\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a PUT request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + filename,\n\t\t\t\ttype: \"PUT\",\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitHubSaver.prototype.info = {\n\tname: \"github\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitHubSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/gitlab.js": {
            "title": "$:/core/modules/savers/gitlab.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/gitlab.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitLab REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: true */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitLabSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitLabSaver.prototype.save = function(text,method,callback) {\n\t/* See https://docs.gitlab.com/ee/api/repository_files.html */\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitLab/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"gitlab\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitLab/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitLab/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitLab/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitLab/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitLab/ServerURL\") || \"https://gitlab.com/api/v4\",\n\t\theaders = {\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Private-Token\": password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/projects/\" + encodeURIComponent(repo) + \"/repository/\";\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri + \"tree/?path=\" + encodeURIComponent(path.replace(/^\\/+|\\/$/g, '')) + \"&branch=\" + encodeURIComponent(branch.replace(/^\\/+|\\/$/g, '')),\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar requestType = \"POST\";\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\trequestType = \"PUT\";\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tcommit_message: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: text,\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + \"files/\" + encodeURIComponent(path.replace(/^\\/+/, '') + filename),\n\t\t\t\ttype: requestType,\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitLabSaver.prototype.info = {\n\tname: \"gitlab\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitLabSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/manualdownload.js": {
            "title": "$:/core/modules/savers/manualdownload.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/msdownload.js": {
            "title": "$:/core/modules/savers/msdownload.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/put.js": {
            "title": "$:/core/modules/savers/put.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRetrieve ETag if available\n*/\nvar retrieveETag = function(self) {\n\tvar headers = {\n\t\tAccept: \"*/*;charset=UTF-8\"\n\t};\n\t$tw.utils.httpRequest({\n\t\turl: self.uri(),\n\t\ttype: \"HEAD\",\n\t\theaders: headers,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar etag = xhr.getResponseHeader(\"ETag\");\n\t\t\tif(!etag) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.etag = etag.replace(/^W\\//,\"\");\n\t\t}\n\t});\n};\n\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\tvar uri = this.uri();\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"OPTIONS\",\n\t\tcallback: function(err,data,xhr) {\n\t\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\t\tif(!err) {\n\t\t\t\tself.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader(\"dav\");\n\t\t\t}\n\t\t}\n\t});\n\tretrieveETag(this);\n};\n\nPutSaver.prototype.uri = function() {\n\treturn document.location.toString().split(\"#\")[0];\n};\n\n// TODO: in case of edit conflict\n// Prompt: Do you want to save over this? Y/N\n// Merging would be ideal, and may be possible using future generic merge flow\nPutSaver.prototype.save = function(text,method,callback) {\n\tif(!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tvar headers = {\n\t\t\"Content-Type\": \"text/html;charset=UTF-8\"\n\t};\n\tif(this.etag) {\n\t\theaders[\"If-Match\"] = this.etag;\n\t}\n\t$tw.utils.httpRequest({\n\t\turl: this.uri(),\n\t\ttype: \"PUT\",\n\t\theaders: headers,\n\t\tdata: text,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\t// response is textual: \"XMLHttpRequest error code: 412\"\n\t\t\t\tvar status = Number(err.substring(err.indexOf(':') + 2, err.length))\n\t\t\t\tif(status === 412) { // edit conflict\n\t\t\t\t\tvar message = $tw.language.getString(\"Error/EditConflict\");\n\t\t\t\t\tcallback(message);\n\t\t\t\t} else {\n\t\t\t\t\tcallback(err); // fail\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t\tif(self.etag == null) {\n\t\t\t\t\tretrieveETag(self);\n\t\t\t\t}\n\t\t\t\tcallback(null); // success\n\t\t\t}\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/tiddlyfox.js": {
            "title": "$:/core/modules/savers/tiddlyfox.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/tiddlyie.js": {
            "title": "$:/core/modules/savers/tiddlyie.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/twedit.js": {
            "title": "$:/core/modules/savers/twedit.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/upload.js": {
            "title": "$:/core/modules/savers/upload.js",
            "text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/server/authenticators/basic.js": {
            "title": "$:/core/modules/server/authenticators/basic.js",
            "text": "/*\\\ntitle: $:/core/modules/server/authenticators/basic.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for WWW basic authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\");\n}\n\nfunction BasicAuthenticator(server) {\n\tthis.server = server;\n\tthis.credentialsData = [];\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nBasicAuthenticator.prototype.init = function() {\n\t// Read the credentials data\n\tthis.credentialsFilepath = this.server.get(\"credentials\");\n\tif(this.credentialsFilepath) {\n\t\tvar resolveCredentialsFilepath = path.resolve($tw.boot.wikiPath,this.credentialsFilepath);\n\t\tif(fs.existsSync(resolveCredentialsFilepath) && !fs.statSync(resolveCredentialsFilepath).isDirectory()) {\n\t\t\tvar credentialsText = fs.readFileSync(resolveCredentialsFilepath,\"utf8\"),\n\t\t\t\tcredentialsData = $tw.utils.parseCsvStringWithHeader(credentialsText);\n\t\t\tif(typeof credentialsData === \"string\") {\n\t\t\t\treturn \"Error: \" + credentialsData + \" reading credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t\t} else {\n\t\t\t\tthis.credentialsData = credentialsData;\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"Error: Unable to load user credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t}\n\t}\n\t// Add the hardcoded username and password if specified\n\tif(this.server.get(\"username\") && this.server.get(\"password\")) {\n\t\tthis.credentialsData = this.credentialsData || [];\n\t\tthis.credentialsData.push({\n\t\t\tusername: this.server.get(\"username\"),\n\t\t\tpassword: this.server.get(\"password\")\n\t\t});\n\t}\n\treturn this.credentialsData.length > 0;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nBasicAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Extract the incoming username and password from the request\n\tvar header = request.headers.authorization || \"\";\n\tif(!header && state.allowAnon) {\n\t\t// If there's no header and anonymous access is allowed then we don't set authenticatedUsername\n\t\treturn true;\n\t}\n\tvar token = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tincomingUsername = parts[0],\n\t\tincomingPassword = parts[1];\n\t// Check that at least one of the credentials matches\n\tvar matchingCredentials = this.credentialsData.find(function(credential) {\n\t\treturn credential.username === incomingUsername && credential.password === incomingPassword;\n\t});\n\tif(matchingCredentials) {\n\t\t// If so, add the authenticated username to the request state\n\t\tstate.authenticatedUsername = incomingUsername;\n\t\treturn true;\n\t} else {\n\t\t// If not, return an authentication challenge\n\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\n\t\treturn false;\n\t}\n};\n\nexports.AuthenticatorClass = BasicAuthenticator;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "authenticator"
        },
        "$:/core/modules/server/authenticators/header.js": {
            "title": "$:/core/modules/server/authenticators/header.js",
            "text": "/*\\\ntitle: $:/core/modules/server/authenticators/header.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for trusted header authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction HeaderAuthenticator(server) {\n\tthis.server = server;\n\tthis.header = server.get(\"authenticated-user-header\");\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nHeaderAuthenticator.prototype.init = function() {\n\treturn !!this.header;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nHeaderAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Otherwise, authenticate as the username in the specified header\n\tvar username = request.headers[this.header];\n\tif(!username && !state.allowAnon) {\n\t\tresponse.writeHead(401,\"Authorization header required to login to '\" + state.server.servername + \"'\");\n\t\tresponse.end();\n\t\treturn false;\n\t} else {\n\t\t// authenticatedUsername will be undefined for anonymous users\n\t\tstate.authenticatedUsername = username;\n\t\treturn true;\n\t}\n};\n\nexports.AuthenticatorClass = HeaderAuthenticator;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "authenticator"
        },
        "$:/core/modules/server/routes/delete-tiddler.js": {
            "title": "$:/core/modules/server/routes/delete-tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/delete-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nDELETE /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"DELETE\";\n\nexports.path = /^\\/bags\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]);\n\tstate.wiki.deleteTiddler(title);\n\tresponse.writeHead(204, \"OK\", {\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-favicon.js": {
            "title": "$:/core/modules/server/routes/get-favicon.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-favicon.js\ntype: application/javascript\nmodule-type: route\n\nGET /favicon.ico\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/favicon.ico$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\tresponse.end(buffer,\"base64\");\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-file.js": {
            "title": "$:/core/modules/server/routes/get-file.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-file.js\ntype: application/javascript\nmodule-type: route\n\nGET /files/:filepath\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/files\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar path = require(\"path\"),\n\t\tfs = require(\"fs\"),\n\t\tutil = require(\"util\"),\n\t\tsuppliedFilename = decodeURIComponent(state.params[0]),\n\t\tfilename = path.resolve($tw.boot.wikiPath,\"files\",suppliedFilename),\n\t\textension = path.extname(filename);\n\tfs.readFile(filename,function(err,content) {\n\t\tvar status,content,type = \"text/plain\";\n\t\tif(err) {\n\t\t\tconsole.log(\"Error accessing file \" + filename + \": \" + err.toString());\n\t\t\tstatus = 404;\n\t\t\tcontent = \"File '\" + suppliedFilename + \"' not found\";\n\t\t} else {\n\t\t\tstatus = 200;\n\t\t\tcontent = content;\n\t\t\ttype = ($tw.config.fileExtensionInfo[extension] ? $tw.config.fileExtensionInfo[extension].type : \"application/octet-stream\");\n\t\t}\n\t\tresponse.writeHead(status,{\n\t\t\t\"Content-Type\": type\n\t\t});\n\t\tresponse.end(content);\n\t});\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-index.js": {
            "title": "$:/core/modules/server/routes/get-index.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-index.js\ntype: application/javascript\nmodule-type: route\n\nGET /\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar zlib = require(\"zlib\");\n\nexports.method = \"GET\";\n\nexports.path = /^\\/$/;\n\nexports.handler = function(request,response,state) {\n\tvar acceptEncoding = request.headers[\"accept-encoding\"];\n\tif(!acceptEncoding) {\n\t\tacceptEncoding = \"\";\n\t}\n\tvar text = state.wiki.renderTiddler(state.server.get(\"root-render-type\"),state.server.get(\"root-tiddler\")),\n\t\tresponseHeaders = {\n\t\t\"Content-Type\": state.server.get(\"root-serve-type\")\n\t};\n\t/*\n\tIf the gzip=yes flag for `listen` is set, check if the user agent permits\n\tcompression. If so, compress our response. Note that we use the synchronous\n\tfunctions from zlib to stay in the imperative style. The current `Server`\n\tdoesn't depend on this, and we may just as well use the async versions.\n\t*/\n\tif(state.server.enableGzip) {\n\t\tif (/\\bdeflate\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"deflate\";\n\t\t\ttext = zlib.deflateSync(text);\n\t\t} else if (/\\bgzip\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"gzip\";\n\t\t\ttext = zlib.gzipSync(text);\n\t\t}\n\t}\n\tresponse.writeHead(200,responseHeaders);\n\tresponse.end(text);\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-login-basic.js": {
            "title": "$:/core/modules/server/routes/get-login-basic.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-login-basic.js\ntype: application/javascript\nmodule-type: route\n\nGET /login-basic -- force a Basic Authentication challenge\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/login-basic$/;\n\nexports.handler = function(request,response,state) {\n\tif(!state.authenticatedUsername) {\n\t\t// Challenge if there's no username\n\t\tresponse.writeHead(401,{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\t\t\n\t} else {\n\t\t// Redirect to the root wiki if login worked\n\t\tresponse.writeHead(302,{\n\t\t\tLocation: \"/\"\n\t\t});\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-status.js": {
            "title": "$:/core/modules/server/routes/get-status.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-status.js\ntype: application/javascript\nmodule-type: route\n\nGET /status\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/status$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar text = JSON.stringify({\n\t\tusername: state.authenticatedUsername || state.server.get(\"anon-username\") || \"\",\n\t\tanonymous: !state.authenticatedUsername,\n\t\tread_only: !state.server.isAuthorized(\"writers\",state.authenticatedUsername),\n\t\tspace: {\n\t\t\trecipe: \"default\"\n\t\t},\n\t\ttiddlywiki_version: $tw.version\n\t});\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-tiddler-html.js": {
            "title": "$:/core/modules/server/routes/get-tiddler-html.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler-html.js\ntype: application/javascript\nmodule-type: route\n\nGET /:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/([^\\/]+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar renderType = tiddler.getFieldString(\"_render_type\"),\n\t\t\trenderTemplate = tiddler.getFieldString(\"_render_template\");\n\t\t// Tiddler fields '_render_type' and '_render_template' overwrite\n\t\t// system wide settings for render type and template\n\t\tif(state.wiki.isSystemTiddler(title)) {\n\t\t\trenderType = renderType || state.server.get(\"system-tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"system-tiddler-render-template\");\n\t\t} else {\n\t\t\trenderType = renderType || state.server.get(\"tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"tiddler-render-template\");\n\t\t}\n\t\tvar text = state.wiki.renderTiddler(renderType,renderTemplate,{parseAsInline: true, variables: {currentTiddler: title}});\n\t\t// Naughty not to set a content-type, but it's the easiest way to ensure the browser will see HTML pages as HTML, and accept plain text tiddlers as CSS or JS\n\t\tresponse.writeHead(200);\n\t\tresponse.end(text,\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-tiddler.js": {
            "title": "$:/core/modules/server/routes/get-tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title),\n\t\ttiddlerFields = {},\n\t\tknownFields = [\n\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t];\n\tif(tiddler) {\n\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\ttiddlerFields[name] = value;\n\t\t\t} else {\n\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t}\n\t\t});\n\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\ttiddlerFields.bag = \"default\";\n\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/get-tiddlers-json.js": {
            "title": "$:/core/modules/server/routes/get-tiddlers-json.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddlers-json.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/tiddlers.json?filter=<filter>\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_FILTER = \"[all[tiddlers]!is[system]sort[title]]\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers.json$/;\n\nexports.handler = function(request,response,state) {\n\tvar filter = state.queryParameters.filter || DEFAULT_FILTER;\n\tif($tw.wiki.getTiddlerText(\"$:/config/Server/AllowAllExternalFilters\") !== \"yes\") {\n\t\tif($tw.wiki.getTiddlerText(\"$:/config/Server/ExternalFilters/\" + filter) !== \"yes\") {\n\t\t\tconsole.log(\"Blocked attempt to GET /recipes/default/tiddlers/tiddlers.json with filter: \" + filter);\n\t\t\tresponse.writeHead(403);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t}\n\tvar excludeFields = (state.queryParameters.exclude || \"text\").split(\",\"),\n\t\ttitles = state.wiki.filterTiddlers(filter);\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar tiddlers = [];\n\t$tw.utils.each(titles,function(title) {\n\t\tvar tiddler = state.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar tiddlerFields = tiddler.getFieldStrings({exclude: excludeFields});\n\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\ttiddlers.push(tiddlerFields);\n\t\t}\n\t});\n\tvar text = JSON.stringify(tiddlers);\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/routes/put-tiddler.js": {
            "title": "$:/core/modules/server/routes/put-tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/server/routes/put-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nPUT /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"PUT\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\tfields = JSON.parse(state.data);\n\t// Pull up any subfields in the `fields` object\n\tif(fields.fields) {\n\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\tfields[name] = field;\n\t\t});\n\t\tdelete fields.fields;\n\t}\n\t// Remove any revision field\n\tif(fields.revision) {\n\t\tdelete fields.revision;\n\t}\n\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title},state.wiki.getModificationFields()));\n\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\tresponse.writeHead(204, \"OK\",{\n\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n",
            "type": "application/javascript",
            "module-type": "route"
        },
        "$:/core/modules/server/server.js": {
            "title": "$:/core/modules/server/server.js",
            "text": "/*\\\ntitle: $:/core/modules/server/server.js\ntype: application/javascript\nmodule-type: library\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\tquerystring = require(\"querystring\");\n}\n\n/*\nA simple HTTP server with regexp-based routes\noptions: variables - optional hashmap of variables to set (a misnomer - they are really constant parameters)\n\t\t routes - optional array of routes to use\n\t\t wiki - reference to wiki object\n*/\nfunction Server(options) {\n\tvar self = this;\n\tthis.routes = options.routes || [];\n\tthis.authenticators = options.authenticators || [];\n\tthis.wiki = options.wiki;\n\tthis.servername = $tw.utils.transliterateToSafeASCII(this.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\");\n\t// Initialise the variables\n\tthis.variables = $tw.utils.extend({},this.defaultVariables);\n\tif(options.variables) {\n\t\tfor(var variable in options.variables) {\n\t\t\tif(options.variables[variable]) {\n\t\t\t\tthis.variables[variable] = options.variables[variable];\n\t\t\t}\n\t\t}\t\t\n\t}\n\t$tw.utils.extend({},this.defaultVariables,options.variables);\n\t// Initialise CSRF\n\tthis.csrfDisable = this.get(\"csrf-disable\") === \"yes\";\n\t// Initialize Gzip compression\n\tthis.enableGzip = this.get(\"gzip\") === \"yes\";\n\t// Initialise authorization\n\tvar authorizedUserName = (this.get(\"username\") && this.get(\"password\")) ? this.get(\"username\") : \"(anon)\";\n\tthis.authorizationPrincipals = {\n\t\treaders: (this.get(\"readers\") || authorizedUserName).split(\",\").map($tw.utils.trim),\n\t\twriters: (this.get(\"writers\") || authorizedUserName).split(\",\").map($tw.utils.trim)\n\t}\n\t// Load and initialise authenticators\n\t$tw.modules.forEachModuleOfType(\"authenticator\", function(title,authenticatorDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addAuthenticator(authenticatorDefinition.AuthenticatorClass);\n\t});\n\t// Load route handlers\n\t$tw.modules.forEachModuleOfType(\"route\", function(title,routeDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addRoute(routeDefinition);\n\t});\n\t// Initialise the http vs https\n\tthis.listenOptions = null;\n\tthis.protocol = \"http\";\n\tvar tlsKeyFilepath = this.get(\"tls-key\"),\n\t\ttlsCertFilepath = this.get(\"tls-cert\");\n\tif(tlsCertFilepath && tlsKeyFilepath) {\n\t\tthis.listenOptions = {\n\t\t\tkey: fs.readFileSync(path.resolve($tw.boot.wikiPath,tlsKeyFilepath),\"utf8\"),\n\t\t\tcert: fs.readFileSync(path.resolve($tw.boot.wikiPath,tlsCertFilepath),\"utf8\")\n\t\t};\n\t\tthis.protocol = \"https\";\n\t}\n\tthis.transport = require(this.protocol);\n}\n\nServer.prototype.defaultVariables = {\n\tport: \"8080\",\n\thost: \"127.0.0.1\",\n\t\"root-tiddler\": \"$:/core/save/all\",\n\t\"root-render-type\": \"text/plain\",\n\t\"root-serve-type\": \"text/html\",\n\t\"tiddler-render-type\": \"text/html\",\n\t\"tiddler-render-template\": \"$:/core/templates/server/static.tiddler.html\",\n\t\"system-tiddler-render-type\": \"text/plain\",\n\t\"system-tiddler-render-template\": \"$:/core/templates/wikified-tiddler\",\n\t\"debug-level\": \"none\",\n\t\"gzip\": \"no\"\n};\n\nServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nServer.prototype.addAuthenticator = function(AuthenticatorClass) {\n\t// Instantiate and initialise the authenticator\n\tvar authenticator = new AuthenticatorClass(this),\n\t\tresult = authenticator.init();\n\tif(typeof result === \"string\") {\n\t\t$tw.utils.error(\"Error: \" + result);\n\t} else if(result) {\n\t\t// Only use the authenticator if it initialised successfully\n\t\tthis.authenticators.push(authenticator);\n\t}\n};\n\nServer.prototype.findMatchingRoute = function(request,state) {\n\tvar pathprefix = this.get(\"path-prefix\") || \"\";\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(pathprefix) {\n\t\t\tif(pathname.substr(0,pathprefix.length) === pathprefix) {\n\t\t\t\tpathname = pathname.substr(pathprefix.length) || \"/\";\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nServer.prototype.methodMappings = {\n\t\"GET\": \"readers\",\n\t\"OPTIONS\": \"readers\",\n\t\"HEAD\": \"readers\",\n\t\"PUT\": \"writers\",\n\t\"POST\": \"writers\",\n\t\"DELETE\": \"writers\"\n};\n\n/*\nCheck whether a given user is authorized for the specified authorizationType (\"readers\" or \"writers\"). Pass null or undefined as the username to check for anonymous access\n*/\nServer.prototype.isAuthorized = function(authorizationType,username) {\n\tvar principals = this.authorizationPrincipals[authorizationType] || [];\n\treturn principals.indexOf(\"(anon)\") !== -1 || (username && (principals.indexOf(\"(authenticated)\") !== -1 || principals.indexOf(username) !== -1));\n}\n\nServer.prototype.requestHandler = function(request,response) {\n\t// Compose the state object\n\tvar self = this;\n\tvar state = {};\n\tstate.wiki = self.wiki;\n\tstate.server = self;\n\tstate.urlInfo = url.parse(request.url);\n\tstate.queryParameters = querystring.parse(state.urlInfo.query);\n\t// Get the principals authorized to access this resource\n\tvar authorizationType = this.methodMappings[request.method] || \"readers\";\n\t// Check for the CSRF header if this is a write\n\tif(!this.csrfDisable && authorizationType === \"writers\" && request.headers[\"x-requested-with\"] !== \"TiddlyWiki\") {\n\t\tresponse.writeHead(403,\"'X-Requested-With' header required to login to '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\t\t\n\t}\n\t// Check whether anonymous access is granted\n\tstate.allowAnon = this.isAuthorized(authorizationType,null);\n\t// Authenticate with the first active authenticator\n\tif(this.authenticators.length > 0) {\n\t\tif(!this.authenticators[0].authenticateRequest(request,response,state)) {\n\t\t\t// Bail if we failed (the authenticator will have sent the response)\n\t\t\treturn;\n\t\t}\t\t\n\t}\n\t// Authorize with the authenticated username\n\tif(!this.isAuthorized(authorizationType,state.authenticatedUsername)) {\n\t\tresponse.writeHead(401,\"'\" + state.authenticatedUsername + \"' is not authorized to access '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Find the route that matches this path\n\tvar route = self.findMatchingRoute(request,state);\n\t// Optionally output debug info\n\tif(self.get(\"debug-level\") !== \"none\") {\n\t\tconsole.log(\"Request path:\",JSON.stringify(state.urlInfo));\n\t\tconsole.log(\"Request headers:\",JSON.stringify(request.headers));\n\t\tconsole.log(\"authenticatedUsername:\",state.authenticatedUsername);\n\t}\n\t// Return a 404 if we didn't find a route\n\tif(!route) {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Receive the request body if necessary and hand off to the route handler\n\tif(route.bodyFormat === \"stream\" || request.method === \"GET\" || request.method === \"HEAD\") {\n\t\t// Let the route handle the request stream itself\n\t\troute.handler(request,response,state);\n\t} else if(route.bodyFormat === \"string\" || !route.bodyFormat) {\n\t\t// Set the encoding for the incoming request\n\t\trequest.setEncoding(\"utf8\");\n\t\tvar data = \"\";\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata += chunk.toString();\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = data;\n\t\t\troute.handler(request,response,state);\n\t\t});\n\t} else if(route.bodyFormat === \"buffer\") {\n\t\tvar data = [];\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata.push(chunk);\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = Buffer.concat(data);\n\t\t\troute.handler(request,response,state);\n\t\t})\n\t} else {\n\t\tresponse.writeHead(400,\"Invalid bodyFormat \" + route.bodyFormat + \" in route \" + route.method + \" \" + route.path.source);\n\t\tresponse.end();\n\t}\n};\n\n/*\nListen for requests\nport: optional port number (falls back to value of \"port\" variable)\nhost: optional host address (falls back to value of \"host\" variable)\nprefix: optional prefix (falls back to value of \"path-prefix\" variable)\n*/\nServer.prototype.listen = function(port,host,prefix) {\n\tvar self = this;\n\t// Handle defaults for port and host\n\tport = port || this.get(\"port\");\n\thost = host || this.get(\"host\");\n\tprefix = prefix || this.get(\"path-prefix\") || \"\";\n\t// Check for the port being a string and look it up as an environment variable\n\tif(parseInt(port,10).toString() !== port) {\n\t\tport = process.env[port] || 8080;\n\t}\n\t// Warn if required plugins are missing\n\tif(!$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/tiddlyweb\") || !$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/filesystem\")) {\n\t\t$tw.utils.warning(\"Warning: Plugins required for client-server operation (\\\"tiddlywiki/filesystem\\\" and \\\"tiddlywiki/tiddlyweb\\\") are missing from tiddlywiki.info file\");\n\t}\n\t// Create the server\n\tvar server;\n\tif(this.listenOptions) {\n\t\tserver = this.transport.createServer(this.listenOptions,this.requestHandler.bind(this));\n\t} else {\n\t\tserver = this.transport.createServer(this.requestHandler.bind(this));\n\t}\n\t// Display the port number after we've started listening (the port number might have been specified as zero, in which case we will get an assigned port)\n\tserver.on(\"listening\",function() {\n\t\tvar address = server.address();\n\t\t$tw.utils.log(\"Serving on \" + self.protocol + \"://\" + address.address + \":\" + address.port + prefix,\"brown/orange\");\n\t\t$tw.utils.log(\"(press ctrl-C to exit)\",\"red\");\n\t});\n\t// Listen\n\treturn server.listen(port,host);\n};\n\nexports.Server = Server;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/browser-messaging.js": {
            "title": "$:/core/modules/browser-messaging.js",
            "text": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\");\n\t\tiframeInfo = {\n\t\t\turl: url,\n\t\t\tstatus: \"loading\",\n\t\t\tdomNode: iframe\n\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tiframe.setAttribute(\"library\",\"true\");\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\n/*\nUnload library iframe for given url\n*/\nfunction unloadIFrame(url){\n\t$tw.utils.each(document.getElementsByTagName('iframe'), function(iframe) {\n\t\tif(iframe.getAttribute(\"library\") === \"true\" &&\n\t\t  iframe.getAttribute(\"src\") === url) {\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t});\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for widget messages to control unloading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-unload-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\n\t\tif(url) {\n\t\t\tunloadIFrame(url);\n\t\t\t$tw.utils.each(\n\t\t\t\t$tw.wiki.filterTiddlers(\"[[$:/temp/ServerConnection/\" + url + \"]] [prefix[$:/temp/RemoteAssetInfo/\" + url + \"/]]\"),\n\t\t\t\tfunction(title) {\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\t// console.log(\"browser-messaging: \",document.location.toString())\n\t\t// console.log(\"browser-messaging: Received message from\",event.origin);\n\t\t// console.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/commands.js": {
            "title": "$:/core/modules/startup/commands.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/CSSescape.js": {
            "title": "$:/core/modules/startup/CSSescape.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/CSSescape.js\ntype: application/javascript\nmodule-type: startup\n\nPolyfill for CSS.escape()\n\n\\*/\n(function(root,factory){\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"css-escape\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n// https://github.com/umdjs/umd/blob/master/returnExports.js\nexports.startup = factory(root);\n}(typeof global != 'undefined' ? global : this, function(root) {\n\n\tif (root.CSS && root.CSS.escape) {\n\t\treturn;\n\t}\n\n\t// https://drafts.csswg.org/cssom/#serialize-an-identifier\n\tvar cssEscape = function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\n\tif (!root.CSS) {\n\t\troot.CSS = {};\n\t}\n\n\troot.CSS.escape = cssEscape;\n\n}));\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/favicon.js": {
            "title": "$:/core/modules/startup/favicon.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t}\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/info.js": {
            "title": "$:/core/modules/startup/info.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_INFO_PLUGIN = \"$:/temp/info-plugin\";\n\nexports.startup = function() {\n\t// Collect up the info tiddlers\n\tvar infoTiddlerFields = {};\n\t// Give each info module a chance to fill in as many info tiddlers as they want\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tvar tiddlerFieldsArray = moduleExports.getInfoTiddlerFields(infoTiddlerFields);\n\t\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\t\tif(fields) {\n\t\t\t\t\tinfoTiddlerFields[fields.title] = fields;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Bake the info tiddlers into a plugin. We use the non-standard plugin-type \"info\" because ordinary plugins are only registered asynchronously after being loaded dynamically\n\tvar fields = {\n\t\ttitle: TITLE_INFO_PLUGIN,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"info\",\n\t\ttext: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\t$tw.wiki.readPluginInfo([TITLE_INFO_PLUGIN]);\n\t$tw.wiki.registerPluginTiddlers(\"info\");\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/load-modules.js": {
            "title": "$:/core/modules/startup/load-modules.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.wiki.addIndexersToWiki();\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/password.js": {
            "title": "$:/core/modules/startup/password.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/plugins.js": {
            "title": "$:/core/modules/startup/plugins.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/plugins.js\ntype: application/javascript\nmodule-type: startup\n\nStartup logic concerned with managing plugins\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"plugins\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE = \"$:/status/RequireReloadDueToPluginChange\";\n\nvar PREFIX_CONFIG_REGISTER_PLUGIN_TYPE = \"$:/config/RegisterPluginType/\";\n\nexports.startup = function() {\n\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"no\"});\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tvar changesToProcess = [],\n\t\t\trequireReloadDueToPluginChange = false;\n\t\t$tw.utils.each(Object.keys(changes),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\t\trequiresReload = $tw.wiki.doesPluginRequireReload(title);\n\t\t\tif(requiresReload) {\n\t\t\t\trequireReloadDueToPluginChange = true;\n\t\t\t} else if(tiddler) {\n\t\t\t\tvar pluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif($tw.wiki.getTiddlerText(PREFIX_CONFIG_REGISTER_PLUGIN_TYPE + (tiddler.fields[\"plugin-type\"] || \"\"),\"no\") === \"yes\") {\n\t\t\t\t\tchangesToProcess.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif(requireReloadDueToPluginChange) {\n\t\t\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"yes\"});\n\t\t}\n\t\t// Read or delete the plugin info of the changed tiddlers\n\t\tif(changesToProcess.length > 0) {\n\t\t\tvar changes = $tw.wiki.readPluginInfo(changesToProcess);\n\t\t\tif(changes.modifiedPlugins.length > 0 || changes.deletedPlugins.length > 0) {\n\t\t\t\t// (Re-)register any modified plugins\n\t\t\t\t$tw.wiki.registerPluginTiddlers(null,changes.modifiedPlugins);\n\t\t\t\t// Unregister any deleted plugins\n\t\t\t\t$tw.wiki.unregisterPluginTiddlers(null,changes.deletedPlugins);\n\t\t\t\t// Unpack the shadow tiddlers\n\t\t\t\t$tw.wiki.unpackPluginTiddlers();\n\t\t\t}\n\t\t}\n\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/render.js": {
            "title": "$:/core/modules/startup/render.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/PageTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar THROTTLE_REFRESH_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n   \t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t})();\n\t// Remove any splash screen elements\n\tvar removeList = document.querySelectorAll(\".tc-remove-when-wiki-loaded\");\n\t$tw.utils.each(removeList,function(removeItem) {\n\t\tif(removeItem.parentNode) {\n\t\t\tremoveItem.parentNode.removeChild(removeItem);\n\t\t}\n\t});\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.hooks.invokeHook(\"th-page-refreshing\");\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only tiddlers that are throttled have changed\n\t\tvar onlyThrottledTiddlersHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !(tiddler.hasField(\"draft.of\") || tiddler.hasField(\"throttle.refresh\"))) {\n\t\t\t\tonlyThrottledTiddlersHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyThrottledTiddlersHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = THROTTLE_REFRESH_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(refresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/rootwidget.js": {
            "title": "$:/core/modules/startup/rootwidget.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject, event: event});\n\t});\n\t// Install the notification  mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the copy-to-clipboard  mechanism\n\t$tw.rootWidget.addEventListener(\"tm-copy-to-clipboard\",function(event) {\n\t\t$tw.utils.copyToClipboard(event.param);\n\t});\n\t// Install the tm-focus-selector message\n\t$tw.rootWidget.addEventListener(\"tm-focus-selector\",function(event) {\n\t\tvar selector = event.param || \"\",\n\t\t\telement;\n\t\ttry {\n\t\t\telement = document.querySelector(selector);\n\t\t} catch(e) {\n\t\t\tconsole.log(\"Error in selector: \",selector)\n\t\t}\n\t\tif(element && element.focus) {\n\t\t\telement.focus(event.paramObject);\n\t\t}\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tvar fullScreenDocument = event.event ? event.event.target.ownerDocument : document;\n\t\t\tif(event.param === \"enter\") {\n\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t} else if(event.param === \"exit\") {\n\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tif(fullScreenDocument[fullscreen._fullscreenElement]) {\n\t\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t\t} else {\n\t\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup.js": {
            "title": "$:/core/modules/startup.js",
            "text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.platform);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\t$tw.rootWidget = new widget.widget({\n\t\ttype: \"widget\",\n\t\tchildren: []\n\t},{\n\t\twiki: $tw.wiki,\n\t\tdocument: $tw.browser ? document : $tw.fakeDocument\n\t});\n\t// Execute any startup actions\n\tvar executeStartupTiddlers = function(tag) {\n\t\t$tw.utils.each($tw.wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[\" + tag + \"]!has[draft.of]]\"),function(title) {\n\t\t\t$tw.rootWidget.invokeActionString($tw.wiki.getTiddlerText(title),$tw.rootWidget);\n\t\t});\n\t};\n\texecuteStartupTiddlers(\"$:/tags/StartupAction\");\n\tif($tw.browser) {\n\t\texecuteStartupTiddlers(\"$:/tags/StartupAction/Browser\");\t\t\n\t}\n\tif($tw.node) {\n\t\texecuteStartupTiddlers(\"$:/tags/StartupAction/Node\");\t\t\n\t}\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-GB\"\n\t\t],\n\t\tonSwitch: function(plugins) {\n\t\t\tif($tw.browser) {\n\t\t\t\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\n\t\t\t\tif(pluginTiddler) {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"dir\",pluginTiddler.getFieldString(\"text-direction\") || \"auto\");\n\t\t\t\t} else {\n\t\t\t\t\tdocument.documentElement.removeAttribute(\"dir\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Listen for shortcuts\n\tif($tw.browser) {\n\t\t$tw.utils.addEventListeners(document,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t}\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t}\n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({\n\t\twiki: $tw.wiki,\n\t\tdirtyTracking: !$tw.syncadaptor,\n\t\tpreloadDirty: $tw.boot.preloadDirty || []\n\t});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/story.js": {
            "title": "$:/core/modules/startup/story.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\nvar CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD = \"$:/config/Navigation/Permalinkview/CopyToClipboard\"; // Can be \"yes\" (default) or \"no\"\nvar CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/Permalinkview/UpdateAddressBar\"; // Can be \"yes\" (default) or \"no\"\n\n\n// Links to help, if there is no param\nvar HELP_OPEN_EXTERNAL_WINDOW = \"http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window\";\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers({\n\t\tdisableHistory: $tw.boot.disableStartupNavigation\n\t});\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for tm-open-external-window message\n\t\t$tw.rootWidget.addEventListener(\"tm-open-external-window\",function(event) {\n\t\t\tvar paramObject = event.paramObject || {},\n\t\t\t\tstrUrl = event.param || HELP_OPEN_EXTERNAL_WINDOW,\n\t\t\t\tstrWindowName = paramObject.windowName,\n\t\t\t\tstrWindowFeatures = paramObject.windowFeatures;\n\t\t\twindow.open(strUrl, strWindowName, strWindowFeatures);\n\t\t});\n\t\t// Listen for the tm-print message\n\t\t$tw.rootWidget.addEventListener(\"tm-print\",function(event) {\n\t\t\t(event.event.view || window).print();\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\"\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\"\n\t\t\t});\t\t\t\t\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndisableHistory: if true $:/History is NOT updated\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// Update history\n\tif(!options.disableHistory) {\n\t\t// If a target tiddler was specified add it to the history stack\n\t\tif(target && target !== \"\") {\n\t\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t\t}\n\t\t\t$tw.wiki.addToHistory(target);\n\t\t} else if(storyList.length > 0) {\n\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t}\t\t\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.copyToClipboard: \"permalink\", \"permaview\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\t// Get the story and the history stack\n\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\ttargetTiddler = \"\";\n\tif(options.targetTiddler) {\n\t\ttargetTiddler = options.targetTiddler;\n\t} else {\n\t\t// The target tiddler is the one at the top of the stack\n\t\tif(historyList.length > 0) {\n\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t}\n\t\t// Blank the target tiddler if it isn't present in the story\n\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\ttargetTiddler = \"\";\n\t\t}\n\t}\n\t// Assemble the location hash\n\tswitch(options.updateAddressBar) {\n\t\tcase \"permalink\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t\tbreak;\n\t}\n\t// Copy URL to the clipboard\n\tswitch(options.copyToClipboard) {\n\t\tcase \"permalink\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler));\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList)));\n\t\t\tbreak;\n\t}\n\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\tif(options.updateHistory === \"yes\") {\n\t\t\t// Assign the location hash so that history is updated\n\t\t\twindow.location.hash = $tw.locationHash;\n\t\t} else {\n\t\t\t// We use replace so that browser history isn't affected\n\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t}\n\t}\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/windows.js": {
            "title": "$:/core/modules/startup/windows.js",
            "text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\nvar windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\twindowTitle = paramObject.windowTitle || title,\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow,\n\t\t    srcDocument;\n\t\t// In case that popup blockers deny opening a new window\n\t\ttry {\n\t\t\tsrcWindow = window.open(\"\",\"external-\" + title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\t}\n\t\tcatch(e) {\n\t\t\treturn;\n\t\t}\n\t\twindows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = windowTitle;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\t// Listen for keyboard shortcuts\n\t\t$tw.utils.addEventListeners(srcDocument,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t},{\n\t\t\tname: \"click\",\n\t\t\thandlerObject: $tw.popup,\n\t\t\thandlerMethod: \"handleEvent\"\n\t\t}]);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each(windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/story.js": {
            "title": "$:/core/modules/story.js",
            "text": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/storyviews/classic.js": {
            "title": "$:/core/modules/storyviews/classic.js",
            "text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration()\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\tif(duration) {\n\t\t// Scroll the node into view\n\t\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\t\n\t} else {\n\t\ttargetElement.scrollIntoView();\n\t}\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Reset the margin once the transition is over\n\t\tsetTimeout(function() {\n\t\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t\t{transition: \"none\"},\n\t\t\t\t{marginBottom: \"\"}\n\t\t\t]);\n\t\t},duration);\n\t\t// Set up the initial position of the element\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t// Transition to the final position\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t]);\n\t}\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode(),\n\t\t\tremoveElement = function() {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t};\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\tremoveElement();\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar currWidth = targetElement.offsetWidth,\n\t\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Remove the dom nodes of the widget at the end of the transition\n\t\tsetTimeout(removeElement,duration);\n\t\t// Animate the closure\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"translateX(0px)\"},\n\t\t\t{marginBottom:  currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/storyviews/pop.js": {
            "title": "$:/core/modules/storyviews/pop.js",
            "text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t\t$tw.utils.setStyle(widget.document.body,[\n\t\t\t{\"overflow-x\": \"\"}\n\t\t]);\n\t},duration);\n\t// Prevent the page from overscrolling due to the zoom factor\n\t$tw.utils.setStyle(widget.document.body,[\n\t\t{\"overflow-x\": \"hidden\"}\n\t]);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement && targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/storyviews/zoomin.js": {
            "title": "$:/core/modules/storyviews/zoomin.js",
            "text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx =  zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty =  zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/syncer.js": {
            "title": "$:/core/modules/syncer.js",
            "text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store and synchronises them to a remote data store represented as a \"sync adaptor\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDefaults\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleIsAnonymous = \"$:/status/IsAnonymous\";\nSyncer.prototype.titleIsReadOnly = \"$:/status/IsReadOnly\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSyncPollingInterval = \"$:/config/SyncPollingInterval\";\nSyncer.prototype.titleSyncDisableLazyLoading = \"$:/config/SyncDisableLazyLoading\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.titleSyncThrottleInterval = \"$:/config/SyncThrottleInterval\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.errorRetryInterval = 5 * 1000; // Interval to retry after an error\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\t// Save parameters\n\tthis.syncadaptor = options.syncadaptor;\n\tthis.disableUI = !!options.disableUI;\n\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\n\tthis.titleUserName = options.titleUserName || this.titleUserName;\n\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\n\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\n\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\n\tthis.throttleInterval = options.throttleInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncThrottleInterval,\"\"),10) || this.throttleInterval;\n\tthis.errorRetryInterval = options.errorRetryInterval || this.errorRetryInterval;\n\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\n\tthis.pollTimerInterval = options.pollTimerInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncPollingInterval,\"\"),10) || this.pollTimerInterval;\n\tthis.logging = \"logging\" in options ? options.logging : true;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\")  + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\"),{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging,\n\t\tsaveHistory: true\n\t});\n\t// Make another logger for connection errors\n\tthis.loggerConnection = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\")  + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\") + \"-connection\",{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging\n\t});\n\t// Ask the syncadaptor to use the main logger\n\tif(this.syncadaptor.setLoggerSaveBuffer) {\n\t\tthis.syncadaptor.setLoggerSaveBuffer(this.logger);\n\t}\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\tthis.titlesToBeLoaded = {}; // Hashmap of titles of tiddlers that need loading from the server\n\tthis.titlesHaveBeenLazyLoaded = {}; // Hashmap of titles of tiddlers that have already been lazily loaded from the server\n\t// Timers\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Number of outstanding requests\n\tthis.numTasksInProgress = 0;\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Filter the changes to just include ones that are being synced\n\t\tvar filteredChanges = self.getSyncedTiddlers(function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t\tif(filteredChanges.length > 0) {\n\t\t\tself.processTaskQueue();\n\t\t} else {\n\t\t\t// Look for deletions of tiddlers we're already syncing\t\n\t\t\tvar outstandingDeletion = false\n\t\t\t$tw.utils.each(changes,function(change,title,object) {\n\t\t\t\tif(change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) {\n\t\t\t\t\toutstandingDeletion = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(outstandingDeletion) {\n\t\t\t\tself.processTaskQueue();\n\t\t\t}\n\t\t}\n\t});\n\t// Browser event handlers\n\tif($tw.browser && !this.disableUI) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function() {\n\t\t\tself.handleLoginEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-copy-syncer-logs-to-clipboard\",function() {\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getSystemInfo() + \"\\n\\nLog:\\n\" + self.logger.getBuffer());\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tif(!this.disableUI && $tw.wiki.getTiddlerText(this.titleSyncDisableLazyLoading) !== \"yes\") {\n\t\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\t\tself.handleLazyLoadEvent(title);\n\t\t});\t\t\n\t}\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nShow a generic network error alert\n*/\nSyncer.prototype.displayError = function(msg,err) {\n\tif(err === ($tw.language.getString(\"Error/XMLHttpRequest\") + \": 0\")) {\n\t\tthis.loggerConnection.alert($tw.language.getString(\"Error/NetworkErrorAlert\"));\n\t\tthis.logger.log(msg + \":\",err);\n\t} else {\n\t\tthis.logger.alert(msg + \":\",err);\n\t}\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getSyncedTiddlers = function(source) {\n\treturn this.filterFn.call(this.wiki,source);\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getTiddlerRevision = function(title) {\n\tif(this.syncadaptor && this.syncadaptor.getTiddlerRevision) {\n\t\treturn this.syncadaptor.getTiddlerRevision(title);\n\t} else {\n\t\treturn this.wiki.getTiddler(title).fields.revision;\t\n\t} \n};\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\t// \"revision\" is the revision of the tiddler last seen on the server, and \"changecount\" is the corresponding local changecount\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.getSyncedTiddlers();\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: self.getTiddlerRevision(title),\n\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title)\n\t\t};\n\t});\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\tthis.logger.log(\"Checking dirty status\");\n\t// Check tiddlers that are in the store and included in the filter function\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(this.wiki.tiddlerExists(title)) {\n\t\t\tif(tiddlerInfo) {\n\t\t\t\t// If the tiddler is known on the server and has been modified locally then it needs to be saved to the server\n\t\t\t\tif($tw.wiki.getChangeCount(title) > tiddlerInfo.changeCount) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// If the tiddler isn't known on the server then it needs to be saved to the server\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\t// Check tiddlers that are known from the server but not currently in the store\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\tif(!this.wiki.tiddlerExists(titles[index])) {\n\t\t\t// There must be a pending delete\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser && !this.disableUI) {\n\t\tvar dirty = this.isDirty();\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",dirty);\n\t\tif(!dirty) {\n\t\t\tthis.loggerConnection.clearAlerts();\n\t\t}\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: this.getTiddlerRevision(tiddlerFields.title),\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title)\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username,isReadOnly,isAnonymous) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\t// Set the various status tiddlers\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsReadOnly,text: isReadOnly ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsAnonymous,text: isAnonymous ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\t\tif(isLoggedIn) {\n\t\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tvar self = this,\n\t\tcancelNextSync = function() {\n\t\t\tif(self.pollTimerId) {\n\t\t\t\tclearTimeout(self.pollTimerId);\n\t\t\t\tself.pollTimerId = null;\n\t\t\t}\n\t\t},\n\t\ttriggerNextSync = function() {\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t};\n\tif(this.syncadaptor && this.syncadaptor.getUpdatedTiddlers) {\n\t\tthis.logger.log(\"Retrieving updated tiddler list\");\n\t\tcancelNextSync();\n\t\tthis.syncadaptor.getUpdatedTiddlers(self,function(err,updates) {\n\t\t\ttriggerNextSync();\n\t\t\tif(err) {\n\t\t\t\tself.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(updates) {\n\t\t\t\t$tw.utils.each(updates.modifications,function(title) {\n\t\t\t\t\tself.titlesToBeLoaded[title] = true;\n\t\t\t\t});\n\t\t\t\t$tw.utils.each(updates.deletions,function(title) {\n\t\t\t\t\tdelete self.tiddlerInfo[title];\n\t\t\t\t\tself.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\t\tself.wiki.deleteTiddler(title);\n\t\t\t\t});\n\t\t\t\tif(updates.modifications.length > 0 || updates.deletions.length > 0) {\n\t\t\t\t\tself.processTaskQueue();\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t});\n\t} else if(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tcancelNextSync();\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\ttriggerNextSync();\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Keep track of which tiddlers we already know about have been reported this time\n\t\t\tvar previousTitles = Object.keys(self.tiddlerInfo);\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.tiddlerExists(tiddlerFields.title) && self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null,\n\t\t\t\t\tindexInPreviousTitles = previousTitles.indexOf(tiddlerFields.title);\n\t\t\t\tif(indexInPreviousTitles !== -1) {\n\t\t\t\t\tpreviousTitles.splice(indexInPreviousTitles,1);\n\t\t\t\t}\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Only load the skinny version if we don't already have a fat version of the tiddler\n\t\t\t\t\tif(!tiddler || tiddler.fields.text === undefined) {\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\tself.titlesToBeLoaded[tiddlerFields.title] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Delete any tiddlers that were previously reported but missing this time\n\t\t\t$tw.utils.each(previousTitles,function(title) {\n\t\t\t\tdelete self.tiddlerInfo[title];\n\t\t\t\tself.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\tself.wiki.deleteTiddler(title);\n\t\t\t});\n\t\t\tself.processTaskQueue();\n\t\t});\n\t}\n};\n\n/*\nForce load a tiddler from the server\n*/\nSyncer.prototype.enqueueLoadTiddler = function(title) {\n\tthis.titlesToBeLoaded[title] = true;\n\tthis.processTaskQueue();\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Ignore if the syncadaptor doesn't handle it\n\tif(!this.syncadaptor.supportsLazyLoading) {\n\t\treturn;\n\t}\n\t// Don't lazy load the same tiddler twice\n\tif(!this.titlesHaveBeenLazyLoaded[title]) {\n\t\t// Don't lazy load if the tiddler isn't included in the sync filter\n\t\tif(this.getSyncedTiddlers().indexOf(title) !== -1) {\n\t\t\t// Mark the tiddler as needing loading, and having already been lazily loaded\n\t\t\tthis.titlesToBeLoaded[title] = true;\n\t\t\tthis.titlesHaveBeenLazyLoaded[title] = true;\n\t\t}\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!err && !isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(err,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nProcess the next task\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing\n\t// a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(typeof task === \"object\" && task !== null) {\n\t\t\tthis.numTasksInProgress += 1;\n\t\t\ttask.run(function(err) {\n\t\t\t\tself.numTasksInProgress -= 1;\n\t\t\t\tif(err) {\n\t\t\t\t\tself.displayError(\"Sync error while processing \" + task.type + \" of '\" + task.title + \"'\",err);\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\tself.triggerTimeout(self.errorRetryInterval);\n\t\t\t\t} else {\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\t// Process the next task\n\t\t\t\t\tself.processTaskQueue.call(self);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// No task is ready so update the status\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// And trigger a timeout if there is a pending task\n\t\t\tif(task === true) {\n\t\t\t\tthis.triggerTimeout();\t\t\t\t\n\t\t\t}\n\t\t}\n\t} else {\n\t\tthis.updateDirtyStatus();\t\t\n\t}\n};\n\nSyncer.prototype.triggerTimeout = function(interval) {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},interval || self.taskTimerInterval);\n\t}\n};\n\n/*\nChoose the next sync task. We prioritise saves, then deletes, then loads from the server\n\nReturns either a task object, null if there's no upcoming tasks, or the boolean true if there are pending tasks that aren't yet due\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar thresholdLastSaved = (new Date()) - this.throttleInterval,\n\t\thavePending = null;\n\t// First we look for tiddlers that have been modified locally and need saving back to the server\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title),\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(tiddler) {\n\t\t\t// If the tiddler is not known on the server, or has been modified locally no more recently than the threshold then it needs to be saved to the server\n\t\t\tvar hasChanged = !tiddlerInfo || $tw.wiki.getChangeCount(title) > tiddlerInfo.changeCount,\n\t\t\t\tisReadyToSave = !tiddlerInfo || !tiddlerInfo.timestampLastSaved || tiddlerInfo.timestampLastSaved < thresholdLastSaved;\n\t\t\tif(hasChanged) {\n\t\t\t\tif(isReadyToSave) {\n\t\t\t\t\treturn new SaveTiddlerTask(this,title); \t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\thavePending = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Second, we check tiddlers that are known from the server but not currently in the store, and so need deleting on the server\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\ttitle = titles[index];\n\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\treturn new DeleteTiddlerTask(this,title);\n\t\t}\n\t}\n\t// Check for tiddlers that need loading\n\ttitle = Object.keys(this.titlesToBeLoaded)[0];\n\tif(title) {\n\t\tdelete this.titlesToBeLoaded[title];\n\t\treturn new LoadTiddlerTask(this,title);\n\t}\n\t// No tasks are ready\n\treturn havePending;\n};\n\nfunction SaveTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"save\";\n}\n\nSaveTiddlerTask.prototype.run = function(callback) {\n\tvar self = this,\n\t\tchangeCount = this.syncer.wiki.getChangeCount(this.title),\n\t\ttiddler = this.syncer.wiki.tiddlerExists(this.title) && this.syncer.wiki.getTiddler(this.title);\n\tthis.syncer.logger.log(\"Dispatching 'save' task:\",this.title);\n\tif(tiddler) {\n\t\tthis.syncer.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t// If there's an error, exit without changing any internal state\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Adjust the info stored about this tiddler\n\t\t\tself.syncer.tiddlerInfo[self.title] = {\n\t\t\t\tchangeCount: changeCount,\n\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\trevision: revision,\n\t\t\t\ttimestampLastSaved: new Date()\n\t\t\t};\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else {\n\t\tthis.syncer.logger.log(\" Not Dispatching 'save' task:\",this.title,\"tiddler does not exist\");\n\t\t$tw.utils.nextTick(callback(null));\n\t}\n};\n\nfunction DeleteTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"delete\";\n}\n\nDeleteTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'delete' task:\",this.title);\n\tthis.syncer.syncadaptor.deleteTiddler(this.title,function(err) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Remove the info stored about this tiddler\n\t\tdelete self.syncer.tiddlerInfo[self.title];\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t},{\n\t\ttiddlerInfo: self.syncer.tiddlerInfo[this.title]\n\t});\n};\n\nfunction LoadTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"load\";\n}\n\nLoadTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'load' task:\",this.title);\n\tthis.syncer.syncadaptor.loadTiddler(this.title,function(err,tiddlerFields) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Update the info stored about this tiddler\n\t\tif(tiddlerFields) {\n\t\t\tself.syncer.storeTiddler(tiddlerFields);\n\t\t}\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t});\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/tiddler.js": {
            "title": "$:/core/modules/tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet the value of a field as a list\n*/\nexports.getFieldList = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn [];\n\t}\n\treturn $tw.utils.parseStringArray(value);\n};\n\n/*\nGet all the fields as a hashmap of strings. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStrings = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = {};\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields[field] = this.getFieldString(field);\n\t\t\t}\n\t\t}\n\t}\n\treturn fields;\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [],\n\t\tfields = Object.keys(this.fields).sort(),\n\t\tresult = [];\n\tfor(var t=0; t<fields.length; t++) {\n\t\tvar field = fields[t];\n\t\tif(exclude.indexOf(field) === -1) {\n\t\t\tresult.push(field + \": \" + this.getFieldString(field));\n\t\t}\n\t}\n\treturn result.join(\"\\n\");\n};\n\nexports.getFieldDay = function(field) {\n\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\n\t\treturn this.cache.day[field];\n\t}\n\tvar day = \"\";\n\tif(this.fields[field]) {\n\t\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\n\t}\n\tthis.cache.day = this.cache.day || {};\n\tthis.cache.day[field] = day;\n\treturn day;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "tiddlermethod"
        },
        "$:/core/modules/upgraders/plugins.js": {
            "title": "$:/core/modules/upgraders/plugins.js",
            "text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin contains JS modules\n\t\t\tvar requiresReload = $tw.wiki.doesPluginInfoRequireReload(JSON.parse(incomingTiddler.text)) ? ($tw.wiki.getTiddlerText(\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\") + \" \") : \"\";\n\t\t\tmessages[title] = requiresReload;\n\t\t\tif(incomingTiddler.version) {\n\t\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\t\tmessages[title] = requiresReload + $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\t\tmessages[title] = requiresReload + $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "upgrader"
        },
        "$:/core/modules/upgraders/system.js": {
            "title": "$:/core/modules/upgraders/system.js",
            "text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\",\"$:/Import\"],\n\tWARN_IMPORT_PREFIX_LIST = [\"$:/core/modules/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tshowAlert = false;\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = WARN_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {\n\t\t\t\t\tshowAlert = true;\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Warning\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tif(showAlert) {\n\t\tvar logger = new $tw.utils.Logger(\"import\");\n\t\tlogger.alert($tw.language.getString(\"Import/Upgrader/System/Alert\"));\n\t}\n\treturn messages;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "upgrader"
        },
        "$:/core/modules/upgraders/themetweaks.js": {
            "title": "$:/core/modules/upgraders/themetweaks.js",
            "text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "upgrader"
        },
        "$:/core/modules/utils/base64-utf8/base64-utf8.module.js": {
            "text": "(function(){// From https://gist.github.com/Nijikokun/5192472\n//\n// UTF8 Module\n//\n// Cleaner and modularized utf-8 encoding and decoding library for javascript.\n//\n// copyright: MIT\n// author: Nijiko Yonskai, @nijikokun, nijikokun@gmail.com\n!function(r,e,o,t){void 0!==o.module&&o.module.exports?o.module.exports=e.apply(o):void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"utf8\",[],e):o.utf8=e.apply(o)}(0,function(){return{encode:function(r){if(\"string\"!=typeof r)return r;r=r.replace(/\\r\\n/g,\"\\n\");for(var e,o=\"\",t=0;t<r.length;t++)(e=r.charCodeAt(t))<128?o+=String.fromCharCode(e):e>127&&e<2048?(o+=String.fromCharCode(e>>6|192),o+=String.fromCharCode(63&e|128)):(o+=String.fromCharCode(e>>12|224),o+=String.fromCharCode(e>>6&63|128),o+=String.fromCharCode(63&e|128));return o},decode:function(r){if(\"string\"!=typeof r)return r;for(var e=\"\",o=0,t=0;o<r.length;)(t=r.charCodeAt(o))<128?(e+=String.fromCharCode(t),o++):t>191&&t<224?(e+=String.fromCharCode((31&t)<<6|63&r.charCodeAt(o+1)),o+=2):(e+=String.fromCharCode((15&t)<<12|(63&r.charCodeAt(o+1))<<6|63&r.charCodeAt(o+2)),o+=3);return e}}},this),function(r,e,o,t){if(void 0!==o.module&&o.module.exports){if(t&&o.require)for(var n=0;n<t.length;n++)o[t[n]]=o.require(t[n]);o.module.exports=e.apply(o)}else void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"base64\",t||[],e):o.base64=e.apply(o)}(0,function(r){var e=r||this.utf8,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return{encode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=e.encode(r);for(var t,n,i,d,f,a,h,c=\"\",u=0;u<r.length;)d=(t=r.charCodeAt(u++))>>2,f=(3&t)<<4|(n=r.charCodeAt(u++))>>4,a=(15&n)<<2|(i=r.charCodeAt(u++))>>6,h=63&i,isNaN(n)?a=h=64:isNaN(i)&&(h=64),c+=o.charAt(d)+o.charAt(f)+o.charAt(a)+o.charAt(h);return c},decode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=r.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");for(var t,n,i,d,f,a,h=\"\",c=0;c<r.length;)t=o.indexOf(r.charAt(c++))<<2|(d=o.indexOf(r.charAt(c++)))>>4,n=(15&d)<<4|(f=o.indexOf(r.charAt(c++)))>>2,i=(3&f)<<6|(a=o.indexOf(r.charAt(c++))),h+=String.fromCharCode(t),64!=f&&(h+=String.fromCharCode(n)),64!=a&&(h+=String.fromCharCode(i));return e.decode(h)}}},this,[\"utf8\"]);}).call(exports);",
            "type": "application/javascript",
            "title": "$:/core/modules/utils/base64-utf8/base64-utf8.module.js",
            "module-type": "library"
        },
        "$:/core/modules/utils/crypto.js": {
            "title": "$:/core/modules/utils/crypto.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/csv.js": {
            "title": "$:/core/modules/utils/csv.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/csv.js\ntype: application/javascript\nmodule-type: utils\n\nA barebones CSV parser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a CSV string with a header row and return an array of hashmaps.\n*/\nexports.parseCsvStringWithHeader = function(text,options) {\n\toptions = options || {};\n\tvar separator = options.separator || \",\",\n\t\trows = text.split(/\\r?\\n/mg).map(function(row) {\n\t\t\treturn $tw.utils.trim(row);\n\t\t}).filter(function(row) {\n\t\t\treturn row !== \"\";\n\t\t});\n\tif(rows.length < 1) {\n\t\treturn \"Missing header row\";\n\t}\n\tvar headings = rows[0].split(separator),\n\t\tresults = [];\n\tfor(var row=1; row<rows.length; row++) {\n\t\tvar columns = rows[row].split(separator),\n\t\t\tcolumnResult = Object.create(null);\n\t\tif(columns.length !== headings.length) {\n\t\t\treturn \"Malformed CSV row '\" + rows[row] + \"'\";\n\t\t}\n\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\tvar columnName = headings[column];\n\t\t\tcolumnResult[columnName] = $tw.utils.trim(columns[column] || \"\");\n\t\t}\n\t\tresults.push(columnResult);\t\t\t\n\t}\n\treturn results;\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/diff-match-patch/diff_match_patch.js": {
            "text": "(function(){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;\ndiff_match_patch.prototype.diff_main=function(a,b,c,d){\"undefined\"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error(\"Null input. (diff_main)\");if(a==b)return a?[[DIFF_EQUAL,a]]:[];\"undefined\"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);f=this.diff_commonSuffix(a,b);var g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,b.length-f);a=this.diff_compute_(a,\nb,e,d);c&&a.unshift([DIFF_EQUAL,c]);g&&a.push([DIFF_EQUAL,g]);this.diff_cleanupMerge(a);return a};\ndiff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[[DIFF_INSERT,b]];if(!b)return[[DIFF_DELETE,a]];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[[DIFF_INSERT,e.substring(0,g)],[DIFF_EQUAL,f],[DIFF_INSERT,e.substring(g+f.length)]],a.length>b.length&&(c[0][0]=c[2][0]=DIFF_DELETE),c):1==f.length?[[DIFF_DELETE,a],[DIFF_INSERT,b]]:(e=this.diff_halfMatch_(a,b))?(b=e[1],f=e[3],a=e[4],e=this.diff_main(e[0],e[2],c,d),c=this.diff_main(b,f,c,d),e.concat([[DIFF_EQUAL,\na]],c)):c&&100<a.length&&100<b.length?this.diff_lineMode_(a,b,d):this.diff_bisect_(a,b,d)};\ndiff_match_patch.prototype.diff_lineMode_=function(a,b,c){var d=this.diff_linesToChars_(a,b);a=d.chars1;b=d.chars2;d=d.lineArray;a=this.diff_main(a,b,!1,c);this.diff_charsToLines_(a,d);this.diff_cleanupSemantic(a);a.push([DIFF_EQUAL,\"\"]);for(var e=d=b=0,f=\"\",g=\"\";b<a.length;){switch(a[b][0]){case DIFF_INSERT:e++;g+=a[b][1];break;case DIFF_DELETE:d++;f+=a[b][1];break;case DIFF_EQUAL:if(1<=d&&1<=e){a.splice(b-d-e,d+e);b=b-d-e;d=this.diff_main(f,g,!1,c);for(e=d.length-1;0<=e;e--)a.splice(b,0,d[e]);b+=\nd.length}d=e=0;g=f=\"\"}b++}a.pop();return a};\ndiff_match_patch.prototype.diff_bisect_=function(a,b,c){for(var d=a.length,e=b.length,f=Math.ceil((d+e)/2),g=2*f,h=Array(g),l=Array(g),k=0;k<g;k++)h[k]=-1,l[k]=-1;h[f+1]=0;l[f+1]=0;k=d-e;for(var m=0!=k%2,p=0,x=0,w=0,q=0,t=0;t<f&&!((new Date).getTime()>c);t++){for(var v=-t+p;v<=t-x;v+=2){var n=f+v;var r=v==-t||v!=t&&h[n-1]<h[n+1]?h[n+1]:h[n-1]+1;for(var y=r-v;r<d&&y<e&&a.charAt(r)==b.charAt(y);)r++,y++;h[n]=r;if(r>d)x+=2;else if(y>e)p+=2;else if(m&&(n=f+k-v,0<=n&&n<g&&-1!=l[n])){var u=d-l[n];if(r>=\nu)return this.diff_bisectSplit_(a,b,r,y,c)}}for(v=-t+w;v<=t-q;v+=2){n=f+v;u=v==-t||v!=t&&l[n-1]<l[n+1]?l[n+1]:l[n-1]+1;for(r=u-v;u<d&&r<e&&a.charAt(d-u-1)==b.charAt(e-r-1);)u++,r++;l[n]=u;if(u>d)q+=2;else if(r>e)w+=2;else if(!m&&(n=f+k-v,0<=n&&n<g&&-1!=h[n]&&(r=h[n],y=f+r-n,u=d-u,r>=u)))return this.diff_bisectSplit_(a,b,r,y,c)}}return[[DIFF_DELETE,a],[DIFF_INSERT,b]]};\ndiff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)};\ndiff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b=\"\",c=0,f=-1,g=d.length;f<a.length-1;){f=a.indexOf(\"\\n\",c);-1==f&&(f=a.length-1);var h=a.substring(c,f+1);c=f+1;(e.hasOwnProperty?e.hasOwnProperty(h):void 0!==e[h])?b+=String.fromCharCode(e[h]):(b+=String.fromCharCode(g),e[h]=g,d[g++]=h)}return b}var d=[],e={};d[0]=\"\";var f=c(a),g=c(b);return{chars1:f,chars2:g,lineArray:d}};\ndiff_match_patch.prototype.diff_charsToLines_=function(a,b){for(var c=0;c<a.length;c++){for(var d=a[c][1],e=[],f=0;f<d.length;f++)e[f]=b[d.charCodeAt(f)];a[c][1]=e.join(\"\")}};diff_match_patch.prototype.diff_commonPrefix=function(a,b){if(!a||!b||a.charAt(0)!=b.charAt(0))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(f,e)==b.substring(f,e)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonSuffix=function(a,b){if(!a||!b||a.charAt(a.length-1)!=b.charAt(b.length-1))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(a.length-e,a.length-f)==b.substring(b.length-e,b.length-f)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonOverlap_=function(a,b){var c=a.length,d=b.length;if(0==c||0==d)return 0;c>d?a=a.substring(c-d):c<d&&(b=b.substring(0,c));c=Math.min(c,d);if(a==b)return c;d=0;for(var e=1;;){var f=a.substring(c-e);f=b.indexOf(f);if(-1==f)return d;e+=f;if(0==f||a.substring(c-e)==b.substring(0,e))d=e,e++}};\ndiff_match_patch.prototype.diff_halfMatch_=function(a,b){function c(a,b,c){for(var d=a.substring(c,c+Math.floor(a.length/4)),e=-1,g=\"\",h,k,l,m;-1!=(e=b.indexOf(d,e+1));){var p=f.diff_commonPrefix(a.substring(c),b.substring(e)),u=f.diff_commonSuffix(a.substring(0,c),b.substring(0,e));g.length<u+p&&(g=b.substring(e-u,e)+b.substring(e,e+p),h=a.substring(0,c-u),k=a.substring(c+p),l=b.substring(0,e-u),m=b.substring(e+p))}return 2*g.length>=a.length?[h,k,l,m,g]:null}if(0>=this.Diff_Timeout)return null;\nvar d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.length<d.length)return null;var f=this,g=c(d,e,Math.ceil(d.length/4));d=c(d,e,Math.ceil(d.length/2));if(g||d)g=d?g?g[4].length>d[4].length?g:d:d:g;else return null;if(a.length>b.length){d=g[0];e=g[1];var h=g[2];var l=g[3]}else h=g[0],l=g[1],d=g[2],e=g[3];return[d,e,h,l,g[4]]};\ndiff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,l=0,k=0;f<a.length;)a[f][0]==DIFF_EQUAL?(c[d++]=f,g=l,h=k,k=l=0,e=a[f][1]):(a[f][0]==DIFF_INSERT?l+=a[f][1].length:k+=a[f][1].length,e&&e.length<=Math.max(g,h)&&e.length<=Math.max(l,k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,d--,f=0<d?c[d-1]:-1,k=l=h=g=0,e=null,b=!0)),f++;b&&this.diff_cleanupMerge(a);this.diff_cleanupSemanticLossless(a);for(f=1;f<a.length;){if(a[f-1][0]==\nDIFF_DELETE&&a[f][0]==DIFF_INSERT){b=a[f-1][1];c=a[f][1];d=this.diff_commonOverlap_(b,c);e=this.diff_commonOverlap_(c,b);if(d>=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,[DIFF_EQUAL,c.substring(0,d)]),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,[DIFF_EQUAL,b.substring(0,e)]),a[f-1][0]=DIFF_INSERT,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=DIFF_DELETE,a[f+1][1]=b.substring(e),f++;f++}f++}};\ndiff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_);c=g&&c.match(diff_match_patch.linebreakRegex_);d=h&&d.match(diff_match_patch.linebreakRegex_);var k=c&&a.match(diff_match_patch.blanklineEndRegex_),l=d&&b.match(diff_match_patch.blanklineStartRegex_);\nreturn k||l?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c<a.length-1;){if(a[c-1][0]==DIFF_EQUAL&&a[c+1][0]==DIFF_EQUAL){var d=a[c-1][1],e=a[c][1],f=a[c+1][1],g=this.diff_commonSuffix(d,e);if(g){var h=e.substring(e.length-g);d=d.substring(0,d.length-g);e=h+e.substring(0,e.length-g);f=h+f}g=d;h=e;for(var l=f,k=b(d,e)+b(e,f);e.charAt(0)===f.charAt(0);){d+=e.charAt(0);e=e.substring(1)+f.charAt(0);f=f.substring(1);var m=b(d,e)+b(e,f);m>=k&&(k=m,g=d,h=e,l=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-\n1,1),c--),a[c][1]=h,l?a[c+1][1]=l:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\\s/;diff_match_patch.linebreakRegex_=/[\\r\\n]/;diff_match_patch.blanklineEndRegex_=/\\n\\r?\\n$/;diff_match_patch.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;\ndiff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,l=!1,k=!1;f<a.length;)a[f][0]==DIFF_EQUAL?(a[f][1].length<this.Diff_EditCost&&(l||k)?(c[d++]=f,g=l,h=k,e=a[f][1]):(d=0,e=null),l=k=!1):(a[f][0]==DIFF_DELETE?k=!0:l=!0,e&&(g&&h&&l&&k||e.length<this.Diff_EditCost/2&&3==g+h+l+k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,e=null,g&&h?(l=k=!0,d=0):(d--,f=0<d?c[d-1]:-1,l=k=!1),b=!0)),f++;b&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_cleanupMerge=function(a){a.push([DIFF_EQUAL,\"\"]);for(var b=0,c=0,d=0,e=\"\",f=\"\",g;b<a.length;)switch(a[b][0]){case DIFF_INSERT:d++;f+=a[b][1];b++;break;case DIFF_DELETE:c++;e+=a[b][1];b++;break;case DIFF_EQUAL:1<c+d?(0!==c&&0!==d&&(g=this.diff_commonPrefix(f,e),0!==g&&(0<b-c-d&&a[b-c-d-1][0]==DIFF_EQUAL?a[b-c-d-1][1]+=f.substring(0,g):(a.splice(0,0,[DIFF_EQUAL,f.substring(0,g)]),b++),f=f.substring(g),e=e.substring(g)),g=this.diff_commonSuffix(f,e),0!==g&&(a[b][1]=f.substring(f.length-\ng)+a[b][1],f=f.substring(0,f.length-g),e=e.substring(0,e.length-g))),0===c?a.splice(b-d,c+d,[DIFF_INSERT,f]):0===d?a.splice(b-c,c+d,[DIFF_DELETE,e]):a.splice(b-c-d,c+d,[DIFF_DELETE,e],[DIFF_INSERT,f]),b=b-c-d+(c?1:0)+(d?1:0)+1):0!==b&&a[b-1][0]==DIFF_EQUAL?(a[b-1][1]+=a[b][1],a.splice(b,1)):b++,c=d=0,f=e=\"\"}\"\"===a[a.length-1][1]&&a.pop();c=!1;for(b=1;b<a.length-1;)a[b-1][0]==DIFF_EQUAL&&a[b+1][0]==DIFF_EQUAL&&(a[b][1].substring(a[b][1].length-a[b-1][1].length)==a[b-1][1]?(a[b][1]=a[b-1][1]+a[b][1].substring(0,\na[b][1].length-a[b-1][1].length),a[b+1][1]=a[b-1][1]+a[b+1][1],a.splice(b-1,1),c=!0):a[b][1].substring(0,a[b+1][1].length)==a[b+1][1]&&(a[b-1][1]+=a[b+1][1],a[b][1]=a[b][1].substring(a[b+1][1].length)+a[b+1][1],a.splice(b+1,1),c=!0)),b++;c&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_xIndex=function(a,b){var c=0,d=0,e=0,f=0,g;for(g=0;g<a.length;g++){a[g][0]!==DIFF_INSERT&&(c+=a[g][1].length);a[g][0]!==DIFF_DELETE&&(d+=a[g][1].length);if(c>b)break;e=c;f=d}return a.length!=g&&a[g][0]===DIFF_DELETE?f:f+(b-e)};\ndiff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=/</g,e=/>/g,f=/\\n/g,g=0;g<a.length;g++){var h=a[g][0],l=a[g][1].replace(c,\"&amp;\").replace(d,\"&lt;\").replace(e,\"&gt;\").replace(f,\"&para;<br>\");switch(h){case DIFF_INSERT:b[g]='<ins style=\"background:#e6ffe6;\">'+l+\"</ins>\";break;case DIFF_DELETE:b[g]='<del style=\"background:#ffe6e6;\">'+l+\"</del>\";break;case DIFF_EQUAL:b[g]=\"<span>\"+l+\"</span>\"}}return b.join(\"\")};\ndiff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_INSERT&&(b[c]=a[c][1]);return b.join(\"\")};diff_match_patch.prototype.diff_text2=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_DELETE&&(b[c]=a[c][1]);return b.join(\"\")};\ndiff_match_patch.prototype.diff_levenshtein=function(a){for(var b=0,c=0,d=0,e=0;e<a.length;e++){var f=a[e][1];switch(a[e][0]){case DIFF_INSERT:c+=f.length;break;case DIFF_DELETE:d+=f.length;break;case DIFF_EQUAL:b+=Math.max(c,d),d=c=0}}return b+=Math.max(c,d)};\ndiff_match_patch.prototype.diff_toDelta=function(a){for(var b=[],c=0;c<a.length;c++)switch(a[c][0]){case DIFF_INSERT:b[c]=\"+\"+encodeURI(a[c][1]);break;case DIFF_DELETE:b[c]=\"-\"+a[c][1].length;break;case DIFF_EQUAL:b[c]=\"=\"+a[c][1].length}return b.join(\"\\t\").replace(/%20/g,\" \")};\ndiff_match_patch.prototype.diff_fromDelta=function(a,b){for(var c=[],d=0,e=0,f=b.split(/\\t/g),g=0;g<f.length;g++){var h=f[g].substring(1);switch(f[g].charAt(0)){case \"+\":try{c[d++]=[DIFF_INSERT,decodeURI(h)]}catch(k){throw Error(\"Illegal escape in diff_fromDelta: \"+h);}break;case \"-\":case \"=\":var l=parseInt(h,10);if(isNaN(l)||0>l)throw Error(\"Invalid number in diff_fromDelta: \"+h);h=a.substring(e,e+=l);\"=\"==f[g].charAt(0)?c[d++]=[DIFF_EQUAL,h]:c[d++]=[DIFF_DELETE,h];break;default:if(f[g])throw Error(\"Invalid diff operation in diff_fromDelta: \"+\nf[g]);}}if(e!=a.length)throw Error(\"Delta length (\"+e+\") does not equal source text length (\"+a.length+\").\");return c};diff_match_patch.prototype.match_main=function(a,b,c){if(null==a||null==b||null==c)throw Error(\"Null input. (match_main)\");c=Math.max(0,Math.min(c,a.length));return a==b?0:a.length?a.substring(c,c+b.length)==b?c:this.match_bitap_(a,b,c):-1};\ndiff_match_patch.prototype.match_bitap_=function(a,b,c){function d(a,d){var e=a/b.length,g=Math.abs(c-d);return f.Match_Distance?e+g/f.Match_Distance:g?1:e}if(b.length>this.Match_MaxBits)throw Error(\"Pattern too long for this browser.\");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));var l=1<<b.length-1;h=-1;for(var k,m,p=b.length+a.length,x,w=0;w<b.length;w++){k=0;for(m=p;k<m;)d(w,\nc+m)<=g?k=m:p=m,m=Math.floor((p-k)/2+k);p=m;k=Math.max(1,c-m+1);var q=Math.min(c+m,a.length)+b.length;m=Array(q+2);for(m[q+1]=(1<<w)-1;q>=k;q--){var t=e[a.charAt(q-1)];m[q]=0===w?(m[q+1]<<1|1)&t:(m[q+1]<<1|1)&t|(x[q+1]|x[q])<<1|1|x[q+1];if(m[q]&l&&(t=d(w,q-1),t<=g))if(g=t,h=q-1,h>c)k=Math.max(1,2*c-h);else break}if(d(w+1,c)>g)break;x=m}return h};\ndiff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=0;for(c=0;c<a.length;c++)b[a.charAt(c)]|=1<<a.length-c-1;return b};\ndiff_match_patch.prototype.patch_addContext_=function(a,b){if(0!=b.length){for(var c=b.substring(a.start2,a.start2+a.length1),d=0;b.indexOf(c)!=b.lastIndexOf(c)&&c.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)d+=this.Patch_Margin,c=b.substring(a.start2-d,a.start2+a.length1+d);d+=this.Patch_Margin;(c=b.substring(a.start2-d,a.start2))&&a.diffs.unshift([DIFF_EQUAL,c]);(d=b.substring(a.start2+a.length1,a.start2+a.length1+d))&&a.diffs.push([DIFF_EQUAL,d]);a.start1-=c.length;a.start2-=\nc.length;a.length1+=c.length+d.length;a.length2+=c.length+d.length}};\ndiff_match_patch.prototype.patch_make=function(a,b,c){if(\"string\"==typeof a&&\"string\"==typeof b&&\"undefined\"==typeof c){var d=a;b=this.diff_main(d,b,!0);2<b.length&&(this.diff_cleanupSemantic(b),this.diff_cleanupEfficiency(b))}else if(a&&\"object\"==typeof a&&\"undefined\"==typeof b&&\"undefined\"==typeof c)b=a,d=this.diff_text1(b);else if(\"string\"==typeof a&&b&&\"object\"==typeof b&&\"undefined\"==typeof c)d=a;else if(\"string\"==typeof a&&\"string\"==typeof b&&c&&\"object\"==typeof c)d=a,b=c;else throw Error(\"Unknown call format to patch_make.\");\nif(0===b.length)return[];c=[];a=new diff_match_patch.patch_obj;for(var e=0,f=0,g=0,h=d,l=0;l<b.length;l++){var k=b[l][0],m=b[l][1];e||k===DIFF_EQUAL||(a.start1=f,a.start2=g);switch(k){case DIFF_INSERT:a.diffs[e++]=b[l];a.length2+=m.length;d=d.substring(0,g)+m+d.substring(g);break;case DIFF_DELETE:a.length1+=m.length;a.diffs[e++]=b[l];d=d.substring(0,g)+d.substring(g+m.length);break;case DIFF_EQUAL:m.length<=2*this.Patch_Margin&&e&&b.length!=l+1?(a.diffs[e++]=b[l],a.length1+=m.length,a.length2+=m.length):\nm.length>=2*this.Patch_Margin&&e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}k!==DIFF_INSERT&&(f+=m.length);k!==DIFF_DELETE&&(g+=m.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};\ndiff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=new diff_match_patch.patch_obj;e.diffs=[];for(var f=0;f<d.diffs.length;f++)e.diffs[f]=d.diffs[f].slice();e.start1=d.start1;e.start2=d.start2;e.length1=d.length1;e.length2=d.length2;b[c]=e}return b};\ndiff_match_patch.prototype.patch_apply=function(a,b){if(0==a.length)return[b,[]];a=this.patch_deepCopy(a);var c=this.patch_addPadding(a);b=c+b+c;this.patch_splitMax(a);for(var d=0,e=[],f=0;f<a.length;f++){var g=a[f].start2+d,h=this.diff_text1(a[f].diffs),l=-1;if(h.length>this.Match_MaxBits){var k=this.match_main(b,h.substring(0,this.Match_MaxBits),g);-1!=k&&(l=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==l||k>=l)&&(k=-1)}else k=this.match_main(b,h,\ng);if(-1==k)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=k-g,g=-1==l?b.substring(k,k+h.length):b.substring(k,l+this.Match_MaxBits),h==g)b=b.substring(0,k)+this.diff_text2(a[f].diffs)+b.substring(k+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);h=0;var m;for(l=0;l<a[f].diffs.length;l++){var p=a[f].diffs[l];p[0]!==DIFF_EQUAL&&(m=this.diff_xIndex(g,h));p[0]===\nDIFF_INSERT?b=b.substring(0,k+m)+p[1]+b.substring(k+m):p[0]===DIFF_DELETE&&(b=b.substring(0,k+m)+b.substring(k+this.diff_xIndex(g,h+p[1].length)));p[0]!==DIFF_DELETE&&(h+=p[1].length)}}}b=b.substring(c.length,b.length-c.length);return[b,e]};\ndiff_match_patch.prototype.patch_addPadding=function(a){for(var b=this.Patch_Margin,c=\"\",d=1;d<=b;d++)c+=String.fromCharCode(d);for(d=0;d<a.length;d++)a[d].start1+=b,a[d].start2+=b;d=a[0];var e=d.diffs;if(0==e.length||e[0][0]!=DIFF_EQUAL)e.unshift([DIFF_EQUAL,c]),d.start1-=b,d.start2-=b,d.length1+=b,d.length2+=b;else if(b>e[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;0==e.length||e[e.length-\n1][0]!=DIFF_EQUAL?(e.push([DIFF_EQUAL,c]),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c};\ndiff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c<a.length;c++)if(!(a[c].length1<=b)){var d=a[c];a.splice(c--,1);for(var e=d.start1,f=d.start2,g=\"\";0!==d.diffs.length;){var h=new diff_match_patch.patch_obj,l=!0;h.start1=e-g.length;h.start2=f-g.length;\"\"!==g&&(h.length1=h.length2=g.length,h.diffs.push([DIFF_EQUAL,g]));for(;0!==d.diffs.length&&h.length1<b-this.Patch_Margin;){g=d.diffs[0][0];var k=d.diffs[0][1];g===DIFF_INSERT?(h.length2+=k.length,f+=k.length,h.diffs.push(d.diffs.shift()),\nl=!1):g===DIFF_DELETE&&1==h.diffs.length&&h.diffs[0][0]==DIFF_EQUAL&&k.length>2*b?(h.length1+=k.length,e+=k.length,l=!1,h.diffs.push([g,k]),d.diffs.shift()):(k=k.substring(0,b-h.length1-this.Patch_Margin),h.length1+=k.length,e+=k.length,g===DIFF_EQUAL?(h.length2+=k.length,f+=k.length):l=!1,h.diffs.push([g,k]),k==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(k.length))}g=this.diff_text2(h.diffs);g=g.substring(g.length-this.Patch_Margin);k=this.diff_text1(d.diffs).substring(0,\nthis.Patch_Margin);\"\"!==k&&(h.length1+=k.length,h.length2+=k.length,0!==h.diffs.length&&h.diffs[h.diffs.length-1][0]===DIFF_EQUAL?h.diffs[h.diffs.length-1][1]+=k:h.diffs.push([DIFF_EQUAL,k]));l||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=a[c];return b.join(\"\")};\ndiff_match_patch.prototype.patch_fromText=function(a){var b=[];if(!a)return b;a=a.split(\"\\n\");for(var c=0,d=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;c<a.length;){var e=a[c].match(d);if(!e)throw Error(\"Invalid patch string: \"+a[c]);var f=new diff_match_patch.patch_obj;b.push(f);f.start1=parseInt(e[1],10);\"\"===e[2]?(f.start1--,f.length1=1):\"0\"==e[2]?f.length1=0:(f.start1--,f.length1=parseInt(e[2],10));f.start2=parseInt(e[3],10);\"\"===e[4]?(f.start2--,f.length2=1):\"0\"==e[4]?f.length2=0:(f.start2--,f.length2=\nparseInt(e[4],10));for(c++;c<a.length;){e=a[c].charAt(0);try{var g=decodeURI(a[c].substring(1))}catch(h){throw Error(\"Illegal escape in patch_fromText: \"+g);}if(\"-\"==e)f.diffs.push([DIFF_DELETE,g]);else if(\"+\"==e)f.diffs.push([DIFF_INSERT,g]);else if(\" \"==e)f.diffs.push([DIFF_EQUAL,g]);else if(\"@\"==e)break;else if(\"\"!==e)throw Error('Invalid patch mode \"'+e+'\" in: '+g);c++}}return b};diff_match_patch.patch_obj=function(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0};\ndiff_match_patch.patch_obj.prototype.toString=function(){for(var a=[\"@@ -\"+(0===this.length1?this.start1+\",0\":1==this.length1?this.start1+1:this.start1+1+\",\"+this.length1)+\" +\"+(0===this.length2?this.start2+\",0\":1==this.length2?this.start2+1:this.start2+1+\",\"+this.length2)+\" @@\\n\"],b,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case DIFF_INSERT:b=\"+\";break;case DIFF_DELETE:b=\"-\";break;case DIFF_EQUAL:b=\" \"}a[c+1]=b+encodeURI(this.diffs[c][1])+\"\\n\"}return a.join(\"\").replace(/%20/g,\" \")};\nthis.diff_match_patch=diff_match_patch;this.DIFF_DELETE=DIFF_DELETE;this.DIFF_INSERT=DIFF_INSERT;this.DIFF_EQUAL=DIFF_EQUAL;\n}).call(exports);",
            "type": "application/javascript",
            "title": "$:/core/modules/utils/diff-match-patch/diff_match_patch.js",
            "module-type": "library"
        },
        "$:/core/modules/utils/dom/animations/slide.js": {
            "title": "$:/core/modules/utils/dom/animations/slide.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "animation"
        },
        "$:/core/modules/utils/dom/animator.js": {
            "title": "$:/core/modules/utils/dom/animator.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/browser.js": {
            "title": "$:/core/modules/utils/dom/browser.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/csscolorparser.js": {
            "title": "$:/core/modules/utils/dom/csscolorparser.js",
            "text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n  \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n  \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n  \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n  \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n  \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n  \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n  \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n  \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n  \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n  \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n  \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n  \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n  \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n  \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n  \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n  \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n  \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n  \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n  \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n  \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n  \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n  \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n  \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n  \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n  \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n  \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n  \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n  \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n  \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n  \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n  \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n  \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n  \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n  \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n  \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n  \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n  \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n  \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n  \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n  \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n  \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n  \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n  \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n  \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n  \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n  \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n  \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n  \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n  \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n  \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n  \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n  \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n  \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n  \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n  \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n  \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n  \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n  \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n  \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n  \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n  \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n  \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n  \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n  \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n  \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n  \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n  \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n  \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n  \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n  \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n  \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n  \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n  \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n  \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) {  // Clamp to integer 0 .. 255.\n  i = Math.round(i);  // Seems to be what Chrome does (vs truncation).\n  return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) {  // Clamp to float 0.0 .. 1.0.\n  return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) {  // int or percentage.\n  if (str[str.length - 1] === '%')\n    return clamp_css_byte(parseFloat(str) / 100 * 255);\n  return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) {  // float or percentage.\n  if (str[str.length - 1] === '%')\n    return clamp_css_float(parseFloat(str) / 100);\n  return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n  if (h < 0) h += 1;\n  else if (h > 1) h -= 1;\n\n  if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n  if (h * 2 < 1) return m2;\n  if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n  return m1;\n}\n\nfunction parseCSSColor(css_str) {\n  // Remove all whitespace, not compliant, but should just be more accepting.\n  var str = css_str.replace(/ /g, '').toLowerCase();\n\n  // Color keywords (and transparent) lookup.\n  if (str in kCSSColorTable) return kCSSColorTable[str].slice();  // dup.\n\n  // #abc and #abc123 syntax.\n  if (str[0] === '#') {\n    if (str.length === 4) {\n      var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.\n      if (!(iv >= 0 && iv <= 0xfff)) return null;  // Covers NaN.\n      return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n              (iv & 0xf0) | ((iv & 0xf0) >> 4),\n              (iv & 0xf) | ((iv & 0xf) << 4),\n              1];\n    } else if (str.length === 7) {\n      var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.\n      if (!(iv >= 0 && iv <= 0xffffff)) return null;  // Covers NaN.\n      return [(iv & 0xff0000) >> 16,\n              (iv & 0xff00) >> 8,\n              iv & 0xff,\n              1];\n    }\n\n    return null;\n  }\n\n  var op = str.indexOf('('), ep = str.indexOf(')');\n  if (op !== -1 && ep + 1 === str.length) {\n    var fname = str.substr(0, op);\n    var params = str.substr(op+1, ep-(op+1)).split(',');\n    var alpha = 1;  // To allow case fallthrough.\n    switch (fname) {\n      case 'rgba':\n        if (params.length !== 4) return null;\n        alpha = parse_css_float(params.pop());\n        // Fall through.\n      case 'rgb':\n        if (params.length !== 3) return null;\n        return [parse_css_int(params[0]),\n                parse_css_int(params[1]),\n                parse_css_int(params[2]),\n                alpha];\n      case 'hsla':\n        if (params.length !== 4) return null;\n        alpha = parse_css_float(params.pop());\n        // Fall through.\n      case 'hsl':\n        if (params.length !== 3) return null;\n        var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360;  // 0 .. 1\n        // NOTE(deanm): According to the CSS spec s/l should only be\n        // percentages, but we don't bother and let float or percentage.\n        var s = parse_css_float(params[1]);\n        var l = parse_css_float(params[2]);\n        var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n        var m1 = l * 2 - m2;\n        return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n                clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n                clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n                alpha];\n      default:\n        return null;\n    }\n  }\n\n  return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom.js": {
            "title": "$:/core/modules/utils/dom.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.toString().split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\t\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function(srcWindow) {\n\tvar scrollWindow = srcWindow || window;\n\tif(\"scrollX\" in scrollWindow) {\n\t\treturn {x: scrollWindow.scrollX, y: scrollWindow.scrollY};\n\t} else {\n\t\treturn {x: scrollWindow.document.documentElement.scrollLeft, y: scrollWindow.document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n    // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight || parseInt(minHeight,10);\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(element.ownerDocument.defaultView),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\tvar done = false;\n\ttry {\n\t\twindow.localStorage.setItem(\"tw5-password-\" + name,password);\n\t\tdone = true;\n\t} catch(e) {\n\t}\n\tif(!done) {\n\t\t$tw.savedPasswords = $tw.savedPasswords || Object.create(null);\n\t\t$tw.savedPasswords[name] = password;\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\tvar value;\n\ttry {\n\t\tvalue = window.localStorage.getItem(\"tw5-password-\" + name);\n\t} catch(e) {\n\t}\n\tif(value !== undefined) {\n\t\treturn value;\n\t} else {\n\t\treturn ($tw.savedPasswords || Object.create(null))[name] || \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n/*\nCopy plain text to the clipboard on browsers that support it\n*/\nexports.copyToClipboard = function(text,options) {\n\toptions = options || {};\n\tvar textArea = document.createElement(\"textarea\");\n\ttextArea.style.position = \"fixed\";\n\ttextArea.style.top = 0;\n\ttextArea.style.left = 0;\n\ttextArea.style.fontSize = \"12pt\";\n\ttextArea.style.width = \"2em\";\n\ttextArea.style.height = \"2em\";\n\ttextArea.style.padding = 0;\n\ttextArea.style.border = \"none\";\n\ttextArea.style.outline = \"none\";\n\ttextArea.style.boxShadow = \"none\";\n\ttextArea.style.background = \"transparent\";\n\ttextArea.value = text;\n\tdocument.body.appendChild(textArea);\n\ttextArea.select();\n\ttextArea.setSelectionRange(0,text.length);\n\tvar succeeded = false;\n\ttry {\n\t\tsucceeded = document.execCommand(\"copy\");\n\t} catch (err) {\n\t}\n\tif(!options.doNotNotify) {\n\t\t$tw.notifier.display(succeeded ? \"$:/language/Notifications/CopiedToClipboard/Succeeded\" : \"$:/language/Notifications/CopiedToClipboard/Failed\");\n\t}\n\tdocument.body.removeChild(textArea);\n};\n\nexports.getLocationPath = function() {\n\treturn window.location.toString().split(\"#\")[0];\n};\n\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/dragndrop.js": {
            "title": "$:/core/modules/utils/dom/dragndrop.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/dragndrop.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser data transfer utilities, used with the clipboard and drag and drop\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOptions:\n\ndomNode: dom node to make draggable\ndragImageType: \"pill\" or \"dom\"\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\nwidget: widget to use as the contect for the filter\n*/\nexports.makeDraggable = function(options) {\n\tvar dragImageType = options.dragImageType || \"dom\",\n\t\tdragImage,\n\t\tdomNode = options.domNode;\n\t// Make the dom node draggable (not necessary for anchor tags)\n\tif((domNode.tagName || \"\").toLowerCase() !== \"a\") {\n\t\tdomNode.setAttribute(\"draggable\",\"true\");\t\t\n\t}\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragstart\", handlerFunction: function(event) {\n\t\t\tif(event.dataTransfer === undefined) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Collect the tiddlers being dragged\n\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t    \tstartActions = options.startActions;\n\t\t\tif(dragFilter) {\n\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t}\n\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t// Check that we've something to drag\n\t\t\tif(titles.length > 0 && event.target === domNode) {\n\t\t\t\t// Mark the drag in progress\n\t\t\t\t$tw.dragInProgress = domNode;\n\t\t\t\t// Set the dragging class on the element being dragged\n\t\t\t\t$tw.utils.addClass(event.target,\"tc-dragging\");\n\t\t\t\t// Invoke drag-start actions if given\n\t\t\t\tif(startActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(startActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Create the drag image elements\n\t\t\t\tdragImage = options.widget.document.createElement(\"div\");\n\t\t\t\tdragImage.className = \"tc-tiddler-dragger\";\n\t\t\t\tvar inner = options.widget.document.createElement(\"div\");\n\t\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\t\tinner.appendChild(options.widget.document.createTextNode(\n\t\t\t\t\ttitles.length === 1 ? \n\t\t\t\t\t\ttitles[0] :\n\t\t\t\t\t\ttitles.length + \" tiddlers\"\n\t\t\t\t));\n\t\t\t\tdragImage.appendChild(inner);\n\t\t\t\toptions.widget.document.body.appendChild(dragImage);\n\t\t\t\t// Set the data transfer properties\n\t\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t\t// Set up the image\n\t\t\t\tdataTransfer.effectAllowed = \"all\";\n\t\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\t\tif(dragImageType === \"pill\") {\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar r = domNode.getBoundingClientRect();\n\t\t\t\t\t\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Set up the data transfer\n\t\t\t\tif(dataTransfer.clearData) {\n\t\t\t\t\tdataTransfer.clearData();\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tvar jsonData = [];\n\t\t\t\tif(titles.length > 1) {\n\t\t\t\t\ttitles.forEach(function(title) {\n\t\t\t\t\t\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\n\t\t\t\t\t});\n\t\t\t\t\tjsonData = \"[\" + jsonData.join(\",\") + \"]\";\n\t\t\t\t} else {\n\t\t\t\t\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\n\t\t\t\t}\n\t\t\t\t// IE doesn't like these content types\n\t\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\t\tdataTransfer.setData(\"text/plain\",titleString);\n\t\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\tdataTransfer.setData(\"Text\",titleString);\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn false;\n\t\t}},\n\t\t{name: \"dragend\", handlerFunction: function(event) {\n\t\t\tif(event.target === domNode) {\n\t\t\t\t// Collect the tiddlers being dragged\n\t\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t    \t\tendActions = options.endActions;\n\t\t\t\tif(dragFilter) {\n\t\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t\t}\n\t\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t\t$tw.dragInProgress = null;\n\t\t\t\t// Invoke drag-end actions if given\n\t\t\t\tif(endActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(endActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Remove the dragging class on the element being dragged\n\t\t\t\t$tw.utils.removeClass(event.target,\"tc-dragging\");\n\t\t\t\t// Delete the drag image element\n\t\t\t\tif(dragImage) {\n\t\t\t\t\tdragImage.parentNode.removeChild(dragImage);\n\t\t\t\t\tdragImage = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}}\n\t]);\n};\n\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Available data types:\");\n\t\tfor(var type=0; type<dataTransfer.types.length; type++) {\n\t\t\tconsole.log(\"type\",dataTransfer.types[type],dataTransfer.getData(dataTransfer.types[type]))\n\t\t}\n\t}\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn parseJSONTiddlers(data,fallbackTitle);\n\t}},\n\t{type: \"URL\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/plain\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"Text\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}}\n];\n\nfunction parseJSONTiddlers(json,fallbackTitle) {\n\tvar data = JSON.parse(json);\n\tif(!$tw.utils.isArray(data)) {\n\t\tdata = [data];\n\t}\n\tdata.forEach(function(fields) {\n\t\tfields.title = fields.title || fallbackTitle;\n\t});\n\treturn data;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/http.js": {
            "title": "$:/core/modules/utils/dom/http.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\theaders: hashmap of headers to send\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data,xhr)\n\treturnProp: string name of the property to return as first argument of callback\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\turl = options.url,\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\treturnProp = options.returnProp || \"responseText\",\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tif(type === \"GET\" || type === \"HEAD\") {\n\t\t\t\turl += \"?\" + results.join(\"&\");\n\t\t\t} else {\n\t\t\t\tdata = results.join(\"&\");\n\t\t\t}\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this[returnProp],this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status,null,this);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\tif(!$tw.utils.hop(headers,\"X-Requested-With\")) {\n\t\trequest.setRequestHeader(\"X-Requested-With\",\"TiddlyWiki\");\n\t}\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e,null,this);\n\t}\n\treturn request;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/keyboard.js": {
            "title": "$:/core/modules/utils/dom/keyboard.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/modal.js": {
            "title": "$:/core/modules/utils/dom/modal.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tthis.srcDocument = options.variables && (options.variables.rootwindow === \"true\" ||\n\t\t\t\toptions.variables.rootwindow === \"yes\") ? document :\n\t\t\t\t(options.event.event && options.event.event.target ? options.event.event.target.ownerDocument : document);\n\tthis.srcWindow = this.srcDocument.defaultView;\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Create the wrapper divs\n\tvar wrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalBackdrop = this.srcDocument.createElement(\"div\"),\n\t\tmodalWrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalHeader = this.srcDocument.createElement(\"div\"),\n\t\theaderTitle = this.srcDocument.createElement(\"h3\"),\n\t\tmodalBody = this.srcDocument.createElement(\"div\"),\n\t\tmodalLink = this.srcDocument.createElement(\"a\"),\n\t\tmodalFooter = this.srcDocument.createElement(\"div\"),\n\t\tmodalFooterHelp = this.srcDocument.createElement(\"span\"),\n\t\tmodalFooterButtons = this.srcDocument.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\tif(tiddler.fields && tiddler.fields.class) {\n\t\t$tw.utils.addClass(wrapper,tiddler.fields.class);\n\t}\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(this.srcDocument.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler.fields && tiddler.fields.help) {\n\t\tvar link = this.srcDocument.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(this.srcDocument.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + self.srcWindow.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\tself.srcWindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tself.srcDocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-this.srcWindow.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tthis.srcDocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tvar windowContainer = $tw.pageContainer ? ($tw.pageContainer === this.srcDocument.body.firstChild ? $tw.pageContainer : this.srcDocument.body.firstChild) : null;\n\tif(windowContainer) {\n\t\t$tw.utils.toggleClass(windowContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/notifier.js": {
            "title": "$:/core/modules/utils/dom/notifier.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/popup.js": {
            "title": "$:/core/modules/utils/dom/popup.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned (one of domNode or domNodeRect is required)\n\tdomNodeRect: rectangle to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n\tfloating: if true, skips registering the popup, meaning that it will need manually clearing\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\n\t// Store the popup details if not already there\n\tif(!options.floating && this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode,\n\t\t\tnoStateReference: options.noStateReference\n\t\t});\n\t}\n\t// Set the state tiddler\n\tvar rect;\n\tif(options.domNodeRect) {\n\t\trect = options.domNodeRect;\n\t} else {\n\t\trect = {\n\t\t\tleft: options.domNode.offsetLeft,\n\t\t\ttop: options.domNode.offsetTop,\n\t\t\twidth: options.domNode.offsetWidth,\n\t\t\theight: options.domNode.offsetHeight\n\t\t};\n\t}\n\tvar popupRect = \"(\" + rect.left + \",\" + rect.top + \",\" + \n\t\t\t\trect.width + \",\" + rect.height + \")\";\n\tif(options.noStateReference) {\n\t\toptions.wiki.setText(options.title,\"text\",undefined,popupRect);\n\t} else {\n\t\toptions.wiki.setTextReference(options.title,popupRect);\n\t}\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tif(popup.noStateReference) {\n\t\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t\t} else {\n\t\t\t\tpopup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);\n        \t\t}\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/scroller.js": {
            "title": "$:/core/modules/utils/dom/scroller.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.isScrolling = function() {\n\treturn this.idRequestFrame !== null;\n}\n\nPageScroller.prototype.cancelScroll = function(srcWindow) {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(srcWindow,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element,callback) {\n\tvar self = this,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t    srcWindow = element ? element.ownerDocument.defaultView : window;\n\t// Now get ready to scroll the body\n\tthis.cancelScroll(srcWindow);\n\tthis.startTime = Date.now();\n\t// Get the height of any position:fixed toolbars\n\tvar toolbar = srcWindow.document.querySelector(\".tc-adjust-top-of-scroll\"),\n\t\toffset = 0;\n\tif(toolbar) {\n\t\toffset = toolbar.offsetHeight;\n\t}\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar getBounds = function() {\n\t\t\tvar clientBounds = typeof callback === 'function' ? callback() : element.getBoundingClientRect(),\n\t\t\t\tscrollPosition = $tw.utils.getScrollPosition(srcWindow);\n\t\t\treturn {\n\t\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\t\ttop: clientBounds.top + scrollPosition.y - offset,\n\t\t\t\twidth: clientBounds.width,\n\t\t\t\theight: clientBounds.height\n\t\t\t};\n\t\t},\n\t\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t\t// targetPos/targetSize - position and size of the target element\n\t\t// currentPos/currentSize - position and size of the current scroll viewport\n\t\t// returns: new position of the scroll viewport\n\t\tgetEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = targetPos;\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tdrawFrame = function drawFrame() {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll(srcWindow);\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tvar scrollPosition = $tw.utils.getScrollPosition(srcWindow),\n\t\t\t\tbounds = getBounds(),\n\t\t\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,srcWindow.innerWidth),\n\t\t\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,srcWindow.innerHeight);\n\t\t\tsrcWindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\tdrawFrame();\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/edition-info.js": {
            "title": "$:/core/modules/utils/edition-info.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t\t} catch(ex) {\n\t\t\t\t\t}\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils-node"
        },
        "$:/core/modules/utils/fakedom.js": {
            "title": "$:/core/modules/utils/fakedom.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text + \"\";\n};\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis._style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nObject.defineProperty(TW_Element.prototype, \"style\", {\n\tget: function() {\n\t\treturn this._style;\n\t},\n\tset: function(str) {\n\t\tvar self = this;\n\t\tstr = str || \"\";\n\t\t$tw.utils.each(str.split(\";\"),function(declaration) {\n\t\t\tvar parts = declaration.split(\":\"),\n\t\t\t\tname = $tw.utils.trim(parts[0]),\n\t\t\t\tvalue = $tw.utils.trim(parts[1]);\n\t\t\tif(name && value) {\n\t\t\t\tself._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;\n\t\t\t}\n\t\t});\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value + \"\";\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this._style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this._style) {\n\t\t\t\tstyle.push($tw.utils.convertPropertyNameToStyleName(s) + \":\" + this._style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\");\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t\tthis.rawTextContent = null;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textInnerHTML\", {\n\tset: function(value) {\n\t\tif(this.isRaw) {\n\t\t\tthis.rawTextContent = value;\n\t\t} else {\n\t\t\tthrow \"Cannot set textInnerHTML of a non-raw TW_Element\";\n\t\t}\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tif(this.rawTextContent === null) {\n\t\t\t\treturn \"\";\n\t\t\t} else {\n\t\t\t\treturn this.rawTextContent;\n\t\t\t}\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn \"\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/utils/filesystem.js": {
            "title": "$:/core/modules/utils/filesystem.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = $tw.utils.removeTrailingSeparator(srcPath);\n\tdstPath = $tw.utils.removeTrailingSeparator(dstPath);\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = Buffer.alloc(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n/*\nCreate a fileInfo object for saving a tiddler:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\nOptions include:\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n*/\nexports.generateTiddlerFileInfo = function(tiddler,options) {\n\tvar fileInfo = {};\n\t// Check if the tiddler has any unsafe fields that can't be expressed in a .tid or .meta file: containing control characters, or leading/trailing whitespace\n\tvar hasUnsafeFields = false;\n\t$tw.utils.each(tiddler.getFieldStrings(),function(value,fieldName) {\n\t\tif(fieldName !== \"text\") {\n\t\t\thasUnsafeFields = hasUnsafeFields || /[\\x00-\\x1F]/mg.test(value);\n\t\t\thasUnsafeFields = hasUnsafeFields || ($tw.utils.trim(value) !== value);\n\t\t}\n\t});\n\t// Check for field values \n\tif(hasUnsafeFields) {\n\t\t// Save as a JSON file\n\t\tfileInfo.type = \"application/json\";\n\t\tfileInfo.hasMetaFile = false;\n\t} else {\n\t\t// Save as a .tid or a text/binary file plus a .meta file\n\t\tvar tiddlerType = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\tif(tiddlerType === \"text/vnd.tiddlywiki\") {\n\t\t\t// Save as a .tid file\n\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\tfileInfo.hasMetaFile = false;\n\t\t} else {\n\t\t\t// Save as a text/binary file and a .meta file\n\t\t\tfileInfo.type = tiddlerType;\n\t\t\tfileInfo.hasMetaFile = true;\n\t\t}\n\t}\n\t// Take the file extension from the tiddler content type\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[fileInfo.type] || {extension: \"\"};\n\t// Generate the filepath\n\tfileInfo.filepath = $tw.utils.generateTiddlerFilepath(tiddler.fields.title,{\n\t\textension: contentTypeInfo.extension,\n\t\tdirectory: options.directory,\n\t\tpathFilters: options.pathFilters,\n\t\twiki: options.wiki\n\t});\n\treturn fileInfo;\n};\n\n/*\nGenerate the filepath for saving a tiddler\nOptions include:\n\textension: file extension to be added the finished filepath\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n*/\nexports.generateTiddlerFilepath = function(title,options) {\n\tvar self = this,\n\t\tdirectory = options.directory || \"\",\n\t\textension = options.extension || \"\",\n\t\tfilepath;\n\t// Check if any of the pathFilters applies\n\tif(options.pathFilters && options.wiki) {\n\t\t$tw.utils.each(options.pathFilters,function(filter) {\n\t\t\tif(!filepath) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\tfilepath = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// If not, generate a base pathname\n\tif(!filepath) {\n\t\tfilepath = title;\n\t\t// If the filepath already ends in the extension then remove it\n\t\tif(filepath.substring(filepath.length - extension.length) === extension) {\n\t\t\tfilepath = filepath.substring(0,filepath.length - extension.length);\n\t\t}\n\t\t// Remove any forward or backward slashes so we don't create directories\n\t\tfilepath = filepath.replace(/\\/|\\\\/g,\"_\");\n\t}\n\t// Don't let the filename start with a dot because such files are invisible on *nix\n\tfilepath = filepath.replace(/^\\./g,\"_\");\n\t// Remove any characters that can't be used in cross-platform filenames\n\tfilepath = $tw.utils.transliterate(filepath.replace(/<|>|\\:|\\\"|\\||\\?|\\*|\\^/g,\"_\"));\n\t// Truncate the filename if it is too long\n\tif(filepath.length > 200) {\n\t\tfilepath = filepath.substr(0,200);\n\t}\n\t// If the resulting filename is blank (eg because the title is just punctuation characters)\n\tif(!filepath) {\n\t\t// ...then just use the character codes of the title\n\t\tfilepath = \"\";\t\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tif(filepath) {\n\t\t\t\tfilepath += \"-\";\n\t\t\t}\n\t\t\tfilepath += char.charCodeAt(0).toString();\n\t\t});\n\t}\n\t// Add a uniquifier if the file already exists\n\tvar fullPath,\n\t\tcount = 0;\n\tdo {\n\t\tfullPath = path.resolve(directory,filepath + (count ? \"_\" + count : \"\") + extension);\n\t\tcount++;\n\t} while(fs.existsSync(fullPath));\n\t// Return the full path to the file\n\treturn fullPath;\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFile = function(tiddler,fileInfo,callback) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFile(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tfs.writeFile(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\",callback);\n\t\t});\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFile(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\",callback);\n\t\t} else {\n\t\t\tfs.writeFile(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\",callback);\n\t\t}\n\t}\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFileSync = function(tiddler,fileInfo) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFileSync(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding);\n\t\tfs.writeFileSync(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\");\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFileSync(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\");\n\t\t} else {\n\t\t\tfs.writeFileSync(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t}\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils-node"
        },
        "$:/core/modules/utils/logger.js": {
            "title": "$:/core/modules/utils/logger.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName,options) {\n\toptions = options || {};\n\tthis.componentName = componentName || \"\";\n\tthis.colour = options.colour || \"white\";\n\tthis.enable = \"enable\" in options ? options.enable : true;\n\tthis.save = \"save\" in options ? options.save : true;\n\tthis.saveLimit = options.saveLimit || 100 * 1024;\n\tthis.saveBufferLogger = this;\n\tthis.buffer = \"\";\n\tthis.alertCount = 0;\n}\n\nLogger.prototype.setSaveBuffer = function(logger) {\n\tthis.saveBufferLogger = logger;\n};\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tvar self = this;\n\tif(this.enable) {\n\t\tif(this.saveBufferLogger.save) {\n\t\t\tthis.saveBufferLogger.buffer += $tw.utils.formatDateString(new Date(),\"YYYY MM DD 0hh:0mm:0ss.0XXX\") + \":\";\n\t\t\t$tw.utils.each(Array.prototype.slice.call(arguments,0),function(arg,index) {\n\t\t\t\tself.saveBufferLogger.buffer += \" \" + arg;\n\t\t\t});\n\t\t\tthis.saveBufferLogger.buffer += \"\\n\";\n\t\t\tthis.saveBufferLogger.buffer = this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit);\t\t\t\n\t\t}\n\t\tif(console !== undefined && console.log !== undefined) {\n\t\t\treturn Function.apply.call(console.log, console, [$tw.utils.terminalColour(this.colour),this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)).concat($tw.utils.terminalColour()));\n\t\t}\n\t} \n};\n\n/*\nRead the message buffer\n*/\nLogger.prototype.getBuffer = function() {\n\treturn this.saveBufferLogger.buffer;\n};\n\n/*\nLog a structure as a table\n*/\nLogger.prototype.table = function(value) {\n\t(console.table || console.log)(value);\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\tif(this.enable) {\n\t\t// Prepare the text of the alert\n\t\tvar text = Array.prototype.join.call(arguments,\" \");\n\t\t// Create alert tiddlers in the browser\n\t\tif($tw.browser) {\n\t\t\t// Check if there is an existing alert with the same text and the same component\n\t\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\t\talertFields,\n\t\t\t\texistingCount,\n\t\t\t\tself = this;\n\t\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(alertFields) {\n\t\t\t\texistingCount = alertFields.count || 1;\n\t\t\t} else {\n\t\t\t\talertFields = {\n\t\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\t\ttext: text,\n\t\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\t\tcomponent: this.componentName\n\t\t\t\t};\n\t\t\t\texistingCount = 0;\n\t\t\t\tthis.alertCount += 1;\n\t\t\t}\n\t\t\talertFields.modified = new Date();\n\t\t\tif(++existingCount > 1) {\n\t\t\t\talertFields.count = existingCount;\n\t\t\t} else {\n\t\t\t\talertFields.count = undefined;\n\t\t\t}\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t\t// Log the alert as well\n\t\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\t// Print an orange message to the console if not in the browser\n\t\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t\t}\t\t\n\t}\n};\n\n/*\nClear outstanding alerts\n*/\nLogger.prototype.clearAlerts = function() {\n\tvar self = this;\n\tif($tw.browser && this.alertCount > 0) {\n\t\t$tw.utils.each($tw.wiki.getTiddlersWithTag(ALERT_TAG),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.component === self.componentName) {\n\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t}\n\t\t});\n\t\tthis.alertCount = 0;\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/parsetree.js": {
            "title": "$:/core/modules/utils/parsetree.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/performance.js": {
            "title": "$:/core/modules/utils/performance.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap by measurement name of {time:, invocations:}\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n\tthis.showGreeting();\n}\n\nPerformance.prototype.showGreeting = function() {\n\tif($tw.browser) {\n\t\tthis.logger.log(\"Execute $tw.perf.log(); to see filter execution timings\");\t\t\n\t}\n};\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nPerformance.prototype.log = function() {\n\tvar self = this,\n\t\ttotalTime = 0,\n\t\torderedMeasures = Object.keys(this.measures).sort(function(a,b) {\n\t\t\tif(self.measures[a].time > self.measures[b].time) {\n\t\t\t\treturn -1;\n\t\t\t} else if (self.measures[a].time < self.measures[b].time) {\n\t\t\t\treturn + 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t});\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\ttotalTime += self.measures[name].time;\n\t});\n\tvar results = []\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\tvar measure = self.measures[name];\n\t\tresults.push({name: name,invocations: measure.invocations, avgTime: measure.time / measure.invocations, totalTime: measure.time, percentTime: (measure.time / totalTime) * 100})\n\t});\n\tself.logger.table(results);\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tif(!(name in self.measures)) {\n\t\t\t\tself.measures[name] = {time: 0, invocations: 0};\n\t\t\t}\n\t\t\tself.measures[name].time += $tw.utils.timer(startTime);\n\t\t\tself.measures[name].invocations++;\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/utils/pluginmaker.js": {
            "title": "$:/core/modules/utils/pluginmaker.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/transliterate.js": {
            "title": "$:/core/modules/utils/transliterate.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/transliterate.js\ntype: application/javascript\nmodule-type: utils\n\nTransliteration static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nTransliterate string to ASCII\n\n(Some pairs taken from http://semplicewebsites.com/removing-accents-javascript)\n*/\nexports.transliterationPairs = {\n\t\"Á\":\"A\",\n\t\"Ă\":\"A\",\n\t\"Ắ\":\"A\",\n\t\"Ặ\":\"A\",\n\t\"Ằ\":\"A\",\n\t\"Ẳ\":\"A\",\n\t\"Ẵ\":\"A\",\n\t\"Ǎ\":\"A\",\n\t\"Â\":\"A\",\n\t\"Ấ\":\"A\",\n\t\"Ậ\":\"A\",\n\t\"Ầ\":\"A\",\n\t\"Ẩ\":\"A\",\n\t\"Ẫ\":\"A\",\n\t\"Ä\":\"A\",\n\t\"Ǟ\":\"A\",\n\t\"Ȧ\":\"A\",\n\t\"Ǡ\":\"A\",\n\t\"Ạ\":\"A\",\n\t\"Ȁ\":\"A\",\n\t\"À\":\"A\",\n\t\"Ả\":\"A\",\n\t\"Ȃ\":\"A\",\n\t\"Ā\":\"A\",\n\t\"Ą\":\"A\",\n\t\"Å\":\"A\",\n\t\"Ǻ\":\"A\",\n\t\"Ḁ\":\"A\",\n\t\"Ⱥ\":\"A\",\n\t\"Ã\":\"A\",\n\t\"Ꜳ\":\"AA\",\n\t\"Æ\":\"AE\",\n\t\"Ǽ\":\"AE\",\n\t\"Ǣ\":\"AE\",\n\t\"Ꜵ\":\"AO\",\n\t\"Ꜷ\":\"AU\",\n\t\"Ꜹ\":\"AV\",\n\t\"Ꜻ\":\"AV\",\n\t\"Ꜽ\":\"AY\",\n\t\"Ḃ\":\"B\",\n\t\"Ḅ\":\"B\",\n\t\"Ɓ\":\"B\",\n\t\"Ḇ\":\"B\",\n\t\"Ƀ\":\"B\",\n\t\"Ƃ\":\"B\",\n\t\"Ć\":\"C\",\n\t\"Č\":\"C\",\n\t\"Ç\":\"C\",\n\t\"Ḉ\":\"C\",\n\t\"Ĉ\":\"C\",\n\t\"Ċ\":\"C\",\n\t\"Ƈ\":\"C\",\n\t\"Ȼ\":\"C\",\n\t\"Ď\":\"D\",\n\t\"Ḑ\":\"D\",\n\t\"Ḓ\":\"D\",\n\t\"Ḋ\":\"D\",\n\t\"Ḍ\":\"D\",\n\t\"Ɗ\":\"D\",\n\t\"Ḏ\":\"D\",\n\t\"Dz\":\"D\",\n\t\"Dž\":\"D\",\n\t\"Đ\":\"D\",\n\t\"Ƌ\":\"D\",\n\t\"DZ\":\"DZ\",\n\t\"DŽ\":\"DZ\",\n\t\"É\":\"E\",\n\t\"Ĕ\":\"E\",\n\t\"Ě\":\"E\",\n\t\"Ȩ\":\"E\",\n\t\"Ḝ\":\"E\",\n\t\"Ê\":\"E\",\n\t\"Ế\":\"E\",\n\t\"Ệ\":\"E\",\n\t\"Ề\":\"E\",\n\t\"Ể\":\"E\",\n\t\"Ễ\":\"E\",\n\t\"Ḙ\":\"E\",\n\t\"Ë\":\"E\",\n\t\"Ė\":\"E\",\n\t\"Ẹ\":\"E\",\n\t\"Ȅ\":\"E\",\n\t\"È\":\"E\",\n\t\"Ẻ\":\"E\",\n\t\"Ȇ\":\"E\",\n\t\"Ē\":\"E\",\n\t\"Ḗ\":\"E\",\n\t\"Ḕ\":\"E\",\n\t\"Ę\":\"E\",\n\t\"Ɇ\":\"E\",\n\t\"Ẽ\":\"E\",\n\t\"Ḛ\":\"E\",\n\t\"Ꝫ\":\"ET\",\n\t\"Ḟ\":\"F\",\n\t\"Ƒ\":\"F\",\n\t\"Ǵ\":\"G\",\n\t\"Ğ\":\"G\",\n\t\"Ǧ\":\"G\",\n\t\"Ģ\":\"G\",\n\t\"Ĝ\":\"G\",\n\t\"Ġ\":\"G\",\n\t\"Ɠ\":\"G\",\n\t\"Ḡ\":\"G\",\n\t\"Ǥ\":\"G\",\n\t\"Ḫ\":\"H\",\n\t\"Ȟ\":\"H\",\n\t\"Ḩ\":\"H\",\n\t\"Ĥ\":\"H\",\n\t\"Ⱨ\":\"H\",\n\t\"Ḧ\":\"H\",\n\t\"Ḣ\":\"H\",\n\t\"Ḥ\":\"H\",\n\t\"Ħ\":\"H\",\n\t\"Í\":\"I\",\n\t\"Ĭ\":\"I\",\n\t\"Ǐ\":\"I\",\n\t\"Î\":\"I\",\n\t\"Ï\":\"I\",\n\t\"Ḯ\":\"I\",\n\t\"İ\":\"I\",\n\t\"Ị\":\"I\",\n\t\"Ȉ\":\"I\",\n\t\"Ì\":\"I\",\n\t\"Ỉ\":\"I\",\n\t\"Ȋ\":\"I\",\n\t\"Ī\":\"I\",\n\t\"Į\":\"I\",\n\t\"Ɨ\":\"I\",\n\t\"Ĩ\":\"I\",\n\t\"Ḭ\":\"I\",\n\t\"Ꝺ\":\"D\",\n\t\"Ꝼ\":\"F\",\n\t\"Ᵹ\":\"G\",\n\t\"Ꞃ\":\"R\",\n\t\"Ꞅ\":\"S\",\n\t\"Ꞇ\":\"T\",\n\t\"Ꝭ\":\"IS\",\n\t\"Ĵ\":\"J\",\n\t\"Ɉ\":\"J\",\n\t\"Ḱ\":\"K\",\n\t\"Ǩ\":\"K\",\n\t\"Ķ\":\"K\",\n\t\"Ⱪ\":\"K\",\n\t\"Ꝃ\":\"K\",\n\t\"Ḳ\":\"K\",\n\t\"Ƙ\":\"K\",\n\t\"Ḵ\":\"K\",\n\t\"Ꝁ\":\"K\",\n\t\"Ꝅ\":\"K\",\n\t\"Ĺ\":\"L\",\n\t\"Ƚ\":\"L\",\n\t\"Ľ\":\"L\",\n\t\"Ļ\":\"L\",\n\t\"Ḽ\":\"L\",\n\t\"Ḷ\":\"L\",\n\t\"Ḹ\":\"L\",\n\t\"Ⱡ\":\"L\",\n\t\"Ꝉ\":\"L\",\n\t\"Ḻ\":\"L\",\n\t\"Ŀ\":\"L\",\n\t\"Ɫ\":\"L\",\n\t\"Lj\":\"L\",\n\t\"Ł\":\"L\",\n\t\"LJ\":\"LJ\",\n\t\"Ḿ\":\"M\",\n\t\"Ṁ\":\"M\",\n\t\"Ṃ\":\"M\",\n\t\"Ɱ\":\"M\",\n\t\"Ń\":\"N\",\n\t\"Ň\":\"N\",\n\t\"Ņ\":\"N\",\n\t\"Ṋ\":\"N\",\n\t\"Ṅ\":\"N\",\n\t\"Ṇ\":\"N\",\n\t\"Ǹ\":\"N\",\n\t\"Ɲ\":\"N\",\n\t\"Ṉ\":\"N\",\n\t\"Ƞ\":\"N\",\n\t\"Nj\":\"N\",\n\t\"Ñ\":\"N\",\n\t\"NJ\":\"NJ\",\n\t\"Ó\":\"O\",\n\t\"Ŏ\":\"O\",\n\t\"Ǒ\":\"O\",\n\t\"Ô\":\"O\",\n\t\"Ố\":\"O\",\n\t\"Ộ\":\"O\",\n\t\"Ồ\":\"O\",\n\t\"Ổ\":\"O\",\n\t\"Ỗ\":\"O\",\n\t\"Ö\":\"O\",\n\t\"Ȫ\":\"O\",\n\t\"Ȯ\":\"O\",\n\t\"Ȱ\":\"O\",\n\t\"Ọ\":\"O\",\n\t\"Ő\":\"O\",\n\t\"Ȍ\":\"O\",\n\t\"Ò\":\"O\",\n\t\"Ỏ\":\"O\",\n\t\"Ơ\":\"O\",\n\t\"Ớ\":\"O\",\n\t\"Ợ\":\"O\",\n\t\"Ờ\":\"O\",\n\t\"Ở\":\"O\",\n\t\"Ỡ\":\"O\",\n\t\"Ȏ\":\"O\",\n\t\"Ꝋ\":\"O\",\n\t\"Ꝍ\":\"O\",\n\t\"Ō\":\"O\",\n\t\"Ṓ\":\"O\",\n\t\"Ṑ\":\"O\",\n\t\"Ɵ\":\"O\",\n\t\"Ǫ\":\"O\",\n\t\"Ǭ\":\"O\",\n\t\"Ø\":\"O\",\n\t\"Ǿ\":\"O\",\n\t\"Õ\":\"O\",\n\t\"Ṍ\":\"O\",\n\t\"Ṏ\":\"O\",\n\t\"Ȭ\":\"O\",\n\t\"Ƣ\":\"OI\",\n\t\"Ꝏ\":\"OO\",\n\t\"Ɛ\":\"E\",\n\t\"Ɔ\":\"O\",\n\t\"Ȣ\":\"OU\",\n\t\"Ṕ\":\"P\",\n\t\"Ṗ\":\"P\",\n\t\"Ꝓ\":\"P\",\n\t\"Ƥ\":\"P\",\n\t\"Ꝕ\":\"P\",\n\t\"Ᵽ\":\"P\",\n\t\"Ꝑ\":\"P\",\n\t\"Ꝙ\":\"Q\",\n\t\"Ꝗ\":\"Q\",\n\t\"Ŕ\":\"R\",\n\t\"Ř\":\"R\",\n\t\"Ŗ\":\"R\",\n\t\"Ṙ\":\"R\",\n\t\"Ṛ\":\"R\",\n\t\"Ṝ\":\"R\",\n\t\"Ȑ\":\"R\",\n\t\"Ȓ\":\"R\",\n\t\"Ṟ\":\"R\",\n\t\"Ɍ\":\"R\",\n\t\"Ɽ\":\"R\",\n\t\"Ꜿ\":\"C\",\n\t\"Ǝ\":\"E\",\n\t\"Ś\":\"S\",\n\t\"Ṥ\":\"S\",\n\t\"Š\":\"S\",\n\t\"Ṧ\":\"S\",\n\t\"Ş\":\"S\",\n\t\"Ŝ\":\"S\",\n\t\"Ș\":\"S\",\n\t\"Ṡ\":\"S\",\n\t\"Ṣ\":\"S\",\n\t\"Ṩ\":\"S\",\n\t\"Ť\":\"T\",\n\t\"Ţ\":\"T\",\n\t\"Ṱ\":\"T\",\n\t\"Ț\":\"T\",\n\t\"Ⱦ\":\"T\",\n\t\"Ṫ\":\"T\",\n\t\"Ṭ\":\"T\",\n\t\"Ƭ\":\"T\",\n\t\"Ṯ\":\"T\",\n\t\"Ʈ\":\"T\",\n\t\"Ŧ\":\"T\",\n\t\"Ɐ\":\"A\",\n\t\"Ꞁ\":\"L\",\n\t\"Ɯ\":\"M\",\n\t\"Ʌ\":\"V\",\n\t\"Ꜩ\":\"TZ\",\n\t\"Ú\":\"U\",\n\t\"Ŭ\":\"U\",\n\t\"Ǔ\":\"U\",\n\t\"Û\":\"U\",\n\t\"Ṷ\":\"U\",\n\t\"Ü\":\"U\",\n\t\"Ǘ\":\"U\",\n\t\"Ǚ\":\"U\",\n\t\"Ǜ\":\"U\",\n\t\"Ǖ\":\"U\",\n\t\"Ṳ\":\"U\",\n\t\"Ụ\":\"U\",\n\t\"Ű\":\"U\",\n\t\"Ȕ\":\"U\",\n\t\"Ù\":\"U\",\n\t\"Ủ\":\"U\",\n\t\"Ư\":\"U\",\n\t\"Ứ\":\"U\",\n\t\"Ự\":\"U\",\n\t\"Ừ\":\"U\",\n\t\"Ử\":\"U\",\n\t\"Ữ\":\"U\",\n\t\"Ȗ\":\"U\",\n\t\"Ū\":\"U\",\n\t\"Ṻ\":\"U\",\n\t\"Ų\":\"U\",\n\t\"Ů\":\"U\",\n\t\"Ũ\":\"U\",\n\t\"Ṹ\":\"U\",\n\t\"Ṵ\":\"U\",\n\t\"Ꝟ\":\"V\",\n\t\"Ṿ\":\"V\",\n\t\"Ʋ\":\"V\",\n\t\"Ṽ\":\"V\",\n\t\"Ꝡ\":\"VY\",\n\t\"Ẃ\":\"W\",\n\t\"Ŵ\":\"W\",\n\t\"Ẅ\":\"W\",\n\t\"Ẇ\":\"W\",\n\t\"Ẉ\":\"W\",\n\t\"Ẁ\":\"W\",\n\t\"Ⱳ\":\"W\",\n\t\"Ẍ\":\"X\",\n\t\"Ẋ\":\"X\",\n\t\"Ý\":\"Y\",\n\t\"Ŷ\":\"Y\",\n\t\"Ÿ\":\"Y\",\n\t\"Ẏ\":\"Y\",\n\t\"Ỵ\":\"Y\",\n\t\"Ỳ\":\"Y\",\n\t\"Ƴ\":\"Y\",\n\t\"Ỷ\":\"Y\",\n\t\"Ỿ\":\"Y\",\n\t\"Ȳ\":\"Y\",\n\t\"Ɏ\":\"Y\",\n\t\"Ỹ\":\"Y\",\n\t\"Ź\":\"Z\",\n\t\"Ž\":\"Z\",\n\t\"Ẑ\":\"Z\",\n\t\"Ⱬ\":\"Z\",\n\t\"Ż\":\"Z\",\n\t\"Ẓ\":\"Z\",\n\t\"Ȥ\":\"Z\",\n\t\"Ẕ\":\"Z\",\n\t\"Ƶ\":\"Z\",\n\t\"IJ\":\"IJ\",\n\t\"Œ\":\"OE\",\n\t\"ᴀ\":\"A\",\n\t\"ᴁ\":\"AE\",\n\t\"ʙ\":\"B\",\n\t\"ᴃ\":\"B\",\n\t\"ᴄ\":\"C\",\n\t\"ᴅ\":\"D\",\n\t\"ᴇ\":\"E\",\n\t\"ꜰ\":\"F\",\n\t\"ɢ\":\"G\",\n\t\"ʛ\":\"G\",\n\t\"ʜ\":\"H\",\n\t\"ɪ\":\"I\",\n\t\"ʁ\":\"R\",\n\t\"ᴊ\":\"J\",\n\t\"ᴋ\":\"K\",\n\t\"ʟ\":\"L\",\n\t\"ᴌ\":\"L\",\n\t\"ᴍ\":\"M\",\n\t\"ɴ\":\"N\",\n\t\"ᴏ\":\"O\",\n\t\"ɶ\":\"OE\",\n\t\"ᴐ\":\"O\",\n\t\"ᴕ\":\"OU\",\n\t\"ᴘ\":\"P\",\n\t\"ʀ\":\"R\",\n\t\"ᴎ\":\"N\",\n\t\"ᴙ\":\"R\",\n\t\"ꜱ\":\"S\",\n\t\"ᴛ\":\"T\",\n\t\"ⱻ\":\"E\",\n\t\"ᴚ\":\"R\",\n\t\"ᴜ\":\"U\",\n\t\"ᴠ\":\"V\",\n\t\"ᴡ\":\"W\",\n\t\"ʏ\":\"Y\",\n\t\"ᴢ\":\"Z\",\n\t\"á\":\"a\",\n\t\"ă\":\"a\",\n\t\"ắ\":\"a\",\n\t\"ặ\":\"a\",\n\t\"ằ\":\"a\",\n\t\"ẳ\":\"a\",\n\t\"ẵ\":\"a\",\n\t\"ǎ\":\"a\",\n\t\"â\":\"a\",\n\t\"ấ\":\"a\",\n\t\"ậ\":\"a\",\n\t\"ầ\":\"a\",\n\t\"ẩ\":\"a\",\n\t\"ẫ\":\"a\",\n\t\"ä\":\"a\",\n\t\"ǟ\":\"a\",\n\t\"ȧ\":\"a\",\n\t\"ǡ\":\"a\",\n\t\"ạ\":\"a\",\n\t\"ȁ\":\"a\",\n\t\"à\":\"a\",\n\t\"ả\":\"a\",\n\t\"ȃ\":\"a\",\n\t\"ā\":\"a\",\n\t\"ą\":\"a\",\n\t\"ᶏ\":\"a\",\n\t\"ẚ\":\"a\",\n\t\"å\":\"a\",\n\t\"ǻ\":\"a\",\n\t\"ḁ\":\"a\",\n\t\"ⱥ\":\"a\",\n\t\"ã\":\"a\",\n\t\"ꜳ\":\"aa\",\n\t\"æ\":\"ae\",\n\t\"ǽ\":\"ae\",\n\t\"ǣ\":\"ae\",\n\t\"ꜵ\":\"ao\",\n\t\"ꜷ\":\"au\",\n\t\"ꜹ\":\"av\",\n\t\"ꜻ\":\"av\",\n\t\"ꜽ\":\"ay\",\n\t\"ḃ\":\"b\",\n\t\"ḅ\":\"b\",\n\t\"ɓ\":\"b\",\n\t\"ḇ\":\"b\",\n\t\"ᵬ\":\"b\",\n\t\"ᶀ\":\"b\",\n\t\"ƀ\":\"b\",\n\t\"ƃ\":\"b\",\n\t\"ɵ\":\"o\",\n\t\"ć\":\"c\",\n\t\"č\":\"c\",\n\t\"ç\":\"c\",\n\t\"ḉ\":\"c\",\n\t\"ĉ\":\"c\",\n\t\"ɕ\":\"c\",\n\t\"ċ\":\"c\",\n\t\"ƈ\":\"c\",\n\t\"ȼ\":\"c\",\n\t\"ď\":\"d\",\n\t\"ḑ\":\"d\",\n\t\"ḓ\":\"d\",\n\t\"ȡ\":\"d\",\n\t\"ḋ\":\"d\",\n\t\"ḍ\":\"d\",\n\t\"ɗ\":\"d\",\n\t\"ᶑ\":\"d\",\n\t\"ḏ\":\"d\",\n\t\"ᵭ\":\"d\",\n\t\"ᶁ\":\"d\",\n\t\"đ\":\"d\",\n\t\"ɖ\":\"d\",\n\t\"ƌ\":\"d\",\n\t\"ı\":\"i\",\n\t\"ȷ\":\"j\",\n\t\"ɟ\":\"j\",\n\t\"ʄ\":\"j\",\n\t\"dz\":\"dz\",\n\t\"dž\":\"dz\",\n\t\"é\":\"e\",\n\t\"ĕ\":\"e\",\n\t\"ě\":\"e\",\n\t\"ȩ\":\"e\",\n\t\"ḝ\":\"e\",\n\t\"ê\":\"e\",\n\t\"ế\":\"e\",\n\t\"ệ\":\"e\",\n\t\"ề\":\"e\",\n\t\"ể\":\"e\",\n\t\"ễ\":\"e\",\n\t\"ḙ\":\"e\",\n\t\"ë\":\"e\",\n\t\"ė\":\"e\",\n\t\"ẹ\":\"e\",\n\t\"ȅ\":\"e\",\n\t\"è\":\"e\",\n\t\"ẻ\":\"e\",\n\t\"ȇ\":\"e\",\n\t\"ē\":\"e\",\n\t\"ḗ\":\"e\",\n\t\"ḕ\":\"e\",\n\t\"ⱸ\":\"e\",\n\t\"ę\":\"e\",\n\t\"ᶒ\":\"e\",\n\t\"ɇ\":\"e\",\n\t\"ẽ\":\"e\",\n\t\"ḛ\":\"e\",\n\t\"ꝫ\":\"et\",\n\t\"ḟ\":\"f\",\n\t\"ƒ\":\"f\",\n\t\"ᵮ\":\"f\",\n\t\"ᶂ\":\"f\",\n\t\"ǵ\":\"g\",\n\t\"ğ\":\"g\",\n\t\"ǧ\":\"g\",\n\t\"ģ\":\"g\",\n\t\"ĝ\":\"g\",\n\t\"ġ\":\"g\",\n\t\"ɠ\":\"g\",\n\t\"ḡ\":\"g\",\n\t\"ᶃ\":\"g\",\n\t\"ǥ\":\"g\",\n\t\"ḫ\":\"h\",\n\t\"ȟ\":\"h\",\n\t\"ḩ\":\"h\",\n\t\"ĥ\":\"h\",\n\t\"ⱨ\":\"h\",\n\t\"ḧ\":\"h\",\n\t\"ḣ\":\"h\",\n\t\"ḥ\":\"h\",\n\t\"ɦ\":\"h\",\n\t\"ẖ\":\"h\",\n\t\"ħ\":\"h\",\n\t\"ƕ\":\"hv\",\n\t\"í\":\"i\",\n\t\"ĭ\":\"i\",\n\t\"ǐ\":\"i\",\n\t\"î\":\"i\",\n\t\"ï\":\"i\",\n\t\"ḯ\":\"i\",\n\t\"ị\":\"i\",\n\t\"ȉ\":\"i\",\n\t\"ì\":\"i\",\n\t\"ỉ\":\"i\",\n\t\"ȋ\":\"i\",\n\t\"ī\":\"i\",\n\t\"į\":\"i\",\n\t\"ᶖ\":\"i\",\n\t\"ɨ\":\"i\",\n\t\"ĩ\":\"i\",\n\t\"ḭ\":\"i\",\n\t\"ꝺ\":\"d\",\n\t\"ꝼ\":\"f\",\n\t\"ᵹ\":\"g\",\n\t\"ꞃ\":\"r\",\n\t\"ꞅ\":\"s\",\n\t\"ꞇ\":\"t\",\n\t\"ꝭ\":\"is\",\n\t\"ǰ\":\"j\",\n\t\"ĵ\":\"j\",\n\t\"ʝ\":\"j\",\n\t\"ɉ\":\"j\",\n\t\"ḱ\":\"k\",\n\t\"ǩ\":\"k\",\n\t\"ķ\":\"k\",\n\t\"ⱪ\":\"k\",\n\t\"ꝃ\":\"k\",\n\t\"ḳ\":\"k\",\n\t\"ƙ\":\"k\",\n\t\"ḵ\":\"k\",\n\t\"ᶄ\":\"k\",\n\t\"ꝁ\":\"k\",\n\t\"ꝅ\":\"k\",\n\t\"ĺ\":\"l\",\n\t\"ƚ\":\"l\",\n\t\"ɬ\":\"l\",\n\t\"ľ\":\"l\",\n\t\"ļ\":\"l\",\n\t\"ḽ\":\"l\",\n\t\"ȴ\":\"l\",\n\t\"ḷ\":\"l\",\n\t\"ḹ\":\"l\",\n\t\"ⱡ\":\"l\",\n\t\"ꝉ\":\"l\",\n\t\"ḻ\":\"l\",\n\t\"ŀ\":\"l\",\n\t\"ɫ\":\"l\",\n\t\"ᶅ\":\"l\",\n\t\"ɭ\":\"l\",\n\t\"ł\":\"l\",\n\t\"lj\":\"lj\",\n\t\"ſ\":\"s\",\n\t\"ẜ\":\"s\",\n\t\"ẛ\":\"s\",\n\t\"ẝ\":\"s\",\n\t\"ḿ\":\"m\",\n\t\"ṁ\":\"m\",\n\t\"ṃ\":\"m\",\n\t\"ɱ\":\"m\",\n\t\"ᵯ\":\"m\",\n\t\"ᶆ\":\"m\",\n\t\"ń\":\"n\",\n\t\"ň\":\"n\",\n\t\"ņ\":\"n\",\n\t\"ṋ\":\"n\",\n\t\"ȵ\":\"n\",\n\t\"ṅ\":\"n\",\n\t\"ṇ\":\"n\",\n\t\"ǹ\":\"n\",\n\t\"ɲ\":\"n\",\n\t\"ṉ\":\"n\",\n\t\"ƞ\":\"n\",\n\t\"ᵰ\":\"n\",\n\t\"ᶇ\":\"n\",\n\t\"ɳ\":\"n\",\n\t\"ñ\":\"n\",\n\t\"nj\":\"nj\",\n\t\"ó\":\"o\",\n\t\"ŏ\":\"o\",\n\t\"ǒ\":\"o\",\n\t\"ô\":\"o\",\n\t\"ố\":\"o\",\n\t\"ộ\":\"o\",\n\t\"ồ\":\"o\",\n\t\"ổ\":\"o\",\n\t\"ỗ\":\"o\",\n\t\"ö\":\"o\",\n\t\"ȫ\":\"o\",\n\t\"ȯ\":\"o\",\n\t\"ȱ\":\"o\",\n\t\"ọ\":\"o\",\n\t\"ő\":\"o\",\n\t\"ȍ\":\"o\",\n\t\"ò\":\"o\",\n\t\"ỏ\":\"o\",\n\t\"ơ\":\"o\",\n\t\"ớ\":\"o\",\n\t\"ợ\":\"o\",\n\t\"ờ\":\"o\",\n\t\"ở\":\"o\",\n\t\"ỡ\":\"o\",\n\t\"ȏ\":\"o\",\n\t\"ꝋ\":\"o\",\n\t\"ꝍ\":\"o\",\n\t\"ⱺ\":\"o\",\n\t\"ō\":\"o\",\n\t\"ṓ\":\"o\",\n\t\"ṑ\":\"o\",\n\t\"ǫ\":\"o\",\n\t\"ǭ\":\"o\",\n\t\"ø\":\"o\",\n\t\"ǿ\":\"o\",\n\t\"õ\":\"o\",\n\t\"ṍ\":\"o\",\n\t\"ṏ\":\"o\",\n\t\"ȭ\":\"o\",\n\t\"ƣ\":\"oi\",\n\t\"ꝏ\":\"oo\",\n\t\"ɛ\":\"e\",\n\t\"ᶓ\":\"e\",\n\t\"ɔ\":\"o\",\n\t\"ᶗ\":\"o\",\n\t\"ȣ\":\"ou\",\n\t\"ṕ\":\"p\",\n\t\"ṗ\":\"p\",\n\t\"ꝓ\":\"p\",\n\t\"ƥ\":\"p\",\n\t\"ᵱ\":\"p\",\n\t\"ᶈ\":\"p\",\n\t\"ꝕ\":\"p\",\n\t\"ᵽ\":\"p\",\n\t\"ꝑ\":\"p\",\n\t\"ꝙ\":\"q\",\n\t\"ʠ\":\"q\",\n\t\"ɋ\":\"q\",\n\t\"ꝗ\":\"q\",\n\t\"ŕ\":\"r\",\n\t\"ř\":\"r\",\n\t\"ŗ\":\"r\",\n\t\"ṙ\":\"r\",\n\t\"ṛ\":\"r\",\n\t\"ṝ\":\"r\",\n\t\"ȑ\":\"r\",\n\t\"ɾ\":\"r\",\n\t\"ᵳ\":\"r\",\n\t\"ȓ\":\"r\",\n\t\"ṟ\":\"r\",\n\t\"ɼ\":\"r\",\n\t\"ᵲ\":\"r\",\n\t\"ᶉ\":\"r\",\n\t\"ɍ\":\"r\",\n\t\"ɽ\":\"r\",\n\t\"ↄ\":\"c\",\n\t\"ꜿ\":\"c\",\n\t\"ɘ\":\"e\",\n\t\"ɿ\":\"r\",\n\t\"ś\":\"s\",\n\t\"ṥ\":\"s\",\n\t\"š\":\"s\",\n\t\"ṧ\":\"s\",\n\t\"ş\":\"s\",\n\t\"ŝ\":\"s\",\n\t\"ș\":\"s\",\n\t\"ṡ\":\"s\",\n\t\"ṣ\":\"s\",\n\t\"ṩ\":\"s\",\n\t\"ʂ\":\"s\",\n\t\"ᵴ\":\"s\",\n\t\"ᶊ\":\"s\",\n\t\"ȿ\":\"s\",\n\t\"ɡ\":\"g\",\n\t\"ᴑ\":\"o\",\n\t\"ᴓ\":\"o\",\n\t\"ᴝ\":\"u\",\n\t\"ť\":\"t\",\n\t\"ţ\":\"t\",\n\t\"ṱ\":\"t\",\n\t\"ț\":\"t\",\n\t\"ȶ\":\"t\",\n\t\"ẗ\":\"t\",\n\t\"ⱦ\":\"t\",\n\t\"ṫ\":\"t\",\n\t\"ṭ\":\"t\",\n\t\"ƭ\":\"t\",\n\t\"ṯ\":\"t\",\n\t\"ᵵ\":\"t\",\n\t\"ƫ\":\"t\",\n\t\"ʈ\":\"t\",\n\t\"ŧ\":\"t\",\n\t\"ᵺ\":\"th\",\n\t\"ɐ\":\"a\",\n\t\"ᴂ\":\"ae\",\n\t\"ǝ\":\"e\",\n\t\"ᵷ\":\"g\",\n\t\"ɥ\":\"h\",\n\t\"ʮ\":\"h\",\n\t\"ʯ\":\"h\",\n\t\"ᴉ\":\"i\",\n\t\"ʞ\":\"k\",\n\t\"ꞁ\":\"l\",\n\t\"ɯ\":\"m\",\n\t\"ɰ\":\"m\",\n\t\"ᴔ\":\"oe\",\n\t\"ɹ\":\"r\",\n\t\"ɻ\":\"r\",\n\t\"ɺ\":\"r\",\n\t\"ⱹ\":\"r\",\n\t\"ʇ\":\"t\",\n\t\"ʌ\":\"v\",\n\t\"ʍ\":\"w\",\n\t\"ʎ\":\"y\",\n\t\"ꜩ\":\"tz\",\n\t\"ú\":\"u\",\n\t\"ŭ\":\"u\",\n\t\"ǔ\":\"u\",\n\t\"û\":\"u\",\n\t\"ṷ\":\"u\",\n\t\"ü\":\"u\",\n\t\"ǘ\":\"u\",\n\t\"ǚ\":\"u\",\n\t\"ǜ\":\"u\",\n\t\"ǖ\":\"u\",\n\t\"ṳ\":\"u\",\n\t\"ụ\":\"u\",\n\t\"ű\":\"u\",\n\t\"ȕ\":\"u\",\n\t\"ù\":\"u\",\n\t\"ủ\":\"u\",\n\t\"ư\":\"u\",\n\t\"ứ\":\"u\",\n\t\"ự\":\"u\",\n\t\"ừ\":\"u\",\n\t\"ử\":\"u\",\n\t\"ữ\":\"u\",\n\t\"ȗ\":\"u\",\n\t\"ū\":\"u\",\n\t\"ṻ\":\"u\",\n\t\"ų\":\"u\",\n\t\"ᶙ\":\"u\",\n\t\"ů\":\"u\",\n\t\"ũ\":\"u\",\n\t\"ṹ\":\"u\",\n\t\"ṵ\":\"u\",\n\t\"ᵫ\":\"ue\",\n\t\"ꝸ\":\"um\",\n\t\"ⱴ\":\"v\",\n\t\"ꝟ\":\"v\",\n\t\"ṿ\":\"v\",\n\t\"ʋ\":\"v\",\n\t\"ᶌ\":\"v\",\n\t\"ⱱ\":\"v\",\n\t\"ṽ\":\"v\",\n\t\"ꝡ\":\"vy\",\n\t\"ẃ\":\"w\",\n\t\"ŵ\":\"w\",\n\t\"ẅ\":\"w\",\n\t\"ẇ\":\"w\",\n\t\"ẉ\":\"w\",\n\t\"ẁ\":\"w\",\n\t\"ⱳ\":\"w\",\n\t\"ẘ\":\"w\",\n\t\"ẍ\":\"x\",\n\t\"ẋ\":\"x\",\n\t\"ᶍ\":\"x\",\n\t\"ý\":\"y\",\n\t\"ŷ\":\"y\",\n\t\"ÿ\":\"y\",\n\t\"ẏ\":\"y\",\n\t\"ỵ\":\"y\",\n\t\"ỳ\":\"y\",\n\t\"ƴ\":\"y\",\n\t\"ỷ\":\"y\",\n\t\"ỿ\":\"y\",\n\t\"ȳ\":\"y\",\n\t\"ẙ\":\"y\",\n\t\"ɏ\":\"y\",\n\t\"ỹ\":\"y\",\n\t\"ź\":\"z\",\n\t\"ž\":\"z\",\n\t\"ẑ\":\"z\",\n\t\"ʑ\":\"z\",\n\t\"ⱬ\":\"z\",\n\t\"ż\":\"z\",\n\t\"ẓ\":\"z\",\n\t\"ȥ\":\"z\",\n\t\"ẕ\":\"z\",\n\t\"ᵶ\":\"z\",\n\t\"ᶎ\":\"z\",\n\t\"ʐ\":\"z\",\n\t\"ƶ\":\"z\",\n\t\"ɀ\":\"z\",\n\t\"ff\":\"ff\",\n\t\"ffi\":\"ffi\",\n\t\"ffl\":\"ffl\",\n\t\"fi\":\"fi\",\n\t\"fl\":\"fl\",\n\t\"ij\":\"ij\",\n\t\"œ\":\"oe\",\n\t\"st\":\"st\",\n\t\"ₐ\":\"a\",\n\t\"ₑ\":\"e\",\n\t\"ᵢ\":\"i\",\n\t\"ⱼ\":\"j\",\n\t\"ₒ\":\"o\",\n\t\"ᵣ\":\"r\",\n\t\"ᵤ\":\"u\",\n\t\"ᵥ\":\"v\",\n\t\"ₓ\":\"x\",\n\t\"Ё\":\"YO\",\n\t\"Й\":\"I\",\n\t\"Ц\":\"TS\",\n\t\"У\":\"U\",\n\t\"К\":\"K\",\n\t\"Е\":\"E\",\n\t\"Н\":\"N\",\n\t\"Г\":\"G\",\n\t\"Ш\":\"SH\",\n\t\"Щ\":\"SCH\",\n\t\"З\":\"Z\",\n\t\"Х\":\"H\",\n\t\"Ъ\":\"'\",\n\t\"ё\":\"yo\",\n\t\"й\":\"i\",\n\t\"ц\":\"ts\",\n\t\"у\":\"u\",\n\t\"к\":\"k\",\n\t\"е\":\"e\",\n\t\"н\":\"n\",\n\t\"г\":\"g\",\n\t\"ш\":\"sh\",\n\t\"щ\":\"sch\",\n\t\"з\":\"z\",\n\t\"х\":\"h\",\n\t\"ъ\":\"'\",\n\t\"Ф\":\"F\",\n\t\"Ы\":\"I\",\n\t\"В\":\"V\",\n\t\"А\":\"a\",\n\t\"П\":\"P\",\n\t\"Р\":\"R\",\n\t\"О\":\"O\",\n\t\"Л\":\"L\",\n\t\"Д\":\"D\",\n\t\"Ж\":\"ZH\",\n\t\"Э\":\"E\",\n\t\"ф\":\"f\",\n\t\"ы\":\"i\",\n\t\"в\":\"v\",\n\t\"а\":\"a\",\n\t\"п\":\"p\",\n\t\"р\":\"r\",\n\t\"о\":\"o\",\n\t\"л\":\"l\",\n\t\"д\":\"d\",\n\t\"ж\":\"zh\",\n\t\"э\":\"e\",\n\t\"Я\":\"Ya\",\n\t\"Ч\":\"CH\",\n\t\"С\":\"S\",\n\t\"М\":\"M\",\n\t\"И\":\"I\",\n\t\"Т\":\"T\",\n\t\"Ь\":\"'\",\n\t\"Б\":\"B\",\n\t\"Ю\":\"YU\",\n\t\"я\":\"ya\",\n\t\"ч\":\"ch\",\n\t\"с\":\"s\",\n\t\"м\":\"m\",\n\t\"и\":\"i\",\n\t\"т\":\"t\",\n\t\"ь\":\"'\",\n\t\"б\":\"b\",\n\t\"ю\":\"yu\"\n};\n\nexports.transliterate = function(str) {\n\treturn str.replace(/[^A-Za-z0-9\\[\\] ]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || ch\n\t});\n};\n\nexports.transliterateToSafeASCII = function(str) {\n\treturn str.replace(/[^\\x00-\\x7F]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || \"\"\n\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/utils.js": {
            "title": "$:/core/modules/utils/utils.js",
            "text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar base64utf8 = require(\"$:/core/modules/utils/base64-utf8/base64-utf8.module.js\");\n\n/*\nDisplay a message, in colour if we're on a terminal\n*/\nexports.log = function(text,colour) {\n\tconsole.log($tw.node ? exports.terminalColour(colour) + text + exports.terminalColour() : text);\n};\n\nexports.terminalColour = function(colour) {\n\tif(!$tw.browser && $tw.node && process.stdout.isTTY) {\n\t\tif(colour) {\n\t\t\tvar code = exports.terminalColourLookup[colour];\n\t\t\tif(code) {\n\t\t\t\treturn \"\\x1b[\" + code + \"m\";\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"\\x1b[0m\"; // Cancel colour\n\t\t}\n\t}\n\treturn \"\";\n};\n\nexports.terminalColourLookup = {\n\t\"black\": \"0;30\",\n\t\"red\": \"0;31\",\n\t\"green\": \"0;32\",\n\t\"brown/orange\": \"0;33\",\n\t\"blue\": \"0;34\",\n\t\"purple\": \"0;35\",\n\t\"cyan\": \"0;36\",\n\t\"light gray\": \"0;37\"\n};\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\texports.log(text,\"brown/orange\");\n};\n\n/*\nReturn the integer represented by the str (string).\nReturn the dflt (default) parameter if str is not a base-10 number.\n*/\nexports.getInt = function(str,deflt) {\n\tvar i = parseInt(str,10);\n\treturn isNaN(i) ? deflt : i;\n}\n\n/*\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\n*/\nexports.replaceString = function(text,search,replace) {\n\treturn text.replace(search,function() {\n\t\treturn replace;\n\t});\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nConvert a string to sentence case (ie capitalise first letter)\n*/\nexports.toSentenceCase = function(str) {\n\treturn (str || \"\").replace(/^\\S/, function(c) {return c.toUpperCase();});\n}\n\n/*\nConvert a string to title case (ie capitalise each initial letter)\n*/\nexports.toTitleCase = function(str) {\n\treturn (str || \"\").replace(/(^|\\s)\\S/g, function(c) {return c.toUpperCase();});\n}\n\t\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nDetermine whether an array-item is an object-property\n*/\nexports.hopArray = function(object,array) {\n\tfor(var i=0; i<array.length; i++) {\n\t\tif($tw.utils.hop(object,array[i])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tif(object) {\n\t\tObject.freeze(object);\n\t\tfor(key in object) {\n\t\t\tproperty = object[key];\n\t\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\t\tdeepFreeze(property);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.getYearForWeekNo(date);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn date.getFullYear();\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0XXX/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMilliseconds(),3);\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^XXX/, function() {\n\t\t\t\treturn date.getMilliseconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\t// If the user wants everything in UTC, shift the datestamp\n\t// Optimize for format string that essentially means\n\t// 'return raw UTC (tiddlywiki style) date string.'\n\tif(t.indexOf(\"[UTC]\") == 0 ) {\n\t\tif(t == \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\")\n\t\t\treturn $tw.utils.stringifyDate(new Date());\n\t\tvar offset = date.getTimezoneOffset() ; // in minutes\n\t\tdate = new Date(date.getTime()+offset*60*1000) ;\n\t\tt = t.substr(5) ;\n\t}\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call();\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar x = new Date(dt.getFullYear(),0,1);\n\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\",   duration:      365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\",  duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\",    duration:            24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\",   duration:                 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration:                      60 * 1000},\n\t\t{name: \"Seconds\", duration:                           1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&amp;\", < to \"&lt;\", > to \"&gt;\", \" to \"&quot;\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&amp;\").replace(/</mg,\"&lt;\").replace(/>/mg,\"&gt;\").replace(/\\\"/mg,\"&quot;\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2), // Strip the & and the ;\n\t\tc;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\tc = parseInt(e.substr(2),16);\n\t\t} else {\n\t\t\tc = parseInt(e.substr(1),10);\n\t\t}\n\t\tif(isNaN(c)) {\n\t\t\treturn s;\n\t\t} else {\n\t\t\treturn converter(c);\n\t\t}\n\t} else {\n\t\tc = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\')            // backslash\n\t\t.replace(/\"/g, '\\\\\"')              // double quote character\n\t\t.replace(/'/g, \"\\\\'\")              // single quote character\n\t\t.replace(/\\r/g, '\\\\r')             // carriage return\n\t\t.replace(/\\n/g, '\\\\n')             // line feed\n\t\t.replace(/[\\x00-\\x1f\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n// Turns a string into a legal JSON string\n// Derived from peg.js, thanks to David Majda\nexports.jsonStringify = function(s) {\n\t// See http://www.json.org/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\')            // backslash\n\t\t.replace(/\"/g, '\\\\\"')              // double quote character\n\t\t.replace(/\\r/g, '\\\\r')             // carriage return\n\t\t.replace(/\\n/g, '\\\\n')             // line feed\n\t\t.replace(/\\x08/g, '\\\\b')           // backspace\n\t\t.replace(/\\x0c/g, '\\\\f')           // formfeed\n\t\t.replace(/\\t/g, '\\\\t')             // tab\n\t\t.replace(/[\\x00-\\x1f\\x80-\\uFFFF]/g,function(s) {\n\t\t\treturn '\\\\u' + $tw.utils.pad(s.charCodeAt(0).toString(16).toUpperCase(),4);\n\t\t}); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n    return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10) || 0;\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\treturn base64utf8.base64.decode.call(base64utf8,string64);\n};\n\n/*\nEncode a string to base64\n*/\nexports.base64Encode = function(string64) {\n\treturn base64utf8.base64.encode.call(base64utf8,string64);\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\n\t\tm =  r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type,_canonical_uri) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tif(_canonical_uri) {\n\t\tparts.push(_canonical_uri);\n\t} else {\n\t\tparts.push(\"data:\");\n\t\tparts.push(type);\n\t\tparts.push(isBase64 ? \";base64\" : \"\");\n\t\tparts.push(\",\");\n\t\tparts.push(isBase64 ? text : encodeURIComponent(text));\t\t\n\t}\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif (x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= ending.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n/*\nReturn system information useful for debugging\n*/\nexports.getSystemInfo = function(str,ending,position) {\n\tvar results = [],\n\t\tsave = function(desc,value) {\n\t\t\tresults.push(desc + \": \" + value);\n\t\t};\n\tif($tw.browser) {\n\t\tsave(\"User Agent\",navigator.userAgent);\n\t\tsave(\"Online Status\",window.navigator.onLine);\n\t}\n\tif($tw.node) {\n\t\tsave(\"Node Version\",process.version);\n\t}\n\treturn results.join(\"\\n\");\n};\n\nexports.parseNumber = function(str) {\n\treturn parseFloat(str) || 0;\n};\n\nexports.parseInt = function(str) {\n\treturn parseInt(str,10) || 0;\n};\n\nexports.stringifyNumber = function(num) {\n\treturn num + \"\";\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/widgets/action-createtiddler.js": {
            "title": "$:/core/modules/widgets/action-createtiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to create a new tiddler with a unique name and specified fields.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw:false, require:false, exports:false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCreateTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nCreateTiddlerWidget.prototype.execute = function() {\n\tthis.actionBaseTitle = this.getAttribute(\"$basetitle\");\n\tthis.hasBase = !!this.actionBaseTitle;\n\tthis.actionSaveTitle = this.getAttribute(\"$savetitle\");\n\tthis.actionSaveDraftTitle = this.getAttribute(\"$savedrafttitle\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n\t//Following params are new since 5.1.22\n\tthis.actionTemplate = this.getAttribute(\"$template\");\n\tthis.useTemplate = !!this.actionTemplate;\n\tthis.actionOverwrite = this.getAttribute(\"$overwrite\",\"no\");\n\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar title = this.wiki.getTiddlerText(\"$:/language/DefaultNewTiddlerTitle\"), // Get the initial new-tiddler title\n\t\tfields = {},\n\t\tcreationFields,\n\t\tmodificationFields;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tfields[name] = attribute;\n\t\t}\n\t});\n\tif(this.actionTimestamp) {\n\t\tcreationFields = this.wiki.getCreationFields();\n\t\tmodificationFields = this.wiki.getModificationFields();\n\t}\n\tif(this.hasBase && this.actionOverwrite === \"no\") {\n\t\ttitle = this.wiki.generateNewTitle(this.actionBaseTitle);\n\t} else if (this.hasBase && this.actionOverwrite === \"yes\") {\n\t\ttitle = this.actionBaseTitle\n\t}\n\t// NO $basetitle BUT $template parameter is available\n\t// the title MUST be unique, otherwise the template would be overwritten\n\tif (!this.hasBase && this.useTemplate) {\n\t\ttitle = this.wiki.generateNewTitle(this.actionTemplate);\n\t} else if (!this.hasBase && !this.useTemplate) {\n\t\t// If NO $basetitle AND NO $template use initial title\n\t\t// DON'T overwrite any stuff\n\t\ttitle = this.wiki.generateNewTitle(title);\n\t}\n\tvar templateTiddler = this.wiki.getTiddler(this.actionTemplate) || {};\n\tvar tiddler = this.wiki.addTiddler(new $tw.Tiddler(templateTiddler.fields,creationFields,fields,modificationFields,{title: title}));\n\tif(this.actionSaveTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.actionSaveDraftTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveDraftTitle,this.wiki.generateDraftTitle(title),this.getVariable(\"currentTiddler\"));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-createtiddler\"] = CreateTiddlerWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-deletefield.js": {
            "title": "$:/core/modules/widgets/action-deletefield.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {},\n\t\thasChanged = false;\n\tif(this.actionField && tiddler) {\n\t\tremoveFields[this.actionField] = undefined;\n\t\tif(this.actionField in tiddler.fields) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t});\n\t\tif(hasChanged) {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,removeFields,this.wiki.getModificationFields()));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-deletetiddler.js": {
            "title": "$:/core/modules/widgets/action-deletetiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-listops.js": {
            "title": "$:/core/modules/widgets/action-listops.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.$tiddler || changedAttributes.$filter ||\n\t\tchangedAttributes.$subfilter || changedAttributes.$field ||\n\t\tchangedAttributes.$index || changedAttributes.$tags) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\ttype = \"!!\",\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\ttype = \"##\";\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar subfilter = \"[list[\" + this.target + type + list + \"]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(subfilter, this)));\n\t}\n\tif(this.filtertags) {\n\t\tvar tiddler = this.wiki.getTiddler(this.target),\n\t\t\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\n\t\t\ttagfilter = \"[list[\" + this.target + \"!!tags]] \" + this.filtertags,\n\t\t\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\n\t\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\n\t\t\tthis.wiki.setText(this.target,\"tags\",undefined,$tw.utils.stringifyList(newtags));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-navigate.js": {
            "title": "$:/core/modules/widgets/action-navigate.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tevent = event || {};\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-popup.js": {
            "title": "$:/core/modules/widgets/action-popup.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-popup.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to trigger a popup.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ActionPopupWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nActionPopupWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nActionPopupWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nActionPopupWidget.prototype.execute = function() {\n\tthis.actionState = this.getAttribute(\"$state\");\n\tthis.actionCoords = this.getAttribute(\"$coords\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nActionPopupWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$state\"] || changedAttributes[\"$coords\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nActionPopupWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Trigger the popup\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(this.actionCoords);\n\tif(match) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: null,\n\t\t\tdomNodeRect: {\n\t\t\t\tleft: parseFloat(match[1]),\n\t\t\t\ttop: parseFloat(match[2]),\n\t\t\t\twidth: parseFloat(match[3]),\n\t\t\t\theight: parseFloat(match[4])\n\t\t\t},\n\t\t\ttitle: this.actionState,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-popup\"] = ActionPopupWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-sendmessage.js": {
            "title": "$:/core/modules/widgets/action-sendmessage.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tthis.dispatchEvent({\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tevent: event\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-setfield.js": {
            "title": "$:/core/modules/widgets/action-setfield.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\toptions.suppressTimestamp = !this.actionTimestamp;\n\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\")  || (typeof this.actionValue == \"string\")) {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/browse.js": {
            "title": "$:/core/modules/widgets/browse.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\t// Nw.js supports \"webkitdirectory\" and \"nwdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\tif(this.nwdirectory) {\n\t\tdomNode.setAttribute(\"nwdirectory\",this.nwdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,{\n\t\t\t\tcallback: function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t},\n\t\t\t\tdeserializer: self.deserializer\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.deserializer = this.getAttribute(\"deserializer\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n\tthis.nwdirectory = this.getAttribute(\"nwdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/button.js": {
            "title": "$:/core/modules/widgets/button.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = \"button\";\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = (this.popup || this.popupTitle) && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif((this.set || this.setTitle) && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\t\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(self,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup || self.popupTitle) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set || self.setTitle) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Make it draggable if required\n\tif(this.dragTiddler || this.dragFilter) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.dragTiddler;},\n\t\t\tdragFilterFn: function() {return self.dragFilter;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n    return this.setTitle ? (this.setField ? this.wiki.getTiddler(this.setTitle).getFieldString(this.setField) === this.setTo :\n\t\t(this.setIndex ? this.wiki.extractTiddlerDataItem(this.setTitle,this.setIndex) === this.setTo :\n\t\t\tthis.wiki.getTiddlerText(this.setTitle))) || this.defaultSetValue || this.getVariable(\"currentTiddler\") :\n\t\tthis.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.popupTitle ? this.wiki.getTiddler(this.popupTitle) : this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tevent: event\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\tif(this.popupTitle) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popupTitle,\n\t\t\twiki: this.wiki,\n\t\t\tnoStateReference: true\n\t\t});\n\t} else {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popup,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tif(this.setTitle) {\n\t\tthis.setField ? this.wiki.setText(this.setTitle,this.setField,undefined,this.setTo) :\n\t\t\t\t(this.setIndex ? this.wiki.setText(this.setTitle,undefined,this.setIndex,this.setTo) :\n\t\t\t\tthis.wiki.setText(this.setTitle,\"text\",undefined,this.setTo));\n\t} else {\n\t\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\tthis.dragTiddler = this.getAttribute(\"dragTiddler\");\n\tthis.dragFilter = this.getAttribute(\"dragFilter\");\n\tthis.setTitle = this.getAttribute(\"setTitle\");\n\tthis.setField = this.getAttribute(\"setField\");\n\tthis.setIndex = this.getAttribute(\"setIndex\");\n\tthis.popupTitle = this.getAttribute(\"popupTitle\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.actions || changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/checkbox.js": {
            "title": "$:/core/modules/widgets/checkbox.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag) {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value;\n\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\n\t\t\t\tvalue = tiddler.fields[this.checkboxField] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.checkboxDefault || \"\";\n\t\t\t}\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxIndex) {\n\t\t\tvar value = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \"\");\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\n\t\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the index if specified\n\tif(this.checkboxIndex) {\n\t\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\n\t\tif(!tiddler || indexValue !== value) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tif(this.checkboxIndex) {\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxIndex,value);\n\t\t} else {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t\t}\n\t}\n\t// Trigger actions\n\tif(this.checkboxActions) {\n\t\tthis.invokeActionString(this.checkboxActions,this,event);\n\t}\n\tif(this.checkboxCheckActions && checked) {\n\t\tthis.invokeActionString(this.checkboxCheckActions,this,event);\n\t}\n\tif(this.checkboxUncheckActions && !checked) {\n\t\tthis.invokeActionString(this.checkboxUncheckActions,this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxActions = this.getAttribute(\"actions\");\n\tthis.checkboxCheckActions = this.getAttribute(\"checkactions\");\n\tthis.checkboxUncheckActions = this.getAttribute(\"uncheckactions\");\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxIndex = this.getAttribute(\"index\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/codeblock.js": {
            "title": "$:/core/modules/widgets/codeblock.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/count.js": {
            "title": "$:/core/modules/widgets/count.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = \"0\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/diff-text.js": {
            "title": "$:/core/modules/widgets/diff-text.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/diff-text.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display a diff between two texts\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tdmp = require(\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\");\n\nvar DiffTextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDiffTextWidget.prototype = new Widget();\n\nDiffTextWidget.prototype.invisibleCharacters = {\n\t\"\\n\": \"↩︎\\n\",\n\t\"\\r\": \"⇠\",\n\t\"\\t\": \"⇥\\t\"\n};\n\n/*\nRender this widget into the DOM\n*/\nDiffTextWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create the diff\n\tvar dmpObject = new dmp.diff_match_patch(),\n\t\tdiffs = dmpObject.diff_main(this.getAttribute(\"source\"),this.getAttribute(\"dest\"));\n\t// Apply required cleanup\n\tswitch(this.getAttribute(\"cleanup\",\"semantic\")) {\n\t\tcase \"none\":\n\t\t\t// No cleanup\n\t\t\tbreak;\n\t\tcase \"efficiency\":\n\t\t\tdmpObject.diff_cleanupEfficiency(diffs);\n\t\t\tbreak;\n\t\tdefault: // case \"semantic\"\n\t\t\tdmpObject.diff_cleanupSemantic(diffs);\n\t\t\tbreak;\n\t}\n\t// Create the elements\n\tvar domContainer = this.document.createElement(\"div\"), \n\t\tdomDiff = this.createDiffDom(diffs);\n\tparent.insertBefore(domContainer,nextSibling);\n\t// Set variables\n\tthis.setVariable(\"diff-count\",diffs.reduce(function(acc,diff) {\n\t\tif(diff[0] !== dmp.DIFF_EQUAL) {\n\t\t\tacc++;\n\t\t}\n\t\treturn acc;\n\t},0).toString());\n\t// Render child widgets\n\tthis.renderChildren(domContainer,null);\n\t// Render the diff\n\tdomContainer.appendChild(domDiff);\n\t// Save our container\n\tthis.domNodes.push(domContainer);\n};\n\n/*\nCreate DOM elements representing a list of diffs\n*/\nDiffTextWidget.prototype.createDiffDom = function(diffs) {\n\tvar self = this;\n\t// Create the element and assign the attributes\n\tvar domPre = this.document.createElement(\"pre\"),\n\t\tdomCode = this.document.createElement(\"code\");\n\t$tw.utils.each(diffs,function(diff) {\n\t\tvar tag = diff[0] === dmp.DIFF_INSERT ? \"ins\" : (diff[0] === dmp.DIFF_DELETE ? \"del\" : \"span\"),\n\t\t\tclassName = diff[0] === dmp.DIFF_INSERT ? \"tc-diff-insert\" : (diff[0] === dmp.DIFF_DELETE ? \"tc-diff-delete\" : \"tc-diff-equal\"),\n\t\t\tdom = self.document.createElement(tag),\n\t\t\ttext = diff[1],\n\t\t\tcurrPos = 0,\n\t\t\tre = /([\\x00-\\x1F])/mg,\n\t\t\tmatch = re.exec(text),\n\t\t\tspan,\n\t\t\tprintable;\n\t\tdom.className = className;\n\t\twhile(match) {\n\t\t\tif(currPos < match.index) {\n\t\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos,match.index)));\n\t\t\t}\n\t\t\tspan = self.document.createElement(\"span\");\n\t\t\tspan.className = \"tc-diff-invisible\";\n\t\t\tprintable = self.invisibleCharacters[match[0]] || (\"[0x\" + match[0].charCodeAt(0).toString(16) + \"]\");\n\t\t\tspan.appendChild(self.document.createTextNode(printable));\n\t\t\tdom.appendChild(span);\n\t\t\tcurrPos = match.index + match[0].length;\n\t\t\tmatch = re.exec(text);\n\t\t}\n\t\tif(currPos < text.length) {\n\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos)));\n\t\t}\n\t\tdomCode.appendChild(dom);\n\t});\n\tdomPre.appendChild(domCode);\n\treturn domPre;\n};\n\n/*\nCompute the internal state of the widget\n*/\nDiffTextWidget.prototype.execute = function() {\n\t// Make child widgets\n\tvar parseTreeNodes;\n\tif(this.parseTreeNode && this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: \"$:/language/Diffs/CountMessage\"}\n\t\t\t}\n\t\t}];\n\t}\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDiffTextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.dest || changedAttributes.cleanup) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports[\"diff-text\"] = DiffTextWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/draggable.js": {
            "title": "$:/core/modules/widgets/draggable.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/draggable.js\ntype: application/javascript\nmodule-type: widget\n\nDraggable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DraggableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDraggableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDraggableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Sanitise the specified tag\n\tvar tag = this.draggableTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"div\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [\"tc-draggable\"];\n\tif(this.draggableClasses) {\n\t\tclasses.push(this.draggableClasses);\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Add event handlers\n\t$tw.utils.makeDraggable({\n\t\tdomNode: domNode,\n\t\tdragTiddlerFn: function() {return self.getAttribute(\"tiddler\");},\n\t\tdragFilterFn: function() {return self.getAttribute(\"filter\");},\n\t\tstartActions: self.startActions,\n\t\tendActions: self.endActions,\n\t\twidget: this\n\t});\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nDraggableWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.draggableTag = this.getAttribute(\"tag\",\"div\");\n\tthis.draggableClasses = this.getAttribute(\"class\");\n\tthis.startActions = this.getAttribute(\"startactions\");\n\tthis.endActions = this.getAttribute(\"endactions\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tag || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.draggable = DraggableWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/droppable.js": {
            "title": "$:/core/modules/widgets/droppable.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/droppable.js\ntype: application/javascript\nmodule-type: widget\n\nDroppable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DroppableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDroppableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDroppableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\n\t\ttag = this.droppableTag;\n\t}\n\t// Create element and assign classes\n\tvar domNode = this.document.createElement(tag),\n\t\tclasses = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-droppable\");\n\tdomNode.className = classes.join(\" \");\n\t// Add event handlers\n\tif(this.droppableEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"}\n\t\t]);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDroppableWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDroppableWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\n\tif(this.currentlyEntered.length === 0 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\n\t\tthis.currentlyEntered = [];\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDroppableWidget.prototype.handleDragEnterEvent  = function(event) {\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragOverEvent  = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Set the drop effect\n\tevent.dataTransfer.dropEffect = this.droppableEffect;\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragLeaveEvent  = function(event) {\n\tthis.leaveDrag(event);\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDropEvent  = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\tvar dataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Try to import the various data types we understand\n\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\n\t\tfieldsArray.forEach(function(fields) {\n\t\t\tself.performActions(fields.title || fields.text,event);\n\t\t});\n\t});\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.performActions = function(title,event) {\n\tif(this.droppableActions) {\n\t\tvar modifierKey = event.ctrlKey && ! event.shiftKey ? \"ctrl\" : event.shiftKey && !event.ctrlKey ? \"shift\" : \n\t\t\t\tevent.ctrlKey && event.shiftKey ? \"ctrl-shift\" : \"normal\" ;\n\t\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title, modifier: modifierKey});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDroppableWidget.prototype.execute = function() {\n\tthis.droppableActions = this.getAttribute(\"actions\");\n\tthis.droppableEffect = this.getAttribute(\"effect\",\"copy\");\n\tthis.droppableTag = this.getAttribute(\"tag\");\n\tthis.droppableClass = this.getAttribute(\"class\");\n\tthis.droppableEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"] || changedAttributes.tag || changedAttributes.enable) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.droppable = DroppableWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/dropzone.js": {
            "title": "$:/core/modules/widgets/dropzone.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = this.dropzoneClass || \"tc-dropzone\";\n\t// Add event handlers\n\tif(this.dropzoneEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"},\n\t\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t\t]);\t\t\n\t}\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDropZoneWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally\n\tif(this.currentlyEntered.length === 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent  = function(event) {\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent  = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent  = function(event) {\n\tthis.leaveDrag(event);\n};\n\nDropZoneWidget.prototype.handleDragEndEvent = function(event) {\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.handleDropEvent  = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t};\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = 0;\n\tif(dataTransfer.files) {\n\t\tnumFiles = this.wiki.readFiles(dataTransfer.files,{\n\t\t\tcallback: readFileCallback,\n\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t});\n\t}\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\t$tw.utils.importDataTransfer(dataTransfer,this.wiki.generateNewTitle(\"Untitled\"),readFileCallback);\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handlePasteEvent  = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t};\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),{\n\t\t\t\t\tcallback: readFileCallback,\n\t\t\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\tthis.dropzoneClass = this.getAttribute(\"class\");\n\tthis.dropzoneDeserializer = this.getAttribute(\"deserializer\");\n\tthis.dropzoneEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.enable) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-binary.js": {
            "title": "$:/core/modules/widgets/edit-binary.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Get our parameters\n\tvar editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tvar tiddler = this.wiki.getTiddler(editTitle);\n\tvar type = tiddler.fields.type;\n\tvar text = tiddler.fields.text;\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on draft tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!draft.title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!draft.title\"}\n\t\t},\n\t\tchildren: [{\n\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to internal data URI (no external)\n\tif(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets([element]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-bitmap.js": {
            "title": "$:/core/modules/widgets/edit-bitmap.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370,\n\tDEFAULT_IMAGE_TYPE = \"image/png\";\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tif(tiddler && tiddler.fields.type && tiddler.fields.text) {\n\t\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\t\t\n\t} else {\n\t\tcurrImage.width = DEFAULT_IMAGE_WIDTH;\n\t\tcurrImage.height = DEFAULT_IMAGE_HEIGHT;\n\t\tcurrImage.onerror();\n\t}\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\n/*\n** Rotate the canvas left by 90 degrees\n*/\nEditBitmapWidget.prototype.rotateCanvasLeft = function() {\n\t// Get the current size of the image\n\tvar origWidth = this.currCanvas.width,\n\t\torigHeight = this.currCanvas.height;\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\"),\n\t\tnewWidth = origHeight,\n\t\tnewHeight = origWidth;\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.save();\n\tctx.translate(newWidth / 2,newHeight / 2);\n\tctx.rotate(-Math.PI / 2);\n\tctx.drawImage(this.currCanvas,-origWidth / 2,-origHeight / 2);\n\tctx.restore();\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle) || new $tw.Tiddler({title: this.editTitle,type: DEFAULT_IMAGE_TYPE});\n\t// data URIs look like \"data:<type>;base64,<text>\"\n\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\tposColon = dataURL.indexOf(\":\"),\n\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\tposComma = dataURL.indexOf(\",\"),\n\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\ttext = dataURL.substring(posComma+1);\n\tvar update = {type: type, text: text};\n\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-shortcut.js": {
            "title": "$:/core/modules/widgets/edit-shortcut.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\t\t\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n\t// Focus the input Node if focus === \"yes\" or focus === \"true\"\n\tif(this.shortcutFocus === \"yes\" || this.shortcutFocus === \"true\") {\n\t\tthis.focus();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n\tthis.shortcutFocus = this.getAttribute(\"focus\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\t\t\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nfocus the input node\n*/\nEditShortcutWidget.prototype.focus = function() {\n\tif(this.inputNode.focus && this.inputNode.select) {\n\t\tthis.inputNode.focus();\n\t\tthis.inputNode.select();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"] || changedAttributes.focus) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-text.js": {
            "title": "$:/core/modules/widgets/edit-text.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit.js": {
            "title": "$:/core/modules/widgets/edit.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\tthis.editFocus = this.getAttribute(\"focus\",\"\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder},\n\t\t\t\"tabindex\": {type: \"string\", value: this.editTabIndex},\n\t\t\t\"focus\": {type: \"string\", value: this.editFocus}\n\t\t},\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/element.js": {
            "title": "$:/core/modules/widgets/element.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Neuter blacklisted elements\n\tvar tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"safe-\" + tag;\n\t}\n\t// Adjust headings by the current base level\n\tvar headingLevel = [\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].indexOf(tag);\n\tif(headingLevel !== -1) {\n\t\tvar baseLevel = parseInt(this.getVariable(\"tv-adjust-heading-level\",\"0\"),10) || 0;\n\t\theadingLevel = Math.min(Math.max(headingLevel + 1 + baseLevel,1),6);\n\t\ttag = \"h\" + headingLevel;\n\t}\n\t// Create the DOM node\n\tvar domNode = this.document.createElementNS(this.namespace,tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/encrypt.js": {
            "title": "$:/core/modules/widgets/encrypt.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/entity.js": {
            "title": "$:/core/modules/widgets/entity.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/fieldmangler.js": {
            "title": "$:/core/modules/widgets/fieldmangler.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler(new $tw.Tiddler({title: this.mangleTitle, tags: tag},modification));\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/fields.js": {
            "title": "$:/core/modules/widgets/fields.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.sort = this.getAttribute(\"sort\",\"yes\") === \"yes\";\n\tthis.sortReverse = this.getAttribute(\"sortReverse\",\"no\") === \"yes\";\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.include = this.getAttribute(\"include\",null);\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\n\t// Get the inclusion and exclusion list\n\tvar excludeArr = (this.exclude) ? this.exclude.split(\" \") : [\"text\"];\n\t// Include takes precedence\n\tvar includeArr = (this.include) ? this.include.split(\" \") : null;\n\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tif (includeArr) { // Include takes precedence\n\t\t\tfor(var i=0; i<includeArr.length; i++) {\n\t\t\t\tif(tiddler.fields[includeArr[i]]) {\n\t\t\t\t\tfields.push(includeArr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\tif(excludeArr.indexOf(fieldName) === -1) {\n\t\t\t\t\tfields.push(fieldName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.sort) fields.sort();\n\t\tif (this.sortReverse) fields.reverse();\n\t\tfor(var f=0, fmax=fields.length; f<fmax; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tvar row = this.template,\n\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\tif(reMatch) {\n\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\ttext.push(row);\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif( changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude ||\n\t\tchangedAttributes.include || changedAttributes.sort || changedAttributes.sortReverse ||\n\t\tchangedTiddlers[this.tiddlerTitle] || changedAttributes.stripTitlePrefix) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/image.js": {
            "title": "$:/core/modules/widgets/image.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/importvariables.js": {
            "title": "$:/core/modules/widgets/importvariables.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar widgetPointer = this;\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = widgetPointer.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\tvar node = {\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params,\n\t\t\t\t\tisMacroDefinition: parseTreeNode.isMacroDefinition\n\t\t\t\t};\n\t\t\t\tif (parseTreeNode.isMacroDefinition) {\n\t\t\t\t\t// Macro definitions can be folded into\n\t\t\t\t\t// current widget instead of adding\n\t\t\t\t\t// another link to the chain.\n\t\t\t\t\tvar widget = widgetPointer.makeChildWidget(node);\n\t\t\t\t\twidget.computeAttributes();\n\t\t\t\t\twidget.execute();\n\t\t\t\t\t// We SHALLOW copy over all variables\n\t\t\t\t\t// in widget. We can't use\n\t\t\t\t\t// $tw.utils.assign, because that copies\n\t\t\t\t\t// up the prototype chain, which we\n\t\t\t\t\t// don't want.\n\t\t\t\t\t$tw.utils.each(Object.keys(widget.variables), function(key) {\n\t\t\t\t\t\twidgetPointer.variables[key] = widget.variables[key];\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\twidgetPointer.makeChildWidgets([node]);\n\t\t\t\t\twidgetPointer = widgetPointer.children[0];\n\t\t\t\t}\n\t\t\t\tparseTreeNode = parseTreeNode.children && parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\n\tif (widgetPointer != this) {\n\t\twidgetPointer.parseTreeNode.children = this.parseTreeNode.children;\n\t} else {\n\t\twidgetPointer.makeChildWidgets();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/keyboard.js": {
            "title": "$:/core/modules/widgets/keyboard.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.keyboardManager.checkKeyDescriptors(event,self.keyInfoArray)) {\n\t\t\tself.invokeActions(self,event);\n\t\t\tif(self.actions) {\n\t\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t\t}\n\t\t\tself.dispatchMessage(event);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\",\"\");\n\tthis.message = this.getAttribute(\"message\",\"\");\n\tthis.param = this.getAttribute(\"param\",\"\");\n\tthis.key = this.getAttribute(\"key\",\"\");\n\tthis.tag = this.getAttribute(\"tag\",\"\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tif(this.key.substr(0,2) === \"((\" && this.key.substr(-2,2) === \"))\") {\n\t\tthis.shortcutTiddlers = [];\n\t\tvar name = this.key.substring(2,this.key.length -2);\n\t\t$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {\n\t\t\tself.shortcutTiddlers.push(\"$:/config/\" + platformDescriptor + \"/\" + name);\n\t\t});\n\t}\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\t// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed\n\tif(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {\n\t\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/link.js": {
            "title": "$:/core/modules/widgets/link.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.overrideClasses === undefined) {\n\t\tclasses.push(\"tc-tiddlylink\");\n\t\tif(this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t\t}\n\t\tif(this.isMissing && !this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t\t} else {\n\t\t\tif(!this.isMissing) {\n\t\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t\t}\n\t\t}\n\t\tif(this.linkClasses) {\n\t\t\tclasses.push(this.linkClasses);\t\t\t\n\t\t}\n\t} else if(this.overrideClasses !== \"\") {\n\t\tclasses.push(this.overrideClasses)\n\t}\n\tif(classes.length > 0) {\n\t\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t}\n\t// Set an href\n\tvar wikilinkTransformFilter = this.getVariable(\"tv-filter-export-link\"),\n\t\twikiLinkText;\n\tif(wikilinkTransformFilter) {\n\t\t// Use the filter to construct the href\n\t\twikiLinkText = this.wiki.filterTiddlers(wikilinkTransformFilter,this,function(iterator) {\n\t\t\titerator(self.wiki.getTiddler(self.to),self.to)\n\t\t})[0];\n\t} else {\n\t\t// Expand the tv-wikilink-template variable to construct the href\n\t\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\";\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\"$uri_encoded$\",encodeURIComponent(this.to));\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\t}\n\t// Override with the value of tv-get-export-link if defined\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\t// Make the link draggable if required\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.to;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tmetaKey: event.metaKey,\n\t\tctrlKey: event.ctrlKey,\n\t\taltKey: event.altKey,\n\t\tshiftKey: event.shiftKey\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.overrideClasses = this.getAttribute(\"overrideClass\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = (this.getVariable(\"tv-show-missing-links\") || \"yes\") === \"no\";\n\t// Make the child widgets\n\tvar templateTree;\n\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\ttemplateTree = this.parseTreeNode.children;\n\t} else {\n\t\t// Default template is a link to the title\n\t\ttemplateTree = [{type: \"text\", text: this.to}];\n\t}\n\tthis.makeChildWidgets(templateTree);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/linkcatcher.js": {
            "title": "$:/core/modules/widgets/linkcatcher.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n\t// When executing actions we avoid trapping navigate events, so that we don't trigger ourselves recursively\n\tthis.executingActions = false;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(!this.executingActions) {\n\t\t// Execute the actions\n\t\tif(this.catchTo) {\n\t\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t\t}\n\t\tif(this.catchMessage && this.parentWidget) {\n\t\t\tthis.parentWidget.dispatchEvent({\n\t\t\t\ttype: this.catchMessage,\n\t\t\t\tparam: event.navigateTo,\n\t\t\t\tnavigateTo: event.navigateTo\n\t\t\t});\n\t\t}\n\t\tif(this.catchSet) {\n\t\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t\t}\n\t\tif(this.catchActions) {\n\t\t\tthis.executingActions = true;\n\t\t\tthis.invokeActionString(this.catchActions,this,event,{navigateTo: event.navigateTo});\n\t\t\tthis.executingActions = false;\n\t\t}\n\t} else {\n\t\t// This is a navigate event generated by the actions of this linkcatcher, so we don't trap it again, but just pass it to the parent\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: \"tm-navigate\",\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/list.js": {
            "title": "$:/core/modules/widgets/list.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(this.storyViewName && !StoryView) {\n\t\tStoryView = this.storyViews[\"classic\"];\n\t}\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/macrocall.js": {
            "title": "$:/core/modules/widgets/macrocall.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar macroName = this.parseTreeNode.name || this.getAttribute(\"$name\"),\n\t\tvariableInfo = this.getVariableInfo(macroName,{params: params}),\n\t\ttext = variableInfo.text,\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t\t// Wrap the parse tree in a vars widget assigning the parameters to variables named \"__paramname__\"\n\t\tvar attributes = {};\n\t\t$tw.utils.each(variableInfo.params,function(param) {\n\t\t\tvar name = \"__\" + param.name + \"__\";\n\t\t\tattributes[name] = {\n\t\t\t\tname: name,\n\t\t\t\ttype: \"string\",\n\t\t\t\tvalue: param.value\n\t\t\t};\n\t\t});\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"vars\",\n\t\t\tattributes: attributes,\n\t\t\tchildren: parseTreeNodes\n\t\t}];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/navigator.js": {
            "title": "$:/core/modules/widgets/navigator.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\tthis.setVariable(\"tv-story-list\",this.storyTitle);\n\tthis.setVariable(\"tv-history-list\",this.historyTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tif(this.storyTitle) {\n\t\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t{title: this.storyTitle},\n\t\t\tstoryTiddler,\n\t\t\t{list: storyList}\n\t\t));\t\t\n\t}\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tif(storyList) {\n\t\tvar p = storyList.indexOf(title);\n\t\twhile(p !== -1) {\n\t\t\tstoryList.splice(p,1);\n\t\t\tp = storyList.indexOf(title);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tif(storyList) {\n\t\tvar pos = storyList.indexOf(oldTitle);\n\t\tif(pos !== -1) {\n\t\t\tstoryList[pos] = newTitle;\n\t\t\tdo {\n\t\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\t\tif(pos !== -1) {\n\t\t\t\t\tstoryList.splice(pos,1);\n\t\t\t\t}\n\t\t\t} while(pos !== -1);\n\t\t} else {\n\t\t\tstoryList.splice(0,0,newTitle);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tif(this.storyTitle) {\n\t\tthis.wiki.addToStory(title,fromTitle,this.storyTitle,{\n\t\t\topenLinkFromInsideRiver: this.getAttribute(\"openLinkFromInsideRiver\",\"top\"),\n\t\t\topenLinkFromOutsideRiver: this.getAttribute(\"openLinkFromOutsideRiver\",\"top\")\n\t\t});\n\t}\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar editTiddler = $tw.hooks.invokeHook(\"th-editing-tiddler\",event);\n\tif(!editTiddler) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\treturn this.wiki.generateDraftTitle(title);\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\nconsole.log(\"Relinking '\" + draftOf + \"' to '\" + draftTitle + \"'\");\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-cancelling-tiddler\", event);\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-new-tiddler\", event);\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Make a copy of the additional fields excluding any blank ones\n\tvar filteredAdditionalFields = $tw.utils.extend({},additionalFields);\n\tObject.keys(filteredAdditionalFields).forEach(function(fieldName) {\n\t\tif(filteredAdditionalFields[fieldName] === \"\") {\n\t\t\tdelete filteredAdditionalFields[fieldName];\n\t\t}\n\t});\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\texistingTiddler,\n\t\tfilteredAdditionalFields,\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList && storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tif(slot === -1) {\n\t\t\tslot = this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\" ? storyList.length - 1 : slot;\n\t\t}\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList && storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\ttiddlerFields.title = $tw.utils.trim(tiddlerFields.title);\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList && storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n//\nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix || \"$:/state/folded/\";\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\tthis.wiki.renameTiddler(from,to);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/password.js": {
            "title": "$:/core/modules/widgets/password.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/qualify.js": {
            "title": "$:/core/modules/widgets/qualify.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/qualify.js\ntype: application/javascript\nmodule-type: widget\n\nQualify text to a variable \n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar QualifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nQualifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nQualifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nQualifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.qualifyName = this.getAttribute(\"name\");\n\tthis.qualifyTitle = this.getAttribute(\"title\");\n\t// Set context variable\n\tif(this.qualifyName) {\n\t\tthis.setVariable(this.qualifyName,this.qualifyTitle + \"-\" + this.getStateQualifier());\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nQualifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.title) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.qualify = QualifyWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/radio.js": {
            "title": "$:/core/modules/widgets/radio.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nSet a field or index at a given tiddler via radio buttons\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tvar isChecked = this.getValue() === this.radioValue;\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",\n   \t\t\"tc-radio \" + this.radioClass + (isChecked ? \" tc-radio-selected\" : \"\")\n  \t);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(isChecked) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.radioTitle);\n\tif (this.radioIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex);\n\t} else {\n\t\tvalue = tiddler && tiddler.getFieldString(this.radioField);\n\t}\n\treturn value;\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioIndex) {\n\t\tthis.wiki.setText(this.radioTitle,\"\",this.radioIndex,this.radioValue);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioIndex = this.getAttribute(\"index\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/range.js": {
            "title": "$:/core/modules/widgets/range.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/range.js\ntype: application/javascript\nmodule-type: widget\n\nRange widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RangeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRangeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRangeWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"range\");\n\tthis.inputDomNode.setAttribute(\"class\",this.elementClass);\n\tif(this.minValue){\n\t\tthis.inputDomNode.setAttribute(\"min\", this.minValue);\n\t}\n\tif(this.maxValue){\n\t\tthis.inputDomNode.setAttribute(\"max\", this.maxValue);\n\t}\n\tif(this.increment){\n\t\tthis.inputDomNode.setAttribute(\"step\", this.increment);\n\t}\n\tthis.inputDomNode.value = this.getValue();\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\t\t\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.inputDomNode,nextSibling);\n\tthis.domNodes.push(this.inputDomNode);\n};\n\nRangeWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle),\n\t\tfieldName = this.tiddlerField || \"text\",\n\t\tvalue   = this.defaultValue;\n\tif(tiddler) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.tiddlerIndex,this.defaultValue || \"\");\n\t\t} else {\n\t\t\tif($tw.utils.hop(tiddler.fields,fieldName)) {\n\t\t\t\tvalue = tiddler.fields[fieldName] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.defaultValue || \"\";\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nRangeWidget.prototype.handleInputEvent = function(event) {\n\tif(this.getValue() !== this.inputDomNode.value) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,\"\",this.tiddlerIndex,this.inputDomNode.value);\n\t\t} else {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,this.tiddlerField,null,this.inputDomNode.value);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRangeWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.tiddlerField = this.getAttribute(\"field\");\n\tthis.tiddlerIndex = this.getAttribute(\"index\");\n\tthis.minValue = this.getAttribute(\"min\");\n\tthis.maxValue = this.getAttribute(\"max\");\n\tthis.increment = this.getAttribute(\"increment\");\n\tthis.defaultValue = this.getAttribute(\"default\");\n\tthis.elementClass = this.getAttribute(\"class\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRangeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes['min'] || changedAttributes['max'] || changedAttributes['increment'] || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.tiddlerTitle]) {\n\t\t\tvar value = this.getValue();\n\t\t\tif(this.inputDomNode.value !== value) {\n\t\t\t\tthis.inputDomNode.value = value;\t\t\t\t\n\t\t\t}\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.range = RangeWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/raw.js": {
            "title": "$:/core/modules/widgets/raw.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/reveal.js": {
            "title": "$:/core/modules/widgets/reveal.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tc-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tvar left,top;\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tleft = this.popup.left + this.popup.width - domNode.offsetWidth;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t}\n\tif(!this.positionAllowNegative) {\n\t\tleft = Math.max(0,left);\n\t\ttop = Math.max(0,top);\n\t}\n\tdomNode.style.left = left + \"px\";\n\tdomNode.style.top = top + \"px\";\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis.positionAllowNegative = this.getAttribute(\"positionAllowNegative\") === \"yes\";\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTiddlerTitle = this.state;\n\tthis.stateTitle = this.getAttribute(\"stateTitle\");\n\tthis.stateField = this.getAttribute(\"stateField\");\n\tthis.stateIndex = this.getAttribute(\"stateIndex\");\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state,\n\t    defaultState = this[\"default\"];\n\tif(this.stateTitle) {\n\t\tvar stateTitleTiddler = this.wiki.getTiddler(this.stateTitle);\n\t\tif(this.stateField) {\n\t\t\tstate = stateTitleTiddler ? stateTitleTiddler.getFieldString(this.stateField) || defaultState : defaultState;\n\t\t} else if(this.stateIndex) {\n\t\t\tstate = stateTitleTiddler ? this.wiki.extractTiddlerDataItem(this.stateTitle,this.stateIndex) || defaultState : defaultState;\n\t\t} else if(stateTitleTiddler) {\n\t\t\tstate = this.wiki.getTiddlerText(this.stateTitle) || defaultState;\n\t\t} else {\n\t\t\tstate = defaultState;\n\t\t}\n\t} else {\n\t\tstate = this.stateTiddlerTitle ? this.wiki.getTextReference(this.state,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\t}\n\tif(state === null) {\n\t\tstate = this[\"default\"];\n\t}\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.isOpen = this.text === state;\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.isOpen = this.text !== state;\n\t\t\tbreak;\n\t\tcase \"lt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t\tcase \"gt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"lteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"gteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.compareStateText = function(state) {\n\treturn state.localeCompare(this.text,undefined,{numeric: true,sensitivity: \"case\"});\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes.positionAllowNegative || changedAttributes[\"default\"] || changedAttributes.animate || changedAttributes.stateTitle || changedAttributes.stateField || changedAttributes.stateIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar currentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\tvar self = this;\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n        $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\t//make sure that the state hasn't changed during the close animation\n\t\t\tself.readState()\n\t\t\tif(!self.isOpen) {\n\t\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t\t\t}\n\t\t}});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/scrollable.js": {
            "title": "$:/core/modules/widgets/scrollable.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tthis.scrollIntoView(event.target);\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/select.js": {
            "title": "$:/core/modules/widgets/select.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex,value);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tselect.children[i].selected = values.indexOf(select.children[i].value) !== -1\n\t\t}\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\tthis.selectTooltip = this.getAttribute(\"tooltip\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tif(this.selectMultiple) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"size\",this.selectSize);\n\t}\n\tif(this.selectTooltip) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"title\",this.selectTooltip);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex || changedAttributes.selectTooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/set.js": {
            "title": "$:/core/modules/widgets/set.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setSelect = this.getAttribute(\"select\");\n\tthis.setTiddler = this.getAttribute(\"tiddler\");\n\tthis.setSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.setField = this.getAttribute(\"field\");\n\tthis.setIndex = this.getAttribute(\"index\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,!!this.parseTreeNode.isMacroDefinition);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setTiddler) {\n\t\tvar tiddler;\n\t\tif(this.setSubTiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.setTiddler,this.setSubTiddler);\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.setTiddler);\t\t\t\n\t\t}\n\t\tif(!tiddler) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t} else if(this.setField) {\n\t\t\tvalue = tiddler.getFieldString(this.setField) || this.setEmptyValue;\n\t\t} else if(this.setIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.setTiddler,this.setIndex,this.setEmptyValue);\n\t\t} else {\n\t\t\tvalue = tiddler.fields.text || this.setEmptyValue ;\n\t\t}\n\t} else if(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(this.setValue == null) {\n\t\t\tvar select;\n\t\t\tif(this.setSelect) {\n\t\t\t\tselect = parseInt(this.setSelect,10);\n\t\t\t}\n\t\t\tif(select !== undefined) {\n\t\t\t\tvalue = results[select] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = $tw.utils.stringifyList(results);\t\t\t\n\t\t\t}\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value || \"\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select || changedAttributes.tiddler || (this.setTiddler && changedTiddlers[this.setTiddler]) || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes.emptyValue ||\n\t   (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/text.js": {
            "title": "$:/core/modules/widgets/text.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/tiddler.js": {
            "title": "$:/core/modules/widgets/tiddler.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/transclude.js": {
            "title": "$:/core/modules/widgets/transclude.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/vars.js": {
            "title": "$:/core/modules/widgets/vars.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n  <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Call the constructor\n\tWidget.call(this);\n\t// Initialise\t\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = Object.create(Widget.prototype);\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/view.js": {
            "title": "$:/core/modules/widgets/view.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tthis.viewMode = this.getAttribute(\"mode\",\"block\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function(mode) {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/widget.js": {
            "title": "$:/core/modules/widgets/widget.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\t// Bail if parseTreeNode is undefined, meaning  that the widget constructor was called without any arguments so that it can be subclassed\n\tif(parseTreeNode === undefined) {\n\t\treturn;\n\t}\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\t// Get widget classes\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t\t// Process any subclasses\n\t\t$tw.modules.forEachModuleOfType(\"widget-subclass\",function(title,module) {\n\t\t\tif(module.baseClass) {\n\t\t\t\tvar baseClass = Widget.prototype.widgetClasses[module.baseClass];\n\t\t\t\tif(!baseClass) {\n\t\t\t\t\tthrow \"Module '\" + title + \"' is attemping to extend a non-existent base class '\" + module.baseClass + \"'\";\n\t\t\t\t}\n\t\t\t\tvar subClass = module.constructor;\n\t\t\t\tsubClass.prototype = new baseClass();\n\t\t\t\t$tw.utils.extend(subClass.prototype,module.prototype);\n\t\t\t\tWidget.prototype.widgetClasses[module.name || module.baseClass] = subClass;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\nisMacroDefinition: true if the variable is set via a \\define macro pragma (and hence should have variable substitution performed)\n*/\nWidget.prototype.setVariable = function(name,value,params,isMacroDefinition) {\n\tthis.variables[name] = {value: value, params: params, isMacroDefinition: !!isMacroDefinition};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n\nReturns an object with the following fields:\n\nparams: array of {name:,value:} of parameters passed to wikitext variables\ntext: text of variable, with parameters properly substituted\n*/\nWidget.prototype.getVariableInfo = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\tvalue = variable.value,\n\t\t\tparams = this.resolveVariableParameters(variable.params,actualParams);\n\t\t// Substitute any parameters specified in the definition\n\t\t$tw.utils.each(params,function(param) {\n\t\t\tvalue = $tw.utils.replaceString(value,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(param.name) + \"\\\\$\",\"mg\"),param.value);\n\t\t});\n\t\t// Only substitute variable references if this variable was defined with the \\define pragma\n\t\tif(variable.isMacroDefinition) {\n\t\t\tvalue = this.substituteVariableReferences(value);\t\t\t\n\t\t}\n\t\treturn {\n\t\t\ttext: value,\n\t\t\tparams: params\n\t\t};\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn {\n\t\ttext: this.evaluateMacroModule(name,actualParams,options.defaultValue)\n\t};\n};\n\n/*\nSimplified version of getVariableInfo() that just returns the text\n*/\nWidget.prototype.getVariable = function(name,options) {\n\treturn this.getVariableInfo(name,options).text;\n};\n\nWidget.prototype.resolveVariableParameters = function(formalParams,actualParams) {\n\tformalParams = formalParams || [];\n\tactualParams = actualParams || [];\n\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\tparamInfo, paramValue,\n\t\tresults = [];\n\t// Step through each of the parameters in the macro definition\n\tfor(var p=0; p<formalParams.length; p++) {\n\t\t// Check if we've got a macro call parameter with the same name\n\t\tparamInfo = formalParams[p];\n\t\tparamValue = undefined;\n\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t}\n\t\t}\n\t\t// If not, use the next available anonymous macro call parameter\n\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\tnextAnonParameter++;\n\t\t}\n\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t}\n\t\t// If we've still not got a value, use the default, if any\n\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t// Store the parameter name and value\n\t\tresults.push({name: paramInfo.name, value: paramValue});\n\t}\n\treturn results;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"filtered\") {\n\t\t\tvalue = self.wiki.filterTiddlers(attribute.filter,self)[0] || \"\";\n\t\t} else if(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\tvar children = this.children;\n\tfor(var i = 0; i < children.length; i++) {\n\t\tchildren[i].render(parent,nextSibling);\n\t};\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar children = this.children,\n\t\trefreshed = false;\n\tfor (var i = 0; i < children.length; i++) {\n\t\trefreshed = children[i].refresh(changedTiddlers) || refreshed;\n\t}\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\t// Invoke the child if it is an action widget\n\t\tif(child.invokeAction) {\n\t\t\tchild.refreshSelf();\n\t\t\tif(child.invokeAction(triggeringWidget,event)) {\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document,\n\t\t\tvariables: variables\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\nexports.widget = Widget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/wikify.js": {
            "title": "$:/core/modules/widgets/wikify.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"formattedtext\":\n\t\t\tresult = this.wikifyContainer.formattedTextContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\t\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/wiki-bulkops.js": {
            "title": "$:/core/modules/wiki-bulkops.js",
            "text": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nfunction renameTiddler(fromTitle,toTitle,options) {\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar oldTiddler = this.getTiddler(fromTitle),\n\t\t\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-renaming-tiddler\",newTiddler,oldTiddler);\n\t\tthis.addTiddler(newTiddler);\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.relinkTiddler(fromTitle,toTitle,options)\n\t}\n}\n\n/*\nRelink any tags or lists that reference a given tiddler\n*/\nfunction relinkTiddler(fromTitle,toTitle,options) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar type = tiddler.fields.type || \"\";\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(!tiddler.fields[\"plugin-type\"] && type !== \"application/javascript\") {\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.slice(0) : undefined,\n\t\t\t\t\tlist = tiddler.fields.list ? tiddler.fields.list.slice(0) : undefined,\n\t\t\t\t\tisModified = false;\n\t\t\t\tif(!options.dontRenameInTags) {\n\t\t\t\t\t// Rename tags\n\t\t\t\t\t$tw.utils.each(tags,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming tag '\" + tags[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\ttags[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(!options.dontRenameInLists) {\n\t\t\t\t\t// Rename lists\n\t\t\t\t\t$tw.utils.each(list,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming list item '\" + list[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\tlist[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(isModified) {\n\t\t\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields())\n\t\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\t\t\tself.addTiddler(newTiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.renameTiddler = renameTiddler;\nexports.relinkTiddler = relinkTiddler;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/core/modules/wiki.js": {
            "title": "$:/core/modules/wiki.js",
            "text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\",\n\tTIMESTAMP_DISABLE_TITLE = \"$:/config/TimestampDisable\";\n\n/*\nAdd available indexers to this wiki\n*/\nexports.addIndexersToWiki = function() {\n\tvar self = this;\n\t$tw.utils.each($tw.modules.applyMethods(\"indexer\"),function(Indexer,name) {\n\t\tself.addIndexer(new Indexer(self),name);\n\t});\n};\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,modificationFields);\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type]  || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.isBinaryTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.encoding === \"base64\";\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = {\n\t\t\t\tcreated: new Date()\n\t\t\t},\n\t\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\t\tif(creator) {\n\t\t\tfields.creator = creator;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = Object.create(null),\n\t\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\t\tfields.modified = new Date();\n\t\tif(modifier) {\n\t\t\tfields.modifier = modifier;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a sorted array of tiddler titles.  Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric,isAlphaNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tvar x,y,\n\t\t\tcompareNumbers = function(x,y) {\n\t\t\t\tvar result = \n\t\t\t\t\tisNaN(x) && !isNaN(y) ? (isDescending ? -1 : 1) :\n\t\t\t\t\t!isNaN(x) && isNaN(y) ? (isDescending ? 1 : -1) :\n\t\t\t\t\t\t\t\t\t\t\t(isDescending ? y - x :  x - y);\n\t\t\t\treturn result;\n\t\t\t};\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tx = Number(a);\n\t\ty = Number(b);\n\t\tif(isNumeric && (!isNaN(x) || !isNaN(y))) {\n\t\t\treturn compareNumbers(x,y);\n\t\t} else if(isAlphaNumeric) {\n\t\t\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked within the given parse tree\n */\nexports.extractLinks = function(parseTreeRoot) {\n\t// Count up the links\n\tvar links = [],\n\t\tcheckParseTree = function(parseTree) {\n\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcheckParseTree(parseTreeRoot);\n\treturn links;\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\tif(parser) {\n\t\t\treturn self.extractLinks(parser.tree);\n\t\t}\n\t\treturn [];\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinksIndexer = this.getIndexer(\"BacklinksIndexer\"),\n\t\tbacklinks = backlinksIndexer && backlinksIndexer.lookup(targetTitle);\n\n\tif(!backlinks) {\n\t\tbacklinks = [];\n\t\tthis.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self.getTiddlerLinks(title);\n\t\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\t\tbacklinks.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\t// Try to use the indexer\n\tvar self = this,\n\t\ttagIndexer = this.getIndexer(\"TagIndexer\"),\n\t\tresults = tagIndexer && tagIndexer.subIndexers[3].lookup(tag);\n\tif(!results) {\n\t\t// If not available, perform a manual scan\n\t\tresults = this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\t\tvar tagmap = self.getTagMap();\n\t\t\treturn self.sortByList(tagmap[tag],tag);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar self = this,\n\t\treplacedTitles = Object.create(null);\n\t// Given a title, this function will place it in the correct location\n\t// within titles.\n\tfunction moveItemInList(title) {\n\t\tif(!$tw.utils.hop(replacedTitles, title)) {\n\t\t\treplacedTitles[title] = true;\n\t\t\tvar newPos = -1,\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(afterTitle === \"\") {\n\t\t\t\t\tnewPos = titles.length;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\t// if this title is placed relative\n\t\t\t\t\t// to another title, make sure that\n\t\t\t\t\t// title is placed before we place\n\t\t\t\t\t// this one.\n\t\t\t\t\tmoveItemInList(beforeTitle);\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\t// Same deal\n\t\t\t\t\tmoveItemInList(afterTitle);\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If a new position is specified, let's move it\n\t\t\t\tif (newPos !== -1) {\n\t\t\t\t\t// get its current Pos, and make sure\n\t\t\t\t\t// sure that it's _actually_ in the list\n\t\t\t\t\t// and that it would _actually_ move\n\t\t\t\t\t// (#4275) We don't bother calling\n\t\t\t\t\t//         indexOf unless we have a new\n\t\t\t\t\t//         position to work with\n\t\t\t\t\tvar currPos = titles.indexOf(title);\n\t\t\t\t\tif(currPos >= 0 && newPos !== currPos) {\n\t\t\t\t\t\t// move it!\n\t\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tmoveItemInList(title);\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\nexports.getTiddlersAsJson = function(filter,spaces) {\n\tvar tiddlers = this.filterTiddlers(filter),\n\t\tspaces = (spaces === undefined) ? $tw.config.preferences.jsonSpaces : spaces,\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,spaces);\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t}) || defaultData;\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(this.getCreationFields(),existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n\t// Use the generic binary parser for any binary types not registered so far\n\tif($tw.Wiki.parsers[\"application/octet-stream\"]) {\n\t\tObject.keys($tw.config.contentTypeInfo).forEach(function(type) {\n\t\t\tif(!$tw.utils.hop($tw.Wiki.parsers,type) && $tw.config.contentTypeInfo[type].encoding === \"base64\") {\n\t\t\t\t$tw.Wiki.parsers[type] = $tw.Wiki.parsers[\"application/octet-stream\"];\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type,tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.children: optional array of children for the transclude widget\noptions.importVariables: optional importvariables filter string for macros to be included\noptions.importPageMacros: optional boolean; if true, equivalent to passing \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\" to options.importVariables\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTreeDiv = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: []}]},\n\t\tparseTreeImportVariables = {\n\t\t\ttype: \"importvariables\",\n\t\t\tattributes: {\n\t\t\t\tfilter: {\n\t\t\t\t\tname: \"filter\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: false,\n\t\t\tchildren: []},\n\t\tparseTreeTransclude = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {\n\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title}},\n\t\t\tisBlock: !options.parseAsInline};\n\tif(options.importVariables || options.importPageMacros) {\n\t\tif(options.importVariables) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\n\t\t} else if(options.importPageMacros) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\";\n\t\t}\n\t\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\n\t\tparseTreeImportVariables.children.push(parseTreeTransclude);\n\t} else {\n\t\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\n\t}\n\tif(options.field) {\n\t\tparseTreeTransclude.attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTreeTransclude.attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTreeTransclude.children = options.children;\n\t}\n\treturn $tw.wiki.makeWidget(parseTreeDiv,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tfield: If specified, restricts the search to the specified field, or an array of field names\n\tanchored: If true, forces all but regexp searches to be anchored to the start of text\n\texcludeField: If true, the field options are inverted to specify the fields that are not to be searched\n\tThe search mode is determined by the first of these boolean flags to be true\n\t\tliteral: searches for literal string\n\t\twhitespace: same as literal except runs of whitespace are treated as a single space\n\t\tregexp: treats the search term as a regular expression\n\t\twords: (default) treats search string as a list of tokens, and matches if all tokens are found, regardless of adjacency or ordering\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\",\n\t\tanchor = options.anchored ? \"^\" : \"\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else if(options.whitespace) {\n\t\tterms = [];\n\t\t$tw.utils.each(text.split(/\\s+/g),function(term) {\n\t\t\tif(term) {\n\t\t\t\tterms.push($tw.utils.escapeRegExp(term));\n\t\t\t}\n\t\t});\n\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + terms.join(\"\\\\s+\") + \")\",flags)];\n\t} else if(options.regexp) {\n\t\ttry {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + text + \")\",flags)];\t\t\t\n\t\t} catch(e) {\n\t\t\tsearchTermsRegExps = null;\n\t\t\tconsole.log(\"Regexp error parsing /(\" + text + \")/\" + flags + \": \",e);\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Accumulate the array of fields to be searched or excluded from the search\n\tvar fields = [];\n\tif(options.field) {\n\t\tif($tw.utils.isArray(options.field)) {\n\t\t\t$tw.utils.each(options.field,function(fieldName) {\n\t\t\t\tif(fieldName) {\n\t\t\t\t\tfields.push(fieldName);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push(options.field);\n\t\t}\n\t}\n\t// Use default fields if none specified and we're not excluding fields (excluding fields with an empty field array is the same as searching all fields)\n\tif(fields.length === 0 && !options.excludeField) {\n\t\tfields.push(\"title\");\n\t\tfields.push(\"tags\");\n\t\tfields.push(\"text\");\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar notYetFound = searchTermsRegExps.slice();\n\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tsearchFields;\n\t\t// Get the list of fields we're searching\n\t\tif(options.excludeField) {\n\t\t\tsearchFields = Object.keys(tiddler.fields);\n\t\t\t$tw.utils.each(fields,function(fieldName) {\n\t\t\t\tvar p = searchFields.indexOf(fieldName);\n\t\t\t\tif(p !== -1) {\n\t\t\t\t\tsearchFields.splice(p,1);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsearchFields = fields;\n\t\t}\n\t\tfor(var fieldIndex=0; notYetFound.length>0 && fieldIndex<searchFields.length; fieldIndex++) {\n\t\t\t// Don't search the text field if the content type is binary\n\t\t\tvar fieldName = searchFields[fieldIndex];\n\t\t\tif(fieldName === \"text\" && contentTypeInfo.encoding !== \"utf8\") {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tvar str = tiddler.fields[fieldName],\n\t\t\t\tt;\n\t\t\tif(str) {\n\t\t\t\tif($tw.utils.isArray(str)) {\n\t\t\t\t\t// If the field value is an array, test each regexp against each field array entry and fail if each regexp doesn't match at least one field array entry\n\t\t\t\t\tfor(var s=0; s<str.length; s++) {\n\t\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\t\tif(notYetFound[t].test(str[s])) {\n\t\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If the field isn't an array, force it to a string and test each regexp against it and fail if any do not match\n\t\t\t\t\tstr = tiddler.getFieldString(fieldName);\n\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\tif(notYetFound[t].test(str)) {\n\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn notYetFound.length == 0;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(!tiddler.hasField(\"_is_skinny\")) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text || \"\";\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\n*/\nexports.checkTiddlerText = function(title,targetText,options) {\n\toptions = options || {};\n\tvar text = this.getTiddlerText(title,\"\");\n\tif(!options.noTrim) {\n\t\ttext = text.trim();\n\t}\n\tif(!options.caseSensitive) {\n\t\ttext = text.toLowerCase();\n\t\ttargetText = targetText.toLowerCase();\n\t}\n\treturn text === targetText;\n}\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\tvar result = [],\n\t\toutstanding = files.length,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t};\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],$tw.utils.extend({},options,{callback: readFileCallback}));\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Give the hook a chance to process the drag\n\tif($tw.hooks.invokeHook(\"th-importing-file\",{\n\t\tfile: file,\n\t\ttype: type,\n\t\tisBinary: isBinary,\n\t\tcallback: callback\n\t}) !== true) {\n\t\tthis.readFileContent(file,type,isBinary,options.deserializer,callback);\n\t}\n};\n\n/*\nLower level utility to read the content of a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFileContent = function(file,type,isBinary,deserializer,callback) {\n\tvar self = this;\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\tif(isBinary) {\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttext = text.substr(commaPos + 1);\n\t\t\t}\n\t\t}\n\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedJson) {\n\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\tcallback(tiddlers);\n\t\t\t});\n\t\t} else {\n\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields,{deserializer: deserializer}));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create  a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\t\t\n};\n\n/*\nAdd a new tiddler to the story river\ntitle: a title string or an array of title strings\nfromTitle: the title of the tiddler from which the navigation originated\nstoryTitle: title of story tiddler (defaults to $:/StoryList)\noptions: see story.js\n*/\nexports.addToStory = function(title,fromTitle,storyTitle,options) {\n\tvar story = new $tw.Story({wiki: this, storyTitle: storyTitle});\n\tstory.addToStory(title,fromTitle,options);\t\t\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nexports.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle,\n\t\tusername = this.getTiddlerText(\"$:/status/UserName\"),\n\t\tattribution = username ? \" by \" + username : \"\";\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\" + attribution;\n\t\tc++;\n\t} while(this.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n// Determine whether a plugin by title is dynamically loadable\nexports.doesPluginRequireReload = function(title) {\n\treturn this.doesPluginInfoRequireReload(this.getPluginInfo(title) || this.getTiddlerDataCached(title));\n};\n\n// Determine whether a plugin info structure is dynamically loadable\nexports.doesPluginInfoRequireReload = function(pluginInfo) {\n\tif(pluginInfo) {\n\t\tvar foundModule = false;\n\t\t$tw.utils.each(pluginInfo.tiddlers,function(tiddler) {\n\t\t\tif(tiddler.type === \"application/javascript\" && $tw.utils.hop(tiddler,\"module-type\")) {\n\t\t\t\tfoundModule = true;\n\t\t\t}\n\t\t});\n\t\treturn foundModule;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n})();\n\n",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/palettes/Blanca": {
            "title": "$:/palettes/Blanca",
            "name": "Blanca",
            "description": "A clean white palette to let you focus",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/Blue": {
            "title": "$:/palettes/Blue",
            "name": "Blue",
            "description": "A blue theme",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/Muted": {
            "title": "$:/palettes/Muted",
            "name": "Muted",
            "description": "Bright tiddlers on a muted background",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/ContrastLight": {
            "title": "$:/palettes/ContrastLight",
            "name": "Contrast (Light)",
            "description": "High contrast and unambiguous (light version)",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/ContrastDark": {
            "title": "$:/palettes/ContrastDark",
            "name": "Contrast (Dark)",
            "description": "High contrast and unambiguous (dark version)",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/DarkPhotos": {
            "title": "$:/palettes/DarkPhotos",
            "created": "20150402111612188",
            "description": "Good with dark photo backgrounds",
            "modified": "20150402112344080",
            "name": "DarkPhotos",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/GruvboxDark": {
            "title": "$:/palettes/GruvboxDark",
            "name": "Gruvbox Dark",
            "description": "Retro groove color scheme",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "license": "https://github.com/morhetz/gruvbox",
            "text": "alert-background: #cc241d\nalert-border: #cc241d\nalert-highlight: #d79921\nalert-muted-foreground: #504945\nbackground: #3c3836\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #504945\nbutton-foreground: #fbf1c7\nbutton-border: transparent\ncode-background: #504945\ncode-border: #504945\ncode-foreground: #fb4934\ndiff-delete-background: #fb4934\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #b8bb26\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #fb4934\ndownload-background: #b8bb26\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #665c54\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ebdbb2\ndropdown-tab-background: #665c54\ndropzone-background: #98971a\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #d3869b\nexternal-link-foreground: #8ec07c\nforeground: #fbf1c7\nmenubar-background: #504945\nmenubar-foreground: <<colour foreground>>\nmessage-background: #83a598\nmessage-border: #83a598\nmessage-foreground: #3c3836\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #504945\nmodal-footer-background: #3c3836\nmodal-footer-border: #3c3836\nmodal-header-border: #3c3836\nmuted-foreground: #d5c4a1\nnotification-background: <<colour primary>>\nnotification-border: <<colour primary>>\npage-background: #282828\npre-background: #504945\npre-border: #504945\nprimary: #d79921\nselect-tag-background: #665c54\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #7c6f64\nsidebar-controls-foreground: #504945\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #fbf1c7\nsidebar-muted-foreground-hover: #7c6f64\nsidebar-muted-foreground: #504945\nsidebar-tab-background-selected: #bdae93\nsidebar-tab-background: #3c3836\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #bdae93\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #282828\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #458588\nsidebar-tiddler-link-foreground: #98971a\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ebdbb2\ntab-background: #665c54\ntab-border-selected: #665c54\ntab-border: #665c54\ntab-divider: #bdae93\ntab-foreground-selected: #282828\ntab-foreground: #ebdbb2\ntable-border: #7c6f64\ntable-footer-background: #665c54\ntable-header-background: #504945\ntag-background: #d3869b\ntag-foreground: #282828\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #7c6f64\ntiddler-controls-foreground-selected: #7c6f64\ntiddler-controls-foreground: #665c54\ntiddler-editor-background: #282828\ntiddler-editor-border-image: #282828\ntiddler-editor-border: #282828\ntiddler-editor-fields-even: #504945\ntiddler-editor-fields-odd: #7c6f64\ntiddler-info-background: #32302f\ntiddler-info-border: #ebdbb2\ntiddler-info-tab-background: #ebdbb2\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #7c6f64\ntiddler-title-foreground: #a89984\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #504945\nvery-muted-foreground: #bdae93\nwikilist-background: <<colour page-background>>\nwikilist-button-background: <<colour button-background>>\nwikilist-button-foreground: <<colour button-foreground>>\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: <<colour muted-foreground>>\nwikilist-button-open-hover: <<colour primary>>\nwikilist-button-open: <<colour dropzone-background>>\nwikilist-button-remove: <<colour dirty-indicator>>\nwikilist-button-remove-hover: <<colour alert-background>>\nwikilist-droplink-dragover: <<colour dropzone-background>>\nwikilist-button-reveal: <<colour sidebar-tiddler-link-foreground-hover>>\nwikilist-button-reveal-hover: <<colour message-background>>"
        },
        "$:/palettes/Nord": {
            "title": "$:/palettes/Nord",
            "name": "Nord",
            "description": "An arctic, north-bluish color palette.",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "license": "MIT, arcticicestudio, https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md",
            "text": "alert-background: #D08770\nalert-border: #D08770\nalert-highlight: #B48EAD\nalert-muted-foreground: #4C566A\nbackground: #3b4252\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #4C566A\nbutton-foreground: #D8DEE9\nbutton-border: transparent\ncode-background: #2E3440\ncode-border: #2E3440\ncode-foreground: #BF616A\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #A3BE8C\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #BF616A\ndownload-background: #A3BE8C\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ECEFF4\ndropdown-tab-background: #4C566A\ndropzone-background: #A3BE8C\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #5E81AC\nexternal-link-foreground: #8FBCBB\nforeground: #d8dee9\nmenubar-background: #2E3440\nmenubar-foreground: #d8dee9\nmessage-background: #2E3440\nmessage-border: #2E3440\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #3b4252\nmodal-footer-background: #3b4252\nmodal-footer-border: #3b4252\nmodal-header-border: #3b4252\nmuted-foreground: #4C566A\nnotification-background: <<colour primary>>\nnotification-border: #EBCB8B\npage-background: #2e3440\npre-background: #2E3440\npre-border: #2E3440\nprimary: #5E81AC\nselect-tag-background: #3b4252\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #D8DEE9\nsidebar-controls-foreground: #4C566A\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #D8DEE9\nsidebar-muted-foreground-hover: #4C566A\nsidebar-muted-foreground: #4C566A\nsidebar-tab-background-selected: #ECEFF4\nsidebar-tab-background: #4C566A\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #4C566A\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #4C566A\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #A3BE8C\nsidebar-tiddler-link-foreground: #81A1C1\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ECEFF4\ntab-background: #4C566A\ntab-border-selected: #4C566A\ntab-border: #4C566A\ntab-divider: #4C566A\ntab-foreground-selected: #4C566A\ntab-foreground: #D8DEE9\ntable-border: #4C566A\ntable-footer-background: #2e3440\ntable-header-background: #2e3440\ntag-background: #A3BE8C\ntag-foreground: #4C566A\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: \ntiddler-controls-foreground-selected: #EBCB8B\ntiddler-controls-foreground: #4C566A\ntiddler-editor-background: #2e3440\ntiddler-editor-border-image: #2e3440\ntiddler-editor-border: #2e3440\ntiddler-editor-fields-even: #2e3440\ntiddler-editor-fields-odd: #2e3440\ntiddler-info-background: #2e3440\ntiddler-info-border: #2e3440\ntiddler-info-tab-background: #2e3440\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #4C566A\ntiddler-title-foreground: #81A1C1\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #2d3038\nvery-muted-foreground: #2d3038\n"
        },
        "$:/palettes/Rocker": {
            "title": "$:/palettes/Rocker",
            "name": "Rocker",
            "description": "A dark theme",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/SolarFlare": {
            "title": "$:/palettes/SolarFlare",
            "name": "Solar Flare",
            "description": "Warm, relaxing earth colours",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": ": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n    download-foreground: <<colour background>>\n    dragger-foreground: <<colour background>>\n    dropdown-background: <<colour background>>\n    modal-background: <<colour background>>\n    sidebar-foreground-shadow: <<colour background>>\n    tiddler-background: <<colour background>>\n    tiddler-border: <<colour background>>\n    tiddler-link-background: <<colour background>>\n    tab-background-selected: <<colour background>>\n        dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n    dragger-background: <<colour foreground>>\n    tab-foreground: <<colour foreground>>\n        tab-foreground-selected: <<colour tab-foreground>>\n            sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n        sidebar-tab-foreground: <<colour tab-foreground>>\n    sidebar-button-foreground: <<colour foreground>>\n    sidebar-controls-foreground: <<colour foreground>>\n    sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n    alert-muted-foreground: <<colour base01>>\n: base00\n    code-foreground: <<colour base00>>\n    message-foreground: <<colour base00>>\n    tag-foreground: <<colour base00>>\n: base0\n    sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n    muted-foreground: <<colour base1>>\n        blockquote-bar: <<colour muted-foreground>>\n        dropdown-border: <<colour muted-foreground>>\n        sidebar-muted-foreground: <<colour muted-foreground>>\n        tiddler-title-foreground: <<colour muted-foreground>>\n            site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n    modal-footer-background: <<colour base2>>\n    page-background: <<colour base2>>\n        modal-backdrop: <<colour page-background>>\n        notification-background: <<colour page-background>>\n        code-background: <<colour page-background>>\n            code-border: <<colour code-background>>\n        pre-background: <<colour page-background>>\n            pre-border: <<colour pre-background>>\n        sidebar-tab-background-selected: <<colour page-background>>\n    table-header-background: <<colour base2>>\n    tag-background: <<colour base2>>\n    tiddler-editor-background: <<colour base2>>\n    tiddler-info-background: <<colour base2>>\n    tiddler-info-tab-background: <<colour base2>>\n    tab-background: <<colour base2>>\n        dropdown-tab-background: <<colour tab-background>>\n: base3\n    alert-background: <<colour base3>>\n    message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n    alert-highlight: <<colour magenta>>\n: violet\n    external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n    tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n    external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n    primary: <<colour blue-muted>>\n        download-background: <<colour primary>>\n        tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n    modal-footer-border: <<colour tab-border>>\n    modal-header-border: <<colour tab-border>>\n    notification-border: <<colour tab-border>>\n    sidebar-tab-border: <<colour tab-border>>\n    tab-border-selected: <<colour tab-border>>\n        sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n    sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/SolarizedLight": {
            "title": "$:/palettes/SolarizedLight",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "description": "Precision colors for machines and people",
            "license": "MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE",
            "name": "SolarizedLight",
            "text": "alert-background: #eee8d5\nalert-border: #073642\nalert-highlight: #cb4b16\nalert-muted-foreground: #586e75\nbackground: #fdf6e3\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #cb4b16\nbutton-foreground: #fdf6e3\nbutton-border: transparent\ncode-background: #eee8d5\ncode-border: #93a1a1\ncode-foreground: #d33682\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #859900\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #D08770\ndownload-background: #859900\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #fdf6e3\ndropdown-tab-background: #93a1a1\ndropzone-background: #859900\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: #d33682\nexternal-link-foreground-visited: #b58900\nexternal-link-foreground: #cb4b16\nforeground: #839496\nmessage-background: #586e75\nmessage-border: #586e75\nmessage-foreground: #eee8d5\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #eee8d5\nmodal-footer-background: #eee8d5\nmodal-footer-border: #eee8d5\nmodal-header-border: #eee8d5\nmuted-foreground: #93a1a1\nnotification-background: #EBCB8B\nnotification-border: #D08770\npage-background: #eee8d5\npre-background: #eee8d5\npre-border: #93a1a1\nprimary: #2aa198\nselect-tag-background: #eee8d5\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: #eee8d5\nsidebar-controls-foreground-hover: #268bd2\nsidebar-controls-foreground: #586e75\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #839496\nsidebar-muted-foreground-hover: #657b83\nsidebar-muted-foreground: #93a1a1\nsidebar-tab-background-selected: #eee8d5\nsidebar-tab-background: #839496\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #657b83\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #839496\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #859900\nsidebar-tiddler-link-foreground: #268bd2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #dc322f\ntab-background-selected: #fdf6e3\ntab-background: #839496\ntab-border-selected: #93a1a1\ntab-border: #93a1a1\ntab-divider: #fdf6e3\ntab-foreground-selected: #839496\ntab-foreground: #eee8d5\ntable-border: #657b83\ntable-footer-background: #657b83\ntable-header-background: #93a1a1\ntag-background: #6c71c4\ntag-foreground: #eee8d5\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #b58900\ntiddler-controls-foreground-selected: #b58900\ntiddler-controls-foreground: #073642\ntiddler-editor-background: #eee8d5\ntiddler-editor-border-image: #eee8d5\ntiddler-editor-border: #eee8d5\ntiddler-editor-fields-even: #eee8d5\ntiddler-editor-fields-odd: #fdf6e3\ntiddler-info-background: #eee8d5\ntiddler-info-border: #eee8d5\ntiddler-info-tab-background: #586e75\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #586e75\ntiddler-title-foreground: #073642\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #839496\nvery-muted-foreground: #93a1a1\n"
        },
        "$:/palettes/SpartanDay": {
            "title": "$:/palettes/SpartanDay",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "description": "Cold, spartan day colors",
            "name": "Spartan Day",
            "text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #FAFAFA\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: #ececec\ncode-border: #ececec\ncode-foreground: \ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #FFFFFF\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #F5F5F5\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: \nexternal-link-foreground: \nforeground: rgba(0, 0, 0, 0.87)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(0, 0, 0, 0.54)\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour very-muted-foreground>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(0, 0, 0, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #f4f4f4\npre-background: #ececec\npre-border: #ececec\nprimary: #3949ab\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #aeaeae\nsidebar-controls-foreground: #c6c6c6\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground-hover: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground: rgba(0, 0, 0, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(0, 0, 0, 0.87)\nsidebar-tab-foreground: rgba(0, 0, 0, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(0, 0, 0, 0.87)\nsidebar-tiddler-link-foreground: rgba(0, 0, 0, 0.54)\nsite-title-foreground: rgba(0, 0, 0, 0.87)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(0, 0, 0, 0.87)\ntab-foreground: rgba(0, 0, 0, 0.54)\ntable-border: #d8d8d8\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: #f9f9f9\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: #e8e7e7\ntiddler-editor-fields-even: rgba(0, 0, 0, 0.1)\ntiddler-editor-fields-odd: rgba(0, 0, 0, 0.04)\ntiddler-info-background: #F5F5F5\ntiddler-info-border: #F5F5F5\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #000000\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(0, 0, 0, 0.12)\n"
        },
        "$:/palettes/SpartanNight": {
            "title": "$:/palettes/SpartanNight",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "description": "Dark spartan colors",
            "name": "Spartan Night",
            "text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #303030\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #424242\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #050505\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #7c318c\nexternal-link-foreground: #9e3eb3\nforeground: rgba(255, 255, 255, 0.7)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(255, 255, 255, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #212121\npre-background: #2a2a2a\npre-border: transparent\nprimary: #5656f3\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #494949\nsidebar-controls-foreground: #5d5d5d\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: rgba(255, 255, 255, 0.7)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #3a3a3a\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: rgb(55,55,55)\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #454545\ntiddler-info-border: #454545\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(255, 255, 255, 0.12)\n"
        },
        "$:/palettes/Twilight": {
            "title": "$:/palettes/Twilight",
            "tags": "$:/tags/Palette",
            "author": "Thomas Elmiger",
            "type": "application/x-tiddler-dictionary",
            "name": "Twilight",
            "description": "Delightful, soft darkness.",
            "text": "alert-background: rgb(255, 255, 102)\nalert-border: rgb(232, 232, 125)\nalert-highlight: rgb(255, 51, 51)\nalert-muted-foreground: rgb(224, 82, 82)\nbackground: rgb(38, 38, 38)\nblockquote-bar: rgba(240, 196, 117, 0.7)\nbutton-background: rgb(63, 63, 63)\nbutton-border: rgb(127, 127, 127)\nbutton-foreground: rgb(179, 179, 179)\ncode-background: rgba(0,0,0,0.03)\ncode-border: rgba(0,0,0,0.08)\ncode-foreground: rgb(255, 94, 94)\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: rgb(255, 94, 94)\ndownload-background: #19a974\ndownload-foreground: rgb(38, 38, 38)\ndragger-background: rgb(179, 179, 179)\ndragger-foreground: rgb(38, 38, 38)\ndropdown-background: rgb(38, 38, 38)\ndropdown-border: rgb(255, 255, 255)\ndropdown-tab-background: rgba(0,0,0,.1)\ndropdown-tab-background-selected: rgba(255,255,255,1)\ndropzone-background: #9eebcf\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: rgb(179, 179, 255)\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: rgb(153, 153, 255)\nforeground: rgb(179, 179, 179)\nmessage-background: <<colour tag-foreground>>\nmessage-border: #96ccff\nmessage-foreground: <<colour tag-background>>\nmodal-backdrop: rgb(179, 179, 179)\nmodal-background: rgb(38, 38, 38)\nmodal-border: rgba(0,0,0,.5)\nmodal-footer-background: #f4f4f4\nmodal-footer-border: rgba(0,0,0,.1)\nmodal-header-border: rgba(0,0,0,.2)\nmuted-foreground: rgb(255, 255, 255)\nnotification-background: <<colour tag-foreground>>\nnotification-border: <<colour tag-background>>\npage-background: rgb(26, 26, 26)\npre-background: rgb(25, 25, 25)\npre-border: rgba(0,0,0,.2)\nprimary: rgb(255, 201, 102)\nselect-tag-background: \nselect-tag-foreground: \nsidebar-button-foreground: rgb(179, 179, 179)\nsidebar-controls-foreground: rgb(153, 153, 153)\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\nsidebar-foreground: rgb(141, 141, 141)\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: rgba(0, 0, 0, 0.5)\nsidebar-muted-foreground-hover: rgb(141, 141, 141)\nsidebar-tab-background: rgba(141, 141, 141, 0.2)\nsidebar-tab-background-selected: rgb(26, 26, 26)\nsidebar-tab-border: rgb(127, 127, 127)\nsidebar-tab-border-selected: rgb(127, 127, 127)\nsidebar-tab-divider: rgb(127, 127, 127)\nsidebar-tab-foreground: rgb(179, 179, 179)\nsidebar-tab-foreground-selected: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground-hover: rgb(115, 115, 115)\nsite-title-foreground: rgb(255, 201, 102)\nstatic-alert-foreground: rgba(0,0,0,.3)\ntab-background: rgba(0,0,0,0.125)\ntab-background-selected: rgb(38, 38, 38)\ntab-border: rgb(255, 201, 102)\ntab-border-selected: rgb(255, 201, 102)\ntab-divider: rgb(255, 201, 102)\ntab-foreground: rgb(179, 179, 179)\ntab-foreground-selected: rgb(179, 179, 179)\ntable-border: rgba(255,255,255,.3)\ntable-footer-background: rgba(0,0,0,.4)\ntable-header-background: rgba(0,0,0,.1)\ntag-background: rgb(255, 201, 102)\ntag-foreground: rgb(25, 25, 25)\ntiddler-background: rgb(38, 38, 38)\ntiddler-border: rgba(240, 196, 117, 0.7)\ntiddler-controls-foreground: rgb(128, 128, 128)\ntiddler-controls-foreground-hover: rgba(255, 255, 255, 0.8)\ntiddler-controls-foreground-selected: rgba(255, 255, 255, 0.9)\ntiddler-editor-background: rgb(33, 33, 33)\ntiddler-editor-border: rgb(63, 63, 63)\ntiddler-editor-border-image: rgb(25, 25, 25)\ntiddler-editor-fields-even: rgb(33, 33, 33)\ntiddler-editor-fields-odd: rgb(28, 28, 28)\ntiddler-info-background: rgb(43, 43, 43)\ntiddler-info-border: rgb(25, 25, 25)\ntiddler-info-tab-background: rgb(43, 43, 43)\ntiddler-link-background: rgb(38, 38, 38)\ntiddler-link-foreground: rgb(204, 204, 255)\ntiddler-subtitle-foreground: rgb(255, 255, 255)\ntiddler-title-foreground: rgb(255, 192, 76)\ntoolbar-cancel-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-done-button: \ntoolbar-edit-button: \ntoolbar-info-button: \ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \nuntagged-background: rgb(255, 255, 255)\nvery-muted-foreground: rgba(240, 196, 117, 0.7)\n"
        },
        "$:/palettes/Vanilla": {
            "title": "$:/palettes/Vanilla",
            "name": "Vanilla",
            "description": "Pale and unobtrusive",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\nwikilist-background: #e5e5e5\nwikilist-item: #fff\nwikilist-info: #000\nwikilist-title: #666\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #aaa\nwikilist-button-open: #4fb82b\nwikilist-button-open-hover: green\nwikilist-button-reveal: #5778d8\nwikilist-button-reveal-hover: blue\nwikilist-button-remove: #d85778\nwikilist-button-remove-hover: red\nwikilist-toolbar-background: #d3d3d3\nwikilist-toolbar-foreground: #888\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #acacac\nwikilist-button-foreground: #000\n"
        },
        "$:/core/readme": {
            "title": "$:/core/readme",
            "text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
        },
        "$:/library/sjcl.js/license": {
            "title": "$:/library/sjcl.js/license",
            "type": "text/plain",
            "text": "SJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
        },
        "$:/core/templates/MOTW.html": {
            "title": "$:/core/templates/MOTW.html",
            "text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)https://tiddlywiki.com -->&#13;&#10;"
        },
        "$:/core/templates/alltiddlers.template.html": {
            "title": "$:/core/templates/alltiddlers.template.html",
            "type": "text/vnd.tiddlywiki-html",
            "text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
        },
        "$:/core/templates/canonical-uri-external-image": {
            "title": "$:/core/templates/canonical-uri-external-image",
            "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
        },
        "$:/core/templates/canonical-uri-external-raw": {
            "title": "$:/core/templates/canonical-uri-external-raw",
            "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external raw files that are stored in the same directory\n\n-->\n<$view field=\"title\" format=\"doubleurlencoded\"/>"
        },
        "$:/core/templates/canonical-uri-external-text": {
            "title": "$:/core/templates/canonical-uri-external-text",
            "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"
        },
        "$:/core/templates/css-tiddler": {
            "title": "$:/core/templates/css-tiddler",
            "text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
        },
        "$:/core/templates/exporters/CsvFile": {
            "title": "$:/core/templates/exporters/CsvFile",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/CsvFile}}",
            "extension": ".csv",
            "text": "\\define renderContent()\n<$text text=<<csvtiddlers filter:\"\"\"$(exportFilter)$\"\"\" format:\"quoted-comma-sep\">>/>\n\\end\n<<renderContent>>\n"
        },
        "$:/core/templates/exporters/JsonFile": {
            "title": "$:/core/templates/exporters/JsonFile",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/JsonFile}}",
            "extension": ".json",
            "text": "\\define renderContent()\n<$text text=<<jsontiddlers filter:\"\"\"$(exportFilter)$\"\"\">>/>\n\\end\n<<renderContent>>\n"
        },
        "$:/core/templates/exporters/StaticRiver": {
            "title": "$:/core/templates/exporters/StaticRiver",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/StaticRiver}}",
            "extension": ".html",
            "text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
        },
        "$:/core/templates/exporters/StaticRiver/Content": {
            "title": "$:/core/templates/exporters/StaticRiver/Content",
            "text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>\n"
        },
        "$:/core/templates/exporters/TidFile": {
            "title": "$:/core/templates/exporters/TidFile",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/TidFile}}",
            "extension": ".tid",
            "text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>"
        },
        "$:/core/save/all-external-js": {
            "title": "$:/core/save/all-external-js",
            "text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/core]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5-external-js.html}}\n"
        },
        "$:/core/templates/tiddlywiki5.js": {
            "title": "$:/core/templates/tiddlywiki5.js",
            "text": "\\rules only filteredtranscludeinline transcludeinline codeinline\n\n/*\n{{ $:/core/copyright.txt ||$:/core/templates/plain-text-tiddler}}\n`*/\n`<!--~~ Library modules ~~-->\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/plain-text-tiddler}}}\n<!--~~ Boot prefix ~~-->\n{{ $:/boot/bootprefix.js ||$:/core/templates/plain-text-tiddler}}\n<!--~~ Core plugin ~~-->\n{{$:/core/templates/tiddlywiki5.js/tiddlers}}\n<!--~~ Boot kernel ~~-->\n{{ $:/boot/boot.js ||$:/core/templates/plain-text-tiddler}}\n"
        },
        "$:/core/templates/tiddlywiki5.js/tiddlers": {
            "title": "$:/core/templates/tiddlywiki5.js/tiddlers",
            "text": "`\n$tw.preloadTiddlerArray(`<$text text=<<jsontiddlers \"[[$:/core]]\">>/>`);\n$tw.preloadTiddlerArray([{\n\ttitle: \"$:/config/SaveWikiButton/Template\",\n\ttext: \"$:/core/save/all-external-js\"\n}]);\n`\n"
        },
        "$:/core/templates/tiddlywiki5-external-js.html": {
            "title": "$:/core/templates/tiddlywiki5-external-js.html",
            "text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Raw markup for the bottom of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}\n</body>\n<script src=\"%24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js\" onerror=\"alert('Error: Cannot load tiddlywiki.js');\"></script>\n</html>\n"
        },
        "$:/core/templates/html-div-skinny-tiddler": {
            "title": "$:/core/templates/html-div-skinny-tiddler",
            "text": "<!--\n\nThis template is a variant of $:/core/templates/html-div-tiddler used for saving skinny tiddlers (with no text field)\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre></pre>\n</div>`\n"
        },
        "$:/core/templates/html-div-tiddler": {
            "title": "$:/core/templates/html-div-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
        },
        "$:/core/templates/html-tiddler": {
            "title": "$:/core/templates/html-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
        },
        "$:/core/templates/javascript-tiddler": {
            "title": "$:/core/templates/javascript-tiddler",
            "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
        },
        "$:/core/templates/json-tiddler": {
            "title": "$:/core/templates/json-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>"
        },
        "$:/core/templates/module-tiddler": {
            "title": "$:/core/templates/module-tiddler",
            "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
        },
        "$:/core/templates/plain-text-tiddler": {
            "title": "$:/core/templates/plain-text-tiddler",
            "text": "<$view field=\"text\" format=\"text\" />"
        },
        "$:/core/templates/raw-static-tiddler": {
            "title": "$:/core/templates/raw-static-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"
        },
        "$:/core/save/all": {
            "title": "$:/core/save/all",
            "text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/empty": {
            "title": "$:/core/save/empty",
            "text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/lazy-all": {
            "title": "$:/core/save/lazy-all",
            "text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[!is[system]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/lazy-images": {
            "title": "$:/core/save/lazy-images",
            "text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[is[image]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/templates/server/static.sidebar.wikitext": {
            "title": "$:/core/templates/server/static.sidebar.wikitext",
            "text": "\\whitespace trim\n<div class=\"tc-sidebar-scrollable\" style=\"overflow: auto;\">\n<div class=\"tc-sidebar-header\">\n<h1 class=\"tc-site-title\">\n<$transclude tiddler=\"$:/SiteTitle\"/>\n</h1>\n<div class=\"tc-site-subtitle\">\n<$transclude tiddler=\"$:/SiteSubtitle\"/>\n</div>\n<h2>\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$list filter={{$:/DefaultTiddlers}}>\n<div class=\"tc-menu-list-subitem\">\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n</$list>\n</div>\n<!-- Currently disabled the recent list as it is unweildy when the responsive narrow view kicks in\n<h2>\n{{$:/language/SideBar/Recent/Caption}}\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n</div>\n</div>\n</div>\n-->\n"
        },
        "$:/core/templates/server/static.tiddler.html": {
            "title": "$:/core/templates/server/static.tiddler.html",
            "text": "\\whitespace trim\n\\define tv-wikilink-template() $uri_encoded$\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content={{$:/core/templates/version}} />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"%24%3A%2Fcore%2Ftemplates%2Fstatic.template.css\">\n<title><$view field=\"caption\" format=\"plainwikified\"><$view field=\"title\"/></$view>: <$view tiddler=\"$:/core/wiki/title\" format=\"plainwikified\"/></title>\n</head>\n<body class=\"tc-body\">\n<$transclude tiddler=\"$:/core/templates/server/static.sidebar.wikitext\" mode=\"inline\"/>\n<section class=\"tc-story-river\">\n<div class=\"tc-tiddler-frame\">\n<$transclude tiddler=\"$:/core/templates/server/static.tiddler.wikitext\" mode=\"inline\"/>\n</div>\n</section>\n</body>\n</html>"
        },
        "$:/core/templates/server/static.tiddler.wikitext": {
            "title": "$:/core/templates/server/static.tiddler.wikitext",
            "text": "\\whitespace trim\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<h2><$text text=<<currentTiddler>>/></h2>\n</div>\n</div>\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n<div class=\"tc-tags-wrapper\">\n<$list filter=\"[all[current]tags[]sort[title]]\">\n<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<$macrocall $name=\"tag-pill\" tag=<<currentTiddler>>/>\n</a>\n</$list>\n</div>\n<div class=\"tc-tiddler-body\">\n<$transclude mode=\"block\"/>\n</div>\n"
        },
        "$:/core/templates/single.tiddler.window": {
            "title": "$:/core/templates/single.tiddler.window",
            "text": "\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"tv-show-missing-links\" value={{$:/config/MissingLinks}}>\n\n<$set name=\"storyviewTitle\" value={{$:/view}}>\n\n<$set name=\"languageTitle\" value={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/templates/split-recipe": {
            "title": "$:/core/templates/split-recipe",
            "text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
        },
        "$:/core/templates/static-tiddler": {
            "title": "$:/core/templates/static-tiddler",
            "text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
        },
        "$:/core/templates/static.area": {
            "title": "$:/core/templates/static.area",
            "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n<!-- ensure splash screen isn't shown when JS is disabled -->\n`<style>\n.tc-remove-when-wiki-loaded {display: none;}\n</style>`\n"
        },
        "$:/core/templates/static.content": {
            "title": "$:/core/templates/static.content",
            "text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
        },
        "$:/core/templates/static.template.css": {
            "title": "$:/core/templates/static.template.css",
            "text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
        },
        "$:/core/templates/static.template.html": {
            "title": "$:/core/templates/static.template.html",
            "type": "text/vnd.tiddlywiki-html",
            "text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
        },
        "$:/core/templates/static.tiddler.html": {
            "title": "$:/core/templates/static.tiddler.html",
            "text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river\">\n`<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>`\n</section>\n</body>\n</html>\n`"
        },
        "$:/core/templates/store.area.template.html": {
            "title": "$:/core/templates/store.area.template.html",
            "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n<$list filter={{{ [<skinnySaveTiddlerFilter>] }}} template=\"$:/core/templates/html-div-skinny-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
        },
        "$:/core/templates/tid-tiddler": {
            "title": "$:/core/templates/tid-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
        },
        "$:/core/templates/tiddler-metadata": {
            "title": "$:/core/templates/tiddler-metadata",
            "text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
        },
        "$:/core/templates/tiddlywiki5.html": {
            "title": "$:/core/templates/tiddlywiki5.html",
            "text": "<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n</body>\n</html>`\n"
        },
        "$:/core/templates/version": {
            "title": "$:/core/templates/version",
            "text": "<<version>>"
        },
        "$:/core/templates/wikified-tiddler": {
            "title": "$:/core/templates/wikified-tiddler",
            "text": "<$transclude />"
        },
        "$:/core/ui/AboveStory/tw2-plugin-check": {
            "title": "$:/core/ui/AboveStory/tw2-plugin-check",
            "tags": "$:/tags/AboveStory",
            "text": "\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/Actions/new-image": {
            "title": "$:/core/ui/Actions/new-image",
            "tags": "$:/tags/Actions",
            "description": "create a new image tiddler",
            "text": "\\define get-type()\nimage/$(imageType)$\n\\end\n<$vars imageType={{$:/config/NewImageType}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=<<get-type>> tags={{$:/config/NewTiddler/Tags!!tags}}/>\n</$vars>\n"
        },
        "$:/core/ui/Actions/new-journal": {
            "title": "$:/core/ui/Actions/new-journal",
            "tags": "$:/tags/Actions",
            "description": "create a new journal tiddler",
            "text": "<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} journalTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$reveal type=\"nomatch\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalTags>> text={{{ [<journalTitle>get[]] }}}/>\n</$reveal>\n<$reveal type=\"match\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalTags>> text=<<journalText>>/>\n</$reveal>\n</$wikify>\n</$vars>\n"
        },
        "$:/core/ui/Actions/new-tiddler": {
            "title": "$:/core/ui/Actions/new-tiddler",
            "tags": "$:/tags/Actions",
            "description": "create a new empty tiddler",
            "text": "<$action-sendmessage $message=\"tm-new-tiddler\" tags={{$:/config/NewTiddler/Tags!!tags}}/>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter": {
            "title": "$:/core/ui/AdvancedSearch/Filter",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/Filter/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$set>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Shadows": {
            "title": "$:/core/ui/AdvancedSearch/Shadows",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/Shadows/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Standard": {
            "title": "$:/core/ui/AdvancedSearch/Standard",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/Standard/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$list>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/System": {
            "title": "$:/core/ui/AdvancedSearch/System",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/System/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
        },
        "$:/AdvancedSearch": {
            "title": "$:/AdvancedSearch",
            "icon": "$:/core/images/advanced-search-button",
            "color": "#bbb",
            "text": "<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n"
        },
        "$:/core/ui/AlertTemplate": {
            "title": "$:/core/ui/AlertTemplate",
            "text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/cancel-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$wikify name=\"format\" text=<<lingo Tiddler/DateFormat>>>\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=<<format>>/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</$wikify>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"
        },
        "$:/core/ui/BinaryWarning": {
            "title": "$:/core/ui/BinaryWarning",
            "text": "\\define lingo-base() $:/language/BinaryWarning/\n<<lingo Prompt>>\n"
        },
        "$:/core/ui/Components/plugin-info": {
            "title": "$:/core/ui/Components/plugin-info",
            "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1>\n''<$text text={{{ [<currentTiddler>get[name]] ~[<currentTiddler>split[/]last[1]] }}}/>'': <$view field=\"description\"><$view field=\"title\"/></$view> $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default={{{ [enlist<tabsList>] }}} template=\"$:/core/ui/PluginInfo\"/>\n</$set>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n"
        },
        "$:/core/ui/Components/tag-link": {
            "title": "$:/core/ui/Components/tag-link",
            "text": "<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"
        },
        "$:/core/ui/ControlPanel/Advanced": {
            "title": "$:/core/ui/ControlPanel/Advanced",
            "tags": "$:/tags/ControlPanel/Info",
            "caption": "{{$:/language/ControlPanel/Advanced/Caption}}",
            "text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" \"$:/core/ui/ControlPanel/TiddlerFields\">>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Appearance": {
            "title": "$:/core/ui/ControlPanel/Appearance",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Appearance/Caption}}",
            "text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Theme\">>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Basics": {
            "title": "$:/core/ui/ControlPanel/Basics",
            "tags": "$:/tags/ControlPanel/Info",
            "caption": "{{$:/language/ControlPanel/Basics/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/language/DefaultNewTiddlerTitle\"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/language/DefaultNewTiddlerTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" tag=\"textarea\" class=\"tc-edit-texteditor\" default=\"\"/> |\n|<$link to=\"$:/config/NewTiddler/Tags\"><<lingo NewTiddler/Tags/Prompt>></$link> |<$list filter=\"[[$:/config/NewTiddler/Tags]]\" template=\"$:/core/ui/EditTemplate/tags\"/> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$list filter=\"[[$:/config/NewJournal/Tags]]\" template=\"$:/core/ui/EditTemplate/tags\"/> |\n|<$link to=\"$:/config/AutoFocus\"><<lingo AutoFocus/Prompt>></$link> |{{$:/snippets/minifocusswitcher}} |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
        },
        "$:/core/ui/ControlPanel/EditorTypes": {
            "title": "$:/core/ui/ControlPanel/EditorTypes",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ControlPanel/Info": {
            "title": "$:/core/ui/ControlPanel/Info",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Info/Caption}}",
            "text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Basics\">>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/KeyboardShortcuts": {
            "title": "$:/core/ui/ControlPanel/KeyboardShortcuts",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\"true\" style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n<small>{{$:/core/images/close-button}}</small>\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[[$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>match[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ControlPanel/LoadedModules": {
            "title": "$:/core/ui/ControlPanel/LoadedModules",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
        },
        "$:/core/ui/ControlPanel/Modals/AddPlugins": {
            "title": "$:/core/ui/ControlPanel/Modals/AddPlugins",
            "subtitle": "{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}",
            "text": "\\define install-plugin-actions()\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$set name=\"url\" value={{!!url}}>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]\" variable=\"dependency\">\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url=<<url>> title=<<dependency>>/>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define install-plugin-button()\n<div>\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$set name=\"reinstall-type\" value={{{ [<libraryVersion>compare:version:eq<installedVersion>then[tc-reinstall]] [<libraryVersion>compare:version:gt<installedVersion>then[tc-reinstall-upgrade]] [<libraryVersion>compare:version:lt<installedVersion>then[tc-reinstall-downgrade]] }}}>\n<$button actions=<<install-plugin-actions>> class={{{ [<assetInfo>get[original-title]has[version]then<reinstall-type>] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>\n{{$:/core/images/download-button}}\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\">\n<$list filter=\"[<libraryVersion>compare:version:gt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[<libraryVersion>compare:version:lt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\">\n{{$:/language/ControlPanel/Plugins/Downgrade/Caption}}\n</$list>\n\"\"\">\n{{$:/language/ControlPanel/Plugins/Update/Caption}}\n</$list>\n</$list>\n</$button>\n<div>\n</div>\n<$reveal stateTitle=<<assetInfo>> stateField=\"requires-reload\" type=\"match\" text=\"yes\">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>\n</$set>\n</$set>\n</$set>\n</div>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1><strong><$text text={{{ [<assetInfo>get[name]] ~[<assetInfo>get[original-title]split[/]last[1]] }}}/></strong>: <$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\"><div><em>{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}</em></div></$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-buttons\">\n<<install-plugin-button>>\n</div>\n</div>\n<$set name=\"original-title\" value={{{ [<assetInfo>get[original-title]] }}}>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]] ~[<assetInfo>get[original-title]!is[tiddler]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]!is[tiddler]]\">\n{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\n</$list>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]\" variable=\"ignore\">\n<div>\n{{$:/language/ControlPanel/Plugins/AlsoRequires}}\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]\" variable=\"dependency\">\n<$text text=<<dependency>>/>\n</$list>\n</div>\n</$list>\n</$set>\n</div>\n</$list>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-sub-plugins\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>sort[title]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n</$list>\n</div>\n</$reveal>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<$reveal type=\"nomatch\" text=\"yes\" state=<<popup-state>> tag=\"div\" class=\"tc-plugin-info-sub-plugin-indicator\">\n<$wikify name=\"count\" text=\"\"\"<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>]\"/>\"\"\">\n<$button class=\"tc-btn-invisible\" set=<<popup-state>> setTo=\"yes\">\n{{$:/language/ControlPanel/Plugins/SubPluginPrompt}}\n</$button>\n</$wikify>\n</$reveal>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[title]]\" variable=\"assetInfo\">\n<$list filter=\"[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[<assetInfo>!has[parent-plugin]]\" variable=\"ignore\"><!-- Hide sub-plugins if we're not searching -->\n<<display-plugin-info \"$type$\">>\n</$list>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<$set name=\"transclusion\" value=<<connectionTiddler>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Updates]] [[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$set>\n\n</$list>\n\\end\n\n\\define close-library-button()\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n<div class=\"tc-tab-set\">\n<$set name=\"defaultTab\" value={{{ [all[tiddlers+shadows]tag[$:/tags/PluginLibrary]] }}}>\n<div class=\"tc-tab-buttons\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$button set=<<qualify \"$:/state/addplugins/tab\">> setTo=<<currentTiddler>> default=<<defaultTab>> selectedClass=\"tc-tab-selected\">\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\"/>\n</$set>\n</$button>\n</$list>\n</div>\n<div class=\"tc-tab-divider\"/>\n<div class=\"tc-tab-content\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$reveal type=\"match\" state=<<qualify \"$:/state/addplugins/tab\">> text=<<currentTiddler>> default=<<defaultTab>>>\n<h2><$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link></h2>\n//<$view field=\"url\"/>//\n<$transclude mode=\"block\"/>\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n<<display-server-connection>>\n</$reveal>\n</$list>\n</div>\n</$set>\n</div>\n\\end\n\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<div>\n<<plugin-library-listing>>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Palette": {
            "title": "$:/core/ui/ControlPanel/Palette",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/Palette/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/PaletteManager}}\n\n</$reveal>\n\n"
        },
        "$:/core/ui/ControlPanel/Parsing": {
            "title": "$:/core/ui/ControlPanel/Parsing",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/Parsing/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<<rule>>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Languages": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Languages",
            "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)",
            "text": "<<display-server-assets language>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}  (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)",
            "text": "<<display-server-assets plugin>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Themes": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Themes",
            "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}  (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)",
            "text": "<<display-server-assets theme>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Updates": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Updates",
            "caption": "<$importvariables filter=\"$:/core/ui/ControlPanel/Plugins/Add/Updates\">{{$:/language/ControlPanel/Plugins/Updates/Caption}} (<<update-count>>)</$importvariables>",
            "text": "\\define each-updateable-plugin(body)\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}sort[title]]\" variable=\"assetInfo\">\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$list filter=\"[<assetInfo>get[original-title]has[version]!version<libraryVersion>]\" variable=\"ignore\">\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$list filter=\"[<installedversion>!match<libraryVersion>]\" variable=\"ignore\">\n$body$\n</$list>\n</$set>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define update-all-actions()\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<<install-plugin-actions>>\n\"\"\"/>\n\\end\n\n\\define update-count()\n<$wikify name=\"count-filter\" text=<<each-updateable-plugin \"&#91;&#91;<$text text=<<assetInfo>>/>]]\">>><$count filter=<<count-filter>>/></$wikify>\n\\end\n\n<$button actions=<<update-all-actions>> class=\"tc-btn-invisible tc-install-plugin tc-reinstall-upgrade\">\n{{$:/core/images/download-button}} {{||$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption}}\n</$button>\n\n<div class=\"tc-plugin-library-listing\">\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<$macrocall $name=\"display-plugin-info\" type={{{ [<assetInfo>get[original-plugin-type]] }}}/>\n\"\"\"/>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/AddPlugins": {
            "title": "$:/core/ui/ControlPanel/Plugins/AddPlugins",
            "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green tc-primary-btn\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Installed/Languages": {
            "title": "$:/core/ui/ControlPanel/Plugins/Installed/Languages",
            "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)",
            "text": "<<plugin-table language>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Installed/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins/Installed/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)",
            "text": "<<plugin-table plugin>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Installed/Themes": {
            "title": "$:/core/ui/ControlPanel/Plugins/Installed/Themes",
            "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)",
            "text": "<<plugin-table theme>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[title]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n"
        },
        "$:/core/ui/ControlPanel/Saving/DownloadSaver": {
            "title": "$:/core/ui/ControlPanel/Saving/DownloadSaver",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<<lingo Hint>>\n\n!! <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <<lingo AutoSave/Description>> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Saving/General": {
            "title": "$:/core/ui/ControlPanel/Saving/General",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/General/Caption}}",
            "list-before": "",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!! <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo AutoSave/Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo AutoSave/Disabled/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Saving/GitHub": {
            "title": "$:/core/ui/ControlPanel/Saving/GitHub",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitHub\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitHub/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitHub/Password>> |<$password name=\"github\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitHub/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitHub/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitHub/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitHub/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitHub/ServerURL\" default=\"https://api.github.com\" tag=\"input\"/> |"
        },
        "$:/core/ui/ControlPanel/Saving/GitLab": {
            "title": "$:/core/ui/ControlPanel/Saving/GitLab",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitLab\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitLab/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitLab/Password>> |<$password name=\"gitlab\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitLab/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitLab/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitLab/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitLab/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitLab/ServerURL\" default=\"https://gitlab.com/api/v4\" tag=\"input\"/> |"
        },
        "$:/core/ui/ControlPanel/Saving/TiddlySpot": {
            "title": "$:/core/ui/ControlPanel/Saving/TiddlySpot",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<backupURL>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n|<<lingo Backups>> |<<backupLink>> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>>  |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>"
        },
        "$:/core/ui/ControlPanel/Saving/Gitea": {
            "title": "$:/core/ui/ControlPanel/Saving/Gitea",
            "tags": "$:/tags/ControlPanel/Saving",
            "caption": "{{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~Gitea\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/Gitea/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo Gitea/Password>> |<$password name=\"Gitea\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/Gitea/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/Gitea/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/Gitea/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/Gitea/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/Gitea/ServerURL\" default=\"https://gitea/api/v1\" tag=\"input\"/> |\n"
        },
        "$:/core/ui/ControlPanel/Saving": {
            "title": "$:/core/ui/ControlPanel/Saving",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Saving/Caption}}",
            "text": "{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Saving/General\">>\n</div>\n"
        },
        "$:/core/buttonstyles/Borderless": {
            "title": "$:/core/buttonstyles/Borderless",
            "tags": "$:/tags/ToolbarButtonStyle",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}",
            "text": "tc-btn-invisible"
        },
        "$:/core/buttonstyles/Boxed": {
            "title": "$:/core/buttonstyles/Boxed",
            "tags": "$:/tags/ToolbarButtonStyle",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}",
            "text": "tc-btn-boxed"
        },
        "$:/core/buttonstyles/Rounded": {
            "title": "$:/core/buttonstyles/Rounded",
            "tags": "$:/tags/ToolbarButtonStyle",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}",
            "text": "tc-btn-rounded"
        },
        "$:/core/ui/ControlPanel/Settings/CamelCase": {
            "title": "$:/core/ui/ControlPanel/Settings/CamelCase",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/CamelCase/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab": {
            "title": "$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab",
            "caption": "{{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}",
            "tags": "$:/tags/ControlPanel/Settings",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\n\n<$link to=\"$:/config/DefaultMoreSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultMoreSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab": {
            "title": "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab",
            "caption": "{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}",
            "tags": "$:/tags/ControlPanel/Settings",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/EditorToolbar": {
            "title": "$:/core/ui/ControlPanel/Settings/EditorToolbar",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/InfoPanelMode": {
            "title": "$:/core/ui/ControlPanel/Settings/InfoPanelMode",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n<$link to=\"$:/config/TiddlerInfo/Mode\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\"> <<lingo Popup/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\"> <<lingo Sticky/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/LinkToBehaviour": {
            "title": "$:/core/ui/ControlPanel/Settings/LinkToBehaviour",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n  <option value=\"above\"><<lingo \"OpenAbove\">></option>\n  <option value=\"below\"><<lingo \"OpenBelow\">></option>\n  <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n  <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n  <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n  <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/MissingLinks": {
            "title": "$:/core/ui/ControlPanel/Settings/MissingLinks",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/NavigationAddressBar": {
            "title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/NavigationHistory": {
            "title": "$:/core/ui/ControlPanel/Settings/NavigationHistory",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode": {
            "title": "$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/CopyToClipboard\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/CopyToClipboard\"><<lingo CopyToClipboard/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\"><<lingo UpdateAddressBar/Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation": {
            "title": "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings/TitleLinks": {
            "title": "$:/core/ui/ControlPanel/Settings/TitleLinks",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle": {
            "title": "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/ToolbarButtons": {
            "title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings": {
            "title": "$:/core/ui/ControlPanel/Settings",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Settings/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/ControlPanel/StoryView": {
            "title": "$:/core/ui/ControlPanel/StoryView",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/StoryView/Caption}}",
            "text": "{{$:/snippets/viewswitcher}}\n"
        },
        "$:/core/ui/ControlPanel/Stylesheets": {
            "title": "$:/core/ui/ControlPanel/Stylesheets",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/Stylesheets/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo Stylesheets/Hint>>\n\n{{$:/snippets/peek-stylesheets}}\n"
        },
        "$:/core/ui/ControlPanel/Theme": {
            "title": "$:/core/ui/ControlPanel/Theme",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/Theme/Caption}}",
            "text": "{{$:/snippets/themeswitcher}}\n"
        },
        "$:/core/ui/ControlPanel/TiddlerFields": {
            "title": "$:/core/ui/ControlPanel/TiddlerFields",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
        },
        "$:/core/ui/ControlPanel/Toolbars/EditToolbar": {
            "title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>"
        },
        "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate": {
            "title": "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate",
            "text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span> <$transclude field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/EditorToolbar": {
            "title": "$:/core/ui/ControlPanel/Toolbars/EditorToolbar",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/ItemTemplate": {
            "title": "$:/core/ui/ControlPanel/Toolbars/ItemTemplate",
            "text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"> <$transclude field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude field=\"description\"/></i></span>\n</$draggable>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/PageControls": {
            "title": "$:/core/ui/ControlPanel/Toolbars/PageControls",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/ViewToolbar": {
            "title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars": {
            "title": "$:/core/ui/ControlPanel/Toolbars",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/Toolbars/Caption}}",
            "text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" \"$:/state/tabs/controlpanel/toolbars\" \"tc-vertical\">>\n</div>\n"
        },
        "$:/ControlPanel": {
            "title": "$:/ControlPanel",
            "icon": "$:/core/images/options-button",
            "color": "#bbb",
            "text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Info\">>\n</div>\n"
        },
        "$:/core/ui/DefaultSearchResultList": {
            "title": "$:/core/ui/DefaultSearchResultList",
            "tags": "$:/tags/SearchResults",
            "caption": "{{$:/language/Search/DefaultResults/Caption}}",
            "text": "\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
        },
        "$:/core/ui/EditTemplate/body/preview/diffs-current": {
            "title": "$:/core/ui/EditTemplate/body/preview/diffs-current",
            "tags": "$:/tags/EditPreview",
            "caption": "differences from current",
            "list-after": "$:/core/ui/EditTemplate/body/preview/output",
            "text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
        },
        "$:/core/ui/EditTemplate/body/preview/diffs-shadow": {
            "title": "$:/core/ui/EditTemplate/body/preview/diffs-shadow",
            "tags": "$:/tags/EditPreview",
            "caption": "differences from shadow (if any)",
            "list-after": "$:/core/ui/EditTemplate/body/preview/output",
            "text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
        },
        "$:/core/ui/EditTemplate/body/preview/output": {
            "title": "$:/core/ui/EditTemplate/body/preview/output",
            "tags": "$:/tags/EditPreview",
            "caption": "{{$:/language/EditTemplate/Body/Preview/Type/Output}}",
            "text": "\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n"
        },
        "$:/state/showeditpreview": {
            "title": "$:/state/showeditpreview",
            "text": "no"
        },
        "$:/core/ui/EditTemplate/body/editor": {
            "title": "$:/core/ui/EditTemplate/body/editor",
            "text": "<$edit\n\n  field=\"text\"\n  class=\"tc-edit-texteditor tc-edit-texteditor-body\"\n  placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n  tabindex={{$:/config/EditTabIndex}}\n  focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\n\n><$set\n\n  name=\"targetTiddler\"\n  value=<<currentTiddler>>\n\n><$list\n\n  filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n  type=\"nomatch\"\n  state=<<config-visibility-title>>\n  text=\"hide\"\n  class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n  tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n  mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"
        },
        "$:/core/ui/EditTemplate/body/toolbar/button": {
            "title": "$:/core/ui/EditTemplate/body/toolbar/button",
            "text": "\\define toolbar-button-icon()\n<$list\n\n  filter=\"[all[current]!has[custom-icon]]\"\n  variable=\"no-custom-icon\"\n\n><$transclude\n\n  tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n  filter={{!!condition}}\n  variable=\"list-condition\"\n\n><$wikify\n\n  name=\"tooltip-text\"\n  text=<<toolbar-button-tooltip>>\n  mode=\"inline\"\n  output=\"text\"\n\n><$list\n\n  filter=\"[all[current]!has[dropdown]]\"\n  variable=\"no-dropdown\"\n\n><$button\n\n  class=\"tc-btn-invisible $(buttonClasses)$\"\n  tooltip=<<tooltip-text>>\n  actions={{!!actions}}\n\n><span\n\n  data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n  tiddler=<<currentTiddler>>\n  field=\"text\"\n\n/></$button></$list><$list\n\n  filter=\"[all[current]has[dropdown]]\"\n  variable=\"dropdown\"\n\n><$set\n\n  name=\"dropdown-state\"\n  value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n  popup=<<dropdown-state>>\n  class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n  selectedClass=\"tc-selected\"\n  tooltip=<<tooltip-text>>\n  actions={{!!actions}}\n\n><span\n\n  data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n  tiddler=<<currentTiddler>>\n  field=\"text\"\n\n/></$button><$reveal\n\n  state=<<dropdown-state>>\n  type=\"popup\"\n  position=\"below\"\n  animate=\"yes\"\n  tag=\"span\"\n\n><div\n\n  class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n  tiddler={{!!dropdown}}\n  mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n  name=\"buttonClasses\"\n  value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"
        },
        "$:/core/ui/EditTemplate/body": {
            "title": "$:/core/ui/EditTemplate/body",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[all[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\" tabindex={{$:/config/EditTabIndex}}></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[all[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"
        },
        "$:/core/ui/EditTemplate/controls": {
            "title": "$:/core/ui/EditTemplate/controls",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"
        },
        "$:/core/ui/EditTemplate/fields": {
            "title": "$:/core/ui/EditTemplate/fields",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define current-tiddler-new-field-selector()\n[data-tiddler-title=\"$(currentTiddlerCSSescaped)$\"] .tc-edit-field-add-name input\n\\end\n\n\\define new-field-actions()\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>\n<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/>\n\\end\n\n\\define new-field()\n<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button tooltip=<<lingo Fields/Add/Button/Hint>>>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>\n<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\\whitespace trim\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\" storyview=\"pop\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>&nbsp;&nbsp;\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=<<newFieldNameTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}}/>\n</span>&nbsp;\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>&nbsp;\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=<<newFieldNameTiddler>>>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$set name=\"newFieldName\" value={{{ [<newFieldNameTiddler>get[text]] }}}>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\"  variable=\"currentField\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title<newFieldName>sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$set>\n</$linkcatcher>\n</$set>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}>\n<$keyboard key=\"((add-field))\" actions=<<new-field-actions>>>\n<$edit-text tiddler=<<newFieldValueTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\" tabindex={{$:/config/EditTabIndex}}/>\n</$keyboard>\n</$set>\n</span>&nbsp;\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n"
        },
        "$:/core/ui/EditTemplate/shadow": {
            "title": "$:/core/ui/EditTemplate/shadow",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"
        },
        "$:/core/ui/EditTemplate/tags": {
            "title": "$:/core/ui/EditTemplate/tags",
            "tags": "$:/tags/EditTemplate",
            "text": "\\whitespace trim\n\n\\define lingo-base() $:/language/EditTemplate/\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB,icon)\n\\whitespace trim\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label tc-tag-list-item\">\n<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view field=\"title\" format=\"text\" />\n<$button message=\"tm-remove-tag\" param={{!!title}} class=\"tc-btn-invisible tc-remove-tag-button\">{{$:/core/images/close-button}}</$button>\n</span>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette,icon)\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} icon=\"\"\"$icon$\"\"\"/>\n\\end\n\n<div class=\"tc-edit-tags\">\n<$fieldmangler>\n<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}} icon={{!!icon}}/>\n</$list>\n<$set name=\"tabIndex\" value={{$:/config/EditTabIndex}}>\n<$macrocall $name=\"tag-picker\"/>\n</$set>\n</$fieldmangler>\n</div>\n"
        },
        "$:/core/ui/EditTemplate/title": {
            "title": "$:/core/ui/EditTemplate/title",
            "tags": "$:/tags/EditTemplate",
            "text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}}/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[all[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[title<fromTitle>backlinks[]limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$tiddler tiddler=<<fromTitle>> >\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo/References\"/>\n</$tiddler>\n</$reveal>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"
        },
        "$:/core/ui/EditTemplate/type": {
            "title": "$:/core/ui/EditTemplate/type",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/\n\\whitespace trim\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em>&nbsp;&nbsp;<$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}}/>&nbsp;<$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>&nbsp;<$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</$set>\n</div>\n"
        },
        "$:/core/ui/EditTemplate": {
            "title": "$:/core/ui/EditTemplate",
            "text": "\\define save-tiddler-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>\n<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n<div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}>\n<$fieldmangler>\n<$vars storyTiddler=<<currentTiddler>> newTagNameTiddler=<<qualify \"$:/temp/NewTagName\">> newFieldNameTiddler=<<qualify \"$:/temp/NewFieldName\">> newFieldValueTiddler=<<qualify \"$:/temp/NewFieldValue\">>>\n<$keyboard key=\"((cancel-edit-tiddler))\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"((save-tiddler))\" actions=<<save-tiddler-actions>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>>/>\n</$set>\n</$list>\n</$keyboard>\n</$keyboard>\n</$vars>\n</$fieldmangler>\n</div>\n"
        },
        "$:/core/ui/Buttons/cancel": {
            "title": "$:/core/ui/Buttons/cancel",
            "tags": "$:/tags/EditToolbar",
            "caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}",
            "description": "{{$:/language/Buttons/Cancel/Hint}}",
            "text": "<$button message=\"tm-cancel-tiddler\" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/delete": {
            "title": "$:/core/ui/Buttons/delete",
            "tags": "$:/tags/EditToolbar $:/tags/ViewToolbar",
            "caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}",
            "description": "{{$:/language/Buttons/Delete/Hint}}",
            "text": "<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/save": {
            "title": "$:/core/ui/Buttons/save",
            "tags": "$:/tags/EditToolbar",
            "caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}",
            "description": "{{$:/language/Buttons/Save/Hint}}",
            "text": "\\define save-tiddler-button()\n<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<<save-tiddler-actions>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button></$fieldmangler>\n\\end\n<<save-tiddler-button>>\n"
        },
        "$:/core/ui/EditorToolbar/bold": {
            "title": "$:/core/ui/EditorToolbar/bold",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/bold",
            "caption": "{{$:/language/Buttons/Bold/Caption}}",
            "description": "{{$:/language/Buttons/Bold/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((bold))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/clear-dropdown": {
            "title": "$:/core/ui/EditorToolbar/clear-dropdown",
            "text": "''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"
        },
        "$:/core/ui/EditorToolbar/clear": {
            "title": "$:/core/ui/EditorToolbar/clear",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/erase",
            "caption": "{{$:/language/Buttons/Clear/Caption}}",
            "description": "{{$:/language/Buttons/Clear/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/clear-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/editor-height-dropdown": {
            "title": "$:/core/ui/EditorToolbar/editor-height-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"
        },
        "$:/core/ui/EditorToolbar/editor-height": {
            "title": "$:/core/ui/EditorToolbar/editor-height",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/fixed-height",
            "custom-icon": "yes",
            "caption": "{{$:/language/Buttons/EditorHeight/Caption}}",
            "description": "{{$:/language/Buttons/EditorHeight/Hint}}",
            "condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] +[first[]]",
            "dropdown": "$:/core/ui/EditorToolbar/editor-height-dropdown",
            "text": "<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"
        },
        "$:/core/ui/EditorToolbar/excise-dropdown": {
            "title": "$:/core/ui/EditorToolbar/excise-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"
        },
        "$:/core/ui/EditorToolbar/excise": {
            "title": "$:/core/ui/EditorToolbar/excise",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/excise",
            "caption": "{{$:/language/Buttons/Excise/Caption}}",
            "description": "{{$:/language/Buttons/Excise/Hint}}",
            "condition": "[<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] +[first[]]",
            "shortcuts": "((excise))",
            "dropdown": "$:/core/ui/EditorToolbar/excise-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/heading-1": {
            "title": "$:/core/ui/EditorToolbar/heading-1",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-1",
            "caption": "{{$:/language/Buttons/Heading1/Caption}}",
            "description": "{{$:/language/Buttons/Heading1/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((heading-1))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-2": {
            "title": "$:/core/ui/EditorToolbar/heading-2",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-2",
            "caption": "{{$:/language/Buttons/Heading2/Caption}}",
            "description": "{{$:/language/Buttons/Heading2/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-2))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-3": {
            "title": "$:/core/ui/EditorToolbar/heading-3",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-3",
            "caption": "{{$:/language/Buttons/Heading3/Caption}}",
            "description": "{{$:/language/Buttons/Heading3/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-3))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-4": {
            "title": "$:/core/ui/EditorToolbar/heading-4",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-4",
            "caption": "{{$:/language/Buttons/Heading4/Caption}}",
            "description": "{{$:/language/Buttons/Heading4/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-4))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-5": {
            "title": "$:/core/ui/EditorToolbar/heading-5",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-5",
            "caption": "{{$:/language/Buttons/Heading5/Caption}}",
            "description": "{{$:/language/Buttons/Heading5/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-5))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-6": {
            "title": "$:/core/ui/EditorToolbar/heading-6",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-6",
            "caption": "{{$:/language/Buttons/Heading6/Caption}}",
            "description": "{{$:/language/Buttons/Heading6/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-6))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/italic": {
            "title": "$:/core/ui/EditorToolbar/italic",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/italic",
            "caption": "{{$:/language/Buttons/Italic/Caption}}",
            "description": "{{$:/language/Buttons/Italic/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((italic))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/line-width-dropdown": {
            "title": "$:/core/ui/EditorToolbar/line-width-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"
        },
        "$:/core/ui/EditorToolbar/line-width": {
            "title": "$:/core/ui/EditorToolbar/line-width",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/line-width",
            "caption": "{{$:/language/Buttons/LineWidth/Caption}}",
            "description": "{{$:/language/Buttons/LineWidth/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/line-width-dropdown",
            "text": "<$text text={{$:/config/BitmapEditor/LineWidth}}/>"
        },
        "$:/core/ui/EditorToolbar/link-dropdown": {
            "title": "$:/core/ui/EditorToolbar/link-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $tiddler=<<dropdown-state>> />\n<$action-deletetiddler $tiddler=<<searchTiddler>> />\n<$action-deletetiddler $tiddler=<<linkTiddler>> />\n\\end\n\n\\define external-link()\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" >\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"ENTER\" actions=<<add-link-actions>>>\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus=\"true\" placeholder={{$:/language/Search/Search}} default=\"\"/>\n<$reveal tag=\"span\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<<external-link>>\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-setfield $tiddler=<<searchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$keyboard>\n</$vars>\n\n<$reveal tag=\"div\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>"
        },
        "$:/core/ui/EditorToolbar/link": {
            "title": "$:/core/ui/EditorToolbar/link",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/link",
            "caption": "{{$:/language/Buttons/Link/Caption}}",
            "description": "{{$:/language/Buttons/Link/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((link))",
            "dropdown": "$:/core/ui/EditorToolbar/link-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/linkify": {
            "title": "$:/core/ui/EditorToolbar/linkify",
            "caption": "{{$:/language/Buttons/Linkify/Caption}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "description": "{{$:/language/Buttons/Linkify/Hint}}",
            "icon": "$:/core/images/linkify",
            "list-before": "$:/core/ui/EditorToolbar/mono-block",
            "shortcuts": "((linkify))",
            "tags": "$:/tags/EditorToolbar",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[[\"\n\tsuffix=\"]]\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/list-bullet": {
            "title": "$:/core/ui/EditorToolbar/list-bullet",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/list-bullet",
            "caption": "{{$:/language/Buttons/ListBullet/Caption}}",
            "description": "{{$:/language/Buttons/ListBullet/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((list-bullet))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/list-number": {
            "title": "$:/core/ui/EditorToolbar/list-number",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/list-number",
            "caption": "{{$:/language/Buttons/ListNumber/Caption}}",
            "description": "{{$:/language/Buttons/ListNumber/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((list-number))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/mono-block": {
            "title": "$:/core/ui/EditorToolbar/mono-block",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/mono-block",
            "caption": "{{$:/language/Buttons/MonoBlock/Caption}}",
            "description": "{{$:/language/Buttons/MonoBlock/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((mono-block))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/mono-line": {
            "title": "$:/core/ui/EditorToolbar/mono-line",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/mono-line",
            "caption": "{{$:/language/Buttons/MonoLine/Caption}}",
            "description": "{{$:/language/Buttons/MonoLine/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((mono-line))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/more-dropdown": {
            "title": "$:/core/ui/EditorToolbar/more-dropdown",
            "text": "\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"
        },
        "$:/core/ui/EditorToolbar/more": {
            "title": "$:/core/ui/EditorToolbar/more",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/down-arrow",
            "caption": "{{$:/language/Buttons/More/Caption}}",
            "description": "{{$:/language/Buttons/More/Hint}}",
            "condition": "[<targetTiddler>]",
            "dropdown": "$:/core/ui/EditorToolbar/more-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/opacity-dropdown": {
            "title": "$:/core/ui/EditorToolbar/opacity-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/EditorToolbar/opacity": {
            "title": "$:/core/ui/EditorToolbar/opacity",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/opacity",
            "caption": "{{$:/language/Buttons/Opacity/Caption}}",
            "description": "{{$:/language/Buttons/Opacity/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/opacity-dropdown",
            "text": "<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"
        },
        "$:/core/ui/EditorToolbar/paint-dropdown": {
            "title": "$:/core/ui/EditorToolbar/paint-dropdown",
            "text": "''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
        },
        "$:/core/ui/EditorToolbar/paint": {
            "title": "$:/core/ui/EditorToolbar/paint",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/paint",
            "caption": "{{$:/language/Buttons/Paint/Caption}}",
            "description": "{{$:/language/Buttons/Paint/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/paint-dropdown",
            "text": "\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"
        },
        "$:/core/ui/EditorToolbar/picture-dropdown": {
            "title": "$:/core/ui/EditorToolbar/picture-dropdown",
            "text": "\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
        },
        "$:/core/ui/EditorToolbar/picture": {
            "title": "$:/core/ui/EditorToolbar/picture",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/picture",
            "caption": "{{$:/language/Buttons/Picture/Caption}}",
            "description": "{{$:/language/Buttons/Picture/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((picture))",
            "dropdown": "$:/core/ui/EditorToolbar/picture-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/preview-type-dropdown": {
            "title": "$:/core/ui/EditorToolbar/preview-type-dropdown",
            "text": "\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"
        },
        "$:/core/ui/EditorToolbar/preview-type": {
            "title": "$:/core/ui/EditorToolbar/preview-type",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/chevron-down",
            "caption": "{{$:/language/Buttons/PreviewType/Caption}}",
            "description": "{{$:/language/Buttons/PreviewType/Hint}}",
            "condition": "[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]",
            "button-classes": "tc-text-editor-toolbar-item-adjunct",
            "dropdown": "$:/core/ui/EditorToolbar/preview-type-dropdown"
        },
        "$:/core/ui/EditorToolbar/preview": {
            "title": "$:/core/ui/EditorToolbar/preview",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/preview-open",
            "custom-icon": "yes",
            "caption": "{{$:/language/Buttons/Preview/Caption}}",
            "description": "{{$:/language/Buttons/Preview/Hint}}",
            "condition": "[<targetTiddler>]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((preview))",
            "text": "<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n"
        },
        "$:/core/ui/EditorToolbar/quote": {
            "title": "$:/core/ui/EditorToolbar/quote",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/quote",
            "caption": "{{$:/language/Buttons/Quote/Caption}}",
            "description": "{{$:/language/Buttons/Quote/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((quote))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/rotate-left": {
            "title": "$:/core/ui/EditorToolbar/rotate-left",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/rotate-left",
            "caption": "{{$:/language/Buttons/RotateLeft/Caption}}",
            "description": "{{$:/language/Buttons/RotateLeft/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"rotate-left\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/size-dropdown": {
            "title": "$:/core/ui/EditorToolbar/size-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> &times; <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"
        },
        "$:/core/ui/EditorToolbar/size": {
            "title": "$:/core/ui/EditorToolbar/size",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/size",
            "caption": "{{$:/language/Buttons/Size/Caption}}",
            "description": "{{$:/language/Buttons/Size/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/size-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/stamp-dropdown": {
            "title": "$:/core/ui/EditorToolbar/stamp-dropdown",
            "text": "\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n</$list>\n\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix={{{ [[$(snippetTitle)$]addsuffix[/prefix]get[text]] }}}\nsuffix={{{ [[$(snippetTitle)$]addsuffix[/suffix]get[text]] }}}\n/>\n\n</$list>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" />\n\n</$transclude>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"
        },
        "$:/core/ui/EditorToolbar/stamp": {
            "title": "$:/core/ui/EditorToolbar/stamp",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/stamp",
            "caption": "{{$:/language/Buttons/Stamp/Caption}}",
            "description": "{{$:/language/Buttons/Stamp/Hint}}",
            "condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] +[first[]]",
            "shortcuts": "((stamp))",
            "dropdown": "$:/core/ui/EditorToolbar/stamp-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/strikethrough": {
            "title": "$:/core/ui/EditorToolbar/strikethrough",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/strikethrough",
            "caption": "{{$:/language/Buttons/Strikethrough/Caption}}",
            "description": "{{$:/language/Buttons/Strikethrough/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((strikethrough))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/subscript": {
            "title": "$:/core/ui/EditorToolbar/subscript",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/subscript",
            "caption": "{{$:/language/Buttons/Subscript/Caption}}",
            "description": "{{$:/language/Buttons/Subscript/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((subscript))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/superscript": {
            "title": "$:/core/ui/EditorToolbar/superscript",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/superscript",
            "caption": "{{$:/language/Buttons/Superscript/Caption}}",
            "description": "{{$:/language/Buttons/Superscript/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((superscript))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/transcludify": {
            "title": "$:/core/ui/EditorToolbar/transcludify",
            "caption": "{{$:/language/Buttons/Transcludify/Caption}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "description": "{{$:/language/Buttons/Transcludify/Hint}}",
            "icon": "$:/core/images/transcludify",
            "list-before": "$:/core/ui/EditorToolbar/mono-block",
            "shortcuts": "((transcludify))",
            "tags": "$:/tags/EditorToolbar",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"{{\"\n\tsuffix=\"}}\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/underline": {
            "title": "$:/core/ui/EditorToolbar/underline",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/underline",
            "caption": "{{$:/language/Buttons/Underline/Caption}}",
            "description": "{{$:/language/Buttons/Underline/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((underline))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"
        },
        "$:/core/Filters/AllTags": {
            "title": "$:/core/Filters/AllTags",
            "tags": "$:/tags/Filter",
            "filter": "[tags[]!is[system]sort[title]]",
            "description": "{{$:/language/Filters/AllTags}}",
            "text": ""
        },
        "$:/core/Filters/AllTiddlers": {
            "title": "$:/core/Filters/AllTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[!is[system]sort[title]]",
            "description": "{{$:/language/Filters/AllTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/Drafts": {
            "title": "$:/core/Filters/Drafts",
            "tags": "$:/tags/Filter",
            "filter": "[has[draft.of]sort[title]]",
            "description": "{{$:/language/Filters/Drafts}}",
            "text": ""
        },
        "$:/core/Filters/Missing": {
            "title": "$:/core/Filters/Missing",
            "tags": "$:/tags/Filter",
            "filter": "[all[missing]sort[title]]",
            "description": "{{$:/language/Filters/Missing}}",
            "text": ""
        },
        "$:/core/Filters/Orphans": {
            "title": "$:/core/Filters/Orphans",
            "tags": "$:/tags/Filter",
            "filter": "[all[orphans]sort[title]]",
            "description": "{{$:/language/Filters/Orphans}}",
            "text": ""
        },
        "$:/core/Filters/OverriddenShadowTiddlers": {
            "title": "$:/core/Filters/OverriddenShadowTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[is[shadow]]",
            "description": "{{$:/language/Filters/OverriddenShadowTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/RecentSystemTiddlers": {
            "title": "$:/core/Filters/RecentSystemTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[has[modified]!sort[modified]limit[50]]",
            "description": "{{$:/language/Filters/RecentSystemTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/RecentTiddlers": {
            "title": "$:/core/Filters/RecentTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[!is[system]has[modified]!sort[modified]limit[50]]",
            "description": "{{$:/language/Filters/RecentTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/SessionTiddlers": {
            "title": "$:/core/Filters/SessionTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[haschanged[]]",
            "description": "{{$:/language/Filters/SessionTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/ShadowTiddlers": {
            "title": "$:/core/Filters/ShadowTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[all[shadows]sort[title]]",
            "description": "{{$:/language/Filters/ShadowTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/StoryList": {
            "title": "$:/core/Filters/StoryList",
            "tags": "$:/tags/Filter",
            "filter": "[list[$:/StoryList]] -$:/AdvancedSearch",
            "description": "{{$:/language/Filters/StoryList}}",
            "text": ""
        },
        "$:/core/Filters/SystemTags": {
            "title": "$:/core/Filters/SystemTags",
            "tags": "$:/tags/Filter",
            "filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]",
            "description": "{{$:/language/Filters/SystemTags}}",
            "text": ""
        },
        "$:/core/Filters/SystemTiddlers": {
            "title": "$:/core/Filters/SystemTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[is[system]sort[title]]",
            "description": "{{$:/language/Filters/SystemTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/TypedTiddlers": {
            "title": "$:/core/Filters/TypedTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]",
            "description": "{{$:/language/Filters/TypedTiddlers}}",
            "text": ""
        },
        "$:/core/ui/ImportListing": {
            "title": "$:/core/ui/ImportListing",
            "text": "\\define lingo-base() $:/language/Import/\n\n\\define messageField()\nmessage-$(payloadTiddler)$\n\\end\n\n\\define selectionField()\nselection-$(payloadTiddler)$\n\\end\n\n\\define previewPopupState()\n$(currentTiddler)$!!popup-$(payloadTiddler)$\n\\end\n\n\\define select-all-actions()\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n<table>\n<tbody>\n<tr>\n<th>\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\"/>\n</td>\n<td>\n<$reveal type=\"nomatch\" stateTitle=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" setTitle=<<previewPopupState>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}&nbsp;<$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" setTitle=<<previewPopupState>> setTo=\"no\">\n{{$:/core/images/down-arrow}}&nbsp;<$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" stateTitle=<<previewPopupState>> tag=\"div\">\n<$list filter=\"[{$:/state/importpreviewtype}has[text]]\" variable=\"listItem\" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>\n<$transclude tiddler={{$:/state/importpreviewtype}}/>\n</$list>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ImportPreviews/Diff": {
            "title": "$:/core/ui/ImportPreviews/Diff",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/Diff}}",
            "text": "<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>>/>\n"
        },
        "$:/core/ui/ImportPreviews/DiffFields": {
            "title": "$:/core/ui/ImportPreviews/DiffFields",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/DiffFields}}",
            "text": "<$macrocall $name=\"compareTiddlers\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>> exclude=\"text\"/>\n"
        },
        "$:/core/ui/ImportPreviews/Fields": {
            "title": "$:/core/ui/ImportPreviews/Fields",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/Fields}}",
            "text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[<payloadTiddler>subtiddlerfields<currentTiddler>sort[]] -text\" variable=\"fieldName\">\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<fieldName>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<fieldName>> tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>>/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ImportPreviews/Text": {
            "title": "$:/core/ui/ImportPreviews/Text",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/Text}}",
            "text": "<$transclude tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> mode=\"block\"/>\n"
        },
        "$:/core/ui/ImportPreviews/TextRaw": {
            "title": "$:/core/ui/ImportPreviews/TextRaw",
            "tags": "$:/tags/ImportPreview",
            "caption": "{{$:/language/Import/Listing/Preview/TextRaw}}",
            "text": "<pre><code><$view tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> /></code></pre>"
        },
        "$:/core/ui/KeyboardShortcuts/advanced-search": {
            "title": "$:/core/ui/KeyboardShortcuts/advanced-search",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((advanced-search))",
            "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\"/>\n</$navigator>\n"
        },
        "$:/core/ui/KeyboardShortcuts/new-image": {
            "title": "$:/core/ui/KeyboardShortcuts/new-image",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((new-image))",
            "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-image}}\n</$navigator>\n"
        },
        "$:/core/ui/KeyboardShortcuts/new-journal": {
            "title": "$:/core/ui/KeyboardShortcuts/new-journal",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((new-journal))",
            "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-journal}}\n</$navigator>\n"
        },
        "$:/core/ui/KeyboardShortcuts/new-tiddler": {
            "title": "$:/core/ui/KeyboardShortcuts/new-tiddler",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((new-tiddler))",
            "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-tiddler}}\n</$navigator>\n"
        },
        "$:/core/ui/KeyboardShortcuts/sidebar-search": {
            "title": "$:/core/ui/KeyboardShortcuts/sidebar-search",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((sidebar-search))",
            "text": "<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n"
        },
        "$:/core/ui/KeyboardShortcut/toggle-sidebar": {
            "title": "$:/core/ui/KeyboardShortcut/toggle-sidebar",
            "tags": "$:/tags/KeyboardShortcut",
            "key": "((toggle-sidebar))",
            "text": "<$list filter=\"[[$:/state/sidebar]is[missing]] [{$:/state/sidebar}removeprefix[yes]]\" emptyMessage=\"\"\"\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"yes\"/>\n\"\"\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"no\"/>\n</$list>\n"
        },
        "$:/core/ui/ListItemTemplate": {
            "title": "$:/core/ui/ListItemTemplate",
            "text": "<div class=\"tc-menu-list-item\">\n<$link />\n</div>"
        },
        "$:/Manager/ItemMain/Fields": {
            "title": "$:/Manager/ItemMain/Fields",
            "tags": "$:/tags/Manager/ItemMain",
            "caption": "{{$:/language/Manager/Item/Fields}}",
            "text": "<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
        },
        "$:/Manager/ItemMain/RawText": {
            "title": "$:/Manager/ItemMain/RawText",
            "tags": "$:/tags/Manager/ItemMain",
            "caption": "{{$:/language/Manager/Item/RawText}}",
            "text": "<pre><code><$view/></code></pre>\n"
        },
        "$:/Manager/ItemMain/WikifiedText": {
            "title": "$:/Manager/ItemMain/WikifiedText",
            "tags": "$:/tags/Manager/ItemMain",
            "caption": "{{$:/language/Manager/Item/WikifiedText}}",
            "text": "<$transclude mode=\"block\"/>\n"
        },
        "$:/Manager/ItemSidebar/Colour": {
            "title": "$:/Manager/ItemSidebar/Colour",
            "tags": "$:/tags/Manager/ItemSidebar",
            "caption": "{{$:/language/Manager/Item/Colour}}",
            "text": "\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/> / <$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n"
        },
        "$:/Manager/ItemSidebar/Icon": {
            "title": "$:/Manager/ItemSidebar/Icon",
            "tags": "$:/tags/Manager/ItemSidebar",
            "caption": "{{$:/language/Manager/Item/Icon}}",
            "text": "<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall $name=\"image-picker-include-tagged-images\" actions=\"\"\"\n<$action-setfield $field=\"icon\" $value=<<imageTitle>>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/image-picker\">>/>\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n"
        },
        "$:/Manager/ItemSidebar/Tags": {
            "title": "$:/Manager/ItemSidebar/Tags",
            "tags": "$:/tags/Manager/ItemSidebar",
            "caption": "{{$:/language/Manager/Item/Tags}}",
            "text": "\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>] [all[current]tags[]]\"\n/>\n\\end\n\n<p>\n<$list filter=\"[all[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</p>\n"
        },
        "$:/Manager/ItemSidebar/Tools": {
            "title": "$:/Manager/ItemSidebar/Tools",
            "tags": "$:/tags/Manager/ItemSidebar",
            "caption": "{{$:/language/Manager/Item/Tools}}",
            "text": "<p>\n<$button to=<<currentTiddler>>>{{$:/core/images/link}} open</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>{{$:/core/images/edit-button}} edit</$button>\n</p>\n"
        },
        "$:/Manager": {
            "title": "$:/Manager",
            "icon": "$:/core/images/list",
            "color": "#bbb",
            "text": "\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>> <$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>> <$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>> <$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>> <$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n"
        },
        "$:/core/ui/MissingTemplate": {
            "title": "$:/core/ui/MissingTemplate",
            "text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
        },
        "$:/core/ui/MoreSideBar/All": {
            "title": "$:/core/ui/MoreSideBar/All",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/All/Caption}}",
            "text": "<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Drafts": {
            "title": "$:/core/ui/MoreSideBar/Drafts",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Drafts/Caption}}",
            "text": "<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Explorer": {
            "title": "$:/core/ui/MoreSideBar/Explorer",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Explorer/Caption}}",
            "text": "<<tree \"$:/\">>\n"
        },
        "$:/core/ui/MoreSideBar/Missing": {
            "title": "$:/core/ui/MoreSideBar/Missing",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Missing/Caption}}",
            "text": "<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Orphans": {
            "title": "$:/core/ui/MoreSideBar/Orphans",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Orphans/Caption}}",
            "text": "<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Plugins": {
            "title": "$:/core/ui/MoreSideBar/Plugins",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
            "text": "\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Plugins/Plugins\">>\n"
        },
        "$:/core/ui/MoreSideBar/Recent": {
            "title": "$:/core/ui/MoreSideBar/Recent",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Recent/Caption}}",
            "text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
        },
        "$:/core/ui/MoreSideBar/Shadows": {
            "title": "$:/core/ui/MoreSideBar/Shadows",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Shadows/Caption}}",
            "text": "<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/System": {
            "title": "$:/core/ui/MoreSideBar/System",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/System/Caption}}",
            "text": "<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Tags": {
            "title": "$:/core/ui/MoreSideBar/Tags",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Tags/Caption}}",
            "text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n"
        },
        "$:/core/ui/MoreSideBar/Types": {
            "title": "$:/core/ui/MoreSideBar/Types",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Types/Caption}}",
            "text": "<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
        },
        "$:/core/ui/MoreSideBar/Plugins/Languages": {
            "title": "$:/core/ui/MoreSideBar/Plugins/Languages",
            "tags": "$:/tags/MoreSideBar/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}}",
            "text": "<$list filter=\"[!has[draft.of]plugin-type[language]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
        },
        "$:/core/ui/MoreSideBar/Plugins/Plugins": {
            "title": "$:/core/ui/MoreSideBar/Plugins/Plugins",
            "tags": "$:/tags/MoreSideBar/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}",
            "text": "<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n"
        },
        "$:/core/ui/MoreSideBar/Plugins/Theme": {
            "title": "$:/core/ui/MoreSideBar/Plugins/Theme",
            "tags": "$:/tags/MoreSideBar/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}",
            "text": "<$list filter=\"[!has[draft.of]plugin-type[theme]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
        },
        "$:/core/ui/Buttons/advanced-search": {
            "title": "$:/core/ui/Buttons/advanced-search",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}",
            "description": "{{$:/language/Buttons/AdvancedSearch/Hint}}",
            "text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/close-all": {
            "title": "$:/core/ui/Buttons/close-all",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}",
            "description": "{{$:/language/Buttons/CloseAll/Hint}}",
            "text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/control-panel": {
            "title": "$:/core/ui/Buttons/control-panel",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}",
            "description": "{{$:/language/Buttons/ControlPanel/Hint}}",
            "text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/encryption": {
            "title": "$:/core/ui/Buttons/encryption",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}",
            "description": "{{$:/language/Buttons/Encryption/Hint}}",
            "text": "\\whitespace trim\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n"
        },
        "$:/core/ui/Buttons/export-page": {
            "title": "$:/core/ui/Buttons/export-page",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}",
            "description": "{{$:/language/Buttons/ExportPage/Hint}}",
            "text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
        },
        "$:/core/ui/Buttons/fold-all": {
            "title": "$:/core/ui/Buttons/fold-all",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}",
            "description": "{{$:/language/Buttons/FoldAll/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/full-screen": {
            "title": "$:/core/ui/Buttons/full-screen",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}",
            "description": "{{$:/language/Buttons/FullScreen/Hint}}",
            "text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/home": {
            "title": "$:/core/ui/Buttons/home",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}",
            "description": "{{$:/language/Buttons/Home/Hint}}",
            "text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/import": {
            "title": "$:/core/ui/Buttons/import",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}",
            "description": "{{$:/language/Buttons/Import/Hint}}",
            "text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"
        },
        "$:/core/ui/Buttons/language": {
            "title": "$:/core/ui/Buttons/language",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}",
            "description": "{{$:/language/Buttons/Language/Hint}}",
            "text": "\\whitespace trim\n\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/languageswitcher}}\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/Buttons/manager": {
            "title": "$:/core/ui/Buttons/manager",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}",
            "description": "{{$:/language/Buttons/Manager/Hint}}",
            "text": "\\whitespace trim\n\\define manager-button(class)\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/list}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Manager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/more-page-actions": {
            "title": "$:/core/ui/Buttons/more-page-actions",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
            "description": "{{$:/language/Buttons/More/Hint}}",
            "text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
        },
        "$:/core/ui/Buttons/new-image": {
            "title": "$:/core/ui/Buttons/new-image",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}",
            "description": "{{$:/language/Buttons/NewImage/Hint}}",
            "text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n"
        },
        "$:/core/ui/Buttons/new-journal": {
            "title": "$:/core/ui/Buttons/new-journal",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}",
            "description": "{{$:/language/Buttons/NewJournal/Hint}}",
            "text": "\\whitespace trim\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<journalButton>>\n"
        },
        "$:/core/ui/Buttons/new-tiddler": {
            "title": "$:/core/ui/Buttons/new-tiddler",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}",
            "description": "{{$:/language/Buttons/NewTiddler/Hint}}",
            "text": "\\whitespace trim\n<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>\n"
        },
        "$:/core/ui/Buttons/palette": {
            "title": "$:/core/ui/Buttons/palette",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}",
            "description": "{{$:/language/Buttons/Palette/Hint}}",
            "text": "\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/Buttons/print": {
            "title": "$:/core/ui/Buttons/print",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}",
            "description": "{{$:/language/Buttons/Print/Hint}}",
            "text": "<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Print/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/refresh": {
            "title": "$:/core/ui/Buttons/refresh",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}",
            "description": "{{$:/language/Buttons/Refresh/Hint}}",
            "text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/save-wiki": {
            "title": "$:/core/ui/Buttons/save-wiki",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}",
            "description": "{{$:/language/Buttons/SaveWiki/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"
        },
        "$:/core/ui/Buttons/storyview": {
            "title": "$:/core/ui/Buttons/storyview",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}",
            "description": "{{$:/language/Buttons/StoryView/Hint}}",
            "text": "\\whitespace trim\n\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/viewswitcher}}\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/Buttons/tag-manager": {
            "title": "$:/core/ui/Buttons/tag-manager",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}",
            "description": "{{$:/language/Buttons/TagManager/Hint}}",
            "text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/theme": {
            "title": "$:/core/ui/Buttons/theme",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}",
            "description": "{{$:/language/Buttons/Theme/Hint}}",
            "text": "\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n{{$:/snippets/themeswitcher}}\n</$linkcatcher>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/Buttons/timestamp": {
            "title": "$:/core/ui/Buttons/timestamp",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}",
            "description": "{{$:/language/Buttons/Timestamp/Hint}}",
            "text": "\\whitespace trim\n<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-on}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/On/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n"
        },
        "$:/core/ui/Buttons/unfold-all": {
            "title": "$:/core/ui/Buttons/unfold-all",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}",
            "description": "{{$:/language/Buttons/UnfoldAll/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/PageTemplate/pagecontrols": {
            "title": "$:/core/ui/PageTemplate/pagecontrols",
            "text": "\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"hidden\" value=<<config-title>>>\n<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$list>\n</$set>\n</$list>\n</div>\n"
        },
        "$:/core/ui/PageStylesheet": {
            "title": "$:/core/ui/PageStylesheet",
            "text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/PageTemplate/alerts": {
            "title": "$:/core/ui/PageTemplate/alerts",
            "tags": "$:/tags/PageTemplate",
            "text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
        },
        "$:/core/ui/PageTemplate/drafts": {
            "title": "$:/core/ui/PageTemplate/drafts",
            "tags": "$:/tags/PageTemplate",
            "text": "\\whitespace trim\n<$reveal state=\"$:/status/IsReadOnly\" type=\"nomatch\" text=\"yes\" tag=\"div\" class=\"tc-drafts-list\">\n<$list filter=\"[has[draft.of]!sort[modified]] -[list[$:/StoryList]]\">\n<$link>\n{{$:/core/images/edit-button}} <$text text=<<currentTiddler>>/>\n</$link>\n</$list>\n</$reveal>\n"
        },
        "$:/core/ui/PageTemplate/pluginreloadwarning": {
            "title": "$:/core/ui/PageTemplate/pluginreloadwarning",
            "tags": "$:/tags/PageTemplate",
            "text": "\\define lingo-base() $:/language/\n\n<$list filter=\"[{$:/status/RequireReloadDueToPluginChange}match[yes]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"
        },
        "$:/core/ui/PageTemplate/sidebar": {
            "title": "$:/core/ui/PageTemplate/sidebar",
            "tags": "$:/tags/PageTemplate",
            "text": "\\whitespace trim\n\\define config-title()\n$:/config/SideBarSegments/Visibility/$(listItem)$\n\\end\n\n<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\" variable=\"listItem\">\n\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"  tag=\"div\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$reveal>\n\n</$list>\n\n</$reveal>\n\n</div>\n\n</$scrollable>\n"
        },
        "$:/core/ui/PageTemplate/story": {
            "title": "$:/core/ui/PageTemplate/story",
            "tags": "$:/tags/PageTemplate",
            "text": "\\whitespace trim\n<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template={{$:/config/ui/ViewTemplate}} editTemplate={{$:/config/ui/EditTemplate}} storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
        },
        "$:/core/ui/PageTemplate/topleftbar": {
            "title": "$:/core/ui/PageTemplate/topleftbar",
            "tags": "$:/tags/PageTemplate",
            "text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
        },
        "$:/core/ui/PageTemplate/toprightbar": {
            "title": "$:/core/ui/PageTemplate/toprightbar",
            "tags": "$:/tags/PageTemplate",
            "text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
        },
        "$:/core/ui/PageTemplate": {
            "title": "$:/core/ui/PageTemplate",
            "text": "\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"tv-enable-drag-and-drop\" value={{$:/config/DragAndDrop/Enable}}>\n\n<$set name=\"tv-show-missing-links\" value={{$:/config/MissingLinks}}>\n\n<$set name=\"storyviewTitle\" value={{$:/view}}>\n\n<$set name=\"languageTitle\" value={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone enable=<<tv-enable-drag-and-drop>>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n"
        },
        "$:/PaletteManager": {
            "title": "$:/PaletteManager",
            "text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n\\define edit-colour-placeholder()\n edit $(colourName)$\n\\end\n\\define colour-tooltip(showhide) $showhide$ editor for $(newColourName)$ \n\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define delete-colour-index-actions() <$action-setfield $index=<<colourName>>/>\n\\define palette-manager-colour-row-segment()\n\\whitespace trim\n<$edit-text index=<<colourName>> tag=\"input\" placeholder=<<edit-colour-placeholder>> default=\"\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\" class=\"tc-palette-manager-colour-input\"/>\n<$list filter=\"[<currentTiddler>getindex<colourName>removeprefix[<<]removesuffix[>>]] [<currentTiddler>getindex<colourName>removeprefix[<$]removesuffix[/>]]\" variable=\"ignore\">\n<$set name=\"state\" value={{{ [[$:/state/palettemanager/]addsuffix<currentTiddler>addsuffix[/]addsuffix<colourName>] }}}>\n<$wikify name=\"newColourName\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall={{{ [<currentTiddler>getindex<colourName>] }}}/>\"\"\">\n<$reveal state=<<state>> type=\"nomatch\" text=\"show\">\n<$button tooltip=<<colour-tooltip show>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" set=<<state>> setTo=\"show\">{{$:/core/images/down-arrow}}&nbsp;<$text text=<<newColourName>>/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$button tooltip=<<colour-tooltip hide>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" actions=\"\"\"<$action-deletetiddler $tiddler=<<state>>/>\"\"\">{{$:/core/images/up-arrow}}&nbsp;<$text text=<<newColourName>>/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$set name=\"colourName\" value=<<newColourName>>>\n<br>\n<<palette-manager-colour-row-segment>>\n<br><br>\n</$set>\n</$reveal>\n</$wikify>\n</$set>\n</$list>\n\\end\n\\define palette-manager-colour-row()\n\\whitespace trim\n<tr>\n<td>\n<span style=\"float:right;\">\n<$button tooltip=<<lingo Delete/Hint>> aria-label=<<lingo Delete/Hint>> class=\"tc-btn-invisible\" actions=<<delete-colour-index-actions>>>\n{{$:/core/images/delete-button}}</$button>\n</span>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<<palette-manager-colour-row-segment>>\n</td>\n</tr>\n\\end\n\\define palette-manager-table()\n\\whitespace trim\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]\" variable=\"colourName\">\n<$list filter=\"[<currentTiddler>indexes[]removeprefix<colourName>suffix[]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[{$:/state/palettemanager/showexternal}removeprefix[yes]suffix[]]\" variable=\"ignore\">\n<<palette-manager-colour-row>>\n</$list>\n\"\"\">\n<<palette-manager-colour-row>>\n</$list>\n</$list>\n</tbody>\n</table>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<$checkbox tiddler=\"$:/state/palettemanager/showexternal\" field=\"text\" checked=\"yes\" unchecked=\"no\">&nbsp;<<lingo Names/External/Show>></$checkbox>\n\n<<palette-manager-table>>\n"
        },
        "$:/core/ui/PluginInfo": {
            "title": "$:/core/ui/PluginInfo",
            "text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n"
        },
        "$:/core/ui/PluginInfo/Default/contents": {
            "title": "$:/core/ui/PluginInfo/Default/contents",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link />\n</li>\n</$list>\n</ul>\n"
        },
        "$:/core/ui/PluginListItemTemplate": {
            "title": "$:/core/ui/PluginListItemTemplate",
            "text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}><$view field=\"description\"><$view field=\"title\"/></$view></$link>\n</div>"
        },
        "$:/core/ui/SearchResults": {
            "title": "$:/core/ui/SearchResults",
            "text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n\n</$list>\n\n</div>\n"
        },
        "$:/core/ui/SideBar/More": {
            "title": "$:/core/ui/SideBar/More",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/More/Caption}}",
            "text": "<div class=\"tc-more-sidebar\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" default={{$:/config/DefaultMoreSidebarTab}} state=\"$:/state/tab/moresidebar\" class=\"tc-vertical tc-sidebar-tabs-more\" />\n</div>"
        },
        "$:/core/ui/SideBar/Open": {
            "title": "$:/core/ui/SideBar/Open",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/Open/Caption}}",
            "text": "\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>> enable=<<tv-allow-drag-and-drop>>>\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">{{$:/core/images/close-button}}</$button>&nbsp;<$link to={{!!title}}><$view field=\"title\"/></$link>\"\"\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\"\"\"/>\n</div>\n</$tiddler>\n</div>\n"
        },
        "$:/core/ui/SideBar/Recent": {
            "title": "$:/core/ui/SideBar/Recent",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/Recent/Caption}}",
            "text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
        },
        "$:/core/ui/SideBar/Tools": {
            "title": "$:/core/ui/SideBar/Tools",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/Tools/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\" class={{{ [<listItem>encodeuricomponent[]addprefix[tc-btn-]] }}}>\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/SideBarLists": {
            "title": "$:/core/ui/SideBarLists",
            "text": "<$transclude tiddler=\"$:/core/ui/SideBarSegments/search\"/>\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\"/>\n\n"
        },
        "$:/core/ui/SideBarSegments/page-controls": {
            "title": "$:/core/ui/SideBarSegments/page-controls",
            "tags": "$:/tags/SideBarSegment",
            "text": "{{||$:/core/ui/PageTemplate/pagecontrols}}\n"
        },
        "$:/core/ui/SideBarSegments/search": {
            "title": "$:/core/ui/SideBarSegments/search",
            "tags": "$:/tags/SideBarSegment",
            "text": "\\whitespace trim\n<div class=\"tc-sidebar-lists tc-sidebar-search\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"searchTerm\" value={{{ [<searchTiddler>get[text]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search<searchTerm>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$set>\n</$list>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n{{$:/core/ui/SearchResults}}\n\n</$list>\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n</div>\n"
        },
        "$:/core/ui/SideBarSegments/site-subtitle": {
            "title": "$:/core/ui/SideBarSegments/site-subtitle",
            "tags": "$:/tags/SideBarSegment",
            "text": "<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n"
        },
        "$:/core/ui/SideBarSegments/site-title": {
            "title": "$:/core/ui/SideBarSegments/site-title",
            "tags": "$:/tags/SideBarSegment",
            "text": "<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n"
        },
        "$:/core/ui/SideBarSegments/tabs": {
            "title": "$:/core/ui/SideBarSegments/tabs",
            "tags": "$:/tags/SideBarSegment",
            "text": "<div class=\"tc-sidebar-lists tc-sidebar-tabs\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" class=\"tc-sidebar-tabs-main\"/>\n\n</div>\n"
        },
        "$:/TagManager": {
            "title": "$:/TagManager",
            "icon": "$:/core/images/tag-button",
            "color": "#bbb",
            "text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n\\whitespace trim\n<$link to=\"\"><<lingo Icons/None>></$link>\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n\\whitespace trim\n<div class=\"tc-drop-down-wrapper\">\n<$button popupTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal stateTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=<<__title__>> icon=<<navigateTo>>/>\"\"\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define toggleButton(state)\n\\whitespace trim\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"closed\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"open\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n\\whitespace trim\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td>{{||$:/core/ui/TagTemplate}}</td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal stateTitle={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td style=\"position:relative;\">\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/TagTemplate": {
            "title": "$:/core/ui/TagTemplate",
            "text": "\\whitespace trim\n<span class=\"tc-tag-list-item\">\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n"
        },
        "$:/core/ui/TiddlerFieldTemplate": {
            "title": "$:/core/ui/TiddlerFieldTemplate",
            "text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
        },
        "$:/core/ui/TiddlerFields": {
            "title": "$:/core/ui/TiddlerFields",
            "text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/TiddlerInfo/Advanced/PluginInfo": {
            "title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo",
            "tags": "$:/tags/TiddlerInfo/Advanced",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
        },
        "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": {
            "title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo",
            "tags": "$:/tags/TiddlerInfo/Advanced",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
        },
        "$:/core/ui/TiddlerInfo/Advanced": {
            "title": "$:/core/ui/TiddlerInfo/Advanced",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}",
            "text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n"
        },
        "$:/core/ui/TiddlerInfo/Fields": {
            "title": "$:/core/ui/TiddlerInfo/Fields",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Fields/Caption}}",
            "text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/List": {
            "title": "$:/core/ui/TiddlerInfo/List",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/List/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/Listed": {
            "title": "$:/core/ui/TiddlerInfo/Listed",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Listed/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/References": {
            "title": "$:/core/ui/TiddlerInfo/References",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/References/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>"
        },
        "$:/core/ui/TiddlerInfo/Tagging": {
            "title": "$:/core/ui/TiddlerInfo/Tagging",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/Tools": {
            "title": "$:/core/ui/TiddlerInfo/Tools",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Tools/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/TiddlerInfo": {
            "title": "$:/core/ui/TiddlerInfo",
            "text": "<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls\" style=\"position:absolute;right:0;\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>"
        },
        "$:/core/ui/TopBar/menu": {
            "title": "$:/core/ui/TopBar/menu",
            "tags": "$:/tags/TopRightBar",
            "text": "<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]!match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$list>\n<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$list>\n"
        },
        "$:/core/ui/UntaggedTemplate": {
            "title": "$:/core/ui/UntaggedTemplate",
            "text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/body": {
            "title": "$:/core/ui/ViewTemplate/body",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/classic": {
            "title": "$:/core/ui/ViewTemplate/classic",
            "tags": "$:/tags/ViewTemplate $:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
        },
        "$:/core/ui/ViewTemplate/import": {
            "title": "$:/core/ui/ViewTemplate/import",
            "tags": "$:/tags/ViewTemplate",
            "text": "\\define lingo-base() $:/language/Import/\n\n\\define buttons()\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n<<lingo Listing/Preview>> <$select tiddler=\"$:/state/importpreviewtype\" default=\"$:/core/ui/ImportPreviews/Text\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\">\n<option value=<<currentTiddler>>>{{!!caption}}</option>\n</$list>\n</$select>\n\\end\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<<buttons>>\n\n{{||$:/core/ui/ImportListing}}\n\n<<buttons>>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/ViewTemplate/plugin": {
            "title": "$:/core/ui/ViewTemplate/plugin",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n<$set name=\"plugin-type\" value={{!!plugin-type}}>\n<$set name=\"default-popup-state\" value=\"yes\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n{{||$:/core/ui/Components/plugin-info}}\n</$set>\n</$set>\n</$set>\n</$list>\n"
        },
        "$:/core/ui/ViewTemplate/subtitle": {
            "title": "$:/core/ui/ViewTemplate/subtitle",
            "tags": "$:/tags/ViewTemplate",
            "text": "\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}} />\n<$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/tags": {
            "title": "$:/core/ui/ViewTemplate/tags",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/title": {
            "title": "$:/core/ui/ViewTemplate/title",
            "tags": "$:/tags/ViewTemplate",
            "text": "\\whitespace trim\n\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}>\n<$transclude tiddler={{$:/config/DefaultTiddlerIcon}}/>\n</$transclude>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>> mode=\"block\"/></$list>\n\n</$reveal>\n</div>"
        },
        "$:/core/ui/ViewTemplate/unfold": {
            "title": "$:/core/ui/ViewTemplate/unfold",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate": {
            "title": "$:/core/ui/ViewTemplate",
            "text": "\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">>><div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$vars>\n"
        },
        "$:/core/ui/Buttons/clone": {
            "title": "$:/core/ui/Buttons/clone",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}",
            "description": "{{$:/language/Buttons/Clone/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Clone/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/close-others": {
            "title": "$:/core/ui/Buttons/close-others",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}",
            "description": "{{$:/language/Buttons/CloseOthers/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/close": {
            "title": "$:/core/ui/Buttons/close",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}",
            "description": "{{$:/language/Buttons/Close/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Close/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/edit": {
            "title": "$:/core/ui/Buttons/edit",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}",
            "description": "{{$:/language/Buttons/Edit/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Edit/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/export-tiddler": {
            "title": "$:/core/ui/Buttons/export-tiddler",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}",
            "description": "{{$:/language/Buttons/ExportTiddler/Hint}}",
            "text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
        },
        "$:/core/ui/Buttons/fold-bar": {
            "title": "$:/core/ui/Buttons/fold-bar",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}",
            "description": "{{$:/language/Buttons/Fold/FoldBar/Hint}}",
            "text": "<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"
        },
        "$:/core/ui/Buttons/fold-others": {
            "title": "$:/core/ui/Buttons/fold-others",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}",
            "description": "{{$:/language/Buttons/FoldOthers/Hint}}",
            "text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/fold": {
            "title": "$:/core/ui/Buttons/fold",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}",
            "description": "{{$:/language/Buttons/Fold/Hint}}",
            "text": "\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n"
        },
        "$:/core/ui/Buttons/info": {
            "title": "$:/core/ui/Buttons/info",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}",
            "description": "{{$:/language/Buttons/Info/Hint}}",
            "text": "\\whitespace trim\n\\define button-content()\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Info/Caption}}/>\n</span>\n</$list>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>"
        },
        "$:/core/ui/Buttons/more-tiddler-actions": {
            "title": "$:/core/ui/Buttons/more-tiddler-actions",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
            "description": "{{$:/language/Buttons/More/Hint}}",
            "text": "\\whitespace trim\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/More/Caption}}/>\n</span>\n</$list>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
        },
        "$:/core/ui/Buttons/new-here": {
            "title": "$:/core/ui/Buttons/new-here",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}",
            "description": "{{$:/language/Buttons/NewHere/Hint}}",
            "text": "\\whitespace trim\n\\define newHereActions()\n<$set name=\"tags\" filter=\"[<currentTiddler>] [{$:/config/NewTiddler/Tags!!tags}]\">\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<tags>>/>\n</$set>\n\\end\n\\define newHereButton()\n<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewHere/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>\n"
        },
        "$:/core/ui/Buttons/new-journal-here": {
            "title": "$:/core/ui/Buttons/new-journal-here",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}",
            "description": "{{$:/language/Buttons/NewJournalHere/Hint}}",
            "text": "\\whitespace trim\n\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>\n</span>\n</$list>\n</$wikify>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags!!tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set>\n</$set>\n</$set>\n"
        },
        "$:/core/ui/Buttons/open-window": {
            "title": "$:/core/ui/Buttons/open-window",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}",
            "description": "{{$:/language/Buttons/OpenWindow/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/permalink": {
            "title": "$:/core/ui/Buttons/permalink",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}",
            "description": "{{$:/language/Buttons/Permalink/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permalink/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/permaview": {
            "title": "$:/core/ui/Buttons/permaview",
            "tags": "$:/tags/ViewToolbar $:/tags/PageControls",
            "caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}",
            "description": "{{$:/language/Buttons/Permaview/Hint}}",
            "text": "\\whitespace trim\n<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permaview/Caption}}/>\n</span>\n</$list>\n</$button>"
        },
        "$:/DefaultTiddlers": {
            "title": "$:/DefaultTiddlers",
            "text": "GettingStarted\n"
        },
        "$:/temp/advancedsearch": {
            "title": "$:/temp/advancedsearch",
            "text": ""
        },
        "$:/snippets/allfields": {
            "title": "$:/snippets/allfields",
            "text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
        },
        "$:/config/AnimationDuration": {
            "title": "$:/config/AnimationDuration",
            "text": "400"
        },
        "$:/config/AutoFocus": {
            "title": "$:/config/AutoFocus",
            "text": "title"
        },
        "$:/config/AutoSave": {
            "title": "$:/config/AutoSave",
            "text": "yes"
        },
        "$:/config/BitmapEditor/Colour": {
            "title": "$:/config/BitmapEditor/Colour",
            "text": "#444"
        },
        "$:/config/BitmapEditor/ImageSizes": {
            "title": "$:/config/BitmapEditor/ImageSizes",
            "text": "[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"
        },
        "$:/config/BitmapEditor/LineWidth": {
            "title": "$:/config/BitmapEditor/LineWidth",
            "text": "3px"
        },
        "$:/config/BitmapEditor/LineWidths": {
            "title": "$:/config/BitmapEditor/LineWidths",
            "text": "0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"
        },
        "$:/config/BitmapEditor/Opacities": {
            "title": "$:/config/BitmapEditor/Opacities",
            "text": "0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"
        },
        "$:/config/BitmapEditor/Opacity": {
            "title": "$:/config/BitmapEditor/Opacity",
            "text": "1.0"
        },
        "$:/config/DefaultMoreSidebarTab": {
            "title": "$:/config/DefaultMoreSidebarTab",
            "text": "$:/core/ui/MoreSideBar/Tags"
        },
        "$:/config/DefaultSidebarTab": {
            "title": "$:/config/DefaultSidebarTab",
            "text": "$:/core/ui/SideBar/Open"
        },
        "$:/config/DownloadSaver/AutoSave": {
            "title": "$:/config/DownloadSaver/AutoSave",
            "text": "no"
        },
        "$:/config/Drafts/TypingTimeout": {
            "title": "$:/config/Drafts/TypingTimeout",
            "text": "400"
        },
        "$:/config/EditTemplateFields/Visibility/title": {
            "title": "$:/config/EditTemplateFields/Visibility/title",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/tags": {
            "title": "$:/config/EditTemplateFields/Visibility/tags",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/text": {
            "title": "$:/config/EditTemplateFields/Visibility/text",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/creator": {
            "title": "$:/config/EditTemplateFields/Visibility/creator",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/created": {
            "title": "$:/config/EditTemplateFields/Visibility/created",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/modified": {
            "title": "$:/config/EditTemplateFields/Visibility/modified",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/modifier": {
            "title": "$:/config/EditTemplateFields/Visibility/modifier",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/type": {
            "title": "$:/config/EditTemplateFields/Visibility/type",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/draft.title": {
            "title": "$:/config/EditTemplateFields/Visibility/draft.title",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/draft.of": {
            "title": "$:/config/EditTemplateFields/Visibility/draft.of",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/revision": {
            "title": "$:/config/EditTemplateFields/Visibility/revision",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/bag": {
            "title": "$:/config/EditTemplateFields/Visibility/bag",
            "text": "hide"
        },
        "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4": {
            "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4",
            "text": "hide"
        },
        "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5": {
            "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5",
            "text": "hide"
        },
        "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6": {
            "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6",
            "text": "hide"
        },
        "$:/config/EditorTypeMappings/image/gif": {
            "title": "$:/config/EditorTypeMappings/image/gif",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/webp": {
            "title": "$:/config/EditorTypeMappings/image/webp",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/heic": {
            "title": "$:/config/EditorTypeMappings/image/heic",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/heif": {
            "title": "$:/config/EditorTypeMappings/image/heif",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/jpeg": {
            "title": "$:/config/EditorTypeMappings/image/jpeg",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/jpg": {
            "title": "$:/config/EditorTypeMappings/image/jpg",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/png": {
            "title": "$:/config/EditorTypeMappings/image/png",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/x-icon": {
            "title": "$:/config/EditorTypeMappings/image/x-icon",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
            "title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
            "text": "text"
        },
        "$:/config/Manager/Show": {
            "title": "$:/config/Manager/Show",
            "text": "tiddlers"
        },
        "$:/config/Manager/Filter": {
            "title": "$:/config/Manager/Filter",
            "text": ""
        },
        "$:/config/Manager/Order": {
            "title": "$:/config/Manager/Order",
            "text": "forward"
        },
        "$:/config/Manager/Sort": {
            "title": "$:/config/Manager/Sort",
            "text": "title"
        },
        "$:/config/Manager/System": {
            "title": "$:/config/Manager/System",
            "text": "system"
        },
        "$:/config/Manager/Tag": {
            "title": "$:/config/Manager/Tag",
            "text": ""
        },
        "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText": {
            "title": "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText",
            "text": "hide"
        },
        "$:/config/MissingLinks": {
            "title": "$:/config/MissingLinks",
            "text": "yes"
        },
        "$:/config/Navigation/UpdateAddressBar": {
            "title": "$:/config/Navigation/UpdateAddressBar",
            "text": "no"
        },
        "$:/config/Navigation/UpdateHistory": {
            "title": "$:/config/Navigation/UpdateHistory",
            "text": "no"
        },
        "$:/config/NewImageType": {
            "title": "$:/config/NewImageType",
            "text": "jpeg"
        },
        "$:/config/OfficialPluginLibrary": {
            "title": "$:/config/OfficialPluginLibrary",
            "tags": "$:/tags/PluginLibrary",
            "url": "https://tiddlywiki.com/library/v5.1.22/index.html",
            "caption": "{{$:/language/OfficialPluginLibrary}}",
            "text": "{{$:/language/OfficialPluginLibrary/Hint}}\n"
        },
        "$:/config/Navigation/openLinkFromInsideRiver": {
            "title": "$:/config/Navigation/openLinkFromInsideRiver",
            "text": "below"
        },
        "$:/config/Navigation/openLinkFromOutsideRiver": {
            "title": "$:/config/Navigation/openLinkFromOutsideRiver",
            "text": "top"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all",
            "text": "hide"
        },
        "$:/config/Performance/Instrumentation": {
            "title": "$:/config/Performance/Instrumentation",
            "text": "no"
        },
        "$:/config/RegisterPluginType/plugin": {
            "title": "$:/config/RegisterPluginType/plugin",
            "text": "yes"
        },
        "$:/config/RegisterPluginType/theme": {
            "title": "$:/config/RegisterPluginType/theme",
            "text": "no"
        },
        "$:/config/RegisterPluginType/language": {
            "title": "$:/config/RegisterPluginType/language",
            "text": "no"
        },
        "$:/config/RegisterPluginType/info": {
            "title": "$:/config/RegisterPluginType/info",
            "text": "no"
        },
        "$:/config/RegisterPluginType/import": {
            "title": "$:/config/RegisterPluginType/import",
            "text": "no"
        },
        "$:/config/SaveWikiButton/Template": {
            "title": "$:/config/SaveWikiButton/Template",
            "text": "$:/core/save/all"
        },
        "$:/config/SaverFilter": {
            "title": "$:/config/SaverFilter",
            "text": "[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
        },
        "$:/config/Search/AutoFocus": {
            "title": "$:/config/Search/AutoFocus",
            "text": "true"
        },
        "$:/config/Search/MinLength": {
            "title": "$:/config/Search/MinLength",
            "text": "3"
        },
        "$:/config/SearchResults/Default": {
            "title": "$:/config/SearchResults/Default",
            "text": "$:/core/ui/DefaultSearchResultList"
        },
        "$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]": {
            "title": "$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]",
            "text": "yes"
        },
        "$:/config/ShortcutInfo/add-field": {
            "title": "$:/config/ShortcutInfo/add-field",
            "text": "{{$:/language/EditTemplate/Fields/Add/Button/Hint}}"
        },
        "$:/config/ShortcutInfo/advanced-search": {
            "title": "$:/config/ShortcutInfo/advanced-search",
            "text": "{{$:/language/Buttons/AdvancedSearch/Hint}}"
        },
        "$:/config/ShortcutInfo/bold": {
            "title": "$:/config/ShortcutInfo/bold",
            "text": "{{$:/language/Buttons/Bold/Hint}}"
        },
        "$:/config/ShortcutInfo/cancel-edit-tiddler": {
            "title": "$:/config/ShortcutInfo/cancel-edit-tiddler",
            "text": "{{$:/language/Buttons/Cancel/Hint}}"
        },
        "$:/config/ShortcutInfo/excise": {
            "title": "$:/config/ShortcutInfo/excise",
            "text": "{{$:/language/Buttons/Excise/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-1": {
            "title": "$:/config/ShortcutInfo/heading-1",
            "text": "{{$:/language/Buttons/Heading1/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-2": {
            "title": "$:/config/ShortcutInfo/heading-2",
            "text": "{{$:/language/Buttons/Heading2/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-3": {
            "title": "$:/config/ShortcutInfo/heading-3",
            "text": "{{$:/language/Buttons/Heading3/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-4": {
            "title": "$:/config/ShortcutInfo/heading-4",
            "text": "{{$:/language/Buttons/Heading4/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-5": {
            "title": "$:/config/ShortcutInfo/heading-5",
            "text": "{{$:/language/Buttons/Heading5/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-6": {
            "title": "$:/config/ShortcutInfo/heading-6",
            "text": "{{$:/language/Buttons/Heading6/Hint}}"
        },
        "$:/config/ShortcutInfo/italic": {
            "title": "$:/config/ShortcutInfo/italic",
            "text": "{{$:/language/Buttons/Italic/Hint}}"
        },
        "$:/config/ShortcutInfo/link": {
            "title": "$:/config/ShortcutInfo/link",
            "text": "{{$:/language/Buttons/Link/Hint}}"
        },
        "$:/config/ShortcutInfo/list-bullet": {
            "title": "$:/config/ShortcutInfo/list-bullet",
            "text": "{{$:/language/Buttons/ListBullet/Hint}}"
        },
        "$:/config/ShortcutInfo/list-number": {
            "title": "$:/config/ShortcutInfo/list-number",
            "text": "{{$:/language/Buttons/ListNumber/Hint}}"
        },
        "$:/config/ShortcutInfo/mono-block": {
            "title": "$:/config/ShortcutInfo/mono-block",
            "text": "{{$:/language/Buttons/MonoBlock/Hint}}"
        },
        "$:/config/ShortcutInfo/mono-line": {
            "title": "$:/config/ShortcutInfo/mono-line",
            "text": "{{$:/language/Buttons/MonoLine/Hint}}"
        },
        "$:/config/ShortcutInfo/new-image": {
            "title": "$:/config/ShortcutInfo/new-image",
            "text": "{{$:/language/Buttons/NewImage/Hint}}"
        },
        "$:/config/ShortcutInfo/new-journal": {
            "title": "$:/config/ShortcutInfo/new-journal",
            "text": "{{$:/language/Buttons/NewJournal/Hint}}"
        },
        "$:/config/ShortcutInfo/new-tiddler": {
            "title": "$:/config/ShortcutInfo/new-tiddler",
            "text": "{{$:/language/Buttons/NewTiddler/Hint}}"
        },
        "$:/config/ShortcutInfo/picture": {
            "title": "$:/config/ShortcutInfo/picture",
            "text": "{{$:/language/Buttons/Picture/Hint}}"
        },
        "$:/config/ShortcutInfo/preview": {
            "title": "$:/config/ShortcutInfo/preview",
            "text": "{{$:/language/Buttons/Preview/Hint}}"
        },
        "$:/config/ShortcutInfo/quote": {
            "title": "$:/config/ShortcutInfo/quote",
            "text": "{{$:/language/Buttons/Quote/Hint}}"
        },
        "$:/config/ShortcutInfo/save-tiddler": {
            "title": "$:/config/ShortcutInfo/save-tiddler",
            "text": "{{$:/language/Buttons/Save/Hint}}"
        },
        "$:/config/ShortcutInfo/sidebar-search": {
            "title": "$:/config/ShortcutInfo/sidebar-search",
            "text": "{{$:/language/Buttons/SidebarSearch/Hint}}"
        },
        "$:/config/ShortcutInfo/stamp": {
            "title": "$:/config/ShortcutInfo/stamp",
            "text": "{{$:/language/Buttons/Stamp/Hint}}"
        },
        "$:/config/ShortcutInfo/strikethrough": {
            "title": "$:/config/ShortcutInfo/strikethrough",
            "text": "{{$:/language/Buttons/Strikethrough/Hint}}"
        },
        "$:/config/ShortcutInfo/subscript": {
            "title": "$:/config/ShortcutInfo/subscript",
            "text": "{{$:/language/Buttons/Subscript/Hint}}"
        },
        "$:/config/ShortcutInfo/superscript": {
            "title": "$:/config/ShortcutInfo/superscript",
            "text": "{{$:/language/Buttons/Superscript/Hint}}"
        },
        "$:/config/ShortcutInfo/toggle-sidebar": {
            "title": "$:/config/ShortcutInfo/toggle-sidebar",
            "text": "{{$:/language/Buttons/ToggleSidebar/Hint}}"
        },
        "$:/config/ShortcutInfo/underline": {
            "title": "$:/config/ShortcutInfo/underline",
            "text": "{{$:/language/Buttons/Underline/Hint}}"
        },
        "$:/config/SyncFilter": {
            "title": "$:/config/SyncFilter",
            "text": "[is[tiddler]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
        },
        "$:/config/Tags/MinLength": {
            "title": "$:/config/Tags/MinLength",
            "text": "0"
        },
        "$:/config/TextEditor/EditorHeight/Height": {
            "title": "$:/config/TextEditor/EditorHeight/Height",
            "text": "400px"
        },
        "$:/config/TextEditor/EditorHeight/Mode": {
            "title": "$:/config/TextEditor/EditorHeight/Mode",
            "text": "auto"
        },
        "$:/config/TiddlerInfo/Default": {
            "title": "$:/config/TiddlerInfo/Default",
            "text": "$:/core/ui/TiddlerInfo/Fields"
        },
        "$:/config/TiddlerInfo/Mode": {
            "title": "$:/config/TiddlerInfo/Mode",
            "text": "popup"
        },
        "$:/config/Tiddlers/TitleLinks": {
            "title": "$:/config/Tiddlers/TitleLinks",
            "text": "no"
        },
        "$:/config/Toolbar/ButtonClass": {
            "title": "$:/config/Toolbar/ButtonClass",
            "text": "tc-btn-invisible"
        },
        "$:/config/Toolbar/Icons": {
            "title": "$:/config/Toolbar/Icons",
            "text": "yes"
        },
        "$:/config/Toolbar/Text": {
            "title": "$:/config/Toolbar/Text",
            "text": "no"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions",
            "text": "show"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others",
            "text": "hide"
        },
        "$:/config/shortcuts-mac/bold": {
            "title": "$:/config/shortcuts-mac/bold",
            "text": "meta-B"
        },
        "$:/config/shortcuts-mac/italic": {
            "title": "$:/config/shortcuts-mac/italic",
            "text": "meta-I"
        },
        "$:/config/shortcuts-mac/underline": {
            "title": "$:/config/shortcuts-mac/underline",
            "text": "meta-U"
        },
        "$:/config/shortcuts-mac/new-image": {
            "title": "$:/config/shortcuts-mac/new-image",
            "text": "ctrl-I"
        },
        "$:/config/shortcuts-mac/new-journal": {
            "title": "$:/config/shortcuts-mac/new-journal",
            "text": "ctrl-J"
        },
        "$:/config/shortcuts-mac/new-tiddler": {
            "title": "$:/config/shortcuts-mac/new-tiddler",
            "text": "ctrl-N"
        },
        "$:/config/shortcuts-not-mac/bold": {
            "title": "$:/config/shortcuts-not-mac/bold",
            "text": "ctrl-B"
        },
        "$:/config/shortcuts-not-mac/italic": {
            "title": "$:/config/shortcuts-not-mac/italic",
            "text": "ctrl-I"
        },
        "$:/config/shortcuts-not-mac/underline": {
            "title": "$:/config/shortcuts-not-mac/underline",
            "text": "ctrl-U"
        },
        "$:/config/shortcuts-not-mac/new-image": {
            "title": "$:/config/shortcuts-not-mac/new-image",
            "text": "alt-I"
        },
        "$:/config/shortcuts-not-mac/new-journal": {
            "title": "$:/config/shortcuts-not-mac/new-journal",
            "text": "alt-J"
        },
        "$:/config/shortcuts-not-mac/new-tiddler": {
            "title": "$:/config/shortcuts-not-mac/new-tiddler",
            "text": "alt-N"
        },
        "$:/config/shortcuts/add-field": {
            "title": "$:/config/shortcuts/add-field",
            "text": "enter"
        },
        "$:/config/shortcuts/advanced-search": {
            "title": "$:/config/shortcuts/advanced-search",
            "text": "ctrl-shift-A"
        },
        "$:/config/shortcuts/cancel-edit-tiddler": {
            "title": "$:/config/shortcuts/cancel-edit-tiddler",
            "text": "escape"
        },
        "$:/config/shortcuts/excise": {
            "title": "$:/config/shortcuts/excise",
            "text": "ctrl-E"
        },
        "$:/config/shortcuts/sidebar-search": {
            "title": "$:/config/shortcuts/sidebar-search",
            "text": "ctrl-shift-F"
        },
        "$:/config/shortcuts/heading-1": {
            "title": "$:/config/shortcuts/heading-1",
            "text": "ctrl-1"
        },
        "$:/config/shortcuts/heading-2": {
            "title": "$:/config/shortcuts/heading-2",
            "text": "ctrl-2"
        },
        "$:/config/shortcuts/heading-3": {
            "title": "$:/config/shortcuts/heading-3",
            "text": "ctrl-3"
        },
        "$:/config/shortcuts/heading-4": {
            "title": "$:/config/shortcuts/heading-4",
            "text": "ctrl-4"
        },
        "$:/config/shortcuts/heading-5": {
            "title": "$:/config/shortcuts/heading-5",
            "text": "ctrl-5"
        },
        "$:/config/shortcuts/heading-6": {
            "title": "$:/config/shortcuts/heading-6",
            "text": "ctrl-6"
        },
        "$:/config/shortcuts/link": {
            "title": "$:/config/shortcuts/link",
            "text": "ctrl-L"
        },
        "$:/config/shortcuts/linkify": {
            "title": "$:/config/shortcuts/linkify",
            "text": "alt-shift-L"
        },
        "$:/config/shortcuts/list-bullet": {
            "title": "$:/config/shortcuts/list-bullet",
            "text": "ctrl-shift-L"
        },
        "$:/config/shortcuts/list-number": {
            "title": "$:/config/shortcuts/list-number",
            "text": "ctrl-shift-N"
        },
        "$:/config/shortcuts/mono-block": {
            "title": "$:/config/shortcuts/mono-block",
            "text": "ctrl-shift-M"
        },
        "$:/config/shortcuts/mono-line": {
            "title": "$:/config/shortcuts/mono-line",
            "text": "ctrl-M"
        },
        "$:/config/shortcuts/picture": {
            "title": "$:/config/shortcuts/picture",
            "text": "ctrl-shift-I"
        },
        "$:/config/shortcuts/preview": {
            "title": "$:/config/shortcuts/preview",
            "text": "alt-P"
        },
        "$:/config/shortcuts/quote": {
            "title": "$:/config/shortcuts/quote",
            "text": "ctrl-Q"
        },
        "$:/config/shortcuts/save-tiddler": {
            "title": "$:/config/shortcuts/save-tiddler",
            "text": "ctrl+enter"
        },
        "$:/config/shortcuts/stamp": {
            "title": "$:/config/shortcuts/stamp",
            "text": "ctrl-S"
        },
        "$:/config/shortcuts/strikethrough": {
            "title": "$:/config/shortcuts/strikethrough",
            "text": "ctrl-T"
        },
        "$:/config/shortcuts/subscript": {
            "title": "$:/config/shortcuts/subscript",
            "text": "ctrl-shift-B"
        },
        "$:/config/shortcuts/superscript": {
            "title": "$:/config/shortcuts/superscript",
            "text": "ctrl-shift-P"
        },
        "$:/config/shortcuts/toggle-sidebar": {
            "title": "$:/config/shortcuts/toggle-sidebar",
            "text": "alt-shift-S"
        },
        "$:/config/shortcuts/transcludify": {
            "title": "$:/config/shortcuts/transcludify",
            "text": "alt-shift-T"
        },
        "$:/config/ui/EditTemplate": {
            "title": "$:/config/ui/EditTemplate",
            "text": "$:/core/ui/EditTemplate"
        },
        "$:/config/ui/ViewTemplate": {
            "title": "$:/config/ui/ViewTemplate",
            "text": "$:/core/ui/ViewTemplate"
        },
        "$:/config/WikiParserRules/Inline/wikilink": {
            "title": "$:/config/WikiParserRules/Inline/wikilink",
            "text": "enable"
        },
        "$:/snippets/currpalettepreview": {
            "title": "$:/snippets/currpalettepreview",
            "text": "\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch()\n<$set name=\"swatchColour\" value={{##$(colour)$}}\n><div class=\"tc-swatch\" style=<<swatchStyle>> title=<<colour>>/></$set>\n\\end\n<div class=\"tc-swatches-horiz\"><$list filter=\"\nforeground\nbackground\nmuted-foreground\nprimary\npage-background\ntab-background\ntiddler-info-background\n\" variable=\"colour\"><<swatch>></$list></div>"
        },
        "$:/snippets/download-wiki-button": {
            "title": "$:/snippets/download-wiki-button",
            "text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"
        },
        "$:/language": {
            "title": "$:/language",
            "text": "$:/languages/en-GB"
        },
        "$:/snippets/languageswitcher": {
            "title": "$:/snippets/languageswitcher",
            "text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n\n<$linkcatcher to=\"$:/language\">\n<div class=\"tc-chooser tc-language-chooser\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/language}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
        },
        "$:/core/macros/CSS": {
            "title": "$:/core/macros/CSS",
            "tags": "$:/tags/Macro",
            "text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"><$transclude tiddler=\"$:/config/DefaultColourMappings/$name$\"/></$transclude></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n  -webkit-box-shadow: $shadow$;\n     -moz-box-shadow: $shadow$;\n          box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n  -webkit-filter: $filter$;\n     -moz-filter: $filter$;\n          filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n  -webkit-transition: $transition$;\n     -moz-transition: $transition$;\n          transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n  -webkit-transform-origin: $origin$;\n     -moz-transform-origin: $origin$;\n          transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define column-count(columns)\n``\n-moz-column-count: $columns$;\n-webkit-column-count: $columns$;\ncolumn-count: $columns$;\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}} _canonical_uri={{$title$!!_canonical_uri}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-background-attachment(text)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" type=\"nomatch\" text=\"\">$text$</$reveal>\n\\end\n"
        },
        "$:/core/macros/colour-picker": {
            "title": "$:/core/macros/colour-picker",
            "tags": "$:/tags/Macro",
            "text": "\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<span style=\"display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/>\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n"
        },
        "$:/core/macros/copy-to-clipboard": {
            "title": "$:/core/macros/copy-to-clipboard",
            "tags": "$:/tags/Macro",
            "text": "\\define copy-to-clipboard(src,class:\"tc-btn-invisible\",style)\n<$button class=<<__class__>> style=<<__style__>> message=\"tm-copy-to-clipboard\" param=<<__src__>> tooltip={{$:/language/Buttons/CopyToClipboard/Hint}}>\n{{$:/core/images/copy-clipboard}} <$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>\n</$button>\n\\end\n\n\\define copy-to-clipboard-above-right(src,class:\"tc-btn-invisible\",style)\n<div style=\"position: relative;\">\n<div style=\"position: absolute; bottom: 0; right: 0;\">\n<$macrocall $name=\"copy-to-clipboard\" src=<<__src__>> class=<<__class__>> style=<<__style__>>/>\n</div>\n</div>\n\\end\n\n"
        },
        "$:/core/macros/diff": {
            "title": "$:/core/macros/diff",
            "tags": "$:/tags/Macro",
            "text": "\\define compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle)\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>>>\n<$diff-text source=<<source>> dest=<<dest>>/>\n</$set>\n</$set>\n\\end\n\n\\define compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude)\n<table class=\"tc-diff-tiddlers\">\n<tbody>\n<$set name=\"sourceFields\" filter=\"[<__sourceTiddlerTitle__>fields[]sort[]]\">\n<$set name=\"destFields\" filter=\"[<__destSubTiddlerTitle__>subtiddlerfields<__destTiddlerTitle__>sort[]]\">\n<$list filter=\"[enlist<sourceFields>] [enlist<destFields>] -[enlist<__exclude__>] +[sort[]]\" variable=\"fieldName\">\n<tr>\n<th>\n<$text text=<<fieldName>>/> \n</th>\n<td>\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>> field=<<fieldName>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>> field=<<fieldName>>>\n<$diff-text source=<<source>> dest=<<dest>>>\n</$diff-text>\n</$set>\n</$set>\n</td>\n</tr>\n</$list>\n</$set>\n</$set>\n</tbody>\n</table>\n\\end\n"
        },
        "$:/core/macros/dumpvariables": {
            "title": "$:/core/macros/dumpvariables",
            "tags": "$:/tags/Macro",
            "text": "\\define dumpvariables()\n<ul>\n<$list filter=\"[variables[]]\" variable=\"varname\">\n<li>\n<strong><code><$text text=<<varname>>/></code></strong>:<br/>\n<$codeblock code={{{ [<varname>getvariable[]] }}}/>\n</li>\n</$list>\n</ul>\n\\end\n"
        },
        "$:/core/macros/export": {
            "title": "$:/core/macros/export",
            "tags": "$:/tags/Macro",
            "text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\"><$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button></span><$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=\"\"\"$exportFilter$\"\"\" filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</div>\n</$reveal>\n\\end\n"
        },
        "$:/core/macros/image-picker": {
            "title": "$:/core/macros/image-picker",
            "created": "20170715180840889",
            "modified": "20170715180914005",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n$actions$\n<$transclude tiddler=<<imageTitle>>/>\n</$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]\",subfilter:\"\")\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n"
        },
        "$:/core/macros/lingo": {
            "title": "$:/core/macros/lingo",
            "tags": "$:/tags/Macro",
            "text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
        },
        "$:/core/macros/list": {
            "title": "$:/core/macros/list",
            "tags": "$:/tags/Macro",
            "text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage)\n\\whitespace trim\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\" emptyMessage=<<__emptyMessage__>>>\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n\\whitespace trim\n<span class=\"tc-links-draggable-list\">\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\"/>\n<div>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$transclude>\n</div>\n</$droppable>\n</$list>\n</$type$>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"div\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\">\n&nbsp;\n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n</$vars>\n</span>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<__tag__>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Save the new order to the Tag Tiddler -->\n<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore:currentTiddler<actionTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n<$fieldmangler tiddler=<<actionTiddler>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n</$fieldmangler>\n</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\",storyview:\"\")\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n<$set name=\"tag\" value=<<__tag__>>>\n<$list filter=\"[<__tag__>tagging[]$subFilter$]\" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n</span>\n\\end\n"
        },
        "$:/core/macros/tabs": {
            "title": "$:/core/macros/tabs",
            "tags": "$:/tags/Macro",
            "text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\" storyview=\"pop\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=\"$buttonTemplate$\" mode=\"inline\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$transclude>\n</$set></$tiddler></$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\" retain=\"\"\"$retain$\"\"\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end\n"
        },
        "$:/core/macros/tag-picker": {
            "title": "$:/core/macros/tag-picker",
            "tags": "$:/tags/Macro",
            "text": "\\define add-tag-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n\\end\n\n\\define tag-button()\n<$button class=\"tc-btn-invisible\" tag=\"a\" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<tag>>/>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$button>\n\\end\n\n\\define tag-picker-inner()\n\\whitespace trim\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$keyboard key=\"ENTER\" actions=<<add-tag-actions>>>\n<$edit-text tiddler=<<newTagNameTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex=<<tabIndex>> focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}}/>\n</$keyboard>\n</span>&nbsp;<$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>&nbsp;<span class=\"tc-add-tag-button\">\n<$set name=\"tag\" value={{{ [<newTagNameTiddler>get[text]] }}}>\n<$button set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n<<add-tag-actions>>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n{{$:/language/EditTemplate/Tags/Add/Button}}\n</$button>\n</$set>\n</span>\n</div>\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$set name=\"newTagName\" value={{{ [<newTagNameTiddler>get[text]] }}}>\n<$list filter=\"[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]!is[system]search:title<newTagName>sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n<hr>\n<$list filter=\"[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]is[system]search:title<newTagName>sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n</$set>\n</div>\n</$reveal>\n</div>\n\\end\n\\define tag-picker()\n\\whitespace trim\n<$list filter=\"[<newTagNameTiddler>match[]]\" emptyMessage=<<tag-picker-inner>>>\n<$set name=\"newTagNameTiddler\" value=<<qualify \"$:/temp/NewTagName\">>>\n<<tag-picker-inner>>\n</$set>\n</$list>\n\\end\n"
        },
        "$:/core/macros/tag": {
            "title": "$:/core/macros/tag",
            "tags": "$:/tags/Macro",
            "text": "\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$element-tag$ $element-attributes$ class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view tiddler=<<__tag__>> field=\"title\" format=\"text\" />\n</$element-tag$>\n</$vars>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=<<__tag__>> icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-pill-body\" tag=<<__tag__>> icon={{{ [<__tag__>get[icon]] }}} colour={{{ [<__tag__>get[color]] }}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
        },
        "$:/core/macros/thumbnails": {
            "title": "$:/core/macros/thumbnails",
            "tags": "$:/tags/Macro",
            "text": "\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"
        },
        "$:/core/macros/timeline": {
            "title": "$:/core/macros/timeline",
            "created": "20141212105914482",
            "modified": "20141212110330815",
            "tags": "$:/tags/Macro",
            "text": "\\define timeline-title()\n\\whitespace trim\n<!-- Override this macro with a global macro \n     of the same name if you need to change \n     how titles are displayed on the timeline \n     -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><<timeline-title>></$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"
        },
        "$:/core/macros/toc": {
            "title": "$:/core/macros/toc",
            "tags": "$:/tags/Macro",
            "text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n  <$transclude field=\"caption\">\n    <$view field=\"title\"/>\n  </$transclude>\n</$set>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<ol class=\"tc-toc\">\n  <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n    <$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n      <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n        <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n          <li class=<<toc-item-class>>>\n            <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n              <<toc-caption>>\n            </$list>\n            <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n          </li>\n        </$set>\n      </$set>\n    </$vars>\n  </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\"\")\n<$macrocall $name=\"toc-body\"  tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n    <li class=<<toc-item-class>>>\n    <$link>\n      <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n          {{$:/core/images/right-arrow}}\n        </$button>\n      </$reveal>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n          {{$:/core/images/down-arrow}}\n        </$button>\n      </$reveal>\n      <<toc-caption>>\n    </$link>\n    <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n      <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n    </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n    <li class=<<toc-item-class>>>\n      <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n          {{$:/core/images/right-arrow}}\n          <<toc-caption>>\n        </$button>\n      </$reveal>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n          {{$:/core/images/down-arrow}}\n          <<toc-caption>>\n        </$button>\n      </$reveal>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n      </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-expandable-empty-message()\n<$macrocall $name=\"toc-linked-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\"\",exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n  <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n    <ol class=\"tc-toc toc-expandable\">\n      <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n        <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n          <$macrocall $name=\"toc-unlinked-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n        </$list>\n      </$list>\n    </ol>\n  </$set>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\" >\n    <li class=<<toc-item-class>>>\n      <$link>\n          <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n          <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n            <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n              {{$:/core/images/right-arrow}}\n            </$button>\n          </$reveal>\n          <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n            <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n              {{$:/core/images/down-arrow}}\n            </$button>\n          </$reveal>\n        </$list>\n        <<toc-caption>>\n      </$link>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n      </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n    <li class=<<toc-item-class>>>\n      <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n        <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n          <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n            {{$:/core/images/right-arrow}}\n            <<toc-caption>>\n          </$button>\n        </$reveal>\n        <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n          <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n            {{$:/core/images/down-arrow}}\n            <<toc-caption>>\n          </$button>\n        </$reveal>\n      </$list>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n      </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<$macrocall $name=\"toc-linked-selective-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n  <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n    <ol class=\"tc-toc toc-selective-expandable\">\n      <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n        <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n          <$macrocall $name=\"toc-unlinked-selective-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n        </$list>\n      </$list>\n    </ol>\n  </$set>\n</$vars>\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>\n  <div class=\"tc-tabbed-table-of-contents\">\n    <$linkcatcher to=<<__selectedTiddler__>>>\n      <div class=\"tc-table-of-contents\">\n        <$macrocall $name=\"toc-selective-expandable\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"[all[current]] -[<__selectedTiddler__>get[text]]\"/>\n      </div>\n    </$linkcatcher>\n    <div class=\"tc-tabbed-table-of-contents-content\">\n      <$reveal stateTitle=<<__selectedTiddler__>> type=\"nomatch\" text=\"\">\n        <$transclude mode=\"block\" tiddler=<<__template__>>>\n          <h1><<toc-caption>></h1>\n          <$transclude mode=\"block\">$missingText$</$transclude>\n        </$transclude>\n      </$reveal>\n      <$reveal stateTitle=<<__selectedTiddler__>> type=\"match\" text=\"\">\n        $unselectedText$\n      </$reveal>\n    </div>\n  </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=<<__selectedTiddler__>>>\n  <$macrocall $name=\"toc-tabbed-external-nav\" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/>\n</$linkcatcher>\n\\end\n\n"
        },
        "$:/core/macros/translink": {
            "title": "$:/core/macros/translink",
            "tags": "$:/tags/Macro",
            "text": "\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n"
        },
        "$:/core/macros/tree": {
            "title": "$:/core/macros/tree",
            "tags": "$:/tags/Macro",
            "text": "\\define leaf-link(full-title,chunk,separator: \"/\")\n<$link to=<<__full-title__>>><$text text=<<__chunk__>>/></$link>\n\\end\n\n\\define leaf-node(prefix,chunk)\n<li>\n<$list filter=\"[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]\" variable=\"full-title\">\n<$list filter=\"[<full-title>removeprefix<__prefix__>]\" variable=\"chunk\">\n<span>{{$:/core/images/file}}</span> <$macrocall $name=\"leaf-link\" full-title=<<full-title>> chunk=<<chunk>>/>\n</$list>\n</$list>\n</li>\n\\end\n\n\\define branch-node(prefix,chunk,separator: \"/\")\n<li>\n<$set name=\"reveal-state\" value={{{ [[$:/state/tree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>\n<$reveal type=\"nomatch\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<span>(<$count filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>removeprefix<__chunk__>] -[<__prefix__>addsuffix<__chunk__>]\"/>)</span>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$macrocall $name=\"tree-node\" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>\n</$reveal>\n</$set>\n</li>\n\\end\n\n\\define tree-node(prefix,separator: \"/\")\n<ol>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]!suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"leaf-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"branch-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n</ol>\n\\end\n\n\\define tree(prefix: \"$:/\",separator: \"/\")\n<div class=\"tc-tree\">\n<span><$text text=<<__prefix__>>/></span>\n<div>\n<$macrocall $name=\"tree-node\" prefix=<<__prefix__>> separator=<<__separator__>>/>\n</div>\n</div>\n\\end\n"
        },
        "$:/core/macros/utils": {
            "title": "$:/core/macros/utils",
            "text": "\\define colour(colour)\n$colour$\n\\end\n"
        },
        "$:/snippets/minifocusswitcher": {
            "title": "$:/snippets/minifocusswitcher",
            "text": "<$select tiddler=\"$:/config/AutoFocus\">\n<$list filter=\"title tags text type fields\">\n<option value=<<currentTiddler>>><<currentTiddler>></option>\n</$list>\n</$select>\n"
        },
        "$:/snippets/minilanguageswitcher": {
            "title": "$:/snippets/minilanguageswitcher",
            "text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
        },
        "$:/snippets/minithemeswitcher": {
            "title": "$:/snippets/minithemeswitcher",
            "text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
        },
        "$:/snippets/modules": {
            "title": "$:/snippets/modules",
            "text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
        },
        "$:/palette": {
            "title": "$:/palette",
            "text": "$:/palettes/Vanilla"
        },
        "$:/snippets/paletteeditor": {
            "title": "$:/snippets/paletteeditor",
            "text": "<$transclude tiddler=\"$:/PaletteManager\"/>\n"
        },
        "$:/snippets/palettepreview": {
            "title": "$:/snippets/palettepreview",
            "text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n{{||$:/snippets/currpalettepreview}}\n</$set>\n"
        },
        "$:/snippets/paletteswitcher": {
            "title": "$:/snippets/paletteswitcher",
            "text": "<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[name]]\"><$set name=\"cls\" filter=\"[all[current]prefix{$:/palette}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/>{{||$:/snippets/currpalettepreview}}</$link>\n</div></$set>\n</$list>\n</div>\n</$linkcatcher>\n"
        },
        "$:/snippets/peek-stylesheets": {
            "title": "$:/snippets/peek-stylesheets",
            "text": "\\define expandable-stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$vars state=<<qualify \"$:/state/peek-stylesheets/open/\">>>\n<$set name=\"state\" value={{{ [<state>addsuffix<currentTiddler>] }}}>\n<li>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"no\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"yes\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"div\">\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</$reveal>\n</li>\n</$set>\n</$vars>\n</$list>\n</ol>\n\\end\n\n\\define stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</li>\n</$list>\n</ol>\n\\end\n\n<$vars modeState=<<qualify \"$:/state/peek-stylesheets/mode/\">>>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"expanded\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}}</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"restored\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}}</$button>\n</$reveal>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<expandable-stylesheets-list>>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<stylesheets-list>>\n</$reveal>\n\n</$vars>\n"
        },
        "$:/temp/search": {
            "title": "$:/temp/search",
            "text": ""
        },
        "$:/tags/AdvancedSearch": {
            "title": "$:/tags/AdvancedSearch",
            "list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"
        },
        "$:/tags/AdvancedSearch/FilterButton": {
            "title": "$:/tags/AdvancedSearch/FilterButton",
            "list": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"
        },
        "$:/tags/ControlPanel": {
            "title": "$:/tags/ControlPanel",
            "list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"
        },
        "$:/tags/ControlPanel/Info": {
            "title": "$:/tags/ControlPanel/Info",
            "list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"
        },
        "$:/tags/ControlPanel/Plugins": {
            "title": "$:/tags/ControlPanel/Plugins",
            "list": "[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]"
        },
        "$:/tags/EditTemplate": {
            "title": "$:/tags/EditTemplate",
            "list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"
        },
        "$:/tags/EditToolbar": {
            "title": "$:/tags/EditToolbar",
            "list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"
        },
        "$:/tags/EditorToolbar": {
            "title": "$:/tags/EditorToolbar",
            "list": "$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/rotate-left $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"
        },
        "$:/tags/Manager/ItemMain": {
            "title": "$:/tags/Manager/ItemMain",
            "list": "$:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields"
        },
        "$:/tags/Manager/ItemSidebar": {
            "title": "$:/tags/Manager/ItemSidebar",
            "list": "$:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools"
        },
        "$:/tags/MoreSideBar": {
            "title": "$:/tags/MoreSideBar",
            "list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Explorer]] [[$:/core/ui/MoreSideBar/Plugins]]",
            "text": ""
        },
        "$:/tags/PageControls": {
            "title": "$:/tags/PageControls",
            "list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"
        },
        "$:/tags/PageTemplate": {
            "title": "$:/tags/PageTemplate",
            "list": "[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]",
            "text": ""
        },
        "$:/tags/PluginLibrary": {
            "title": "$:/tags/PluginLibrary",
            "list": "$:/config/OfficialPluginLibrary"
        },
        "$:/tags/SideBar": {
            "title": "$:/tags/SideBar",
            "list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
            "text": ""
        },
        "$:/tags/SideBarSegment": {
            "title": "$:/tags/SideBarSegment",
            "list": "[[$:/core/ui/SideBarSegments/site-title]] [[$:/core/ui/SideBarSegments/site-subtitle]] [[$:/core/ui/SideBarSegments/page-controls]] [[$:/core/ui/SideBarSegments/search]] [[$:/core/ui/SideBarSegments/tabs]]"
        },
        "$:/tags/TiddlerInfo": {
            "title": "$:/tags/TiddlerInfo",
            "list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
            "text": ""
        },
        "$:/tags/TiddlerInfo/Advanced": {
            "title": "$:/tags/TiddlerInfo/Advanced",
            "list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"
        },
        "$:/tags/ViewTemplate": {
            "title": "$:/tags/ViewTemplate",
            "list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"
        },
        "$:/tags/ViewToolbar": {
            "title": "$:/tags/ViewToolbar",
            "list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"
        },
        "$:/snippets/themeswitcher": {
            "title": "$:/snippets/themeswitcher",
            "text": "<$linkcatcher to=\"$:/theme\">\n<div class=\"tc-chooser\"><$list filter=\"[plugin-type[theme]sort[title]]\"><$set name=\"cls\" filter=\"[all[current]field:title{$:/theme}] [[$:/theme]!has[text]addsuffix[s/tiddlywiki/vanilla]field:title<currentTiddler>] +[limit[1]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
        },
        "$:/core/wiki/title": {
            "title": "$:/core/wiki/title",
            "text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"
        },
        "$:/view": {
            "title": "$:/view",
            "text": "classic"
        },
        "$:/snippets/viewswitcher": {
            "title": "$:/snippets/viewswitcher",
            "text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<$linkcatcher to=\"$:/view\">\n<div class=\"tc-chooser tc-viewswitcher\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$set name=\"cls\" filter=\"[<storyview>prefix{$:/view}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link to=<<storyview>>><$transclude tiddler=<<icon>>/><$text text=<<storyview>>/></$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
        }
    }
}

\define replacement-text()
[img[$(imageTitle)$]]
\end

''{{$:/language/Buttons/Picture/Hint}}''

<$macrocall $name="quickimg"/>

<$macrocall $name="image-picker" actions="""

<$action-sendmessage
	$message="tm-edit-text-operation"
	$param="replace-selection"
	text=<<replacement-text>>
/>

<$action-deletetiddler
	$tiddler=<<dropdown-state>>
/>

"""/>
\whitespace trim

\define lingo-base() $:/language/EditTemplate/

\define tag-styles()
background-color:$(backgroundColor)$;
fill:$(foregroundColor)$;
color:$(foregroundColor)$;
\end

\define tag-body-inner(colour,fallbackTarget,colourA,colourB,icon)
\whitespace trim
<$vars foregroundColor=<<contrastcolour target:"""$colour$""" fallbackTarget:"""$fallbackTarget$""" colourA:"""$colourA$""" colourB:"""$colourB$""">> backgroundColor="""$colour$""">
<span style=<<tag-styles>> class="tc-tag-label tc-tag-list-item">
<$transclude tiddler="""$icon$"""/><$view field="title" format="text" />
<$button message="tm-remove-tag" param={{!!title}} class="tc-btn-invisible tc-remove-tag-button">{{$:/core/images/close-button}}</$button>
</span>
</$vars>
\end

\define tag-body(colour,palette,icon)
<$macrocall $name="tag-body-inner" colour="""$colour$""" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} icon="""$icon$"""/>
\end

<div class="tc-edit-tags">
<$fieldmangler>
<$list filter="[all[current]tags[]sort[title]]" storyview="pop">
<$macrocall $name="tag-body" colour={{!!color}} palette={{$:/palette}} icon={{!!icon}}/>
</$list>
<$set name="tabIndex" value={{$:/config/EditTabIndex}}>
<$macrocall $name="tag-picker"/>
</$set>
</$fieldmangler>
</div>
[list[$:/StoryList]]
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAE0klEQVRYR+1Xa1CUVRh+dr1AoCAKAwLDLUIzgeGSyi1Sbm4FKhdFQavFBFIBiSSxlFHCnUQNRqgA8cIkEIiNDpeKwUFBwIBJJRDjjrBg7jJi4HLJrzln4Ytl2fjRjPzh/fOd9/Kd85znfc97vo+DWHB9lY1jOMDHAGc5XoowQgZIyZO0xXN8Bcafc8A5/lLWnbIIA+YLjp/AuOfl7XzqNhkhx09gwszG7ifWnAMw+wyU/36NqWoqQvXDn+RKQUtdD+5WAXhVxwKqymoYGZWgW9yCsvp8NHb9KhfP5XBhorMa5oYOWKFvg+SCT/HseT8bp6qkBmdzH6zUt8XSxdpYMG8hOAzDMFcrv0HWzQSZCQ20VuBYQA5UlBbLLcQwDFIKo1FWf4X6LIwcKdA3DNZCVVmdjT943hPtjxtYfY2ZB6K2pMjMRwEU12Ui45dYGcfhrRdhaeyo8ICQnYWkOGB0bBjOq72x992TcrFHL/vLMEU2cy6sBvO489lYCoBQSuiakFcWLsL58DpwufOoaWBIjMoHhRgeew6e9S4smK9E7fG5fPzWWgZ1lWX4bl8VSApeMC/ok4ggbzfqWm7IALMwcsDo36Po6GvE8JhEmoI7D39GwtVQNtBMzxpxgbmsHpXxDjr/bKJ6tE8abEw30HHOrTO4cvssHa/UfxM94hYc9E6FmZ4VtSVei0BF43WFLBIHBXC/vQLHc3axgfavv4cIr0SqE6qDkmxZ34euR8CzeZ/qpfd+wLdFh2QWiAvMYwGkFh9Gyd3smQE0C+8i5pI3G+hhvRNBbtKa6HryEJ+c47G+rY4R8HXYT/WaP0rwVX6wQgCZN07g+p30mQE8etKMyHMebOCmtXsQ8HY01Vt76/HZxU2sb8u6UGx3jqL6VOaIbTIDueWJyK1IUghAU01XmoIeUSsi0t3YQB/7fdjmdIDqzcJ7iLm0hfV5rd2DwHFwDV3ViL28QyEDpD5InSiScM+vxwGI2xCR5srGEYoJ1TMC6KxGbNZ/AUhGzq3T065vZeKMQ34ZUgBCcRvCJwHYvC4EO5ylx1IuBXah2P6WNAX32ssRlyMtyAmZnIL828nIngYA6QcJ/CJoqi0fB9DfjvBUF3aSjda7wHc7SvVuUQsOpLuzPn+nSHjb76V6VVMxTv8oHU8LoDIF2TdPyTEQyhNgvYUftVMGevs7EJYqPdtE1q3gIXKz9Hw/HRTho7NrWF8IT4AN4y9P10EnMzBdi7cxdUG0Tyo7HwXQ19+J/anrWaOh1kqc5BdQnfR9fpI1BiUDIB0ygV8ALXV96rtQchyFtRcUMjAVgJrKUkr9ElVN+k57X4OUgadDImSWnsDImATVTcXgcLi0Z5MbkEhL730MDIroTac+/jKxk9NBTslyDSO8pivtfqSAdTQM6bi2uZS28B5xK0ivCfM8A8dVXixgcgtTAJO3EJxsh/6/HmO3+zF6wymSXlI3aa6UIRdLfwRv/FJh7INHNTjy/TbE78yHqa6lTJxCAOSCiduZB+0lBnITj4wNQ5AXhPqOSur7XwCyyk7JMEByKhkZpBOTDwie7QcwN7SDmsoySEaH0Cq8j8Lai+gWNbPASE04rfq3W05FLHompB8x6819obFIW5aBua/iOQZm/dds1n9OZ/v3/B/GoTfPjVjwRgAAAABJRU5ErkJggg==
main
index.html
/
springerspandrel/tw
springerspandrel
springerspandrel
\define icon(icon navigate tooltip) 
<$button to="$navigate$" tooltip="$tooltip$"class="tc-btn-invisible"><<__icon__>></$button>
\end

\define _icon(icon) 
<button class="tc-btn-invisible"disabled><<__icon__>></button>
\end


* ''Version'': 1.0.0
* ''Date'': 2020/02/27
* ''Creator'': HC Haase. Inspired by [[Bimlas|https://bimlas.gitlab.io/tw5-locator/#%24%3A%2Fbimlas%2Fmacros%2Ficon]].

!! Function
This macro make transcluded icons follow the line height of the text with the option of a link and a tooltip. 
This makes prettier references to buttons (like this <<_icon {{$:/core/images/new-button}} "link" "tooltip text">> instead of  this  {{$:/core/images/new-button}}) in documentation text.

There is a'' simple macro'' without a button and an ''extended macro'' with a button.

!! Use

;Syntax, simple macro  (note the `_`)
:`<<_icon <transclusion> >>`<$button message="tm-copy-to-clipboard" param="<<_icon <transclusion> >>"}>Copy</$button>

;Syntax, extended macro
:`<<icon <transclusion> <link> "<tooltip text>" >>`<$button message="tm-copy-to-clipboard" param="<<icon <transclusion> >>"}>Copy</$button>

|! Attribute|!Option|!Description|
|transclusion|required|a transclusion of an icon|
|link|optional|name of tiddler to link to (omit with `""`)|
|tooltip text|optional|text of tooltip|


;Example
:`<<icon {{$:/core/images/new-button}} "link" "tooltip text">>` 
:will produce <<icon {{$:/core/images/new-button}} "link" "tooltip text">> that links to "link".
NB: if you want no link, but at tooltip, use `""` for a empty link.

!! Code

```
\define icon(icon navigate tooltip) 
<$button to="$navigate$" tooltip="$tooltip$"class="tc-btn-invisible"><<__icon__>></$button>
\end

\define _icon(icon) 
<button class="tc-btn-invisible"disabled><<__icon__>></button>
\end
```
<svg class="tc-image-chair tc-image-button" width="22pt" height="22pt" viewBox="0 0 448 512"><path d="M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z"/></svg>
<svg class="tc-image-database tc-image-button" width="22pt" height="22pt" viewBox="0 0 448 512"><path d="M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z"/></svg>
<svg class="tc-image-file-excel tc-image-button" width="22pt" height="22pt" viewBox="0 0 384 512"><path d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"/></svg>
<svg class="tc-image-file-powerpoint tc-image-button" width="22pt" height="22pt" viewBox="0 0 384 512"><path d="M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z"/></svg>
<svg class="tc-image-file-word tc-image-button" width="22pt" height="22pt" viewBox="0 0 384 512"><path d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"/></svg>
The following tiddlers were imported:

# [[$:/plugins/tiddlywiki/file-uploads]]
# [[$:/plugins/tiddlywiki/file-uploads-github]]
yes
yes
no
{
    "Extract 212 grades from moodle's gradebook": "color:#155724;background-color:#d4edda;",
    "Grade 212 final essays": "color:#155724;background-color:#d4edda;"
}
show
\define linkstyle()
<$set name="uri" value=<<makedatauri """$(tid)$""" "text/plain">> >
<$list variable="urititle" filter="""[<uri>removeprefix[data:text/plain,]]""">
<style>
a[href='#<<urititle>>'] { <<style>> }
.tc-sidebar-lists a[href='#<<urititle>>'] { <<style>> }
a[href="#<<urititle>>"]:before { <<style-before>> }
a[href="#<<urititle>>"]:after { <<style-after>> }
</style>
</$list>
</$set>
\end

<$list filter="""[has[linkstyle]] [has[linkstyle-before]] [has[linkstyle-after]]""">
<$vars tid={{!!title}}
            style={{!!linkstyle}}
            style-before={{!!linkstyle-before}}
            style-after={{!!linkstyle-after}}
>
<<linkstyle>>
</$vars>
</$list>
/*\
title: $:/macros/skeeve/rojo.js
type: application/javascript
module-type: macro

\*/
(function(){

/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";

/*
Information about this macro
This is developed to put some text in red.
*/

exports.name = "rojo";

exports.params = [
	{ name: "textToColorize" }
];

/*
Run the macro
*/
exports.run = function(textToColorize) {
	if( !textToColorize) textToColorize = "IMPORTANT";
		return spanize(textToColorize,"red");
    
    function spanize(texto,color){
    	return "<span style='color:" + color + "'>" + texto + "</span>";
    }

};

})();
/*\
title: $:/macros/skeeve/calendar.js
type: application/javascript
module-type: macro

\*/
(function(){

/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";

/*
<<calendar [month] [year]>>
NOTE: In this case month is 1-based. So 1 == January

Examples:
<<calendar>>         -> current year
<<calendar 1964>>    -> calendar for 1964
<<calendar 11>>      -> for november of current year
<<calendar 11 1964>> -> for november 1964
<<calendar 0>>       -> current month, current year
<<calendar 0 1964>>  -> current month in 1964

*/
var FirstDayOfWeek = new Date("2014-01-27").getDay();
var MonthNames = [ "Januar", "Februar", "März",
                   "April", "Mai", "Juni",
                   "Juli", "August", "September",
                   "October", "November", "Dezember" ];
var DayNamesShort = [ "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So" ];
/* Note: First day name must be the name of the "FirstDayOfWeek"
   So if you want to make Sunday the first day of the week:
   1. Move Sunday to the beginning
   2. Change the Date in "FirstDayOfWeek" to any date which was a Sunday.
*/
var Padding = "";
while (Padding.length / 2 + 1 < DayNamesShort.length) {
    Padding += "|>";
}
exports.name = "calendar";

exports.params = [
    { name: "month" },
    { name: "year" }
];

/*
Run the macro
*/
exports.run = function(month, year) {
    if( !year) {
            if( month > MonthNames.length) {
                year = month;
                month = null;
            }
            else {
                year = new Date().getFullYear();
            }
    }
    if( month == "0") {
            month = new Date().getMonth()+1;
    }
    var picture= Padding + "| !"+year+" |\n";
    if( !month) {
            for(month in MonthNames) {
                picture += paint_month(month, year);
            }
    }
    else {
            picture += paint_month(month-1, year);
    }
    return picture;
};

function paint_month(month, year) {
    var picture = Padding + "| !" + MonthNames[month] + " |\n"
                + "| " + DayNamesShort.join(" | ") + " |\n";
    var date = new Date(year, month, 1);
    date.setDate(date.getDate() - (DayNamesShort.length+date.getDay()-FirstDayOfWeek) % DayNamesShort.length);
    var currentMonth = date.getMonth(); 
    while(true) {
        picture += '|';
        if(currentMonth == month) {
            picture += " " + date.getDate() + " ";
        }
        date.setDate(date.getDate() + 1);
        currentMonth = date.getMonth();
        if( date.getDay() == FirstDayOfWeek ) {
            picture += " |\n";
            if( currentMonth != month ) break;
        }
    }
    return picture;
};

})();
$:/palettes/Blue
The plugin library for the latest and greatest plugins from [ext[infurnoape|https://github.com/Infurnoape/infurnoape.github.io.git]]; most recent released versions of plugins by [ext[Andrew|http://t5a.tiddlyspot.com/#Andrew%20Harrison]].
The plugin library for plugins developed and maintained by OokTech. See http://OokTech.com/TiddlyWiki for more information.
{
    "tiddlers": {
        "$:/language/Buttons/Choose/Caption": {
            "text": "choose",
            "title": "$:/language/Buttons/Choose/Caption"
        },
        "$:/language/Buttons/Choose/Hint": {
            "text": "Add to favorites list",
            "title": "$:/language/Buttons/Choose/Hint"
        },
        "$:/language/Buttons/Favorites/Caption": {
            "text": "favorite",
            "title": "$:/language/Buttons/Favorites/Caption"
        },
        "$:/language/Buttons/Favorites/Hint": {
            "text": "Remove from favorites list",
            "title": "$:/language/Buttons/Favorites/Hint"
        },
        "$:/language/SideBar/Favorites/Caption": {
            "text": "Favorites",
            "title": "$:/language/SideBar/Favorites/Caption"
        },
        "$:/plugins/ajh/favorites/icon": {
            "text": "\\define my-svg()\n<svg class='tc-image-favorites tc-image-button' width='22pt' height='22pt' viewBox='0 0 192 192'><path fill='#f08' stroke='#30f' stroke-width='7.5' d='m13.5,52.2l82.5,-48l82.5,48v87.3l-82.5,48l-82.5,-48v-87.3z'/><path fill='#ff0' stroke='#f90' stroke-width='5' d='m$(m)$$(path)$'/></g></svg>\n\\end\n\n<$vars m='96,122' path={{$:/plugins/ajh/favorites/image!!path}}>\n<<my-svg>>\n</$vars>",
            "title": "$:/plugins/ajh/favorites/icon",
            "tags": "$:/tags/Image"
        },
        "$:/plugins/ajh/favorites/readme": {
            "text": "This plugin adds the <$list filter='[<tv-config-toolbar-icons>prefix[yes]]'><span class='tc-btn-dropdown'>{{$:/core/images/star-filled}}</span></$list> <$list filter='[<tv-config-toolbar-text>prefix[yes]]'>{{$:/language/Buttons/Choose/Caption}}</$list> button to the View Toolbar and also the <span class='tc-favorites'>{{$:/core/images/star-filled}}</span> tab to the Sidebar. The button becomes <$list filter='[<tv-config-toolbar-icons>prefix[yes]]'><span class='tc-favorites'>{{$:/core/images/star-filled}}</span></$list> <$list filter='[<tv-config-toolbar-text>prefix[yes]]'>{{$:/language/Buttons/Favorites/Caption}}</$list> when selected and then the tiddler appears in the list on the <span class='tc-favorites'>{{$:/core/images/star-filled}}</span> tab.  The list can be sorted using drag and drop. To drag an item, select it, then hold down the mouse or track-pad button while you drag it to a new location in the list. Release the button to drop the item into place. Unneeded favorites can be removed from the list by using the <$list filter='[<tv-config-toolbar-icons>prefix[yes]]'><span class='tc-favorites'>{{$:/core/images/star-filled}}</span></$list> <$list filter='[<tv-config-toolbar-text>prefix[yes]]'>{{$:/language/Buttons/Favorites/Caption}}</$list> button in the tiddler.\n\nSimply drag $:/plugins/ajh/favorites to the top of your tiddlywiki display, save and reload.\n\nThis plugin comprises:\n\n* Icon\n* Template\n* Stylesheet\n* Sidebar tab\n* Caption and hint",
            "title": "$:/plugins/ajh/favorites/readme"
        },
        "$:/plugins/ajh/favorites/SideBar": {
            "text": "\\define drop-actions()\n<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $subfilter='+[insertbefore:currentTiddler<actionTiddler>]'/>\n\\end\n\n<$list filter='[list[$:/plugins/ajh/favorites/list]]'>\n<div style='position: relative;'>\n<$droppable actions=<<drop-actions>>>\n<div class='tc-droppable-placeholder'>\n&nbsp;\n</div>\n<div>\n <$link to={{!!title}}>\n<$view field='caption'><$view field='title'/></$view></$link>\n</div>\n</$droppable>\n</div>\n</$list>\n",
            "title": "$:/plugins/ajh/favorites/SideBar",
            "tags": "$:/tags/SideBar",
            "list-before": "",
            "caption": "<span class='tc-tab-buttons' title={{$:/language/SideBar/Favorites/Caption}}>{{$:/plugins/ajh/favorites/image}}</span><span class='tc-favorites-hidden'>{{$:/language/SideBar/Favorites/Caption}}</span>"
        },
        "$:/plugins/ajh/favorites/template": {
            "text": "\\define add() [[$(currentTiddler)$]]\n\\define remove() -[[$(currentTiddler)$]]\n\\define my-svg()\n<svg class='tc-image-favorites tc-image-button' width='22pt' height='22pt' viewBox='0 0 128 128'><path fill='$(fill)$' stroke='$(stroke)$' stroke-width='5' d='m$(m)$$(path)$'/></g></svg>\n\\end\n\n<$list filter='[list[$:/plugins/ajh/favorites/list]is[current]]'><$button tooltip={{$:/language/Buttons/Favorites/Hint}} aria-label={{$:/language/Buttons/Favorites/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $field='list' $subfilter=<<remove>>/>\n<$list filter='[<tv-config-toolbar-icons>prefix[yes]]'>\n<$vars fill={{$:/plugins/ajh/favorites/stylesheet!!button-color}} stroke={{$:/plugins/ajh/favorites/stylesheet!!button-outline-color}} m='64,96.1' path={{$:/plugins/ajh/favorites/image!!path}}>\n<<my-svg>>\n</$vars>\n</$list>\n<$list filter='[<tv-config-toolbar-text>prefix[yes]]'>\n<span class='tc-btn-text'>\n<$text text={{$:/language/Buttons/Favorites/Caption}}/>\n</span>\n</$list>\n</$button></$list><$list filter='[all[current]!list[$:/plugins/ajh/favorites/list]]'><$button tooltip={{$:/language/Buttons/Choose/Hint}} aria-label={{$:/language/Buttons/Choose/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $field='list' $subfilter=<<add>>/>\n<$list filter='[<tv-config-toolbar-icons>prefix[yes]]'>\n{{$:/core/images/star-filled}}\n</$list>\n<$list filter='[<tv-config-toolbar-text>prefix[yes]]'>\n<span class='tc-btn-text'>\n<$text text={{$:/language/Buttons/Choose/Caption}}/>\n</span>\n</$list>\n</$button></$list>",
            "title": "$:/plugins/ajh/favorites/template",
            "tags": "$:/tags/ViewToolbar",
            "list-after": "$:/core/ui/Buttons/more-tiddler-actions",
            "description": "{{$:/language/Buttons/Favorites/Hint}}",
            "caption": "{{ $:/core/images/star-filled}} {{$:/language/Buttons/Favorites/Caption}}"
        },
        "$:/plugins/ajh/favorites/stylesheet": {
            "text": ".tc-tab-buttons + .tc-favorites-hidden {\n    display: none;\n}\n.tc-tab-buttons button.tc-tab-selected {\n    fill: {{!!tab-icon-selected-color}};\n    stroke: {{!!tab-icon-outline-color}}; \n}\n.tc-tab-buttons button:not(.tc-tab-selected) {\n    fill: {{!!tab-icon-unselected-color}};\n}\n.tc-favorites {\n    stroke: {{!!button-outline-color}};\n    stroke-width:5;\n    fill: {{!!button-color}};\n}\n.tc-image-star-filled {\n    height:1em;\n    width:1em;\n}",
            "title": "$:/plugins/ajh/favorites/stylesheet",
            "tags": "$:/tags/Stylesheet",
            "tab-icon-unselected-color": "#999",
            "tab-icon-selected-color": "#ff0",
            "tab-icon-outline-color": "#000",
            "caption": "Favorites",
            "button-outline-color": "#000",
            "button-color": "#ff0"
        },
        "$:/plugins/ajh/favorites/image": {
            "text": "\\define my-svg()\n<svg class='tc-image-favorites tc-image-button' width='22pt' height='22pt' viewBox='0 0 128 128'><path stroke-width='5' d='m$(m)$$(path)$'/></svg>\n\\end\n\n<$vars m='64,96.1' path={{!!path}}>\n<<my-svg>>\n</$vars>",
            "title": "$:/plugins/ajh/favorites/image",
            "tags": "$:/tags/Image",
            "path": "l32.7,24.2c2.4,1.7 5.6,-0.6 4.6,-3.4l-12.4,-38.6l32.5,-23.8c2.4,-1.7 1.1,-5.5 -1.8,-5.5l-40.2,0l-12.5,-38.5c-0.9,-2.8 -4.8,-2.8 -5.8,0l-12.5,38.5l-40.2,0c-2.9,0 -4.2,3.8 -1.8,5.5l32.5,23.8l-12.4,38.6c-0.9,2.8 2.3,5.1 4.6,3.4l32.7,-24.2z"
        }
    }
}

\define add() [[$(currentTiddler)$]]
\define remove() -[[$(currentTiddler)$]]
\define my-svg()
<svg class='tc-image-favorites tc-image-button' width='22pt' height='22pt' viewBox='0 0 128 128'><path fill='$(fill)$' stroke='$(stroke)$' stroke-width='5' d='m$(m)$$(path)$'/></g></svg>
\end

<$list filter='[list[$:/plugins/ajh/favorites/list]is[current]]'><$button tooltip={{$:/language/Buttons/Favorites/Hint}} aria-label={{$:/language/Buttons/Favorites/Caption}} class=<<tv-config-toolbar-class>>>
<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $field='list' $subfilter=<<remove>>/>
<$list filter='[<tv-config-toolbar-icons>prefix[yes]]'>
<$vars fill={{$:/plugins/ajh/favorites/stylesheet!!button-color}} stroke={{$:/plugins/ajh/favorites/stylesheet!!button-outline-color}} m='64,96.1' path={{$:/plugins/ajh/favorites/image!!path}}>
<<my-svg>>
</$vars>
</$list>
<$list filter='[<tv-config-toolbar-text>prefix[yes]]'>
<span class='tc-btn-text'>
<$text text={{$:/language/Buttons/Favorites/Caption}}/>
</span>
</$list>
</$button></$list><$list filter='[all[current]!list[$:/plugins/ajh/favorites/list]]'><$button tooltip={{$:/language/Buttons/Choose/Hint}} aria-label={{$:/language/Buttons/Choose/Caption}} class=<<tv-config-toolbar-class>>>
<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $field='list' $subfilter=<<add>>/>
<$list filter='[<tv-config-toolbar-icons>prefix[yes]]'>
{{$:/core/images/star-filled}}
</$list>
<$list filter='[<tv-config-toolbar-text>prefix[yes]]'>
<span class='tc-btn-text'>
<$text text={{$:/language/Buttons/Choose/Caption}}/>
</span>
</$list>
</$button></$list>
{
    "tiddlers": {
        "$:/language/Buttons/OpenAll/Caption": {
            "text": "Open All",
            "title": "$:/language/Buttons/OpenAll/Caption"
        },
        "$:/language/Buttons/OpenAll/Hint": {
            "text": "Open all by tag",
            "title": "$:/language/Buttons/OpenAll/Hint"
        },
        "$:/plugins/ajh/openall/icon": {
            "text": "\\define my-svg()\n<svg class='tc-image-openall tc-image-button' width='22pt' height='22pt' viewBox='0 0 192 192'><path fill='#30f' stroke='#f00' stroke-width='7.5' d='m13.5,52.2l82.5,-48l82.5,48v87.3l-82.5,48l-82.5,-48v-87.3z'/><path fill='#fff' stroke='#30f' stroke-width='5' d='m$(m)$$(path)$'/></g></svg>\n\\end\n\n<$vars m='96,14' path={{$:/plugins/ajh/openall/image!!path}}>\n<<my-svg>>\n</$vars>",
            "title": "$:/plugins/ajh/openall/icon",
            "tags": "$:/tags/Image"
        },
        "$:/plugins/ajh/openall/image": {
            "text": "\\define my-svg()\n<svg class='tc-image-openall tc-image-button' width='22pt' height='22pt' viewBox='0 0 128 128'><path d='m$(m)$$(path)$'/></svg>\n\\end\n\n<$vars m='64,3' path={{!!path}}>\n<<my-svg>>\n</$vars>",
            "title": "$:/plugins/ajh/openall/image",
            "tags": "$:/tags/Image",
            "path": "l64,73h-128l64,-73zm-64,104h128v24h-128v-24z"
        },
        "$:/plugins/ajh/openall/readme": {
            "text": "This plugin adds the {{$:/plugins/ajh/openall/template}} button to the tag manager drop down menu using the{{$:/tags/TagDropdown||$:/core/ui/TagTemplate}}system tag. The open all button opens all non system tiddlers tagged with that drop down tag.\n\nSimply drag $:/plugins/ajh/openall to the top of your tiddlywiki display, save and reload.\n\nThis plugin comprises:\n\n* Icon\n* Template\n* Stylesheet\n* Caption and hint",
            "title": "$:/plugins/ajh/openall/readme"
        },
        "$:/plugins/ajh/openall/stylesheet": {
            "text": "html .tc-drop-down button svg, .tc-drop-down a svg {\n    fill: {{!!button-color}};\n}\nhtml .tc-drop-down button.tc-btn-invisible:hover svg {\n    fill: {{!!button-hover-color}};\n}\n.tc-sidebar-lists .tc-drop-down button svg, .tc-drop-down a svg {\n    fill: {{!!sidebar-button-color}};\n}\n.tc-sidebar-lists .tc-drop-down button.tc-btn-invisible:hover svg {\n    fill: {{!!sidebar-button-hover-color}};\n}",
            "title": "$:/plugins/ajh/openall/stylesheet",
            "tags": "$:/tags/Stylesheet",
            "sidebar-button-hover-color": "#444",
            "sidebar-button-color": "#999",
            "caption": "Open All Button",
            "button-hover-color": "#fff",
            "button-color": "#333"
        },
        "$:/plugins/ajh/openall/template": {
            "text": "\\define lingo-base() $:/language/Buttons/\n\n<$button tooltip={{$:/language/Buttons/OpenAll/Hint}} aria-label={{$:/language/Buttons/OpenAll/Caption}} class='tc-btn-invisible openall'>\n<$list filter='[tag{!!title}]'>\n<$action-navigate $to=<<currentTiddler>> />\n</$list>\n<$list filter='[<tv-config-toolbar-icons>prefix[yes]]'>\n{{$:/plugins/ajh/openall/image}}\n</$list>\n<$list filter='[<tv-config-toolbar-text>prefix[yes]]'>\n<<lingo OpenAll/Caption>>\n</$list>\n</$button>",
            "title": "$:/plugins/ajh/openall/template",
            "tags": "$:/tags/TagDropdown"
        }
    }
}
{
 "tiddlers": {
 "$:/plugins/ajh/plugintweaks/controls": { "text": "<$list filter='[all[shadows]tag[$:/tags/Stylesheet]prefix[$:/plugins/]limit[1]]'>\n<$macrocall\n$name='tabs'\ntabsList='[all[shadows]tag[$:/tags/Stylesheet]prefix[$:/plugins/]]'\ndefault={{!!title}}\nclass='tc-vertical'\ntemplate='$:/plugins/ajh/plugintweaks/template'/>\n</$list>", "title": "$:/plugins/ajh/plugintweaks/controls", "tags": "plugin $:/tags/ControlPanel/Appearance", "modified": "20170803124802276", "created": "20170803124800263", "caption": "Plugin Tweaks" },
 "$:/plugins/ajh/plugintweaks/icon": { "text": "<svg class='tc-image-plugintweaks tc-image-button' width='22pt' height='22pt' viewBox='0 0 192 192'><path fill='#000' stroke='#0f3' stroke-width='7.5' d='m13.5,52.2l82.5,-48l82.5,48v87.3l-82.5,48l-82.5,-48v-87.3z'/><path fill='#0f3' d='m72.4,108.4v18.9h14.1c3.8,0 6.9,-3.1 6.9,-6.9c0,-1.8 -0.7,-3.5 -1.8,-4.7c-1,-1.2 -1.7,-2.8 -1.7,-4.5c0,-3.8 3.1,-6.9 6.9,-6.9c3.8,0 6.9,3.1 6.9,6.9c0,2 -0.8,3.8 -2.2,5c-0.9,1.2 -1.4,2.6 -1.4,4.1c0,3.4 2.5,6.3 5.8,6.8h21.3v-19.8c0,-3.8 -3.1,-6.9 -6.9,-6.9c-1.8,0 -3.5,0.7 -4.7,1.8c-1.2,1 -2.8,1.7 -4.5,1.7c-3.8,0 -6.9,-3.1 -6.9,-6.9c0,-3.8 3.1,-6.9 6.9,-6.9c2,0 3.8,0.8 5,2.2c1.2,0.9 2.6,1.4 4.1,1.4c3.4,0 6.3,-2.5 6.8,-5.8v-15.7h-21.3c-3.3,-0.5 -5.8,-3.4 -5.8,-6.8c0,-1.5 0.5,-3 1.4,-4.1c1.3,-1.3 2.2,-3 2.2,-5c0,-3.8 -3.1,-6.9 -6.9,-6.9c-3.8,0 -6.9,3.1 -6.9,6.9c0,1.7 0.6,3.3 1.7,4.5c1.1,1.2 1.8,2.9 1.8,4.7c0,3.8 -3.1,6.9 -6.9,6.9h-14.1v12.8c0.1,0.5 0.1,0.9 0.1,1.4c0,3.8 -3.1,6.9 -6.9,6.9c-1.5,0 -3,-0.5 -4.1,-1.4c-1.3,-1.3 -3,-2.2 -5,-2.2c-3.8,0 -6.9,3.1 -6.9,6.9c0,3.8 3.1,6.9 6.9,6.9c1.7,0 3.3,-0.6 4.5,-1.7c1.2,-1.1 2.9,-1.8 4.7,-1.8c3.8,0 6.9,3.1 6.9,6.9c0,0.5 0,1 -0.1,1.4zm70.1,-0.4c-1.1,4.4 -2.9,8.6 -5.1,12.4l6.7,6.7c3.1,3.1 3.1,8.2 0,11.3l-5.7,5.7c-3.1,3.1 -8.2,3.1 -11.3,0l-6.7,-6.7c-3.8,2.3 -8,4 -12.4,5.1v9.5c0,4.4 -3.6,8 -8,8h-8c-4.4,0 -8,-3.6 -8,-8v-9.5c-4.4,-1.1 -8.6,-2.9 -12.4,-5.1l-6.7,6.7c-3.1,3.1 -8.2,3.1 -11.3,0l-5.7,-5.7c-3.1,-3.1 -3.1,-8.2 0,-11.3l6.7,-6.7c-2.3,-3.8 -4,-8 -5.1,-12.4h-9.5c-4.4,0 -8,-3.6 -8,-8v-8c0,-4.4 3.6,-8 8,-8h9.5c1.1,-4.4 2.9,-8.6 5.1,-12.4l-6.7,-6.7c-3.1,-3.1 -3.1,-8.2 0,-11.3l5.7,-5.7c3.1,-3.1 8.2,-3.1 11.3,0l6.7,6.7c3.8,-2.3 8,-4 12.4,-5.1v-9.5c0,-4.4 3.6,-8 8,-8h8c4.4,0 8,3.6 8,8v9.5c4.4,1.1 8.6,2.9 12.4,5.1l6.7,-6.7c3.1,-3.1 8.2,-3.1 11.3,0l5.7,5.7c3.1,3.1 3.1,8.2 0,11.3l-6.7,6.7c2.3,3.8 4,8 5.1,12.4h9.5c4.4,0 8,3.6 8,8v8c0,4.4 -3.6,8 -8,8h-9.5z'></path></svg>", "title": "$:/plugins/ajh/plugintweaks/icon", "tags": "plugin $:/tags/Image", "modified": "20170803124746115", "created": "20170803124744254" },
 "$:/plugins/ajh/plugintweaks/readme": { "text": "This plugin adds to the appearance tab in the control panel. It provides edit fields for changing plugin stylesheet values that are stored in fields.\n\nSimply drag $:/plugins/ajh/plugintweaks to the top of your tiddlywiki display, save and reload.\n\nThis plugin comprises:\n\n* Control settings\n* Template", "title": "$:/plugins/ajh/plugintweaks/readme", "tags": "plugin", "modified": "20170803124719165", "created": "20170803124716084" },
"$:/plugins/ajh/plugintweaks/template": { "text": "<$tiddler tiddler=<<currentTab>>>\n<$list filter='[all[current]fields[]sort[title]] -caption -created -creator -modified -modifier -tags -text -title' variable='currentField'>\n<tr class='tc-edit-field'>\n<td class='tc-edit-field-name'>\n<$text text=<<currentField>>/>:</td>\n<td class='tc-edit-field-value'>\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n</tr>\n</$list>\n</$tiddler>", "title": "$:/plugins/ajh/plugintweaks/template", "tags": "plugin", "modified": "20170804131415194", "created": "20170804131413111" }
 }
}
{
    "tiddlers": {
        "$:/language/showfields/caption": {
            "text": "Show Fields",
            "title": "$:/language/showfields/caption"
        },
        "$:/language/showfields/hint": {
            "text": "Add field to list:",
            "title": "$:/language/showfields/hint"
        },
        "$:/plugins/ajh/showfields/controls": {
            "text": "\\define remove() -[[$(currentTiddler)$]]\n\\define lingo-base() $:/language/EditTemplate/\n\\define drop-actions()\n<$action-listops $tiddler='$:/plugins/ajh/showfields/list' $subfilter='+[insertbefore:currentTiddler<actionTiddler>]'/>\n\\end\n\n<$list filter='[list[$:/plugins/ajh/showfields/list]]'>\n<div style='position: relative;'>\n<$droppable actions=<<drop-actions>>>\n<div class='tc-droppable-placeholder'>\n&nbsp;\n</div>\n<div>\n<$button class=<<tv-config-toolbar-class>>>\n<$action-listops $tiddler='$:/plugins/ajh/showfields/list' $field='list' $subfilter=<<remove>>/>\n<input type='checkbox' checked='checked'>\n</$button>\n <$link to={{!!title}}>\n<$view field='caption'><$view field='title'/></$view></$link>\n</div>\n</$droppable>\n</div>\n</$list>\n\n<div class='tc-edit-field-add'>\n<em class='tc-edit'>\n{{$:/language/showfields/hint}}\n</em>\n<span class='tc-edit-field-add-name'>\n<$edit-text tiddler='$:/temp/newfieldname' tag='input' default='' placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify '$:/state/popup/field-dropdown'>> class='tc-edit-texteditor tc-popup-handle'/>\n</span>\n<$button popup=<<qualify '$:/state/popup/field-dropdown'>> class='tc-btn-invisible tc-btn-dropdown' tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify '$:/state/popup/field-dropdown'>> type='nomatch' text='' default=''>\n<div class='tc-block-dropdown tc-edit-type-dropdown'>\n<$linkcatcher to='$:/temp/newfieldname'>\n<div class='tc-dropdown-item'>\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter='[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]]'  variable='currentField'>\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n<div class='tc-dropdown-item'>\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter='[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]' variable='currentField'>\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n<$button>\n<$action-listops $tiddler='$:/plugins/ajh/showfields/list' $field='list' $subfilter={{$:/temp/newfieldname}}/>\n<<lingo Fields/Add/Button>>\n</$button>\n</div>",
            "title": "$:/plugins/ajh/showfields/controls",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/showfields/caption}}"
        },
        "$:/plugins/ajh/showfields/readme": {
            "text": "This plugin adds to the settings tab in the control panel. It provides a field selector to add or remove fields to be viewed if any tiddler has them. Drag and drop selected to change the ordering.\n\nAlso, optionally add to a tiddler the field named ''show-field'' and in its contents add field names with or without a minus in front to show or hide them in that tiddler only.\n\nSimply drag $:/plugins/ajh/showfields to the top of your tiddlywiki display, save and reload.\n\nThis plugin comprises:\n\n* Control settings\n* Template\n* Caption and hint",
            "title": "$:/plugins/ajh/showfields/readme"
        },
        "$:/plugins/ajh/showfields/icon": {
            "text": "<svg class='tc-image-showfields ic-image-button' width='22pt' height='22pt' viewBox='0 0 128 128'><path fill='#ccc' stroke='#f00' stroke-width='5' d='m7,36.7l55,-32l55,32l0,58.2l-55,32l-55,-32l0,-58.2z'/><path fill='#000' d='m52,46h55v13h-55v-13zm0,28.5h55v13h-55v-13zm-8,-6h-25v25h25v-25zm-4,9l-10,11l-7,-7l2.5,-2.5l4.5,4.5l8,-9l2.5,2.5zm4,-38h-25v25h25v-25l0,0zm-4,9l-10,11l-7,-7l2.5,-2.5l4.5,4.5l8,-9l2.5,2.5z'/></svg>",
            "title": "$:/plugins/ajh/showfields/icon",
            "tags": "$:/tags/Image"
        },
        "$:/plugins/ajh/showfields/template": {
            "text": "\\define body()\n<$list filter='[list[$:/plugins/ajh/showfields/list]] $(showfield)$' variable='listItem'>\n<$list filter='[all[current]has<listItem>]'>\n<tr class='tc-view-field'>\n<td class='tc-view-field-name'>''<<listItem>>'':</td>\n<td class='tc-view-field-value'><$transclude field=<<listItem>>/></td>\n</tr>\n</$list>\n</$list>\n\\end\n<$reveal type='nomatch' state=<<folded-state>> text='hide' retain='yes' animate='yes'>\n<$set name='showfield' value={{!!show-field}}>\n<table class='tc-view-field-table'>\n<tbody>\n<<body>>\n</tbody>\n</table>\n</$set>\n</$reveal>",
            "title": "$:/plugins/ajh/showfields/template",
            "tags": "$:/tags/ViewTemplate"
        }
    }
}

{
    "tiddlers": {
        "$:/plugins/bimlas/mediaplayer/README/CHANGELOG": {
            "title": "$:/plugins/bimlas/mediaplayer/README/CHANGELOG",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "I'm trying to follow the rules of [[Semantic Versioning|https://semver.org/]].\n\n!! 0.3.0\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-disqus/compare/v0.2.1...v0.3.0]]\n\n* Display images as slideshow with adjustable timeout\n* Autoplay is optional\n* Improve design\n\n!! 0.2.1\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-disqus/compare/v0.2.0...v0.2.1]]\n\n* Improved design\n\n!! 0.2.0\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-disqus/compare/v0.1.1...v0.2.0]]\n\n* ''Convert to a \"real\" media player with a playlist''\n* Able to play videos as well\n\n!! 0.1.1\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-disqus/compare/v0.1.0...v0.1.1]]\n\n* Do not reload media when jumping to another one\n* Fix RSOD: do nothing if there is no media files opened\n\n!! 0.1.0\n\n* First public release\n"
        },
        "$:/plugins/bimlas/mediaplayer/README/README": {
            "title": "$:/plugins/bimlas/mediaplayer/README/README",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "! Mediaplayer\n\nPlay music, video continuously, create slideshow from images\n\n* https://gitlab.com/bimlas/tw5-mediaplayer (main repository)\n* https://github.com/bimlas/tw5-mediaplayer (mirror, please star if you like it)\n\n!! Usage\n\n* Make a new tiddler with the text `<<mediaplayer>>`, name it as you want\n** It can be attached to the sidebar by adding the [[$:/tags/SideBarSegment]] tag to be easily accessible while browsing your notes\n* Use [[filter expression|https://tiddlywiki.com/static/Filters.html]] in the text entry to filter media tiddlers (for example `[search[Amon Tobin]]` or `[tag[Article]]`)\n** Only media tiddlers are considered by default (e.g. where the MIME type starts with \"audio\", \"video\", or \"image\")\n* Use the dropdown near the search entry to load playlists\n* Press the play button to enable continous playback\n* Make your own playlists\n** Create a new tiddler, name as you want\n** Write the filter expression to the `filter` field\n** Add [[$:/tags/bimlas/mediaplayer/playlist]] tag\n** Set up the `description` field as the title of the playlist\n** See [[$:/plugins/bimlas/media-player/playlists/all]] playlist for example\n\n!! Installation instructions\n\nTo add the plugin to your own ~TiddlyWiki5, just drag this link to the browser window:\n\n$:/plugins/bimlas/mediaplayer\n\nFor other installation options see the repositories above.\n\n<!-- //Select the next tab to continue.// -->\n"
        },
        "$:/plugins/bimlas/mediaplayer/images/next": {
            "title": "$:/plugins/bimlas/mediaplayer/images/next",
            "text": "<svg class=\"tc-image-button\" width=\"1792\" height=\"1792\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M109 1651q-19 19-32 13t-13-32v-1472q0-26 13-32t32 13l710 710q9 9 13 19v-710q0-26 13-32t32 13l710 710q19 19 19 45t-19 45l-710 710q-19 19-32 13t-13-32v-710q-4 10-13 19z\"/></svg>\n"
        },
        "$:/plugins/bimlas/mediaplayer/images/play": {
            "title": "$:/plugins/bimlas/mediaplayer/images/play",
            "text": "<svg class=\"tc-image-button\" width=\"1792\" height=\"1792\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1576 927l-1328 738q-23 13-39.5 3t-16.5-36v-1472q0-26 16.5-36t39.5 3l1328 738q23 13 23 31t-23 31z\"/></svg>\n"
        },
        "$:/plugins/bimlas/mediaplayer/images/prev": {
            "title": "$:/plugins/bimlas/mediaplayer/images/prev",
            "text": "<svg class=\"tc-image-button\" width=\"1792\" height=\"1792\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1683 141q19-19 32-13t13 32v1472q0 26-13 32t-32-13l-710-710q-9-9-13-19v710q0 26-13 32t-32-13l-710-710q-19-19-19-45t19-45l710-710q19-19 32-13t13 32v710q4-10 13-19z\"/></svg>\n"
        },
        "$:/plugins/bimlas/mediaplayer/images/repeat": {
            "title": "$:/plugins/bimlas/mediaplayer/images/repeat",
            "text": "<svg class=\"tc-image-button\"  width=\"1792\" height=\"1792\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1664 256v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l138-138q-148-137-349-137-104 0-198.5 40.5t-163.5 109.5-109.5 163.5-40.5 198.5 40.5 198.5 109.5 163.5 163.5 109.5 198.5 40.5q119 0 225-52t179-147q7-10 23-12 15 0 25 9l137 138q9 8 9.5 20.5t-7.5 22.5q-109 132-264 204.5t-327 72.5q-156 0-298-61t-245-164-164-245-61-298 61-298 164-245 245-164 298-61q147 0 284.5 55.5t244.5 156.5l130-129q29-31 70-14 39 17 39 59z\"/></svg>\n"
        },
        "$:/plugins/bimlas/mediaplayer/images/show-settings": {
            "title": "$:/plugins/bimlas/mediaplayer/images/show-settings",
            "text": "{{$:/core/images/menu-button}}\n"
        },
        "$:/plugins/bimlas/mediaplayer/macros/ui": {
            "title": "$:/plugins/bimlas/mediaplayer/macros/ui",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define show-buttons()\r\n  <<jump-button action:\"prev\" targetFilter:\"before\" repeatFilter:\"last\">> <<toggle-button action:\"play\">>\r\n  <<jump-button action:\"next\" targetFilter:\"after\" repeatFilter:\"first\">> <<toggle-button action:\"repeat\">>\r\n  <<toggle-button action:\"show-settings\">>\r\n\\end\n\n\\define show-timeout()\r\n  <$reveal type=\"match\" default=\"yes\" text={{$:/state/bimlas/mediaplayer/toggle##show-settings}} >\r\n    <$edit-text tiddler=\"$:/state/bimlas/mediaplayer\" index=\"timeout\" tag=\"input\" size=\"2\"/> second timeout for images\r\n  </$reveal>\r\n\\end\n\n\\define show-title()\r\n  <$link to={{$:/state/bimlas/mediaplayer##currentSource}}>{{$:/state/bimlas/mediaplayer##currentSource}}</$link>\r\n\\end\n\n\\define show-player()\r\n  <$mediaplayer class=\"bimlas-mediaplayer-player\" tiddler={{$:/state/bimlas/mediaplayer##currentSource}}/>\r\n\\end\n\n\\define show-settings()\r\n  <$reveal type=\"match\" default=\"yes\" text={{$:/state/bimlas/mediaplayer/toggle##show-settings}} >\r\n    <<show-search>>\r\n    <<show-playlist-loader>>\n\n    <<show-playlist>>\r\n  </$reveal>\r\n\\end\n\n\\define show-search()\r\n  //<small>Search via a [[filter expression|https://tiddlywiki.com/static/Filters.html]]</small>//<br/>\r\n  <$edit-text tiddler=\"$:/temp/bimlas/mediaplayer/playlist\" type=\"search\" tag=\"input\" default=\"[search[]]\"/>\r\n\\end\n\n\\define show-playlist-loader()\r\n  <<show-playlist-loader-button>>\r\n  <<show-playlist-loader-dropdown>>\r\n\\end\n\n\\define show-playlist-loader-button()\r\n  <span class=\"tc-popup-keep\">\r\n    <$button popup=<<qualify \"$:/state/bimlas/mediaplayer/playlistDropdown\">> class=\"tc-btn-invisible\">\r\n      {{$:/core/images/down-arrow}}\r\n    </$button>\r\n  </span>\r\n\\end\n\n\\define show-playlist-loader-dropdown()\r\n  <$reveal state=<<qualify \"$:/state/bimlas/mediaplayer/playlistDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\r\n    <$set name=\"tv-show-missing-links\" value=\"yes\">\r\n      <$linkcatcher to=\"$:/temp/bimlas/mediaplayer/playlist\">\r\n        <div class=\"tc-block-dropdown-wrapper\">\r\n          <div class=\"tc-block-dropdown tc-edit-type-dropdown\">\r\n            <$list filter=\"[all[shadows+tiddlers]tag[$:/tags/bimlas/mediaplayer/playlist]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\r\n            </$list>\r\n          </div>\r\n        </div>\r\n      </$linkcatcher>\r\n    </$set>\r\n  </$reveal>\r\n\\end\n\n\\define show-playlist()\r\n  <$reveal tag=\"div\" state=\"$:/temp/bimlas/mediaplayer/playlist\" type=\"nomatch\" text=\"\">\r\n    //<small><$count filter=<<filter-media-tiddlers>>/> macthes</small>//\r\n    <$scrollable class=\"bimlas-mediaplayer-list\">\r\n      <$list filter=<<filter-media-tiddlers>> template=\"$:/plugins/bimlas/mediaplayer/templates/list-item\"/>\r\n    </$scrollable>\r\n  </$reveal>\r\n\\end\n\n\\define jump-button(action targetFilter repeatFilter)\r\n  <$reveal type=\"match\" default=\"yes\" text={{$:/state/bimlas/mediaplayer/toggle##repeat}}>\r\n    <$button class=\"bimlas-mediaplayer-$action$\" set=\"$:/state/bimlas/mediaplayer##currentSource\"\r\n      setTo={{{ [subfilter<filter-media-tiddlers>$targetFilter${$:/state/bimlas/mediaplayer##currentSource}] [subfilter<filter-media-tiddlers>$repeatFilter$[]] +[first[]] }}}>\r\n      {{$:/plugins/bimlas/mediaplayer/images/$action$}}\r\n    </$button>\r\n  </$reveal>\r\n  <$reveal type=\"nomatch\" default=\"yes\" text={{$:/state/bimlas/mediaplayer/toggle##repeat}}>\r\n    <$button class=\"bimlas-mediaplayer-$action$\" set=\"$:/state/bimlas/mediaplayer##currentSource\"\r\n      setTo={{{ [subfilter<filter-media-tiddlers>$targetFilter${$:/state/bimlas/mediaplayer##currentSource}] }}}>\r\n      {{$:/plugins/bimlas/mediaplayer/images/$action$}}\r\n    </$button>\r\n  </$reveal>\r\n\\end\n\n\\define toggle-button(action)\r\n  <$wikify name=\"buttonClass\" text=\"bimlas-mediaplayer-$action$ {{$:/state/bimlas/mediaplayer/toggle##$action$}}\">\r\n    <$button class=<<buttonClass>> set=\"$:/state/bimlas/mediaplayer/toggle##$action$\"\r\n      setTo={{{ [[yes]] [[no]] -[{$:/state/bimlas/mediaplayer/toggle##$action$}] }}}>{{$:/plugins/bimlas/mediaplayer/images/$action$}}\r\n    </$button>\r\n  </$wikify>\r\n\\end"
        },
        "$:/plugins/bimlas/mediaplayer/mediaplayer.js": {
            "title": "$:/plugins/bimlas/mediaplayer/mediaplayer.js",
            "text": "/*\\\ntitle: $:/plugins/bimlas/mediaplayer/mediaplayer.js\ntype: application/javascript\nmodule-type: widget\n\nPlay music, video continuously, without interruption.\n\n\\*/\n(function() {\n\n\t/*jslint node: true, browser: true */\n\t/*global $tw: true */\n\t\"use strict\";\n\n\tvar Transclude = require(\"$:/core/modules/widgets/transclude.js\").transclude;\n\n\tvar MediaplayerWidget = function(parseTreeNode,options) {\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tMediaplayerWidget.prototype = new Transclude();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tMediaplayerWidget.prototype.execute = function(parent,nextSibling) {\n\t\tTransclude.prototype.execute.call(this,parent,nextSibling);\n\n\t\tvar self = this;\n\t\tself._stateTiddler = \"$:/state/bimlas/mediaplayer\";\n\t\tself._toggleStateTiddler = \"$:/state/bimlas/mediaplayer/toggle\";\n\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar domNode = self.findFirstDomNode();\n\t\t\tif(!domNode) return;\n\n\t\t\tdomNode.classList.add(\"bimlas-mediaplayer-player\");\n\n\t\t\tif(self.wiki.extractTiddlerDataItem(self._toggleStateTiddler, \"play\") !== \"yes\") return;\n\n\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\tclickEvent.initEvent(\"click\",true,false);\n\t\t\tif(domNode.tagName === \"AUDIO\" || domNode.tagName === \"VIDEO\") {\n\t\t\t\tdomNode.play();\n\t\t\t\tdomNode.addEventListener('ended',function() {\n\t\t\t\t\tdocument.getElementsByClassName(\"bimlas-mediaplayer-next\")[0].dispatchEvent(clickEvent);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tdocument.getElementsByClassName(\"bimlas-mediaplayer-next\")[0].dispatchEvent(clickEvent);\n\t\t\t\t}, self.wiki.extractTiddlerDataItem(self._stateTiddler, \"timeout\") * 1000);\n\t\t\t}\n\t\t});\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tMediaplayerWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar results = Transclude.prototype.refresh.call(this,changedTiddlers);\n\t\tif (this._stateTiddler in changedTiddlers) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t}\n\t\treturn results;\n\t};\n\n\texports[\"mediaplayer\"] = MediaplayerWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/plugins/bimlas/mediaplayer/mediaplayer": {
            "title": "$:/plugins/bimlas/mediaplayer/mediaplayer",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\whitespace trim\n\n\\define mediaplayer()\n  <!-- Hide internal macros, do not make them globally available -->\n  <$importvariables filter=\"[[$:/plugins/bimlas/mediaplayer/macros/ui]]\">\n    <$set name=\"filter-media-tiddlers\" value=\"\"\"[all[shadows+tiddlers]regexp:type[^(audio|video|image)/]subfilter{$:/temp/bimlas/mediaplayer/playlist}]\"\"\">\n\n      <<show-buttons>>\n\n      <<show-timeout>>\n\n      <<show-title>>\n\n      <<show-player>>\n\n      <<show-settings>>\n\n    </$set>\n  </$importvariables>\n\\end\n\n"
        },
        "$:/plugins/bimlas/mediaplayer/playlists/all": {
            "title": "$:/plugins/bimlas/mediaplayer/playlists/all",
            "description": "All media",
            "filter": "[search[]]",
            "tags": "$:/tags/bimlas/mediaplayer/playlist",
            "text": ""
        },
        "$:/plugins/bimlas/mediaplayer/playlists/videos": {
            "title": "$:/plugins/bimlas/mediaplayer/playlists/videos",
            "description": "Audio",
            "filter": "[regexp:type[^audio/]]",
            "tags": "$:/tags/bimlas/mediaplayer/playlist",
            "text": ""
        },
        "$:/plugins/bimlas/mediaplayer/playlists/image": {
            "title": "$:/plugins/bimlas/mediaplayer/playlists/image",
            "description": "Image",
            "filter": "[regexp:type[^image/]]",
            "tags": "$:/tags/bimlas/mediaplayer/playlist",
            "text": ""
        },
        "$:/plugins/bimlas/mediaplayer/playlists/video": {
            "title": "$:/plugins/bimlas/mediaplayer/playlists/video",
            "description": "Video",
            "filter": "[regexp:type[^video/]]",
            "tags": "$:/tags/bimlas/mediaplayer/playlist",
            "text": ""
        },
        "$:/state/bimlas/mediaplayer": {
            "title": "$:/state/bimlas/mediaplayer",
            "type": "application/json",
            "text": "{\n    \"timeout\": \"5\"\n}"
        },
        "$:/plugins/bimlas/mediaplayer/stylesheet/stylesheet": {
            "title": "$:/plugins/bimlas/mediaplayer/stylesheet/stylesheet",
            "tags": "$:/tags/Stylesheet",
            "type": "text/vnd.tiddlywiki",
            "text": ".bimlas-mediaplayer-repeat.yes svg, .bimlas-mediaplayer-play.yes svg, .bimlas-mediaplayer-show-settings.yes svg {\n  fill: red;\n}\n\n.bimlas-mediaplayer-list {\n  max-height: 15em;\n}"
        },
        "$:/plugins/bimlas/mediaplayer/templates/list-item": {
            "title": "$:/plugins/bimlas/mediaplayer/templates/list-item",
            "type": "text/vnd.tiddlywiki",
            "text": "<div class=\"bimlas-mediaplayer-list-item\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/state/bimlas/mediaplayer##currentSource\" setTo={{!!title}}>\n<$reveal type=\"match\" default={{$:/state/bimlas/mediaplayer##currentSource}} text={{!!title}}>\n{{$:/plugins/bimlas/mediaplayer/images/play}}\n</$reveal>\n<$reveal type=\"nomatch\" default={{$:/state/bimlas/mediaplayer##currentSource}} text={{!!title}}>\n{{$:/core/images/blank}}\n</$reveal>\n<$view field=\"title\"/>\n</$button>\n</div>"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/chanilino/viz/vizWidget.js": {
            "created": "20180705094957971",
            "creator": "chan",
            "text": "(function(){\n\n    var Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n    var Viz = require(\"$:/plugins/chanilino/viz/viz.js\");\n    var {Module, render } = require(\"$:/plugins/chanilino/viz/lite.render.js\");\n    var viz = new Viz({ Module, render });\n    \n\n    var VizWidget = function(parseTreeNode,options) {\n        this.initialise(parseTreeNode,options);\n    };\n\n    VizWidget.prototype = new Widget();\n\n    VizWidget.prototype.render = function(parent,nextSibling) {\n        this.parentDomNode = parent;\n        this.computeAttributes();\n        this.execute();\n        var domNode = this.create(parent, nextSibling);\n        this.domNodes.push(domNode);\n        parent.insertBefore(domNode,nextSibling);\n        this.renderChildren(domNode,null);\n    };\n\n    VizWidget.prototype.execute = function() {\n        // get attributes\n        this.my_text = this.getAttribute(\"text\");\n        this.selectClass = this.getAttribute(\"class\");\n        this.tiddler = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n        this.setName = this.getAttribute(\"name\",\"currentTiddler\");\n        // make child widgets \n        //this.makeChildWidgets();\n    };\n\n    //refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n    VizWidget.prototype.refresh = function(changedTiddlers) {\n        var changedAttributes = this.computeAttributes();\n        if(changedAttributes.my_text || changedAttributes.tiddler) {\n            this.refreshSelf();\n            return true;\n        } else {\n            return this.refreshChildren(changedTiddlers);\t\t\n        }\n    };\n\n    VizWidget.prototype.removeChildDomNodes = function() {\n        $tw.utils.each(this.domNodes,function(domNode) {\n            domNode.parentNode.removeChild(domNode);\n        });\n        this.domNodes = [];\n    };\n\n    VizWidget.prototype.create = function() {\n        // create a <div> container for the image\n        var domNode = $tw.utils.domMaker(\"div\",{class:this.selectClass});\n\n        viz.renderSVGElement(this.my_text).then(\n           element => { \n              domNode.appendChild(element);\n           }).catch(\n             error => {\n               viz = new Viz({ Module, render });\n         });\n        return domNode;\n    };\n\n\n    VizWidget.prototype.handleChangeEvent = function(event) {\n        // set the widget variable to inform the children\n        this.setVariable(this.setName,event.target.value,this.parseTreeNode.params);\n        // refresh this widget, and thereby the child widgets AND the enclosed content of this widget \n        this.refreshSelf();\n        return true;\n    };\n\n    exports.viz = VizWidget;\n\n})();\n",
            "type": "application/javascript",
            "title": "$:/plugins/chanilino/viz/vizWidget.js",
            "tags": "",
            "module-type": "widget",
            "modifier": "chan",
            "modified": "20180705134841442"
        },
        "$:/plugins/chanilino/viz/Usage": {
            "created": "20180705094932491",
            "creator": "chan",
            "text": "```\n<$viz text='  digraph G {\n      Consola->nginx [label=\"Pide encriptar url para cliente\", color=green]\n      nginx [shape=box];\n      nginx->Consola [color=red]\n      client-> HAPROXY  [color=red]\n      STUPID [shape=box];\n      HAPROXY -> STUPID  [color=red]\n      STUPID -> Prelanderred\n      STUPID -> STUPID [color=green, label=\"Pasa del nginx al hhvm desdencriptado\"]\n      vsh [shape=box];\n      STUPID->vsh  [color=red]\n     }' class=\"myexample\"/>\n```\n\n<$viz text='  digraph G {\n      Consola->nginx [label=\"Pide encriptar url para cliente\", color=green]\n      nginx [shape=box];\n      nginx->Consola [color=red]\n      client-> HAPROXY  [color=red]\n      STUPID [shape=box];\n      HAPROXY -> STUPID  [color=red]\n      STUPID -> Prelanderred\n      STUPID -> STUPID [color=green, label=\"Pasa del nginx al hhvm desdencriptado\"]\n      vsh [shape=box];\n      STUPID->vsh  [color=red]\n     }' class=\"myexample\"/>",
            "title": "$:/plugins/chanilino/viz/Usage",
            "tags": "",
            "modifier": "chan",
            "modified": "20180705132719608"
        },
        "$:/plugins/chanilino/viz/Readme": {
            "created": "20180705094912917",
            "creator": "chan",
            "text": "Plugin based on grapviz library:\n\nhttps://github.com/mdaines/viz.js/\n\nFor syntax of graphviz:\n\n* https://graphs.grevian.org/example\n* https://graphviz.gitlab.io/documentation/\n* https://www.graphviz.org/ \n",
            "title": "$:/plugins/chanilino/viz/Readme",
            "tags": "",
            "modifier": "chan",
            "modified": "20180705133230316"
        },
        "$:/plugins/chanilino/viz/viz.js": {
            "text": "/*\nViz.js 2.0.0 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36)\nCopyright (c) 2014-2018 Michael Daines\nLicensed under MIT license\n\nThis distribution contains other software in object code form:\n\nGraphviz\nLicensed under Eclipse Public License - v 1.0\nhttp://www.graphviz.org\n\nExpat\nCopyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper\nCopyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.\nLicensed under MIT license\nhttp://www.libexpat.org\n\nzlib\nCopyright (C) 1995-2013 Jean-loup Gailly and Mark Adler\nhttp://www.zlib.net/zlib_license.html\n*/\n(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n  typeof define === 'function' && define.amd ? define(factory) :\n  (global.Viz = factory());\n}(this, (function () { 'use strict';\n\n  var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n    return typeof obj;\n  } : function (obj) {\n    return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n  };\n\n  var classCallCheck = function (instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n      throw new TypeError(\"Cannot call a class as a function\");\n    }\n  };\n\n  var createClass = function () {\n    function defineProperties(target, props) {\n      for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n      }\n    }\n\n    return function (Constructor, protoProps, staticProps) {\n      if (protoProps) defineProperties(Constructor.prototype, protoProps);\n      if (staticProps) defineProperties(Constructor, staticProps);\n      return Constructor;\n    };\n  }();\n\n  var _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  var WorkerWrapper = function () {\n    function WorkerWrapper(worker) {\n      var _this = this;\n\n      classCallCheck(this, WorkerWrapper);\n\n      this.worker = worker;\n      this.listeners = [];\n      this.nextId = 0;\n\n      this.worker.addEventListener('message', function (event) {\n        var id = event.data.id;\n        var error = event.data.error;\n        var result = event.data.result;\n\n        _this.listeners[id](error, result);\n        delete _this.listeners[id];\n      });\n    }\n\n    createClass(WorkerWrapper, [{\n      key: 'render',\n      value: function render(src, options) {\n        var _this2 = this;\n\n        return new Promise(function (resolve, reject) {\n          var id = _this2.nextId++;\n\n          _this2.listeners[id] = function (error, result) {\n            if (error) {\n              reject(new Error(error.message, error.fileName, error.lineNumber));\n              return;\n            }\n            resolve(result);\n          };\n\n          _this2.worker.postMessage({ id: id, src: src, options: options });\n        });\n      }\n    }]);\n    return WorkerWrapper;\n  }();\n\n  var ModuleWrapper = function ModuleWrapper(module, render) {\n    classCallCheck(this, ModuleWrapper);\n\n    var instance = module();\n    this.render = function (src, options) {\n      return new Promise(function (resolve, reject) {\n        try {\n          resolve(render(instance, src, options));\n        } catch (error) {\n          reject(error);\n        }\n      });\n    };\n  };\n\n  // https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding\n\n\n  function b64EncodeUnicode(str) {\n    return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n      return String.fromCharCode('0x' + p1);\n    }));\n  }\n\n  function defaultScale() {\n    if ('devicePixelRatio' in window && window.devicePixelRatio > 1) {\n      return window.devicePixelRatio;\n    } else {\n      return 1;\n    }\n  }\n\n  function svgXmlToImageElement(svgXml) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$scale = _ref.scale,\n        scale = _ref$scale === undefined ? defaultScale() : _ref$scale,\n        _ref$mimeType = _ref.mimeType,\n        mimeType = _ref$mimeType === undefined ? \"image/png\" : _ref$mimeType,\n        _ref$quality = _ref.quality,\n        quality = _ref$quality === undefined ? 1 : _ref$quality;\n\n    return new Promise(function (resolve, reject) {\n      var svgImage = new Image();\n\n      svgImage.onload = function () {\n        var canvas = document.createElement('canvas');\n        canvas.width = svgImage.width * scale;\n        canvas.height = svgImage.height * scale;\n\n        var context = canvas.getContext(\"2d\");\n        context.drawImage(svgImage, 0, 0, canvas.width, canvas.height);\n\n        canvas.toBlob(function (blob) {\n          var image = new Image();\n          image.src = URL.createObjectURL(blob);\n          image.width = svgImage.width;\n          image.height = svgImage.height;\n\n          resolve(image);\n        }, mimeType, quality);\n      };\n\n      svgImage.onerror = function (e) {\n        var error;\n\n        if ('error' in e) {\n          error = e.error;\n        } else {\n          error = new Error('Error loading SVG');\n        }\n\n        reject(error);\n      };\n\n      svgImage.src = 'data:image/svg+xml;base64,' + b64EncodeUnicode(svgXml);\n    });\n  }\n\n  function svgXmlToImageElementFabric(svgXml) {\n    var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref2$scale = _ref2.scale,\n        scale = _ref2$scale === undefined ? defaultScale() : _ref2$scale,\n        _ref2$mimeType = _ref2.mimeType,\n        mimeType = _ref2$mimeType === undefined ? 'image/png' : _ref2$mimeType,\n        _ref2$quality = _ref2.quality,\n        quality = _ref2$quality === undefined ? 1 : _ref2$quality;\n\n    var multiplier = scale;\n\n    var format = void 0;\n    if (mimeType == 'image/jpeg') {\n      format = 'jpeg';\n    } else if (mimeType == 'image/png') {\n      format = 'png';\n    }\n\n    return new Promise(function (resolve, reject) {\n      fabric.loadSVGFromString(svgXml, function (objects, options) {\n        // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one <g> element back even given an empty graph, so we will assume an error in this case.\n        if (objects.length == 0) {\n          reject(new Error('Error loading SVG with Fabric'));\n        }\n\n        var element = document.createElement(\"canvas\");\n        element.width = options.width;\n        element.height = options.height;\n\n        var canvas = new fabric.Canvas(element, { enableRetinaScaling: false });\n        var obj = fabric.util.groupSVGElements(objects, options);\n        canvas.add(obj).renderAll();\n\n        var image = new Image();\n        image.src = canvas.toDataURL({ format: format, multiplier: multiplier, quality: quality });\n        image.width = options.width;\n        image.height = options.height;\n\n        resolve(image);\n      });\n    });\n  }\n\n  var Viz = function () {\n    function Viz() {\n      var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n          workerURL = _ref3.workerURL,\n          worker = _ref3.worker,\n          Module = _ref3.Module,\n          render = _ref3.render;\n\n      classCallCheck(this, Viz);\n\n      if (typeof workerURL !== 'undefined') {\n        this.wrapper = new WorkerWrapper(new Worker(workerURL));\n      } else if (typeof worker !== 'undefined') {\n        this.wrapper = new WorkerWrapper(worker);\n      } else if (typeof Module !== 'undefined' && typeof render !== 'undefined') {\n        this.wrapper = new ModuleWrapper(Module, render);\n      } else if (typeof Viz.Module !== 'undefined' && typeof Viz.render !== 'undefined') {\n        this.wrapper = new ModuleWrapper(Viz.Module, Viz.render);\n      } else {\n        throw new Error('Must specify workerURL or worker option, Module and render options, or include one of full.render.js or lite.render.js after viz.js.');\n      }\n    }\n\n    createClass(Viz, [{\n      key: 'renderString',\n      value: function renderString(src) {\n        var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n            _ref4$format = _ref4.format,\n            format = _ref4$format === undefined ? 'svg' : _ref4$format,\n            _ref4$engine = _ref4.engine,\n            engine = _ref4$engine === undefined ? 'dot' : _ref4$engine,\n            _ref4$files = _ref4.files,\n            files = _ref4$files === undefined ? [] : _ref4$files,\n            _ref4$images = _ref4.images,\n            images = _ref4$images === undefined ? [] : _ref4$images,\n            _ref4$yInvert = _ref4.yInvert,\n            yInvert = _ref4$yInvert === undefined ? false : _ref4$yInvert;\n\n        for (var i = 0; i < images.length; i++) {\n          files.push({\n            path: images[i].path,\n            data: '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n<svg width=\"' + images[i].width + '\" height=\"' + images[i].height + '\"></svg>'\n          });\n        }\n\n        return this.wrapper.render(src, { format: format, engine: engine, files: files, images: images, yInvert: yInvert });\n      }\n    }, {\n      key: 'renderSVGElement',\n      value: function renderSVGElement(src) {\n        var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n        return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) {\n          var parser = new DOMParser();\n          return parser.parseFromString(str, 'image/svg+xml').documentElement;\n        });\n      }\n    }, {\n      key: 'renderImageElement',\n      value: function renderImageElement(src) {\n        var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        var scale = options.scale,\n            mimeType = options.mimeType,\n            quality = options.quality;\n\n\n        return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) {\n          if ((typeof fabric === 'undefined' ? 'undefined' : _typeof(fabric)) === \"object\" && fabric.loadSVGFromString) {\n            return svgXmlToImageElementFabric(str, { scale: scale, mimeType: mimeType, quality: quality });\n          } else {\n            return svgXmlToImageElement(str, { scale: scale, mimeType: mimeType, quality: quality });\n          }\n        });\n      }\n    }, {\n      key: 'renderJSONObject',\n      value: function renderJSONObject(src) {\n        var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        var format = options.format;\n\n\n        if (format !== 'json' || format !== 'json0') {\n          format = 'json';\n        }\n\n        return this.renderString(src, _extends({}, options, { format: format })).then(function (str) {\n          return JSON.parse(str);\n        });\n      }\n    }]);\n    return Viz;\n  }();\n\n  return Viz;\n\n})));\n",
            "type": "application/javascript",
            "title": "$:/plugins/chanilino/viz/viz.js",
            "module-type": "library",
            "modifier": "chan",
            "modified": "20180705095216872",
            "creator": "chan",
            "created": "20180705095149455"
        },
        "$:/plugins/chanilino/viz/lite.render.js": {
            "text": "/*\nViz.js 2.0.0 (Graphviz 2.40.1, Emscripten 1.37.36)\n*/\n(function(global) {\nvar Module = function(Module) {\n  Module = Module || {};\nvar Module=typeof Module!==\"undefined\"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module[\"arguments\"]=[];Module[\"thisProgram\"]=\"./this.program\";Module[\"quit\"]=(function(status,toThrow){throw toThrow});Module[\"preRun\"]=[];Module[\"postRun\"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module[\"ENVIRONMENT\"]){if(Module[\"ENVIRONMENT\"]===\"WEB\"){ENVIRONMENT_IS_WEB=true}else if(Module[\"ENVIRONMENT\"]===\"WORKER\"){ENVIRONMENT_IS_WORKER=true}else if(Module[\"ENVIRONMENT\"]===\"NODE\"){ENVIRONMENT_IS_NODE=true}else if(Module[\"ENVIRONMENT\"]===\"SHELL\"){ENVIRONMENT_IS_SHELL=true}else{throw new Error(\"Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.\")}}else{ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module[\"read\"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);ret=nodeFS[\"readFileSync\"](filename)}return binary?ret:ret.toString()};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}Module[\"arguments\"]=process[\"argv\"].slice(2);if(typeof module!==\"undefined\"){module[\"exports\"]=Module}process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process[\"on\"](\"unhandledRejection\",(function(reason,p){process[\"exit\"](1)}));Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!=\"undefined\"){Module[\"read\"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module[\"readBinary\"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof quit===\"function\"){Module[\"quit\"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module[\"read\"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module[\"readBinary\"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module[\"readAsync\"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}Module[\"setWindowTitle\"]=(function(title){document.title=title})}Module[\"print\"]=typeof console!==\"undefined\"?console.log.bind(console):typeof print!==\"undefined\"?print:null;Module[\"printErr\"]=typeof printErr!==\"undefined\"?printErr:typeof console!==\"undefined\"&&console.warn.bind(console)||Module[\"print\"];Module.print=Module[\"print\"];Module.printErr=Module[\"printErr\"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case\"i1\":case\"i8\":return 1;case\"i16\":return 2;case\"i32\":return 4;case\"i64\":return 8;case\"float\":return 4;case\"double\":return 8;default:{if(type[type.length-1]===\"*\"){return 4}else if(type[0]===\"i\"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module[\"dynCall_\"+sig].apply(null,[ptr].concat(args))}else{return Module[\"dynCall_\"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function getCFunc(ident){var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func}var JSfuncs={\"stackSave\":(function(){stackSave()}),\"stackRestore\":(function(){stackRestore()}),\"arrayToC\":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),\"stringToC\":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={\"string\":JSfuncs[\"stringToC\"],\"array\":JSfuncs[\"arrayToC\"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType===\"string\")ret=Pointer_stringify(ret);if(stack!==0){stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||\"i8\";if(type.charAt(type.length-1)===\"*\")type=\"i32\";switch(type){case\"i1\":HEAP8[ptr>>0]=value;break;case\"i8\":HEAP8[ptr>>0]=value;break;case\"i16\":HEAP16[ptr>>1]=value;break;case\"i32\":HEAP32[ptr>>2]=value;break;case\"i64\":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case\"float\":HEAPF32[ptr>>2]=value;break;case\"double\":HEAPF64[ptr>>3]=value;break;default:abort(\"invalid type for setValue: \"+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab===\"number\"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types===\"string\"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc===\"function\"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType===\"i8\"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type==\"i64\")type=\"i32\";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function Pointer_stringify(ptr,length){if(length===0||!ptr)return\"\";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\\w\\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+\" [\"+y+\"]\"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return\"(no stack trace available)\"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module[\"extraStackTrace\"])js+=\"\\n\"+Module[\"extraStackTrace\"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module[\"HEAP8\"]=HEAP8=new Int8Array(buffer);Module[\"HEAP16\"]=HEAP16=new Int16Array(buffer);Module[\"HEAP32\"]=HEAP32=new Int32Array(buffer);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buffer);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buffer);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buffer);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buffer);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 \")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr(\"TOTAL_MEMORY should be larger than TOTAL_STACK, was \"+TOTAL_MEMORY+\"! (TOTAL_STACK=\"+TOTAL_STACK+\")\");if(Module[\"buffer\"]){buffer=Module[\"buffer\"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module[\"buffer\"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw\"Runtime error: expected the system to be little-endian!\";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math[\"imul\"]||Math[\"imul\"](4294967295,5)!==-5)Math[\"imul\"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math[\"imul\"];if(!Math[\"clz32\"])Math[\"clz32\"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math[\"clz32\"];if(!Math[\"trunc\"])Math[\"trunc\"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math[\"trunc\"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var memoryInitializer=null;var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function($0,$1){var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath(\"/\",PATH.dirname(path));FS.writeFile(PATH.join(\"/\",path),data)})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+176352;__ATINIT__.push();memoryInitializer=\"data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAWC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEED4NQAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAANQ5AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEDcOgAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAQAAAAAAAAABAAAAAAAAAAAAAAAAAPA/AQAAAAAAAAACAAAAAAAAAAAAAAAAAPA/AgAAAAAAAAADAAAAAAAAAAAAAAAAAOA/AwAAAAAAAAAEAAAAAAAAAAAAAAAAAPA/BAAAAAAAAAAFAAAAAAAAADMzMzMzM/M/BQAAAAAAAAAGAAAAAAAAAJqZmZmZmek/BgAAAAAAAAAHAAAAAAAAAAAAAAAAAPA/BwAAAAAAAAAIAAAAAAAAAAAAAAAAAOA/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAzMzMzMzPTvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAACamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzMzM+M/AAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiRSAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAACAZkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACAZkCamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAACAZkB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8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AQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAAwAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAAAAAAABAAAAAQAAAAIAAAADAAAAAQAAAAQAAAABAAAABQAAAAEAAAAGAAAABwAAAAcAAAABAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAMAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAACAAAAAEXgBAO13AQBjQQEAHngBABZ4AQAkeAEAAAAAAGlFAQByRQEAeUUBAIdFAQCORQEAOngBAJVFAQCcRQEAAQAAAAgAAAD/////AAAAAAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAADpHAQAIAAAAAwAAAENHAQBHRwEACwAAAAYAAABcUwEAU0cBAAIAAAABAAAAVkcBAFpHAQAEAAAAAgAAAF9HAQBjRwEABAAAAAQAAABoRwEAbUcBAAUAAAAFAAAAc0cBAHdHAQAEAAAABwAAAHxHAQCARwEABQAAAAkAAACGRwEAikcBAAQAAAAKAAAAj0cBAJRHAQAEAAAADAAAAJlHAQBaTAEAAAAAAAEAAABiTAEAAQAAAAAAAAA4dwEAAQAAAAEAAAC11gEAAAAAAAAAAAAAAAAAAAAAAAAAAABGSwEAMQAAAAAAAAAAAAAAWXIBABAAAADw4gEAgAAAAD9LAQBAAAAAomUBABAAAABBSwEAQAAAAAAAAAAAAAAADUsBAAEAAAAUSwEAAgAAABlLAQADAAAAiWIBAAQAAADEYgEABQAAAB1LAQAGAAAAtdYBAAgAAAAhSwEAIQAAACVLAQAiAAAAKUsBACIAAAAtSwEAAQAAADJLAQAHAAAAOEsBACcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP////8AAAAAJgAAAAAAAAAAAAAAAAAAAAAAAACEUAEAi1ABAAAAAABZUwEAXFMBAF9TAQAAAAAAAAAAAAEAAAACAAAA/////xxTAQAiUwEAtdYBAAAAAABkAAAAZQAAAGYAAABkAAAACAAAAAgAAAAAAAAAAAAAACcAAAAMAAAAAAAAAAAAAAAAAAAACAAAAP////8AAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAiWIBAIxRAABABgAAAAAAAI1iAQCMUQAAcAYAAAAAAABbawEAjFEAAKAGAAAAAAAAlWIBAIxRAACgBgAAAAAAAJpiAQCMUQAA0AYAAAAAAAChYgEApFEAANAGAAAAAAAAp2IBAIxRAAAABwAAAAAAAKtiAQCMUQAAMAcAAAAAAAC11gEAjFEAAGAHAAAAAAAAtGIBAIxRAABgBwAAAAAAAL5iAQCMUQAAEAYAAAAAAADEYgEAjFEAAJAHAAAAAAAAzGIBAIxRAADABwAAAAAAANZiAQCMUQAA8AcAAAAAAADkYgEAjFEAACAIAAAAAAAA6mIBAIxRAABQCAAAAAAAAPNiAQCMUQAAgAgAAAAAAAD7YgEAjFEAALAIAAAAAAAABGMBAIxRAADgCAAAAAAAAAxjAQCMUQAAEAkAAAAAAAARYwEAjFEAAEAJAAAAAAAAFWMBAIxRAABwCQAAAAAAABxjAQCMUQAAoAkAAAAAAAAiYwEAjFEAANAJAAAAAAAALGMBALxRAAAACgAAAAAAADVjAQCMUQAAQAYAAAAAAAA6YwEAjFEAAEAGAAAAAAAARGMBAIxRAAAwCgAAAAAAAEtjAQCMUQAAYAoAAAAAAABYYwEAjFEAAJAKAAAAAAAAZmMBAIxRAADACgAAAAAAAHRjAQCMUQAA8AoAAAAAAACAYwEAjFEAACALAAAAAAAAjWMBAIxRAABQCwAAAAAAAJZjAQCMUQAAgAsAAAAAAACgYwEAjFEAALALAAAAAAAAqWMBAIxRAADgCwAAAAAAALFjAQCMUQAAEAwAAAAAAAC5YwEAjFEAAEAMAAAAAAAAwmMBAIxRAABwDAAAAAAAAMZjAQCMUQAAoAwAAAAAAADRYwEAjFEAANAMAAAAAAAA1WMBAIxRAAAADQAAAAAAAN9jAQCMUQAAMA0AAAAAAADoYwEAjFEAAGANAAAAAAAA8GMBAIxRAACQDQAAAAAAAP1jAQCMUQAAwA0AAAAAAAAJZAEAjFEAAPANAAAAAAAAFGQBAIxRAAAgDgAAAAAAACRkAQCMUQAAUA4AAAAAAAAyZAEAjFEAAIAOAAAAAAAAQWQBAIxRAACwDgAAAAAAAEtkAQCMUQAA4A4AAAAAAABUZAEAjFEAABAPAAAAAAAAXmQBAIxRAABADwAAAAAAAGhkAQCMUQAAcA8AAAAAAABvZAEAjFEAAKAPAAAAAAAAdmQBAIxRAADQDwAAAAAAAIBkAQDUUQAAAAAAAAAAAACHZAEA1FEAAAAAAAAAAAAAZWIBAOxRAAAAAAAAAAAAAI9kAQAEUgAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASwAAAEwAAAAXAAAABAAAAAIAAAAMAAAATQAAAEwAAAAXAAAABQAAAAAAAAANAAAASwAAAEwAAAAXAAAABAAAAAIAAAAMAAAATgAAAE8AAAAYAAAABgAAAAMAAAAOAAAAUAAAAFEAAAAXAAAABwAAAAAAAAAPAAAASwAAAEwAAAAXAAAACAAAAAIAAAAMAAAAEAAAABEAAAASAAAAEwAAAJFlAQCYZQEAAAAAAKBlAQCiZQEAKuMBAKRlAQAMAAAABAAAAAYAAAACAAAAAwAAAAEAAAAJAAAACAAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAADxZgEAAWcBAA5nAQAAAAAAAAAAAAQAAAATZwEAAAAAAAAAAAAeZwEAAWcBAA5nAQAAAAAANWcBAAUAAAATZwEAAAAAAD1nAQBEZwEAAWcBAFRnAQAAAAAAAAAAAAYAAAATZwEAoXYBAAAAAABZZwEAAWcBAFRnAQAAAAAANWcBAAcAAAATZwEAoXYBAD1nAQBwZwEAfWcBAFRnAQAAAAAAAAAAAAoAAACLZwEAoXYBAAAAAACRZwEAfWcBAFRnAQAAAAAAPWcBAAsAAACLZwEAoXYBAD1nAQCkZwEAfWcBALJnAQAAAAAAAAAAAAgAAACLZwEAAAAAAAAAAAC4ZwEAfWcBALJnAQAAAAAAPWcBAAkAAACLZwEAAAAAAD1nAQDMZwEAzGcBAAAAAAAAAAAAAAAAAAwAAADUZwEAAAAAAAAAAADeZwEAzGcBAKF2AQAAAAAAAAAAAA4AAADUZwEAoXYBAAAAAADrZwEAzGcBAKF2AQAAAAAANWcBAA8AAADUZwEAoXYBAD1nAQD/ZwEAzGcBAAAAAAAAAAAANWcBAA0AAADUZwEAAAAAAD1nAQAPaAEAD2gBAAAAAAAAAAAAAAAAABAAAAATZwEAAAAAAAAAAAAZaAEAD2gBAKF2AQAAAAAAAAAAABIAAAATZwEAoXYBAAAAAAAoaAEAD2gBAKF2AQAAAAAANWcBABMAAAATZwEAoXYBAD1nAQA+aAEAD2gBAAAAAABPaAEAAAAAABQAAAATZwEAAAAAAAAAAABZaAEAD2gBAKF2AQBPaAEAAAAAABYAAAATZwEAoXYBAAAAAABvaAEAD2gBAKF2AQBPaAEANWcBABcAAAATZwEAoXYBAD1nAQCMaAEAD2gBAAAAAABPaAEANWcBABUAAAATZwEAAAAAAD1nAQClaAEAD2gBAAAAAAAAAAAANWcBABEAAAATZwEAAAAAAD1nAQC3aAEAzWgBAKF2AQAAAAAAAAAAABoAAACLZwEAoXYBAAAAAADiaAEAzWgBAKF2AQAAAAAAPWcBABsAAACLZwEAoXYBAD1nAQD+aAEAzWgBAAAAAAAAAAAAPWcBABkAAACLZwEAAAAAAD1nAQAWaQEAzWgBAC1pAQAAAAAAAAAAABgAAACLZwEAAAAAAAAAAAAzaQEAQWkBAKF2AQAAAAAAAAAAAB4AAACLZwEAoXYBAAAAAABTaQEAQWkBAKF2AQAAAAAAPWcBAB8AAACLZwEAoXYBAD1nAQBnaQEAQWkBAAAAAAAAAAAAPWcBAB0AAACLZwEAAAAAAD1nAQB3aQEAQWkBAC1pAQAAAAAAAAAAABwAAACLZwEAAAAAAAAAAACGaQEAhmkBAAAAAAAAAAAAAAAAACAAAACNaQEAAAAAAAAAAACVaQEAoGkBAKF2AQAAAAAAAAAAAAIAAACLZwEAoXYBAAAAAACmaQEAoGkBAKF2AQAAAAAAPWcBAAMAAACLZwEAoXYBAD1nAQC3aQEAoGkBAAAAAAAAAAAAPWcBAAEAAACLZwEAAAAAAD1nAQBjawEAoGkBAAAAAAAAAAAAAAAAAAAAAACLZwEAAAAAAAAAAADEaQEA3mkBAO1pAQAAAAAAPWcBACEAAACLZwEAAAAAAD1nAQD0aQEAAWoBAAAAAAAAAAAAAAAAACIAAACNaQEAAAAAAAAAAAAIAAAA/////wAAAAAAAAAAKQAAAAAAAAAAAAAAAAAAAAAAAAC/awEAxgAAAMVrAQDBAAAAzGsBAMIAAADSawEAwAAAANlrAQCRAwAA32sBAMUAAADlawEAwwAAAOxrAQDEAAAA8WsBAJIDAAD2awEAxwAAAP1rAQCnAwAAAWwBACEgAAAIbAEAlAMAAA5sAQDQAAAAEmwBAMkAAAAZbAEAygAAAB9sAQDIAAAAJmwBAJUDAAAubAEAlwMAADJsAQDLAAAAN2wBAJMDAAA9bAEAzQAAAERsAQDOAAAASmwBAMwAAABRbAEAmQMAAFZsAQDPAAAAW2wBAJoDAABhbAEAmwMAAGhsAQCcAwAAa2wBANEAAABybAEAnQMAAHVsAQBSAQAAe2wBANMAAACCbAEA1AAAAIhsAQDSAAAAj2wBAKkDAACVbAEAnwMAAJ1sAQDYAAAApGwBANUAAACrbAEA1gAAALBsAQCmAwAAtGwBAKADAAC3bAEAMyAAAL1sAQCoAwAAwWwBAKEDAADFbAEAYAEAAMxsAQCjAwAA0mwBAN4AAADYbAEApAMAANxsAQCYAwAA4mwBANoAAADpbAEA2wAAAO9sAQDZAAAA9mwBAKUDAAD+bAEA3AAAAANtAQCeAwAABm0BAN0AAAANbQEAeAEAABJtAQCWAwAAF20BAOEAAAAebQEA4gAAACRtAQC0AAAAKm0BAOYAAAAwbQEA4AAAADdtAQA1IQAAP20BALEDAABFbQEAJgAAAEltAQAnIgAATW0BACAiAABRbQEA5QAAAFdtAQBIIgAAXW0BAOMAAABkbQEA5AAAAGltAQAeIAAAb20BALIDAAB0bQEApgAAAHttAQAiIAAAgG0BACkiAACEbQEA5wAAAIttAQC4AAAAkW0BAKIAAACWbQEAxwMAAJptAQDGAgAAn20BAGMmAAClbQEARSIAAKptAQCpAAAAr20BALUhAAC1bQEAKiIAALltAQCkAAAAwG0BANMhAADFbQEAICAAAMxtAQCTIQAA0W0BALAAAADVbQEAtAMAANttAQBmJgAA4W0BAPcAAADobQEA6QAAAO9tAQDqAAAA9W0BAOgAAAD8bQEABSIAAAJuAQADIAAAB24BAAIgAAAMbgEAtQMAABRuAQBhIgAAGm4BALcDAAAebgEA8AAAACJuAQDrAAAAJ24BAKwgAAAsbgEAAyIAADJuAQCSAQAAN24BAAAiAAA+bgEAvQAAAEVuAQC8AAAATG4BAL4AAABTbgEARCAAAFluAQCzAwAAX24BAGUiAABibgEAPgAAAGVuAQDUIQAAam4BAJQhAABvbgEAZSYAAHZuAQAmIAAAfW4BAO0AAACEbgEA7gAAAIpuAQChAAAAkG4BAOwAAACXbgEAESEAAJ1uAQAeIgAAo24BACsiAACnbgEAuQMAAKxuAQC/AAAAs24BAAgiAAC4bgEA7wAAAL1uAQC6AwAAw24BANAhAADIbgEAuwMAAM9uAQApIwAA1G4BAKsAAADabgEAkCEAAN9uAQAIIwAA5W4BABwgAADrbgEAZCIAAO5uAQAKIwAA9W4BABciAAD8bgEAyiUAAABvAQAOIAAABG8BADkgAAALbwEAGCAAABFvAQA8AAAAFG8BAK8AAAAZbwEAFCAAAB9vAQC1AAAAJW8BALcAAADRdwEAEiIAACxvAQC8AwAAL28BAAciAAA1bwEAoAAAADpvAQATIAAAQG8BAGAiAABDbwEACyIAAEZvAQCsAAAASm8BAAkiAABQbwEAhCIAAFVvAQDxAAAAXG8BAL0DAABfbwEA8wAAAGZvAQD0AAAAbG8BAFMBAABybwEA8gAAAHlvAQA+IAAAf28BAMkDAACFbwEAvwMAAI1vAQCVIgAAk28BACgiAACWbwEAqgAAAJtvAQC6AAAAoG8BAPgAAACnbwEA9QAAAK5vAQCXIgAAtW8BAPYAAAC6bwEAtgAAAL9vAQACIgAAxG8BADAgAADLbwEApSIAANBvAQDGAwAA1G8BAMADAADXbwEA1gMAANtvAQCxAAAA4m8BAKMAAADobwEAMiAAAO5vAQAPIgAA828BAB0iAAD4bwEAyAMAAPxvAQAiAAAAAXABANIhAAAGcAEAGiIAAAxwAQAqIwAAEXABALsAAAAXcAEAkiEAABxwAQAJIwAAInABAB0gAAAocAEAHCEAAC1wAQCuAAAAMXABAAsjAAA4cAEAwQMAADxwAQAPIAAAQHABADogAABHcAEAGSAAAE1wAQAaIAAAU3ABAGEBAABacAEAxSIAAF9wAQCnAAAAZHABAK0AAABocAEAwwMAAG5wAQDCAwAAdXABADwiAAB5cAEAYCYAAIBwAQCCIgAAhHABAIYiAACJcAEAESIAAI1wAQCDIgAAkXABALkAAACWcAEAsgAAAJtwAQCzAAAAoHABAIciAAClcAEA3wAAAKtwAQDEAwAAr3ABADQiAAC2cAEAuAMAALxwAQDRAwAAxXABAAkgAADMcAEA/gAAANJwAQDcAgAA2HABANcAAADecAEAIiEAAORwAQDRIQAA6XABAPoAAADwcAEAkSEAAPVwAQD7AAAA+3ABAPkAAAACcQEAqAAAAAZxAQDSAwAADHEBAMUDAAAUcQEA/AAAABlxAQAYIQAAIHEBAL4DAAAjcQEA/QAAACpxAQClAAAALnEBAP8AAAAzcQEAtgMAADhxAQANIAAAPHEBAAwgAAAFAAAABgAAAAEBAAAIAAAACAAAAAAAAAAAAAAAKgAAAA0AAAAAAAAAAAAAAAAAAAAIAAAAEAAAAAAAAAAAAAAAKwAAAA4AAAAAAAAAAAAAAAAAAACRdwEABwAAAJN3AQAIAAAAmHcBAAgAAACgdwEACQAAAKZ3AQAJAAAAr3cBAAoAAACydwEACgAAALh3AQALAAAAvXcBAAsAAADFdwEADAAAAMp3AQAMAAAA0XcBAA0AAADXdwEADQAAAON3AQAOAAAAUgAAACwAAAAtAAAAFAAAAC4AAABTAAAALwAAABUAAAAwAAAACAAAAAQAAAD/////AAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAO3kBAFVdyX/Jf/8ARnkBALst1L6u1P8AUXkBABR3/f3Ahv8AXHkBAFVdyX/Jf/8AZ3kBALst1L6u1P8AcnkBABR3/f3Ahv8AfXkBACpm////mf8AiHkBAFVdyX/Jf/8Ak3kBALst1L6u1P8AnnkBABR3/f3Ahv8AqXkBACpm////mf8AtHkBAJetsDhssP8Av3kBAFVdyX/Jf/8AynkBALst1L6u1P8A1XkBABR3/f3Ahv8A4HkBACpm////mf8A63kBAJetsDhssP8A9nkBAOj88PACf/8AAXoBAFVdyX/Jf/8ADHoBALst1L6u1P8AF3oBABR3/f3Ahv8AInoBACpm////mf8ALXoBAJetsDhssP8AOHoBAOj88PACf/8AQ3oBABHgv79bF/8ATnoBAFVdyX/Jf/8AWXoBALst1L6u1P8AZHoBABR3/f3Ahv8Ab3oBACpm////mf8AenoBAJetsDhssP8AhXoBAOj88PACf/8AkHoBABHgv79bF/8Am3oBAAAAZmZmZv8ApnoBAJMZ997r9/8AsHoBAI5L4Z7K4f8AunoBAJG8vTGCvf8AxHoBAJ8Q/+/z//8AznoBAI8u573X5/8A2HoBAI9/1muu1v8A4noBAJPQtSFxtf8A7HoBAJ8Q/+/z//8A9noBAI8u573X5/8AAHsBAI9/1muu1v8ACnsBAJG8vTGCvf8AFHsBAJXxnAhRnP8AHnsBAJ8Q/+/z//8AKHsBAJQr78bb7/8AMnsBAI5L4Z7K4f8APHsBAI9/1muu1v8ARnsBAJG8vTGCvf8AUHsBAJXxnAhRnP8AWnsBAJ8Q/+/z//8AZHsBAJQr78bb7/8AbnsBAI5L4Z7K4f8AeHsBAI9/1muu1v8AgnsBAJCpxkKSxv8AjHsBAJPQtSFxtf8AlnsBAJfxlAhFlP8AoHsBAJQI//f7//8AqnsBAJMZ997r9/8AtHsBAJQr78bb7/8AvnsBAI5L4Z7K4f8AyHsBAI9/1muu1v8A0nsBAJCpxkKSxv8A3HsBAJPQtSFxtf8A5nsBAJfxlAhFlP8A8HsBAJQI//f7//8A+nsBAJMZ997r9/8ABHwBAJQr78bb7/8ADnwBAI5L4Z7K4f8AGHwBAI9/1muu1v8AInwBAJCpxkKSxv8ALHwBAJPQtSFxtf8ANnwBAJXxnAhRnP8AQHwBAJjrawgwa/8ASnwBABfvVFQwBf8AVHwBAHf/PAA8MP8AX3wBABfsjIxRCv8AaXwBABjCv7+BLf8Ac3wBAB1w39/Cff8AfXwBAB409vbow/8Ah3wBAHkm6sfq5f8AkXwBAHhfzYDNwf8Am3wBAHyllzWXj/8ApXwBAHz8ZgFmXv8Ar3wBABfvVFQwBf8AuXwBAHz8ZgFmXv8AxHwBAHf/PAA8MP8Az3wBABfsjIxRCv8A2XwBABjCv7+BLf8A43wBAB1w39/Cff8A7XwBAB409vbow/8A93wBAAAA9fX19f8AAX0BAHkm6sfq5f8AC30BAHhfzYDNwf8AFX0BAHyllzWXj/8AH30BAByH2NizZf8AKH0BAAAA9fX19f8AMX0BAHt/tFq0rP8AOn0BABXXpqZhGv8AQ30BAB1w39/Cff8ATH0BAHhfzYDNwf8AVX0BAHn9hQGFcf8AXn0BABXXpqZhGv8AZ30BAB1w39/Cff8AcH0BAAAA9fX19f8AeX0BAHhfzYDNwf8Agn0BAHn9hQGFcf8Ai30BABfsjIxRCv8AlH0BAByH2NizZf8AnX0BAB409vbow/8Apn0BAHkm6sfq5f8Ar30BAHt/tFq0rP8AuH0BAHz8ZgFmXv8AwX0BABfsjIxRCv8Ayn0BAByH2NizZf8A030BAB409vbow/8A3H0BAAAA9fX19f8A5X0BAHkm6sfq5f8A7n0BAHt/tFq0rP8A930BAHz8ZgFmXv8AAH4BABfsjIxRCv8ACX4BABjCv7+BLf8AEn4BAB1w39/Cff8AG34BAB409vbow/8AJH4BAHkm6sfq5f8ALX4BAHhfzYDNwf8ANn4BAHyllzWXj/8AP34BAHz8ZgFmXv8ASH4BABfsjIxRCv8AUX4BABjCv7+BLf8AWn4BAB1w39/Cff8AY34BAB409vbow/8AbH4BAAAA9fX19f8AdX4BAHkm6sfq5f8Afn4BAHhfzYDNwf8Ah34BAHyllzWXj/8AkH4BAHz8ZgFmXv8AmX4BAIcU+eX1+f8Aon4BAHVK2JnYyf8Aq34BAGe5oiyiX/8AtH4BAIgO++34+/8AvX4BAH824rLi4v8Axn4BAHF4wmbCpP8Az34BAGK+iyOLRf8A2H4BAIgO++34+/8A4X4BAH824rLi4v8A6n4BAHF4wmbCpP8A834BAGe5oiyiX/8A/H4BAGb/bQBtLP8ABX8BAIgO++34+/8ADn8BAHci7Mzs5v8AF38BAHVK2JnYyf8AIH8BAHF4wmbCpP8AKX8BAGe5oiyiX/8AMn8BAGb/bQBtLP8AO38BAIgO++34+/8ARH8BAHci7Mzs5v8ATX8BAHVK2JnYyf8AVn8BAHF4wmbCpP8AX38BAGmfrkGudv8AaH8BAGK+iyOLRf8AcX8BAGb/WABYJP8Aen8BAIYG/ff8/f8Ag38BAIcU+eX1+f8AjH8BAHci7Mzs5v8AlX8BAHVK2JnYyf8Ann8BAHF4wmbCpP8Ap38BAGmfrkGudv8AsH8BAGK+iyOLRf8AuX8BAGb/WABYJP8Awn8BAIYG/ff8/f8Ay38BAIcU+eX1+f8A1H8BAHci7Mzs5v8A3X8BAHVK2JnYyf8A5n8BAHF4wmbCpP8A738BAGmfrkGudv8A+H8BAGK+iyOLRf8AAYABAGb/bQBtLP8ACoABAGX/RABEG/8AE4ABAJAU9ODs9P8AHIABAJRG2p682v8AJYABAMR7p4hWp/8ALoABAIgO++34+/8AN4ABAJI147PN4/8AQIABAKJKxoyWxv8ASYABAMqVnYhBnf8AUoABAIgO++34+/8AW4ABAJI147PN4/8AZIABAKJKxoyWxv8AbYABAMR7p4hWp/8AdoABANbhgYEPfP8Af4ABAIgO++34+/8AiIABAJQr5r/T5v8AkYABAJRG2p682v8AmoABAKJKxoyWxv8Ao4ABAMR7p4hWp/8ArIABANbhgYEPfP8AtYABAIgO++34+/8AvoABAJQr5r/T5v8Ax4ABAJRG2p682v8A0IABAKJKxoyWxv8A2YABAL5ksYxrsf8A4oABAMqVnYhBnf8A64ABANX8bm4Ba/8A9IABAIYG/ff8/f8A/YABAJAU9ODs9P8ABoEBAJQr5r/T5v8AD4EBAJRG2p682v8AGIEBAKJKxoyWxv8AIYEBAL5ksYxrsf8AKoEBAMqVnYhBnf8AM4EBANX8bm4Ba/8APIEBAIYG/ff8/f8ARYEBAJAU9ODs9P8AToEBAJQr5r/T5v8AV4EBAJRG2p682v8AYIEBAKJKxoyWxv8AaYEBAL5ksYxrsf8AcoEBAMqVnYhBnf8Ae4EBANbhgYEPfP8AhIEBANX/TU0AS/8AjYEBAHLTnhued/8Al4EBABL82dlfAv8AoYEBAK1fs3Vws/8Aq4EBAHLTnhued/8AtYEBABL82dlfAv8Av4EBAK1fs3Vws/8AyYEBAOnR5+cpiv8A04EBAHLTnhued/8A3YEBABL82dlfAv8A54EBAK1fs3Vws/8A8YEBAOnR5+cpiv8A+4EBAD7QpmamHv8ABYIBAHLTnhued/8AD4IBABL82dlfAv8AGYIBAK1fs3Vws/8AI4IBAOnR5+cpiv8ALYIBAD7QpmamHv8AN4IBAB/85uarAv8AQYIBAHLTnhued/8AS4IBABL82dlfAv8AVYIBAK1fs3Vws/8AX4IBAOnR5+cpiv8AaYIBAD7QpmamHv8Ac4IBAB/85uarAv8AfYIBABvSpqZ2Hf8Ah4IBAHLTnhued/8AkYIBABL82dlfAv8Am4IBAK1fs3Vws/8ApYIBAOnR5+cpiv8Ar4IBAD7QpmamHv8AuYIBAB/85uarAv8Aw4IBABvSpqZ2Hf8AzYIBAAAAZmZmZv8A14IBAEwZ8+Dz2/8A4IIBAF893ajdtf8A6YIBAIyqykOiyv8A8oIBAEER+fD56P8A+4IBAFcu5LrkvP8ABIMBAHtlzHvMxP8ADYMBAI3FviuMvv8AFoMBAEER+fD56P8AH4MBAFcu5LrkvP8AKIMBAHtlzHvMxP8AMYMBAIyqykOiyv8AOoMBAJHzrAhorP8AQ4MBAEER+fD56P8ATIMBAE0p68zrxf8AVYMBAF893ajdtf8AXoMBAHtlzHvMxP8AZ4MBAIyqykOiyv8AcIMBAJHzrAhorP8AeYMBAEER+fD56P8AgoMBAE0p68zrxf8Ai4MBAF893ajdtf8AlIMBAHtlzHvMxP8AnYMBAImg006z0/8ApoMBAI3FviuMvv8Ar4MBAJPynghYnv8AuIMBADwM/Pf88P8AwYMBAEwZ8+Dz2/8AyoMBAE0p68zrxf8A04MBAF893ajdtf8A3IMBAHtlzHvMxP8A5YMBAImg006z0/8A7oMBAI3FviuMvv8A94MBAJPynghYnv8AAIQBADwM/Pf88P8ACYQBAEwZ8+Dz2/8AEoQBAE0p68zrxf8AG4QBAF893ajdtf8AJIQBAHtlzHvMxP8ALYQBAImg006z0/8ANoQBAI3FviuMvv8AP4QBAJHzrAhorP8ASIQBAJbvgQhAgf8AUYQBAEoV9eX14P8AXIQBAFBI2aHZm/8AZ4QBAGKyozGjVP8AcoQBAEkP+O346f8AfYQBAE425Lrks/8AiIQBAFZoxHTEdv8Ak4QBAGK+iyOLRf8AnoQBAEkP+O346f8AqYQBAE425Lrks/8AtIQBAFZoxHTEdv8Av4QBAGKyozGjVP8AyoQBAGb/bQBtLP8A1YQBAEkP+O346f8A4IQBAE0s6cfpwP8A64QBAFBI2aHZm/8A9oQBAFZoxHTEdv8AAYUBAGKyozGjVP8ADIUBAGb/bQBtLP8AF4UBAEkP+O346f8AIoUBAE0s6cfpwP8ALYUBAFBI2aHZm/8AOIUBAFZoxHTEdv8AQ4UBAGCeq0GrXf8AToUBAGK+iyOLRf8AWYUBAGz/WgBaMv8AZIUBAEgH/Pf89f8Ab4UBAEoV9eX14P8AeoUBAE0s6cfpwP8AhYUBAFBI2aHZm/8AkIUBAFZoxHTEdv8Am4UBAGCeq0GrXf8ApoUBAGK+iyOLRf8AsYUBAGz/WgBaMv8AvIUBAEgH/Pf89f8Ax4UBAEoV9eX14P8A0oUBAE0s6cfpwP8A3YUBAFBI2aHZm/8A6IUBAFZoxHTEdv8A84UBAGCeq0GrXf8A/oUBAGK+iyOLRf8ACYYBAGb/bQBtLP8AFIYBAGX/RABEG/8AH4YBAAAA8PDw8P8AKYYBAAAAvb29vf8AM4YBAAAAY2NjY/8APYYBAAAA9/f39/8AR4YBAAAAzMzMzP8AUYYBAAAAlpaWlv8AW4YBAAAAUlJSUv8AZYYBAAAA9/f39/8Ab4YBAAAAzMzMzP8AeYYBAAAAlpaWlv8Ag4YBAAAAY2NjY/8AjYYBAAAAJSUlJf8Al4YBAAAA9/f39/8AoYYBAAAA2dnZ2f8Aq4YBAAAAvb29vf8AtYYBAAAAlpaWlv8Av4YBAAAAY2NjY/8AyYYBAAAAJSUlJf8A04YBAAAA9/f39/8A3YYBAAAA2dnZ2f8A54YBAAAAvb29vf8A8YYBAAAAlpaWlv8A+4YBAAAAc3Nzc/8ABYcBAAAAUlJSUv8AD4cBAAAAJSUlJf8AGYcBAAAA//////8AI4cBAAAA8PDw8P8ALYcBAAAA2dnZ2f8AN4cBAAAAvb29vf8AQYcBAAAAlpaWlv8AS4cBAAAAc3Nzc/8AVYcBAAAAUlJSUv8AX4cBAAAAJSUlJf8AaYcBAAAA//////8Ac4cBAAAA8PDw8P8AfYcBAAAA2dnZ2f8Ah4cBAAAAvb29vf8AkYcBAAAAlpaWlv8Am4cBAAAAc3Nzc/8ApYcBAAAAUlJSUv8Ar4cBAAAAJSUlJf8AuYcBAAAAAAAAAP8Aw4cBABUw/v7mzv8Az4cBABOT/f2ua/8A24cBAA7w5uZVDf8A54cBABMg/v7t3v8A84cBABR4/f2+hf8A/4cBABHC/f2NPP8AC4gBAA392dlHAf8AF4gBABMg/v7t3v8AI4gBABR4/f2+hf8AL4gBABHC/f2NPP8AO4gBAA7w5uZVDf8AR4gBAA36pqY2A/8AU4gBABMg/v7t3v8AX4gBABVb/f3Qov8Aa4gBABOT/f2ua/8Ad4gBABHC/f2NPP8Ag4gBAA7w5uZVDf8Aj4gBAA36pqY2A/8Am4gBABMg/v7t3v8Ap4gBABVb/f3Qov8As4gBABOT/f2ua/8Av4gBABHC/f2NPP8Ay4gBABDq8fFpE/8A14gBAA392dlIAf8A44gBAAz3jIwtBP8A74gBABUU///16/8A+4gBABUw/v7mzv8AB4kBABVb/f3Qov8AE4kBABOT/f2ua/8AH4kBABHC/f2NPP8AK4kBABDq8fFpE/8AN4kBAA392dlIAf8AQ4kBAAz3jIwtBP8AT4kBABUU///16/8AW4kBABUw/v7mzv8AZ4kBABVb/f3Qov8Ac4kBABOT/f2ua/8Af4kBABHC/f2NPP8Ai4kBABDq8fFpE/8Al4kBAA392dlIAf8Ao4kBAA36pqY2A/8Ar4kBAAz2f38nBP8Au4kBABk2/v7oyP8AxIkBABN5/f27hP8AzYkBAAXF4+NKM/8A1okBABol/v7w2f8A34kBABhz/f3Miv8A6IkBAA2k/PyNWf8A8YkBAAPa19cwH/8A+okBABol/v7w2f8AA4oBABhz/f3Miv8ADIoBAA2k/PyNWf8AFYoBAAXF4+NKM/8AHooBAAD/s7MAAP8AJ4oBABol/v7w2f8AMIoBABhf/f3Unv8AOYoBABN5/f27hP8AQooBAA2k/PyNWf8AS4oBAAXF4+NKM/8AVIoBAAD/s7MAAP8AXYoBABol/v7w2f8AZooBABhf/f3Unv8Ab4oBABN5/f27hP8AeIoBAA2k/PyNWf8AgYoBAAey7+9lSP8AiooBAAPa19cwH/8Ak4oBAAD/mZkAAP8AnIoBABgS///37P8ApYoBABk2/v7oyP8ArooBABhf/f3Unv8At4oBABN5/f27hP8AwIoBAA2k/PyNWf8AyYoBAAey7+9lSP8A0ooBAAPa19cwH/8A24oBAAD/mZkAAP8A5IoBABgS///37P8A7YoBABk2/v7oyP8A9ooBABhf/f3Unv8A/4oBABN5/f27hP8ACIsBAA2k/PyNWf8AEYsBAAey7+9lSP8AGosBAAPa19cwH/8AI4sBAAD/s7MAAP8ALIsBAAD/f38AAP8ANYsBAI5E46bO4/8AQYsBAL6Zmmo9mv8ATosBAJDTtB94tP8AWosBAEFh37Lfiv8AZosBAFK4oDOgLP8AcosBAABj+/uamf8AfosBAP7h4+MaHP8AiosBABeP/f2/b/8AlosBABX///9/AP8AoosBAMYq1sqy1v8ArosBAI5E46bO4/8AuosBAL6Zmmo9mv8Ax4sBACpm////mf8A1IsBAJDTtB94tP8A4IsBAEFh37Lfiv8A7IsBAFK4oDOgLP8A+IsBAABj+/uamf8ABIwBAP7h4+MaHP8AEIwBABeP/f2/b/8AHIwBABX///9/AP8AKIwBAMYq1sqy1v8ANIwBAI5E46bO4/8AQIwBAL6Zmmo9mv8ATYwBACpm////mf8AWowBAA/FsbFZKP8AZ4wBAJDTtB94tP8Ac4wBAEFh37Lfiv8Af4wBAFK4oDOgLP8Ai4wBAABj+/uamf8Al4wBAP7h4+MaHP8Ao4wBABeP/f2/b/8Ar4wBABX///9/AP8Au4wBAMYq1sqy1v8Ax4wBAI5E46bO4/8A0owBAJDTtB94tP8A3YwBAEFh37Lfiv8A6IwBAI5E46bO4/8A84wBAJDTtB94tP8A/owBAEFh37Lfiv8ACY0BAFK4oDOgLP8AFI0BAI5E46bO4/8AH40BAJDTtB94tP8AKo0BAEFh37Lfiv8ANY0BAFK4oDOgLP8AQI0BAABj+/uamf8AS40BAI5E46bO4/8AVo0BAJDTtB94tP8AYY0BAEFh37Lfiv8AbI0BAFK4oDOgLP8Ad40BAABj+/uamf8Ago0BAP7h4+MaHP8AjY0BAI5E46bO4/8AmI0BAJDTtB94tP8Ao40BAEFh37Lfiv8Aro0BAFK4oDOgLP8AuY0BAABj+/uamf8AxI0BAP7h4+MaHP8Az40BABeP/f2/b/8A2o0BAI5E46bO4/8A5Y0BAJDTtB94tP8A8I0BAEFh37Lfiv8A+40BAFK4oDOgLP8ABo4BAABj+/uamf8AEY4BAP7h4+MaHP8AHI4BABeP/f2/b/8AJ44BABX///9/AP8AMo4BAI5E46bO4/8APY4BAJDTtB94tP8ASI4BAEFh37Lfiv8AU44BAFK4oDOgLP8AXo4BAABj+/uamf8AaY4BAP7h4+MaHP8AdI4BABeP/f2/b/8Af44BABX///9/AP8Aio4BAMYq1sqy1v8AlY4BAANO+/u0rv8AoY4BAJI147PN4/8ArY4BAE0p68zrxf8AuY4BAANO+/u0rv8AxY4BAJI147PN4/8A0Y4BAE0p68zrxf8A3Y4BAMob5N7L5P8A6Y4BAANO+/u0rv8A9Y4BAJI147PN4/8AAY8BAE0p68zrxf8ADY8BAMob5N7L5P8AGY8BABhY/v7Zpv8AJY8BAANO+/u0rv8AMY8BAJI147PN4/8APY8BAE0p68zrxf8ASY8BAMob5N7L5P8AVY8BABhY/v7Zpv8AYY8BACoy////zP8AbY8BAANO+/u0rv8AeY8BAJI147PN4/8AhY8BAE0p68zrxf8AkY8BAMob5N7L5P8AnY8BABhY/v7Zpv8AqY8BACoy////zP8AtY8BABws5eXYvf8AwY8BAANO+/u0rv8AzY8BAJI147PN4/8A2Y8BAE0p68zrxf8A5Y8BAMob5N7L5P8A8Y8BABhY/v7Zpv8A/Y8BACoy////zP8ACZABABws5eXYvf8AFZABAOkj/f3a7P8AIZABAANO+/u0rv8ALZABAJI147PN4/8AOZABAE0p68zrxf8ARZABAMob5N7L5P8AUZABABhY/v7Zpv8AXZABACoy////zP8AaZABABws5eXYvf8AdZABAOkj/f3a7P8AgZABAAAA8vLy8v8AjZABAGw14rPizf8AmZABABFR/f3NrP8ApZABAJsf6MvV6P8AsZABAGw14rPizf8AvZABABFR/f3NrP8AyZABAJsf6MvV6P8A1ZABAOQr9PTK5P8A4ZABAGw14rPizf8A7ZABABFR/f3NrP8A+ZABAJsf6MvV6P8ABZEBAOQr9PTK5P8AEZEBADgt9eb1yf8AHZEBAGw14rPizf8AKZEBABFR/f3NrP8ANZEBAJsf6MvV6P8AQZEBAOQr9PTK5P8ATZEBADgt9eb1yf8AWZEBACNR///yrv8AZZEBAGw14rPizf8AcZEBABFR/f3NrP8AfZEBAJsf6MvV6P8AiZEBAOQr9PTK5P8AlZEBADgt9eb1yf8AoZEBACNR///yrv8ArZEBABkn8fHizP8AuZEBAGw14rPizf8AxZEBABFR/f3NrP8A0ZEBAJsf6MvV6P8A3ZEBAOQr9PTK5P8A6ZEBADgt9eb1yf8A9ZEBACNR///yrv8AAZIBABkn8fHizP8ADZIBAAAAzMzMzP8AGZIBAOb9jo4BUv8AI5IBAE2/ZCdkGf8ALpIBAObcxcUbff8AOJIBAOh23t53rv8AQpIBAOU+8fG22v8ATJIBAOkd/f3g7/8AVpIBADsm9eb10P8AYJIBAD1n4bjhhv8AapIBAD+mvH+8Qf8AdJIBAETFkk2SIf8AfpIBAOb9jo4BUv8AiJIBAETFkk2SIf8Ak5IBAE2/ZCdkGf8AnpIBAObcxcUbff8AqJIBAOh23t53rv8AspIBAOU+8fG22v8AvJIBAOkd/f3g7/8AxpIBAAAA9/f39/8A0JIBADsm9eb10P8A2pIBAD1n4bjhhv8A5JIBAD+mvH+8Qf8A7pIBAOdM6emjyf8A95IBAAAA9/f39/8AAJMBAD+B16HXav8ACZMBAOTc0NAci/8AEpMBAOU+8fG22v8AG5MBAD1n4bjhhv8AJJMBAEjGrE2sJv8ALZMBAOTc0NAci/8ANpMBAOU+8fG22v8AP5MBAAAA9/f39/8ASJMBAD1n4bjhhv8AUZMBAEjGrE2sJv8AWpMBAObcxcUbff8AY5MBAOdM6emjyf8AbJMBAOkd/f3g7/8AdZMBADsm9eb10P8AfpMBAD+B16HXav8Ah5MBAETFkk2SIf8AkJMBAObcxcUbff8AmZMBAOdM6emjyf8AopMBAOkd/f3g7/8Aq5MBAAAA9/f39/8AtJMBADsm9eb10P8AvZMBAD+B16HXav8AxpMBAETFkk2SIf8Az5MBAObcxcUbff8A2JMBAOh23t53rv8A4ZMBAOU+8fG22v8A6pMBAOkd/f3g7/8A85MBADsm9eb10P8A/JMBAD1n4bjhhv8ABZQBAD+mvH+8Qf8ADpQBAETFkk2SIf8AF5QBAObcxcUbff8AIJQBAOh23t53rv8AKZQBAOU+8fG22v8AMpQBAOkd/f3g7/8AO5QBAAAA9/f39/8ARJQBADsm9eb10P8ATZQBAD1n4bjhhv8AVpQBAD+mvH+8Qf8AX5QBAETFkk2SIf8AaJQBAM7/S0AAS/8AcpQBAGX/RABEG/8AfZQBAM6tg3Yqg/8Ah5QBAMdXq5lwq/8AkZQBAMczz8Klz/8Am5QBANIV6OfU6P8ApZQBAEwe8Nnw0/8Ar5QBAFBE26bboP8AuZQBAFh7rlquYf8Aw5QBAGHFeBt4N/8AzZQBAM7/S0AAS/8A15QBAGHFeBt4N/8A4pQBAGX/RABEG/8A7ZQBAM6tg3Yqg/8A95QBAMdXq5lwq/8AAZUBAMczz8Klz/8AC5UBANIV6OfU6P8AFZUBAAAA9/f39/8AH5UBAEwe8Nnw0/8AKZUBAFBE26bboP8AM5UBAFh7rlquYf8APZUBAMRGw6+Nw/8ARpUBAAAA9/f39/8AT5UBAFJav3+/e/8AWJUBAMmolHsylP8AYZUBAMczz8Klz/8AapUBAFBE26bboP8Ac5UBAGb/iACIN/8AfJUBAMmolHsylP8AhZUBAMczz8Klz/8AjpUBAAAA9/f39/8Al5UBAFBE26bboP8AoJUBAGb/iACIN/8AqZUBAM6tg3Yqg/8AspUBAMRGw6+Nw/8Au5UBANIV6OfU6P8AxJUBAEwe8Nnw0/8AzZUBAFJav3+/e/8A1pUBAGHFeBt4N/8A35UBAM6tg3Yqg/8A6JUBAMRGw6+Nw/8A8ZUBANIV6OfU6P8A+pUBAAAA9/f39/8AA5YBAEwe8Nnw0/8ADJYBAFJav3+/e/8AFZYBAGHFeBt4N/8AHpYBAM6tg3Yqg/8AJ5YBAMdXq5lwq/8AMJYBAMczz8Klz/8AOZYBANIV6OfU6P8AQpYBAEwe8Nnw0/8AS5YBAFBE26bboP8AVJYBAFh7rlquYf8AXZYBAGHFeBt4N/8AZpYBAM6tg3Yqg/8Ab5YBAMdXq5lwq/8AeJYBAMczz8Klz/8AgZYBANIV6OfU6P8AipYBAAAA9/f39/8Ak5YBAEwe8Nnw0/8AnJYBAFBE26bboP8ApZYBAFh7rlquYf8ArpYBAGHFeBt4N/8At5YBAL0L8uzn8v8AwJYBAJc926a92/8AyZYBAI3FviuMvv8A0pYBALkI9vHu9v8A25YBAJso4b3J4f8A5JYBAJFwz3Spz/8A7ZYBAI/3sAVwsP8A9pYBALkI9vHu9v8A/5YBAJso4b3J4f8ACJcBAJFwz3Spz/8AEZcBAI3FviuMvv8AGpcBAI/3jQRajf8AI5cBALkI9vHu9v8ALJcBAKgY5tDR5v8ANZcBAJc926a92/8APpcBAJFwz3Spz/8AR5cBAI3FviuMvv8AUJcBAI/3jQRajf8AWZcBALkI9vHu9v8AYpcBAKgY5tDR5v8Aa5cBAJc926a92/8AdJcBAJFwz3Spz/8AfZcBAI63wDaQwP8AhpcBAI/3sAVwsP8Aj5cBAI/4ewNOe/8AmJcBAOkI///3+/8AoZcBAL0L8uzn8v8AqpcBAKgY5tDR5v8As5cBAJc926a92/8AvJcBAJFwz3Spz/8AxZcBAI63wDaQwP8AzpcBAI/3sAVwsP8A15cBAI/4ewNOe/8A4JcBAOkI///3+/8A6ZcBAL0L8uzn8v8A8pcBAKgY5tDR5v8A+5cBAJc926a92/8ABJgBAJFwz3Spz/8ADZgBAI63wDaQwP8AFpgBAI/3sAVwsP8AH5gBAI/3jQRajf8AKJgBAI/5WAI4WP8AMZgBAMgO8Ozi8P8APJgBAJc926a92/8AR5gBAILQmRyQmf8AUpgBAM8I9/bv9/8AXZgBAJso4b3J4f8AaJgBAI+Az2epz/8Ac5gBAIL7igKBiv8AfpgBAM8I9/bv9/8AiZgBAJso4b3J4f8AlJgBAI+Az2epz/8An5gBAILQmRyQmf8AqpgBAHf8bAFsWf8AtZgBAM8I9/bv9/8AwJgBAKgY5tDR5v8Ay5gBAJc926a92/8A1pgBAI+Az2epz/8A4ZgBAILQmRyQmf8A7JgBAHf8bAFsWf8A95gBAM8I9/bv9/8AApkBAKgY5tDR5v8ADZkBAJc926a92/8AGJkBAI+Az2epz/8AI5kBAI63wDaQwP8ALpkBAIL7igKBiv8AOZkBAHb8ZAFkUP8ARJkBAOkI///3+/8AT5kBAMgO8Ozi8P8AWpkBAKgY5tDR5v8AZZkBAJc926a92/8AcJkBAI+Az2epz/8Ae5kBAI63wDaQwP8AhpkBAIL7igKBiv8AkZkBAHb8ZAFkUP8AnJkBAOkI///3+/8Ap5kBAMgO8Ozi8P8AspkBAKgY5tDR5v8AvZkBAJc926a92/8AyJkBAI+Az2epz/8A05kBAI63wDaQwP8A3pkBAIL7igKBiv8A6ZkBAHf8bAFsWf8A9JkBAHX7RgFGNv8A/5kBABLuf387CP8ACZoBAMP/Sy0AS/8AFJoBABT2s7NYBv8AHpoBABbo4OCCFP8AKJoBABeb/f24Y/8AMpoBABhI/v7gtv8APJoBAKUU69ja6/8ARpoBALEv0rKr0v8AUJoBALNUrIBzrP8AWpoBAL21iFQniP8AZJoBABLuf387CP8AbpoBAL21iFQniP8AeZoBAMP/Sy0AS/8AhJoBABT2s7NYBv8AjpoBABbo4OCCFP8AmJoBABeb/f24Y/8AopoBABhI/v7gtv8ArJoBAAAA9/f39/8AtpoBAKUU69ja6/8AwJoBALEv0rKr0v8AypoBALNUrIBzrP8A1JoBABe78fGjQP8A3ZoBAAAA9/f39/8A5poBALJFw5mOw/8A75oBABH95uZhAf8A+JoBABeb/f24Y/8AAZsBALEv0rKr0v8ACpsBALmbmV48mf8AE5sBABH95uZhAf8AHJsBABeb/f24Y/8AJZsBAAAA9/f39/8ALpsBALEv0rKr0v8AN5sBALmbmV48mf8AQJsBABT2s7NYBv8ASZsBABe78fGjQP8AUpsBABhI/v7gtv8AW5sBAKUU69ja6/8AZJsBALJFw5mOw/8AbZsBAL21iFQniP8AdpsBABT2s7NYBv8Af5sBABe78fGjQP8AiJsBABhI/v7gtv8AkZsBAAAA9/f39/8AmpsBAKUU69ja6/8Ao5sBALJFw5mOw/8ArJsBAL21iFQniP8AtZsBABT2s7NYBv8AvpsBABbo4OCCFP8Ax5sBABeb/f24Y/8A0JsBABhI/v7gtv8A2ZsBAKUU69ja6/8A4psBALEv0rKr0v8A65sBALNUrIBzrP8A9JsBAL21iFQniP8A/ZsBABT2s7NYBv8ABpwBABbo4OCCFP8AD5wBABeb/f24Y/8AGJwBABhI/v7gtv8AIZwBAAAA9/f39/8AKpwBAKUU69ja6/8AM5wBALEv0rKr0v8APJwBALNUrIBzrP8ARZwBAL21iFQniP8ATpwBALwO7+fh7/8AV5wBANZDycmUx/8AYJwBAOre3d0cd/8AaZwBALkI9vHu9v8AcpwBANMp2Ne12P8Ae5wBAOSL399lsP8AhJwBAO/ozs4SVv8AjZwBALkI9vHu9v8AlpwBANMp2Ne12P8An5wBAOSL399lsP8AqJwBAOre3d0cd/8AsZwBAOz/mJgAQ/8AupwBALkI9vHu9v8Aw5wBAMwm2tS52v8AzJwBANZDycmUx/8A1ZwBAOSL399lsP8A3pwBAOre3d0cd/8A55wBAOz/mJgAQ/8A8JwBALkI9vHu9v8A+ZwBAMwm2tS52v8AAp0BANZDycmUx/8AC50BAOSL399lsP8AFJ0BAOnR5+cpiv8AHZ0BAO/ozs4SVv8AJp0BAOz/kZEAP/8AL50BAMMF+ff0+f8AOJ0BALwO7+fh7/8AQZ0BAMwm2tS52v8ASp0BANZDycmUx/8AU50BAOSL399lsP8AXJ0BAOnR5+cpiv8AZZ0BAO/ozs4SVv8Abp0BAOz/kZEAP/8Ad50BAMMF+ff0+f8AgJ0BALwO7+fh7/8AiZ0BAMwm2tS52v8Akp0BANZDycmUx/8Am50BAOSL399lsP8ApJ0BAOnR5+cpiv8ArZ0BAO/ozs4SVv8Atp0BAOz/mJgAQ/8Av50BAPL/Z2cAH/8AyJ0BALQI9e/t9f8A1J0BAKgl3Ly93P8A4J0BALBksXVrsf8A7J0BALYH9/Lw9/8A+J0BAK0c4svJ4v8ABJ4BAK06yJ6ayP8AEJ4BALaAo2pRo/8AHJ4BALYH9/Lw9/8AKJ4BAK0c4svJ4v8ANJ4BAK06yJ6ayP8AQJ4BALBksXVrsf8ATJ4BALy5j1Qnj/8AWJ4BALYH9/Lw9/8AZJ4BAKoS69ra6/8AcJ4BAKgl3Ly93P8AfJ4BAK06yJ6ayP8AiJ4BALBksXVrsf8AlJ4BALy5j1Qnj/8AoJ4BALYH9/Lw9/8ArJ4BAKoS69ra6/8AuJ4BAKgl3Ly93P8AxJ4BAK06yJ6ayP8A0J4BAKxTuoB9uv8A3J4BALaAo2pRo/8A6J4BAL7YhkoUhv8A9J4BAL8C/fz7/f8AAJ8BALQI9e/t9f8ADJ8BAKoS69ra6/8AGJ8BAKgl3Ly93P8AJJ8BAK06yJ6ayP8AMJ8BAKxTuoB9uv8APJ8BALaAo2pRo/8ASJ8BAL7YhkoUhv8AVJ8BAL8C/fz7/f8AYJ8BALQI9e/t9f8AbJ8BAKoS69ra6/8AeJ8BAKgl3Ly93P8AhJ8BAK06yJ6ayP8AkJ8BAKxTuoB9uv8AnJ8BALaAo2pRo/8AqJ8BALy5j1Qnj/8AtJ8BAL//fT8Aff8AwJ8BAPL/Z2cAH/8Ayp8BAJbxYQUwYf8A1Z8BAPncsrIYK/8A358BAAWj1tZgTf8A6Z8BAA139PSlgv8A858BAA82/f3bx/8A/Z8BAI4g8NHl8P8AB6ABAI1X3pLF3v8AEaABAI+nw0OTw/8AG6ABAJTOrCFmrP8AJaABAPL/Z2cAH/8AL6ABAJTOrCFmrP8AOqABAJbxYQUwYf8ARaABAPncsrIYK/8AT6ABAAWj1tZgTf8AWaABAA139PSlgv8AY6ABAA82/f3bx/8AbaABAAAA9/f39/8Ad6ABAI4g8NHl8P8AgaABAI1X3pLF3v8Ai6ABAI+nw0OTw/8AlaABAAyW7++KYv8AnqABAAAA9/f39/8Ap6ABAI+Az2epz/8AsKABAPj/ysoAIP8AuaABAA139PSlgv8AwqABAI1X3pLF3v8Ay6ABAI/3sAVxsP8A1KABAPj/ysoAIP8A3aABAA139PSlgv8A5qABAAAA9/f39/8A76ABAI1X3pLF3v8A+KABAI/3sAVxsP8AAaEBAPncsrIYK/8ACqEBAAyW7++KYv8AE6EBAA82/f3bx/8AHKEBAI4g8NHl8P8AJaEBAI+Az2epz/8ALqEBAJTOrCFmrP8AN6EBAPncsrIYK/8AQKEBAAyW7++KYv8ASaEBAA82/f3bx/8AUqEBAAAA9/f39/8AW6EBAI4g8NHl8P8AZKEBAI+Az2epz/8AbaEBAJTOrCFmrP8AdqEBAPncsrIYK/8Af6EBAAWj1tZgTf8AiKEBAA139PSlgv8AkaEBAA82/f3bx/8AmqEBAI4g8NHl8P8Ao6EBAI1X3pLF3v8ArKEBAI+nw0OTw/8AtaEBAJTOrCFmrP8AvqEBAPncsrIYK/8Ax6EBAAWj1tZgTf8A0KEBAA139PSlgv8A2aEBAA82/f3bx/8A4qEBAAAA9/f39/8A66EBAI4g8NHl8P8A9KEBAI1X3pLF3v8A/aEBAI+nw0OTw/8ABqIBAJTOrCFmrP8AD6IBAPL/Z2cAH/8AGaIBAAAAGhoaGv8AJKIBAPncsrIYK/8ALqIBAAWj1tZgTf8AOKIBAA139PSlgv8AQqIBAA82/f3bx/8ATKIBAAAA4ODg4P8AVqIBAAAAurq6uv8AYKIBAAAAh4eHh/8AaqIBAAAATU1NTf8AdKIBAPL/Z2cAH/8AfqIBAAAATU1NTf8AiaIBAAAAGhoaGv8AlKIBAPncsrIYK/8AnqIBAAWj1tZgTf8AqKIBAA139PSlgv8AsqIBAA82/f3bx/8AvKIBAAAA//////8AxqIBAAAA4ODg4P8A0KIBAAAAurq6uv8A2qIBAAAAh4eHh/8A5KIBAAyW7++KYv8A7aIBAAAA//////8A9qIBAAAAmZmZmf8A/6IBAPj/ysoAIP8ACKMBAA139PSlgv8AEaMBAAAAurq6uv8AGqMBAAAAQEBAQP8AI6MBAPj/ysoAIP8ALKMBAA139PSlgv8ANaMBAAAA//////8APqMBAAAAurq6uv8AR6MBAAAAQEBAQP8AUKMBAPncsrIYK/8AWaMBAAyW7++KYv8AYqMBAA82/f3bx/8Aa6MBAAAA4ODg4P8AdKMBAAAAmZmZmf8AfaMBAAAATU1NTf8AhqMBAPncsrIYK/8Aj6MBAAyW7++KYv8AmKMBAA82/f3bx/8AoaMBAAAA//////8AqqMBAAAA4ODg4P8As6MBAAAAmZmZmf8AvKMBAAAATU1NTf8AxaMBAPncsrIYK/8AzqMBAAWj1tZgTf8A16MBAA139PSlgv8A4KMBAA82/f3bx/8A6aMBAAAA4ODg4P8A8qMBAAAAurq6uv8A+6MBAAAAh4eHh/8ABKQBAAAATU1NTf8ADaQBAPncsrIYK/8AFqQBAAWj1tZgTf8AH6QBAA139PSlgv8AKKQBAA82/f3bx/8AMaQBAAAA//////8AOqQBAAAA4ODg4P8AQ6QBAAAAurq6uv8ATKQBAAAAh4eHh/8AVaQBAAAATU1NTf8AXqQBAAMg/f3g3f8AZ6QBAPRc+vqftf8AcKQBAOPcxcUbiv8AeaQBAA0c/v7r4v8AgqQBAPxI+/u0uf8Ai6QBAO6T9/doof8AlKQBAOD9rq4Bfv8AnaQBAA0c/v7r4v8ApqQBAPxI+/u0uf8Ar6QBAO6T9/doof8AuKQBAOPcxcUbiv8AwaQBANX8enoBd/8AyqQBAA0c/v7r4v8A06QBAAM8/PzFwP8A3KQBAPRc+vqftf8A5aQBAO6T9/doof8A7qQBAOPcxcUbiv8A96QBANX8enoBd/8AAKUBAA0c/v7r4v8ACaUBAAM8/PzFwP8AEqUBAPRc+vqftf8AG6UBAO6T9/doof8AJKUBAObD3d00l/8ALaUBAOD9rq4Bfv8ANqUBANX8enoBd/8AP6UBAA4M///38/8ASKUBAAMg/f3g3f8AUaUBAAM8/PzFwP8AWqUBAPRc+vqftf8AY6UBAO6T9/doof8AbKUBAObD3d00l/8AdaUBAOD9rq4Bfv8AfqUBANX8enoBd/8Ah6UBAA4M///38/8AkKUBAAMg/f3g3f8AmaUBAAM8/PzFwP8AoqUBAPRc+vqftf8Aq6UBAO6T9/doof8AtKUBAObD3d00l/8AvaUBAOD9rq4Bfv8AxqUBANX8enoBd/8Az6UBAMf/akkAav8A2KUBAPX/paUAJv8A5KUBAKerlTE2lf8A8aUBAALQ19cwJ/8A/aUBAAq49PRtQ/8ACaYBABSd/f2uYf8AFaYBAB5u/v7gkP8AIaYBAIgY+ODz+P8ALaYBAIpD6avZ6f8AOaYBAI9x0XSt0f8ARaYBAJedtEV1tP8AUaYBAPX/paUAJv8AXaYBAJedtEV1tP8AaqYBAKerlTE2lf8Ad6YBAALQ19cwJ/8Ag6YBAAq49PRtQ/8Aj6YBABSd/f2uYf8Am6YBAB5u/v7gkP8Ap6YBACpA////v/8As6YBAIgY+ODz+P8Av6YBAIpD6avZ6f8Ay6YBAI9x0XSt0f8A16YBAA2k/PyNWf8A4qYBACpA////v/8A7aYBAI9W25G/2/8A+KYBAP7h19cZHP8AA6cBABSd/f2uYf8ADqcBAIpD6avZ6f8AGacBAJHBtix7tv8AJKcBAP7h19cZHP8AL6cBABSd/f2uYf8AOqcBACpA////v/8ARacBAIpD6avZ6f8AUKcBAJHBtix7tv8AW6cBAALQ19cwJ/8AZqcBAA2k/PyNWf8AcacBAB5u/v7gkP8AfKcBAIgY+ODz+P8Ah6cBAI9W25G/2/8AkqcBAJedtEV1tP8AnacBAALQ19cwJ/8AqKcBAA2k/PyNWf8As6cBAB5u/v7gkP8AvqcBACpA////v/8AyacBAIgY+ODz+P8A1KcBAI9W25G/2/8A36cBAJedtEV1tP8A6qcBAALQ19cwJ/8A9acBAAq49PRtQ/8AAKgBABSd/f2uYf8AC6gBAB5u/v7gkP8AFqgBAIgY+ODz+P8AIagBAIpD6avZ6f8ALKgBAI9x0XSt0f8AN6gBAJedtEV1tP8AQqgBAALQ19cwJ/8ATagBAAq49PRtQ/8AWKgBABSd/f2uYf8AY6gBAB5u/v7gkP8AbqgBACpA////v/8AeagBAIgY+ODz+P8AhKgBAIpD6avZ6f8Aj6gBAI9x0XSt0f8AmqgBAJedtEV1tP8ApagBAPX/paUAJv8AsagBAGv/aABoN/8AvqgBAALQ19cwJ/8AyqgBAAq49PRtQ/8A1qgBABSd/f2uYf8A4qgBAB9z/v7gi/8A7qgBADNq79nvi/8A+qgBAD6C2abZav8ABqkBAFN5vWa9Y/8AEqkBAGfTmBqYUP8AHqkBAPX/paUAJv8AKqkBAGfTmBqYUP8AN6kBAGv/aABoN/8ARKkBAALQ19cwJ/8AUKkBAAq49PRtQ/8AXKkBABSd/f2uYf8AaKkBAB9z/v7gi/8AdKkBACpA////v/8AgKkBADNq79nvi/8AjKkBAD6C2abZav8AmKkBAFN5vWa9Y/8ApKkBAA2k/PyNWf8Ar6kBACpA////v/8AuqkBAEKIz5HPYP8AxakBAP7h19cZHP8A0KkBABSd/f2uYf8A26kBAD6C2abZav8A5qkBAGLSlhqWQf8A8akBAP7h19cZHP8A/KkBABSd/f2uYf8AB6oBACpA////v/8AEqoBAD6C2abZav8AHaoBAGLSlhqWQf8AKKoBAALQ19cwJ/8AM6oBAA2k/PyNWf8APqoBAB9z/v7gi/8ASaoBADNq79nvi/8AVKoBAEKIz5HPYP8AX6oBAGfTmBqYUP8AaqoBAALQ19cwJ/8AdaoBAA2k/PyNWf8AgKoBAB9z/v7gi/8Ai6oBACpA////v/8AlqoBADNq79nvi/8AoaoBAEKIz5HPYP8ArKoBAGfTmBqYUP8At6oBAALQ19cwJ/8AwqoBAAq49PRtQ/8AzaoBABSd/f2uYf8A2KoBAB9z/v7gi/8A46oBADNq79nvi/8A7qoBAD6C2abZav8A+aoBAFN5vWa9Y/8ABKsBAGfTmBqYUP8AD6sBAALQ19cwJ/8AGqsBAAq49PRtQ/8AJasBABSd/f2uYf8AMKsBAB9z/v7gi/8AO6sBACpA////v/8ARqsBADNq79nvi/8AUasBAD6C2abZav8AXKsBAFN5vWa9Y/8AZ6sBAGfTmBqYUP8AcqsBAA0s/v7g0v8Ae6sBAAmL/PyScv8AhKsBAAHT3t4tJv8AjasBAA0l/v7l2f8AlqsBAAts/Pyukf8An6sBAAez+/tqSv8AqKsBAP3gy8sYHf8AsasBAA0l/v7l2f8AuqsBAAts/Pyukf8Aw6sBAAez+/tqSv8AzKsBAAHT3t4tJv8A1asBAP3npaUPFf8A3qsBAA0l/v7l2f8A56sBAAxc/Py7of8A8KsBAAmL/PyScv8A+asBAAez+/tqSv8AAqwBAAHT3t4tJv8AC6wBAP3npaUPFf8AFKwBAA0l/v7l2f8AHawBAAxc/Py7of8AJqwBAAmL/PyScv8AL6wBAAez+/tqSv8AOKwBAAPQ7+87LP8AQawBAP3gy8sYHf8ASqwBAPv/mZkADf8AU6wBAA4P///18P8AXKwBAA0s/v7g0v8AZawBAAxc/Py7of8AbqwBAAmL/PyScv8Ad6wBAAez+/tqSv8AgKwBAAPQ7+87LP8AiawBAP3gy8sYHf8AkqwBAPv/mZkADf8Am6wBAA4P///18P8ApKwBAA0s/v7g0v8ArawBAAxc/Py7of8AtqwBAAmL/PyScv8Av6wBAAez+/tqSv8AyKwBAAPQ7+87LP8A0awBAP3gy8sYHf8A2qwBAP3npaUPFf8A46wBAPn/Z2cADf8A7KwBAP7h5OQaHP8A9awBAJKyuDd+uP8A/qwBAFOTr02vSv8AB60BAP7h5OQaHP8AEK0BAJKyuDd+uP8AGa0BAFOTr02vSv8AIq0BAM+Eo5hOo/8AK60BAP7h5OQaHP8ANK0BAJKyuDd+uP8APa0BAFOTr02vSv8ARq0BAM+Eo5hOo/8AT60BABX///9/AP8AWK0BAP7h5OQaHP8AYa0BAJKyuDd+uP8Aaq0BAFOTr02vSv8Ac60BAM+Eo5hOo/8AfK0BABX///9/AP8Aha0BACrM////M/8Ajq0BAP7h5OQaHP8Al60BAJKyuDd+uP8AoK0BAFOTr02vSv8Aqa0BAM+Eo5hOo/8Asq0BABX///9/AP8Au60BACrM////M/8AxK0BAA/BpqZWKP8Aza0BAP7h5OQaHP8A1q0BAJKyuDd+uP8A360BAFOTr02vSv8A6K0BAM+Eo5hOo/8A8a0BABX///9/AP8A+q0BACrM////M/8AA64BAA/BpqZWKP8ADK4BAOh59/eBv/8AFa4BAP7h5OQaHP8AHq4BAJKyuDd+uP8AJ64BAFOTr02vSv8AMK4BAM+Eo5hOo/8AOa4BABX///9/AP8AQq4BACrM////M/8AS64BAA/BpqZWKP8AVK4BAOh59/eBv/8AXa4BAAAAmZmZmf8AZq4BAHJ4wmbCpf8Ab64BAAub/PyNYv8AeK4BAJxNy42gy/8Aga4BAHJ4wmbCpf8Aiq4BAAub/PyNYv8Ak64BAJxNy42gy/8AnK4BAORm5+eKw/8Apa4BAHJ4wmbCpf8Arq4BAAub/PyNYv8At64BAJxNy42gy/8AwK4BAORm5+eKw/8Aya4BADqb2KbYVP8A0q4BAHJ4wmbCpf8A264BAAub/PyNYv8A5K4BAJxNy42gy/8A7a4BAORm5+eKw/8A9q4BADqb2KbYVP8A/64BACLQ///ZL/8ACK8BAHJ4wmbCpf8AEa8BAAub/PyNYv8AGq8BAJxNy42gy/8AI68BAORm5+eKw/8ALK8BADqb2KbYVP8ANa8BACLQ///ZL/8APq8BABla5eXElP8AR68BAHJ4wmbCpf8AUK8BAAub/PyNYv8AWa8BAJxNy42gy/8AYq8BAORm5+eKw/8Aa68BADqb2KbYVP8AdK8BACLQ///ZL/8Afa8BABla5eXElP8Ahq8BAAAAs7Ozs/8Aj68BAHhU043Tx/8Ama8BANNSvbyAvf8ApK8BACpM////s/8Arq8BAK8l2r662v8AuK8BAASL+/uAcv8Awq8BAJBk04Cx0/8AzK8BABac/f20Yv8A1q8BADqG3rPeaf8A4K8BAOkv/PzN5f8A6q8BAAAA2dnZ2f8A9K8BAHhU043Tx/8A/q8BANNSvbyAvf8ACbABAE0p68zrxf8AFLABACpM////s/8AHrABAK8l2r662v8AKLABAASL+/uAcv8AMrABAJBk04Cx0/8APLABABac/f20Yv8ARrABADqG3rPeaf8AULABAOkv/PzN5f8AWrABAAAA2dnZ2f8AZLABAHhU043Tx/8AbrABANNSvbyAvf8AebABAE0p68zrxf8AhLABACWQ///tb/8Aj7ABACpM////s/8AmbABAK8l2r662v8Ao7ABAASL+/uAcv8ArbABAJBk04Cx0/8At7ABABac/f20Yv8AwbABADqG3rPeaf8Ay7ABAOkv/PzN5f8A1bABAAAA2dnZ2f8A37ABAHhU043Tx/8A6LABACpM////s/8A8bABAK8l2r662v8A+rABAHhU043Tx/8AA7EBACpM////s/8ADLEBAK8l2r662v8AFbEBAASL+/uAcv8AHrEBAHhU043Tx/8AJ7EBACpM////s/8AMLEBAK8l2r662v8AObEBAASL+/uAcv8AQrEBAJBk04Cx0/8AS7EBAHhU043Tx/8AVLEBACpM////s/8AXbEBAK8l2r662v8AZrEBAASL+/uAcv8Ab7EBAJBk04Cx0/8AeLEBABac/f20Yv8AgbEBAHhU043Tx/8AirEBACpM////s/8Ak7EBAK8l2r662v8AnLEBAASL+/uAcv8ApbEBAJBk04Cx0/8ArrEBABac/f20Yv8At7EBADqG3rPeaf8AwLEBAHhU043Tx/8AybEBACpM////s/8A0rEBAK8l2r662v8A27EBAASL+/uAcv8A5LEBAJBk04Cx0/8A7bEBABac/f20Yv8A9rEBADqG3rPeaf8A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JboBAI91+ofO+v8AN7oBAJQ4mXeImf8AS7oBAJQ4mXeImf8AX7oBAJc03rDE3v8Ac7oBACof////4P8AhLoBAFX//wD/AP8AjroBAFXAzTLNMv8AnboBABUU+vrw5v8AqLoBANT///8A//8AtboBAAD/gIAAAP8AwboBAHGAzWbNqv8A17oBAKr/zQAAzf8A57oBAMyY07pV0/8A+boBALd825Nw2/8AC7sBAGepszyzcf8AH7sBALCP7nto7v8ANLsBAG//+gD6mv8AS7sBAH2n0UjRzP8AYLsBAOTkx8cVhf8AdbsBAKrGcBkZcP8Ah7sBAGoJ//X/+v8AlrsBAAQe///k4f8ApbsBABpJ///ktf8As7sBABlR///erf8AxLsBAKr/gAAAgP8AzrsBABsX/f315v8A27sBACr/gICAAP8A5rsBADjAjmuOI/8A9bsBABv///+lAP8AAbwBAAv///9FAP8AELwBANZ72tpw1v8AHLwBACZI7u7oqv8AL7wBAFVk+5j7mP8APrwBAH9D7q/u7v8AUbwBAPF829twk/8AZLwBABop///v1f8AdLwBABRG///auf8Ag7wBABSwzc2FP/8AjbwBAPc////Ay/8Al7wBANRG3d2g3f8AobwBAIQ75rDg5v8AsbwBANT/gIAAgP8AvbwBAAD///8AAP8AxrwBAAA9vLyPj/8A1bwBAJ+14UFp4f8A5LwBABHci4tFE/8A9bwBAASK+vqAcv8AAb0BABOa9PSkYP8AEb0BAGeqiy6LV/8AH70BABEQ///17v8ALb0BAA23oKBSLf8AOb0BAAAAwMDAwP8ARb0BAIts64fO6/8AUr0BAK+PzWpazf8AYb0BAJQ4kHCAkP8AcL0BAJQ4kHCAkP8Af70BAAAF///6+v8Aib0BAGr//wD/f/8Amr0BAJKbtEaCtP8Aqb0BABhU0tK0jP8Asr0BAH//gACAgP8AvL0BANQd2Ni/2P8Ayb0BAAa4//9jR/8A1b0BAHu24EDg0P8A5L0BANRz7u6C7v8A8L0BABtE9fXes/8A+70BAAAA//////8ABr4BAAAA9fX19f8AFr4BACr/////AP8AIr4BADjAzZrNMv8AM74BAC1D/Pf8uf8APL4BAERb3a3djv8ARb4BAGKyozGjVP8ATr4BACoy////zP8AV74BAD5V5sLmmf8A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CQAhACEAIQAVABwAAQAUABQAFAAUABQAFAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/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aXQAJSUlJVBhZ2VPcmllbnRhdGlvbjogJXMKADw8IC9QYWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRl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bGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKAHJvdGF0aW9uACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAaW5mbwBjb21wAGNudCA9PSBzegBtaW5jcm9zcy5jAGZpeExhYmVsT3JkZXIAcmVtaW5jcm9zcwBtaW5jcm9zcyAlczogJWQgY3Jvc3NpbmdzLCAlLjJmIHNlY3MuCgB2AG5laWdoYm9yAChydiA9PSAwKSB8fCAoTkRfb3JkZXIocnYpLU5EX29yZGVyKHYpKSpkaXIgPiAwAGNvbnN0cmFpbmluZ19mbGF0X2VkZ2UoZyx2LGUpID09IEZBTFNFAGZsYXRfcmVvcmRlcgBORF9yYW5rKHYpID09IHIAcG9zdG9yZGVyAGZsYXRpbmRleChhZ2hlYWQoZSkpIDwgTS0+bnJvd3MAZmxhdF9zZWFyY2gAZmxhdGluZGV4KGFndGFpbChlKSkgPCBNLT5uY29scwBvdXQAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZC4KAG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQgZm9yIG5vZGUgJyVzJy4KAG1lcmdlMjogZ3JhcGggJXMsIHJhbmsgJWQgaGFzIG9ubHkgJWQgPCAlZCBub2RlcwoAbWluY3Jvc3M6IHBhc3MgJWQgaXRlciAlZCB0cnlpbmcgJWQgY3VyX2Nyb3NzICVkIGJlc3RfY3Jvc3MgJWQKAE5EX29yZGVyKHYpIDwgTkRfb3JkZXIodykAYmFsYW5jZQB0cmFuc3Bvc2Vfc3RlcABzdXJwcmlzZQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiAlcyAlcyByYW5rICVkIGkgPSAlZCBhbiA9IDAKAEdEX3JhbmsoZylbcl0ubiA8PSBHRF9yYW5rKGcpW3JdLmFuAGluc3RhbGxfaW5fcmFuawBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiByYW5rICVkIG5vdCBpbiByYW5rIHJhbmdlIFslZCwlZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogR0RfcmFuayhnKVslZF0udiArIE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhnKVslZF0uYXYgKyBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBfbmV3X3JhbmsAbWNsaW1pdAByYW5rKGcsIDIsIG5zaXRlcjIoZykpID09IDAAcG9zaXRpb24uYwBkb3RfcG9zaXRpb24AQVI9JTAuNGxmCSBBcmVhPSAlMC40bGYJAER1bW15PSVkCgBHb2luZyB0byBhcHBseSBhbm90aGVyIGV4cGFuc2lvbi4KAG5leHQjaXRlcj0lZAoAaHAAY29ubmVjdEdyYXBoAEVkZ2UgbGVuZ3RoICVmIGxhcmdlciB0aGFuIG1heGltdW0gJXUgYWxsb3dlZC4KQ2hlY2sgZm9yIG92ZXJ3aWRlIG5vZGUocykuCgBuc2xpbWl0AGNvbnRhaW5fbm9kZXMgY2x1c3QgJXMgcmFuayAlZCBtaXNzaW5nIG5vZGUKAG5zbGltaXQxAG5ld3JhbmsATWF4cmFuayA9ICVkLCBtaW5yYW5rID0gJWQKAGxlYWRlciAhPSBOVUxMAHJhbmsuYwBjbHVzdGVyX2xlYWRlcgAoTkRfVUZfc2l6ZShuKSA8PSAxKSB8fCAobiA9PSBsZWFkZXIpAGFnaGVhZChlKSA9PSBVRl9maW5kKGFnaGVhZChlKSkAbWlubWF4X2VkZ2VzAGFndGFpbChlKSA9PSBVRl9maW5kKGFndGFpbChlKSkAcmFuawBzYW1lAG1pbgBzb3VyY2UAbWF4AHNpbmsAbGV2ZWwgYXNzaWdubWVudCBjb25zdHJhaW50cwBsZXZlbCBncmFwaCByZWMAf3Jvb3QAf3RvcAB/Ym90AGNvbXBhY3QAX3dlYWtfJWQAcmFua2luZzogZmFpbHVyZSB0byBjcmVhdGUgc3Ryb25nIGNvbnN0cmFpbnQgZWRnZSBiZXR3ZWVuIG5vZGVzICVzIGFuZCAlcwoAJXMgaGFzIHVucmVjb2duaXplZCByYW5rPSVzAGxldmVsIGVkZ2UgcmVjAGxldmVsIG5vZGUgcmVjAHNhbWVoZWFkAHNhbWV0YWlsAHRvbyBtYW55ICg+ICVkKSBzYW1le2hlYWQsdGFpbH0gZ3JvdXBzIGZvciBub2RlICVzCgBjb21iaUFSID0gJWxmCgAlbGYsJWQAdGhlIGFzcGVjdCBhdHRyaWJ1dGUgaGFzIGJlZW4gZGlzYWJsZWQgZHVlIHRvIGltcGxlbWVudGF0aW9uIGZsYXdzIC0gYXR0cmlidXRlIGlnbm9yZWQuCgBFRF90b192aXJ0KGUpID09IE5VTEwAY2xhc3MyLmMAbWVyZ2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSA9PSBOVUxMAG1ha2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSAhPSBOVUxMAE5EX3JhbmsoZnJvbSkgPCBORF9yYW5rKHRvKQBjbHVzdGVyLmMAbWFwX3BhdGgAJXMgd2FzIGFscmVhZHkgaW4gYSByYW5rc2V0LCBkZWxldGVkIGZyb20gY2x1c3RlciAlcwoAbGhlYWQAbHRhaWwAJXMgLT4gJXM6IHNwbGluZSBzaXplID4gMSBub3Qgc3VwcG9ydGVkCgAlcyAtPiAlczogaGVhZCBub3QgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAJXMgLT4gJXM6IHRhaWwgaXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAYmV6LT5zZmxhZwBjb21wb3VuZC5jAG1ha2VDb21wb3VuZEVkZ2UAYmV6LT5lZmxhZwAlcyAtPiAlczogdGFpbCBub3QgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAJXMgLT4gJXM6IGhlYWQgaXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAc2VnbWVudCBbJXMsJXNdIGRvZXMgbm90IGludGVyc2VjdCBib3ggbGw9JXMsdXI9JXMKAGJveEludGVyc2VjdGYAKCUuNWcsJS41ZykAY2x1c3RlciBuYW1lZCAlcyBub3QgZm91bmQKAGNvbmNlbnRyYXRlPXRydWUgbWF5IG5vdCB3b3JrIGNvcnJlY3RseS4KAHJlYnVpbHRkX3ZsaXN0czogcmFuayBsZWFkICVzIG5vdCBpbiBvcmRlciAlZCBvZiByYW5rICVkCgBkZWdlbmVyYXRlIGNvbmNlbnRyYXRlZCByYW5rICVzLCVkCgBORF9pbihyaWdodCkuc2l6ZSArIE5EX291dChyaWdodCkuc2l6ZSA9PSAwAGNvbmMuYwBtZXJnZXZpcnR1YWwAZG90OiBPdXQgb2YgbWVtb3J5CgBORF9vdXQodikuc2l6ZSA9PSAyAGZsYXQuYwBzZXRib3VuZHMAR0RfbWlucmFuayhnKSA9PSAwAGFib21pbmF0aW9uAEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkAGZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3cAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19nZXRfbmV4dF9idWZmZXIoKQBpbnB1dABzeW50YXggYW1iaWd1aXR5IC0gYmFkbHkgZGVsaW1pdGVkIG51bWJlciAnACcgaW4gbGluZSAlZCBvZiAAIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKACVzAGxpbmUAJWQgJTFbIl0lbgBvdXQgb2YgZHluYW1p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a01vZGVJbmZvAGFycmF5AGFzcGVjdAAlZgBwYWNrIGluZm86CgAgIG1vZGUgICAlcwoAICBhc3BlY3QgJWYKACAgc2l6ZSAgICVkCgAgIGZsYWdzICAlZAoAdW5kZWZpbmVkAHBhY2sAQXJyb3cgdHlwZSAiJXMiIHVua25vd24gLSBpZ25vcmluZwoAbm9ybWFsAGNyb3cAdGVlAGRvdABpbnYAdmVlAHBlbgBtcHR5AGN1cnZlAGljdXJ2ZQBsAGhhbGYAaW52ZW1wdHkAX2JhY2tncm91bmQAX2RyYXdfAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAICAiJXMiCgBubyBtZW1vcnkgZnJvbSB6bWFsbG9jKCkKAG9iagBlbWl0LmMAcG9wX29ial9zdGF0ZQBjbHVzdAAlbGQAcGFnZSVkLCVkXwBUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAElsbGVnYWwgbGVuZ3RoIHZhbHVlIGluICIlcyIgY29sb3IgYXR0cmlidXRlIABjb2xvcnNjaGVtZQBlbWl0X2VkZ2VfbGFiZWwAJXMtJXMAZm9yd2FyZABiYWNrACAtPiAAIC0tIABpbiBlZGdlICVzJXMlcwoAbGFiZWxhbGlnbmVkAGVkZ2VocmVmAGVkZ2VVUkwAbGFiZWxocmVmAGxhYmVsVVJMAHRhaWxocmVmAHRhaWxVUkwAaGVhZGhyZWYAaGVhZFVSTAB0YXJnZXQAZWRnZXRhcmdldABsYWJlbHRhcmdldAB0YWlsdGFyZ2V0AGhlYWR0YXJnZXQAZWRnZXRvb2x0aXAAbGFiZWx0b29sdGlwAHRhaWx0b29sdGlwAGhlYWR0b29sdGlwAAFuZXN0aW5nIG5vdCBhbGxvd2VkIGluIHN0eWxlOiAlcwoAdW5tYXRjaGVkICcpJyBpbiBzdHlsZTogJXMKAHRydW5jYXRpbmcgc3R5bGUgJyVzJwoAdW5tYXRjaGVkICcoJyBpbiBzdHlsZTogJXMKAGFsbABiZ2NvbG9yAGluIGNsdXN0ZXIgJXMKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAbGF5ZXJzIG5vdCBzdXBwb3J0ZWQgaW4gJXMgb3V0cHV0CgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgBndlJlbmRlckpvYnMgJXM6ICUuMmYgc2Vjcy4KAGxheW91dCB3YXMgbm90IGRvbmUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAcGFnZWRpcj0lcyBpZ25vcmVkCgB2aWV3cG9ydAAlbGYsJWxmLCVsZiwnJVteJ10nACVsZiwlbGYsJWxmLCVbXixdJXMAJWxmLCVsZiwlbGYsJWxmLCVsZgBvdXRwdXRvcmRlcgBvZGVzZmlyc3QAZGdlc2ZpcnN0AGxheWVycwBsYXllcnNlbGVjdABUaGUgbGF5ZXJzZWxlY3QgYXR0cmlidXRlICIlcyIgZG9lcyBub3QgbWF0Y2ggYW55IGxheWVyIHNwZWNpZmVkIGJ5IHRoZSBsYXllcnMgYXR0cmlidXRlIC0gaWdub3JlZC4KAGxheWVyc2VwADoJIABsYXllcmxpc3RzZXAALABUaGUgY2hhcmFjdGVyICclYycgYXBwZWFycyBpbiBib3RoIHRoZSBsYXllcnNlcCBhbmQgbGF5ZXJsaXN0c2VwIGF0dHJpYnV0ZXMgLSBsYXllcmxpc3RzZXAgaWdub3JlZC4KAHBhZABCTABwYWdlZGlyAHNvbGlkAABzZXRsaW5ld2lkdGgAMQAAc3BsLT5zaXplID4gMABpbml0X3NwbGluZXNfYmIAYnouc2l6ZSA+IDAAYmV6aWVyX2JiAGJ6LnNpemUgJSAzID09IDEAbGFiZWwAJWxmAGZvbnRwYXRoAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAaW1hZ2VwYXRoAHF1YW50dW0AcmFua2RpcgBMUgBCVABSTABub2Rlc2VwAHJhbmtzZXAAZXF1YWxseQBzaG93Ym94ZXMAZm9udG5hbWVzAHNpemUAcGFnZQBjZW50ZXIAcm90YXRlAG9yaWVudGF0aW9uAGxhbmRzY2FwZQBjbHVzdGVycmFuawBjb25jZW50cmF0ZQBkcGkAcmVzb2x1dGlvbgBvcmRlcmluZwBncmFkaWVudGFuZ2xlAGZpbGxjb2xvcgBzdHlsZQBmb250c2l6ZQBmb250bmFtZQBmb250Y29sb3IAeGxhYmVsAHBlbndpZHRoAHNpZGVzAHBlcmlwaGVyaWVzAHNrZXcAZGlzdG9ydGlvbgBmaXhlZHNpemUAbm9qdXN0aWZ5AGxheWVyAGdyb3VwAGNvbW1lbnQAdmVydGljZXMAegB3ZWlnaHQAbGFiZWxmbG9hdABkaXIAYXJyb3doZWFkAGFycm93dGFpbABoZWFkbGFiZWwAdGFpbGxhYmVsAGxhYmVsZm9udHNpemUAbGFiZWxmb250bmFtZQBsYWJlbGZvbnRjb2xvcgBsYWJlbGRpc3RhbmNlAGxhYmVsYW5nbGUAbWlubGVuAGRlY29yYXRlAGFycm93c2l6ZQBjb25zdHJhaW50AHRhaWxjbGlwAGhlYWRjbGlwAGlkAGxhYmVsanVzdABsb2NhbABnbG9iYWwAJWxmLCVsZiVjACVsZiVjAHJhdGlvAGF1dG8AY29tcHJlc3MAZXhwYW5kAGZpbGwAZ2QAcHMAc3ZnAGNoYXJzZXQAdXRmLTgAbGF0aW4tMQBsYXRpbjEAbDEASVNPLTg4NTktMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tSVItMTAwAGJpZy01AGJpZzUAdXRmOABVbnN1cHBvcnRlZCBjaGFyc2V0ICIlcyIgLSBhc3N1bWluZyB1dGYtOAoAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAGluIGxhYmVsIG9mIG5vZGUgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKAGtpbmQgPT0gTFRfTk9ORQBsYWJlbHMuYwBtYWtlX2xhYmVsAFxMAFxHAFxFAFxIAFxUACYjMTM7ACYjMTA7ACZxdW90OwAmIzE2MDsAJmFtcDsAJmd0OwAmIzM5OwAmIzQ1OwAmbHQ7ACVzICVkIG5vZGVzICVkIGVkZ2VzIG1heGl0ZXI9JWQgYmFsYW5jZT0lZAoAbmV0d29yayBzaW1wbGV4OiAAJWQgACVzJWQgbm9kZXMgJWQgZWRnZXMgJWQgaXRlciAlLjJmIHNlYwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAVHJlZV9lZGdlLnNpemUgPT0gTl9ub2RlcyAtIDEAbnMuYwBmZWFzaWJsZV90cmVlACFUUkVFX0VER0UoZSkAbWVyZ2VfdHJlZXMAKHIwLT5oZWFwX2luZGV4ID4gLTEpIHx8IChyMS0+aGVhcF9pbmRleCA+IC0xKQBTVHNldFVuaW9uAHItPmhlYXBfaW5kZXggPj0gMABhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAYWRkX3RyZWVfZWRnZTogZW1wdHkgb3V0ZWRnZSBsaXN0CgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBpbmVkZ2UgbGlzdAoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAAklcyAlZAoAc2VhcmNoc2l6ZQBncmFwaCAAIABub2RlIABzdG9wCgAlLjVnAHBvcwByZWN0cwB4bHAAbHAAaGVhZF9scAB0YWlsX2xwAGx3aWR0aABsaGVpZ2h0AGJiACUuNWcsJS41ZywlLjVnACwlLjVnACUuNWcsJS41ZwBzYW1wbGVwb2ludHMAJS41ZyAlLjVnAHMsJS41ZywlLjVnIABlLCUuNWcsJS41ZyAAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjJmACUuNWcsJS41ZywlLjVnLCUuNWcgAC9wYXRoYm94IHsKICAgIC9YIGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAbG9zdCAlcyAlcyBlZGdlCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggdGFpbCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGhlYWQgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB4bGFiZWwgJXMAZm9yY2VsYWJlbHMAJWQgb3V0IG9mICVkIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb3V0IG9mICVkIGV4dGVyaW9yIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb2JqcyAlZCB4bGFiZWxzIGZvcmNlPSVkIGJiPSglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKQoAb2JqZWN0cwoAIFslZF0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAHhsYWJlbHMKACBbJWRdICVwIHNldCAlZCAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBjb3VsZG4ndCBvcGVuIGVwc2YgZmlsZSAlcwoAJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAByZWFkAEJvdW5kaW5nQm94IG5vdCBmb3VuZCBpbiBlcHNmIGZpbGUgJXMKAGNhbid0IGZpbmQgbGlicmFyeSBmaWxlICVzCgBjYW4ndCBvcGVuIGxpYnJhcnkgZmlsZSAlcwoARU9GAEJFR0lOAEVORABUUkFJTEVSAC91c2VyX3NoYXBlXyVkIHsKACUlQmVnaW5Eb2N1bWVudDoKACUlRW5kRG9jdW1lbnQKAH0gYmluZCBkZWYKAFVURi04IGlucHV0IHVzZXMgbm9uLUxhdGluMSBjaGFyYWN0ZXJzIHdoaWNoIGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgUG9zdFNjcmlwdCBkcml2ZXIKAGNhbm5vdCByZS1hbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzaW5pdDogY2Fubm90IGFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXM6ICVkIGVkZ2VzLCAlZCBib3hlcyAlLjJmIHNlYwoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBpbGxlZ2FsIHZhbHVlcyBvZiBwcmV2ICVkIGFuZCBuZXh0ICVkLCBsaW5lICVkCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIFBzaG9ydGVzdHBhdGggZmFpbGVkCgBpbiByb3V0ZXNwbGluZXMsIFByb3V0ZXNwbGluZSBmYWlsZWQKAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBpbiBjaGVja3BhdGgsIGJveCAwIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveCAlZCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3hlcyAlZCBhbmQgJWQgZG9uJ3QgdG91Y2gKAGluIGNoZWNrcGF0aCwgc3RhcnQgcG9ydCBub3QgaW4gZmlyc3QgYm94CgBpbiBjaGVja3BhdGgsIGVuZCBwb3J0IG5vdCBpbiBsYXN0IGJveAoAJWQgYm94ZXM6CgAlZCAoJS41ZywgJS41ZyksICglLjVnLCAlLjVnKQoAY29uc3RyYWluZWQAbm90IGNvbnN0cmFpbmVkAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBzaWRlcyA9PSA0AHNoYXBlcy5jAHJvdW5kX2Nvcm5lcnMAYmFkIGxhYmVsIGZvcm1hdCAlcwoAXE4AbWFyZ2luACVsZiwlbGYAcmVndWxhcgBjdXN0b20Ac2hhcGVmaWxlADxuaWw+AE5vIG9yIGltcHJvcGVyIHNoYXBlZmlsZT0iJXMiIGZvciBub2RlICIlcyIKAE5vIG9yIGltcHJvcGVyIGltYWdlPSIlcyIgZm9yIG5vZGUgIiVzIgoAbGFiZWxsb2MAc2hhcGUAbm9kZSAnJXMnLCBncmFwaCAnJXMnIHNpemUgdG9vIHNtYWxsIGZvciBsYWJlbAoAZXBzZgB1c2luZyAlcyBmb3IgdW5rbm93biBzaGFwZSAlcwoAYm94AHBvbHlnb24Ab3ZhbABjaXJjbGUAcG9pbnQAZWdnAHRyaWFuZ2xlAHBsYWludGV4dABwbGFpbgBkaWFtb25kAHRyYXBleml1bQBwYXJhbGxlbG9ncmFtAGhvdXNlAHBlbnRhZ29uAGhleGFnb24Ac2VwdGFnb24Ab2N0YWdvbgBub3RlAHRhYgBmb2xkZXIAYm94M2QAY29tcG9uZW50AGN5bGluZGVyAHJlY3QAcmVjdGFuZ2xlAHNxdWFyZQBkb3VibGVjaXJjbGUAZG91Ymxlb2N0YWdvbgB0cmlwbGVvY3RhZ29uAGludnRyaWFuZ2xlAGludnRyYXBleml1bQBpbnZob3VzZQB1bmRlcmxpbmUATWRpYW1vbmQATXNxdWFyZQBNY2lyY2xlAHByb21vdGVyAGNkcwB0ZXJtaW5hdG9yAHV0cgBpbnN1bGF0b3IAcmlib3NpdGUAcm5hc3RhYgBwcm90ZWFzZXNpdGUAcHJvdGVpbnN0YWIAcHJpbWVyc2l0ZQByZXN0cmljdGlvbnNpdGUAZml2ZXBvdmVyaGFuZwB0aHJlZXBvdmVyaGFuZwBub3ZlcmhhbmcAYXNzZW1ibHkAc2lnbmF0dXJlAHJwcm9tb3RlcgBsYXJyb3cAcmFycm93AGxwcm9tb3RlcgByZWNvcmQATXJlY29yZABzdGFyACM4MDgwODAAI2ZjZmNmYwAjMzAzMDMwACNlOGU4ZTgAI2UwZTBlMAAjZjBmMGYwACMxMDEwMTAAI2Y4ZjhmOABpbiBub2RlICVzCgByb3VuZGVkAGRpYWdvbmFscwByYWRpYWwAc3RyaXBlZAB3ZWRnZWQAXwBub2RlICVzLCBwb3J0ICVzLCB1bnJlY29nbml6ZWQgY29tcGFzcyBwb2ludCAnJXMnIC0gaWdub3JlZAoAbm9kZSAlcywgcG9ydCAlcyB1bnJlY29nbml6ZWQKACUuNWcgJS41ZyB0cmFuc2xhdGUgbmV3cGF0aCB1c2VyX3NoYXBlXyVkCgBpbnZpcwAAZmlsbGVkAABzAGUAdwBzcGxpbmVzLmMAYmVnaW5wYXRoAFAtPmVuZC50aGV0YSA8IDIgKiBNX1BJAGVuZHBhdGgAbWFrZVNlbGZFZGdlAGdldHNwbGluZXBvaW50czogbm8gc3BsaW5lIHBvaW50cyBhdmFpbGFibGUgZm9yIGVkZ2UgKCVzLCVzKQoAcG9seWxpbmVNaWRwb2ludABzcGFuLT5mb250AHRleHRzcGFuLmMAdGV4dHNwYW5fc2l6ZQBmb250LT5uYW1lAGZvbnRuYW1lOiAiJXMiIHJlc29sdmVkIHRvOiAlcwoAZm9udG5hbWU6IHVuYWJsZSB0byByZXNvbHZlICIlcyIKAGNvdXIAYXJpYWwAaGVsdmV0aWNhAFtpbnRlcm5hbCB0aW1lc10AW2ludGVybmFsIGNvdXJpZXJdAFtpbnRlcm5hbCBhcmlhbF0AQXZhbnRHYXJkZS1Cb29rAFVSVyBHb3RoaWMgTABib29rAHNhbnMtU2VyaWYAQXZhbnRHYXJkZS1Cb29rT2JsaXF1ZQBvYmxpcXVlAGl0YWxpYwBBdmFudEdhcmRlLURlbWkAZGVtaQBBdmFudEdhcmRlLURlbWlPYmxpcXVlAEJvb2ttYW4tRGVtaQBVUlcgQm9va21hbiBMAHNlcmlmAEJvb2ttYW4tRGVtaUl0YWxpYwBCb29rbWFuLUxpZ2h0AGxpZ2h0AEJvb2ttYW4tTGlnaHRJdGFsaWMAQ291cmllcgBtb25vc3BhY2UAQ291cmllci1Cb2xkAENvdXJpZXItQm9sZE9ibGlxdWUAQ291cmllci1PYmxpcXVlAEhlbHZldGljYQBIZWx2ZXRpY2EtQm9sZABIZWx2ZXRpY2EtQm9sZE9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdwBjb25kZW5zZWQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkAEhlbHZldGljYS1OYXJyb3ctQm9sZE9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdy1PYmxpcXVlAEhlbHZldGljYS1PYmxpcXVlAE5ld0NlbnR1cnlTY2hsYmstQm9sZABDZW50dXJ5IFNjaG9vbGJvb2sgTABOZXdDZW50dXJ5U2NobGJrLUJvbGRJdGFsaWMATmV3Q2VudHVyeVNjaGxiay1JdGFsaWMATmV3Q2VudHVyeVNjaGxiay1Sb21hbgByb21hbgBQYWxhdGluby1Cb2xkAFBhbGF0aW5vIExpbm90eXBlAFBhbGF0aW5vLUJvbGRJdGFsaWMAUGFsYXRpbm8tSXRhbGljAFBhbGF0aW5vLVJvbWFuAFN5bWJvbABmYW50YXN5AFRpbWVzLUJvbGQAVGltZXMAVGltZXMtQm9sZEl0YWxpYwBUaW1lcy1JdGFsaWMAWmFwZkNoYW5jZXJ5LU1lZGl1bUl0YWxpYwBVUlcgQ2hhbmNlcnkgTABtZWRpdW0AWmFwZkRpbmdiYXRzAERpbmdiYXRzAG5vAHRydWUAeWVzAHV0aWxzLmMAdSA9PSBVRl9maW5kKHUpAFVGX3NldG5hbWUAAWZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCmFuZCB0aGUgR1ZfRklMRV9QQVRIIHZhcmlhYmxlIGlzIHVuc2V0IG9yIGVtcHR5LgoAUGF0aCBwcm92aWRlZCB0byBmaWxlOiAiJXMiIGhhcyBiZWVuIGlnbm9yZWQgYmVjYXVzZSBmaWxlcyBhcmUgb25seSBwZXJtaXR0ZWQgdG8gYmUgbG9hZGVkIGZyb20gdGhlIGRpcmVjdG9yaWVzIGluICIlcyIgd2hlbiBydW5uaW5nIGluIGFuIGh0dHAgc2VydmVyLgoAJXMlcyVzAC8AOgBlbGxpcHNlAFRpbWVzLVJvbWFuAGNsdXN0ZXIAX19jbHVzdGVybm9kZXMAVHdvIGNsdXN0ZXJzIG5hbWVkICVzIC0gdGhlIHNlY29uZCB3aWxsIGJlIGlnbm9yZWQKAG1hcE4AQUVsaWcAQWFjdXRlAEFjaXJjAEFncmF2ZQBBbHBoYQBBcmluZwBBdGlsZGUAQXVtbABCZXRhAENjZWRpbABDaGkARGFnZ2VyAERlbHRhAEVUSABFYWN1dGUARWNpcmMARWdyYXZlAEVwc2lsb24ARXRhAEV1bWwAR2FtbWEASWFjdXRlAEljaXJjAElncmF2ZQBJb3RhAEl1bWwAS2FwcGEATGFtYmRhAE11AE50aWxkZQBOdQBPRWxpZwBPYWN1dGUAT2NpcmMAT2dyYXZlAE9tZWdhAE9taWNyb24AT3NsYXNoAE90aWxkZQBPdW1sAFBoaQBQaQBQcmltZQBQc2kAUmhvAFNjYXJvbgBTaWdtYQBUSE9STgBUYXUAVGhldGEAVWFjdXRlAFVjaXJjAFVncmF2ZQBVcHNpbG9uAFV1bWwAWGkAWWFjdXRlAFl1bWwAWmV0YQBhYWN1dGUAYWNpcmMAYWN1dGUAYWVsaWcAYWdyYXZlAGFsZWZzeW0AYWxwaGEAYW1wAGFuZABhbmcAYXJpbmcAYXN5bXAAYXRpbGRlAGF1bWwAYmRxdW8AYmV0YQBicnZiYXIAYnVsbABjYXAAY2NlZGlsAGNlZGlsAGNlbnQAY2hpAGNpcmMAY2x1YnMAY29uZwBjb3B5AGNyYXJyAGN1cABjdXJyZW4AZEFycgBkYWdnZXIAZGFycgBkZWcAZGVsdGEAZGlhbXMAZGl2aWRlAGVhY3V0ZQBlY2lyYwBlZ3JhdmUAZW1wdHkAZW1zcABlbnNwAGVwc2lsb24AZXF1aXYAZXRhAGV0aABldW1sAGV1cm8AZXhpc3QAZm5vZgBmb3JhbGwAZnJhYzEyAGZyYWMxNABmcmFjMzQAZnJhc2wAZ2FtbWEAZ2UAZ3QAaEFycgBoYXJyAGhlYXJ0cwBoZWxsaXAAaWFjdXRlAGljaXJjAGlleGNsAGlncmF2ZQBpbWFnZQBpbmZpbgBpbnQAaW90YQBpcXVlc3QAaXNpbgBpdW1sAGthcHBhAGxBcnIAbGFtYmRhAGxhbmcAbGFxdW8AbGFycgBsY2VpbABsZHF1bwBsZQBsZmxvb3IAbG93YXN0AGxvegBscm0AbHNhcXVvAGxzcXVvAGx0AG1hY3IAbWRhc2gAbWljcm8AbWlkZG90AG11AG5hYmxhAG5ic3AAbmRhc2gAbmUAbmkAbm90AG5vdGluAG5zdWIAbnRpbGRlAG51AG9hY3V0ZQBvY2lyYwBvZWxpZwBvZ3JhdmUAb2xpbmUAb21lZ2EAb21pY3JvbgBvcGx1cwBvcgBvcmRmAG9yZG0Ab3NsYXNoAG90aWxkZQBvdGltZXMAb3VtbABwYXJhAHBhcnQAcGVybWlsAHBlcnAAcGhpAHBpAHBpdgBwbHVzbW4AcG91bmQAcHJpbWUAcHJvZABwcm9wAHBzaQBxdW90AHJBcnIAcmFkaWMAcmFuZwByYXF1bwByYXJyAHJjZWlsAHJkcXVvAHJlYWwAcmVnAHJmbG9vcgByaG8AcmxtAHJzYXF1bwByc3F1bwBzYnF1bwBzY2Fyb24Ac2RvdABzZWN0AHNoeQBzaWdtYQBzaWdtYWYAc2ltAHNwYWRlcwBzdWIAc3ViZQBzdW0Ac3VwAHN1cDEAc3VwMgBzdXAzAHN1cGUAc3psaWcAdGF1AHRoZXJlNAB0aGV0YQB0aGV0YXN5bQB0aGluc3AAdGhvcm4AdGlsZGUAdGltZXMAdHJhZGUAdUFycgB1YWN1dGUAdWFycgB1Y2lyYwB1Z3JhdmUAdW1sAHVwc2loAHVwc2lsb24AdXVtbAB3ZWllcnAAeGkAeWFjdXRlAHllbgB5dW1sAHpldGEAendqAHp3bmoAVVRGOCBjb2RlcyA+IDQgYnl0ZXMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIChncmFwaCAlcykgLSB0cmVhdGVkIGFzIExhdGluLTEuIFBlcmhhcHMgIi1HY2hhcnNldD1sYXRpbjEiIGlzIG5lZWRlZD8KAEludmFsaWQgJWQtYnl0ZSBVVEY4IGZvdW5kIGluIGlucHV0IG9mIGdyYXBoICVzIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBiei5zaXplAG92ZXJsYXBfYmV6aWVyAHVydmVkAG9tcG91bmQAYWxzZQBpbmUAb25lAG8AcnRobwBvbHlsaW5lAHBsaW5lAHJ1ZQBlcwBVbmtub3duICJzcGxpbmVzIiB2YWx1ZTogIiVzIiAtIGlnbm9yZWQKAHNwbGluZXMAb2RiAE9ydGhvZ29uYWwgZWRnZXMgZG8gbm90IGN1cnJlbnRseSBoYW5kbGUgZWRnZSBsYWJlbHMuIFRyeSB1c2luZyB4bGFiZWxzLgoAb3J0aG8gJXMgJXMKAGNoYW5pAG9ydGhvLmMAY2hhblNlYXJjaABjcAAlJSFQUy1BZG9iZS0yLjAKJSUlJUJvdW5kaW5nQm94OiAoYXRlbmQpCi9wb2ludCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIG5ld3BhdGgKICBYIFkgMyAwIDM2MCBhcmMgZmlsbAp9IGRlZgovY2VsbCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBzdHJva2UKfSBkZWYKL25vZGUgewogL3UgZXhjaCBkZWYKIC9yIGV4Y2ggZGVmCiAvZCBleGNoIGRlZgogL2wgZXhjaCBkZWYKIG5ld3BhdGggbCBkIG1vdmV0bwogciBkIGxpbmV0byByIHUgbGluZXRvIGwgdSBsaW5ldG8KIGNsb3NlcGF0aCBmaWxsCn0gZGVmCgoAJWQgJWQgdHJhbnNsYXRlCgAwLjggMC44IDAuOCBzZXRyZ2Jjb2xvcgoAc2hvd3BhZ2UKJSUlJVRyYWlsZXIKJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAbmV3cGF0aCAlZCAlZCBtb3ZldG8KACVkICVkIGxpbmV0bwoAJWQgJWQgbGluZXRvIHN0cm9rZQoAY2hhbm5lbCAlZCAoJWYsJWYpCgAgLT4KACAgICAgACgoJWYsJWYpLCglZiwlZikpICVzICVzAEJfUklHSFQAQl9ET1dOAEJfTEVGVABCX1VQAEJfTk9ERQBzZWcAbmV4dF9zZWcAZGVjaWRlX3BvaW50AGluY29tcGFyYWJsZSBzZWdtZW50cyAhISAtLSBBYm9ydGluZwoAczEtPmNvbW1fY29vcmQ9PXMyLT5jb21tX2Nvb3JkAGlzX3BhcmFsbGVsAGdyYXBoIEcgewoAIG5vZGVbc2hhcGU9cG9pbnRdCgAgICVkIFtwb3M9IiVkLCVkIl0KACAgJWQgLS0gJWRbbGVuPSIlZiJdCgB9CgBjb2xvciAlcwAlcyBpcyBub3QgYSBrbm93biBjb2xvci4KAGVycm9yIGluIGNvbHhsYXRlKCkKAHNvbGlkAGludmlzaWJsZQBib2xkAHNldGxpbmV3aWR0aABmaWxsZWQAdW5maWxsZWQAdGFwZXJlZABndnJlbmRlcl9zZXRfc3R5bGU6IHVuc3VwcG9ydGVkIHN0eWxlICVzIC0gaWdub3JpbmcKAGd2cmVuZGVyLmMAZ3ZyZW5kZXJfdXNlcnNoYXBlAG5hbWUAbmFtZVswXQB3aWR0aABoZWlnaHQAYm90aABqb2IAZ3Zsb2FkaW1hZ2UuYwBndmxvYWRpbWFnZQB1cwB1cy0+bmFtZQB1cy0+bmFtZVswXQBObyBsb2FkaW1hZ2UgcGx1Z2luIGZvciAiJXMiCgBRAExlZnQAS1BfTGVmdABSaWdodABLUF9SaWdodABVcABLUF9VcABEb3duAEtQX0Rvd24AcGx1cwBLUF9BZGQAbWludXMAS1BfU3VidHJhY3QARgB0b29sdGlwAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AGhyZWYAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADEAMgAzADQANQA2ADcAOAA5ADEwADExADEyADEzADE0ADE1ADE2ADE3ADE4ADE5ADIwAEFnbm9kZWluZm9fdABBZ2VkZ2VpbmZvX3QAcm93ZwBjb2xnAEFncmFwaGluZm9fdAA8VEFCTEU+AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IAY29sb3IALT4ALS0AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpc3ludGF4IGVycm9yAG1lbW9yeSBleGhhdXN0ZWQAJXMgaW4gbGluZSAlZCAKAE5vdCBidWlsdCB3aXRoIGxpYmV4cGF0LiBUYWJsZSBmb3JtYXR0aW5nIGlzIG5vdCBhdmFpbGFibGUuCgByb3V0ZS5jAGxpYnBhdGgvJXM6JWQ6ICVzCgBzaG9ydGVzdC5jAHNvdXJjZSBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGRlc3RpbmF0aW9uIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAY2Fubm90IGZpbmQgdHJpYW5nbGUgcGF0aABjYW5ub3QgbWFsbG9jIG9wcwBjYW5ub3QgcmVhbGxvYyBvcHMAdHJpYW5ndWxhdGlvbiBmYWlsZWQAY2Fubm90IG1hbGxvYyB0cmlzAGNhbm5vdCByZWFsbG9jIHRyaXMAY2Fubm90IG1hbGxvYyBkcS5wbmxzAGNhbm5vdCByZWFsbG9jIGRxLnBubHMAY2Fubm90IG1hbGxvYyBwbmxzAGNhbm5vdCBtYWxsb2MgcG5scHMAY2Fubm90IHJlYWxsb2MgcG5scwBjYW5ub3QgcmVhbGxvYyBwbmxwcwBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AABIQExQVFhcYGRobHB0eHyAhEBAiIxAkJSYnKCkqKxAsLS4RLzARETEREREyMzQ1Njc4OREQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOxA8PT4/QEEQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQxAQRBBFRkcQSBBJEBAQEEpLTE0QEE4QT1AQEBAQURAQEBAQEBAQEBAQEBBSEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBTEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVFVWVxAQWFkQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWhBbXF1eX2BhYhAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAD+/wD8AQAA+AEAAHgAAAAA//vf+wAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAD8/+Cv/////////////9///////yBAsAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAD8AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAACG/v///wBASQAAAAAAGADf/wDIAAAAAAAAAAEAPAAAAAAAAAAAAAAAABDgAR4AYP+/AAAAAAAA/wcAAAAAAAAAAAAAAAAAAAAAAAAA+M8DAAAAAwAg/38AAABOAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAAAAAEAAgHgAwAAEAAAAAAAAAABAAIAAAAAD8DwAAAAAAAAAQACAAAAAAAAAAAAAAAAAAEAAgAAAAAAMAAAAAAAAAABAAIAAAAAD9AAAAAAAAAAAAACAAAAAA/wcAAAAAAAAAAAAgAAAAAAD/AAAAAAAAABAAIAAAAAAAAAAAAAAAAAAAACAAAAAAPwIAAAAAAAAAAAAEAAAAABAAAAAAAACAAIDA3wAMAAAAAAAAAAAAAAAAAB8AAAAAAAD+////APz//wAAAAAAAAAA/AAAAAAAAMD/3/8HAAAAAAAAAAAAAIAGAPwAABg+AACAvwDMAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABg////HwAA/wMAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAABAAAYAAAAAAAAAAAAOAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAADAAAP5/LwAA/wP/fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOMQAAAAAAAAAAAAAAAAAAAAAAAMT/////AAAAwAAAAAAAAAAAAQDgnwAAAAB/PwAAAAAAAAAAAAAAAAAAAAAQABAAAPz///8fAAAAAAAMAAAAAAAAQAAM8AAAAAAAAMD4AAAAAAAAAMAAAAAAAAAAAP8A////IRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////38AAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAD4ADgAOAAYID4/////P//////fx/88X//fwAA////AwAA/////wEAewPQwa9CAAwfvP//AAAAAAAC//////////////////////////////////////////////////////////8PAP////9/AAAA/wcAAP////////////8/AAAAAAAA/P///v////////////////////////////////////////////////////8f/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADghwP+AAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAD//////3//DwAAAAAAAAAA////+/////////////8PAP//////////////////////////////////PwAAAP8PHv///wH8weAAAAAAAAAAAAAAAB4BAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAD/////DwAAAP///3////////////////////////////////////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAD///////9/AAAAAAAAwADgAAAAAAAAAAAAAACAD3AAAAAAAAAAAAAAAAAAAP8A//9/AAMAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAABECAAAAA//AwAAAAAAAPAAAAAAAAAAAAAQwAAA//8DBwAAAAAA+AAAAAAIgAAAAAAAAAAAAAAIAP8/AMAAAAAAAAAAAAAAAAAAAADwAACACwAAAAAAAACAAgAAwAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA/P8DAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw////A38A//////f/fw8AAAAAAAAAAAAAAAAAAAAAAID+/wD8AQAA+AEAAPg/AAAAAAAAAAAAAAAAAAAAf38AMIf//////4//AAAAAAAA4P//B/8PAAAAAAAA//////8/AAAAAA8AAAAAAAAAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwI8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIf/AP8BAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP/z/PwAAAAMAAAAAAAD+AwAAAAAAAAAAAAAAAAAYAA8AAAAAAAAAAAAAAAAAAADhAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAHAAAAAAAAAAAAAAAAAP///////////////////////////////////////z8A/////3/+////////////////////////////PwAAAAD//////////z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////9/AP//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAAAAAgAACAAAAAgAACAAAAAgAAAAAIAAAACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//////8P////////////////DwD/f/5//v/+/wAAAAD/B////3//////////D///////BwAAAAAAAAAAwP///wcA//////8H/wEDAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wEAv///////////H///DwD/////3wcAAP//AQD/////////f/3/////////////////////////////Hv////////8/DwD///8AAAAAAAAAAAAAAAAAAAAAAAD4///////////h/wAAAAAAAP//////////PwAAAAAAAAD//////////////////w8AAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAEhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJEBAQSktMTU4QEBBPUBAQEBBREBAQEBAQEBAQERERUlMQEBAQEBAQEBAQEBERERFUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFVEBAQEFYQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWFlaWxAQEBAQEBAQEBAQEBAQEBAQEBAQEBBcEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAD+//8H/v//BwAAAAAABCAE//9/////f//////////////////////////////////D/wMAH1AAAAAAAAAAAAAAIAAAAAAA3zxA1///+////////////7///////////////////////wP8/////////////////////////wD+////fwL+/////wAAAAAA/7+2AP///wcHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wEAAAAAAAAAAP0fAAAAAAAA8AP/f//////////v/9/h/8///v7un/n///3F459ZgLDP/wMA7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AADun/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO7f/f///e/j3x1gA8//AADs3/3///3v498dYEDP/wYA7N/9/////+ffXYAAz/8A/Oz/f/z///svf4Bf/wAADAD+/////3//Bz8g/wMAAAAAliXw/q7s/ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A///58H//39A/zP/////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////hwAAAAD//wAA/////////////x8A/v//////////////////////////////////////////////////////////n////v//B////////////8cBAP/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////AP//////B///////////PwD///8f/w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgAAAAAAAAAAAAAAA////////7//vD/8DAAAAAP//////8////////7//AwD///////8/AP/j//////8/AAAAAAAAAAAAAAAAAN5vAP///////////////////////////////wAAAAAAAAAA//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAAAAAAAAAAAAAKAAAD/HwAAAAAAAAAAAAAAAIT8Lz5Qvf/z4EMAAP//////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD///////8DAAD//////3///////3//////////////////////H3gMAP////+/IP////////+AAAD//38Af39/f39/f3//////AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAA/gM+H/7///////////9/4P7/////////////9+D/////P/7/////////////fwAA////BwAAAAAAAP///////////////////////////////z8AAAAAAAAAAAD/////////////////////////////////HwAAAAAAAP//////////////////////HwAAAAAAAAAA//////8//x////8PAAD//////3/wj////4D/////////////AAAAAID//P///////////////3kPAP8HAAAAAAAAAAAA/7v3////AAAA////////DwD//////////w8A/wMAAPwI//////8H/////wcA////H/////////f/AID/AwAAAAD///////9/AP8//wP//38E/////////38FAAA4//88AH5+fgB/fwAAAAAAAAAAAAAAAAAAAAAAAP//////B/8D//////////////////////////8PAP//f/j//////w//////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAAAAAAAAAAAAAN//////////////////////HwAA/wP+//8H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8f////////AQAAAAAA////fwAA////BwAAAAAAAP///z//////D/8+AAAAAAD/////////////////////////P/8DAAAAAAAAAAAAAD/9/////7+R//8/AAAAAAAAAAAAAAAAAAAAAAAAAAAA//8/AP///wMAAAAAAAAAAP/////////AAAAAAAAAAABv8O/+//8PAAAAAAD///8fAAAAAAAAAAAAAAAAAAAAAP///////z8A//8/AP//BwAAAAAAAAAAAAAAAAAAAAAA////////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/AAAAAAAAAAD//////////x4A/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z8A/wMAAAAAAAD/////////////////fwAAAAAAAAAAAAAAAAAAAAAAAP///////////////wcAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////HwD//////38AAPj/AAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////3///////////32Te/+vv/////////7/n39////97X/z9//////////////////////////////////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3z////////+////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAATENfQUxMAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBhbG51bQBhbHBoYQBibGFuawBjbnRybABkaWdpdABncmFwaABsb3dlcgBwcmludABwdW5jdABzcGFjZQB1cHBlcgB4ZGlnaXQAQy5VVEYtOAAAAAAAAAAAAEMAL3Byb2Mvc2VsZi9mZC8AcndhAGluZmluaXR5AG5hbgAJAAoADQAMAAcAGwBbWzphbG51bTpdX10AW15bOmFsbnVtOl1fXQBbWzpzcGFjZTpdXQBbXls6c3BhY2U6XV0AW1s6ZGlnaXQ6XV0AW15bOmRpZ2l0Ol1dAC90bXAvdG1wZmlsZV9YWFhYWFgAdys=\";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort(\"Assertion failed: \"+Pointer_stringify(condition)+\", at: \"+[filename?Pointer_stringify(filename):\"unknown filename\",line,func?Pointer_stringify(func):\"unknown function\"])}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!==\"undefined\"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self[\"performance\"]&&self[\"performance\"][\"now\"]}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___lock(){}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:\"Success\",1:\"Not super-user\",2:\"No such file or directory\",3:\"No such process\",4:\"Interrupted system call\",5:\"I/O error\",6:\"No such device or address\",7:\"Arg list too long\",8:\"Exec format error\",9:\"Bad file number\",10:\"No children\",11:\"No more processes\",12:\"Not enough core\",13:\"Permission denied\",14:\"Bad address\",15:\"Block device required\",16:\"Mount device busy\",17:\"File exists\",18:\"Cross-device link\",19:\"No such device\",20:\"Not a directory\",21:\"Is a directory\",22:\"Invalid argument\",23:\"Too many open files in system\",24:\"Too many open files\",25:\"Not a typewriter\",26:\"Text file busy\",27:\"File too large\",28:\"No space left on device\",29:\"Illegal seek\",30:\"Read only file system\",31:\"Too many links\",32:\"Broken pipe\",33:\"Math arg out of domain of func\",34:\"Math result not representable\",35:\"File locking deadlock error\",36:\"File or path name too long\",37:\"No record locks available\",38:\"Function not implemented\",39:\"Directory not empty\",40:\"Too many symbolic links\",42:\"No message of desired type\",43:\"Identifier removed\",44:\"Channel number out of range\",45:\"Level 2 not synchronized\",46:\"Level 3 halted\",47:\"Level 3 reset\",48:\"Link number out of range\",49:\"Protocol driver not attached\",50:\"No CSI structure available\",51:\"Level 2 halted\",52:\"Invalid exchange\",53:\"Invalid request descriptor\",54:\"Exchange full\",55:\"No anode\",56:\"Invalid request code\",57:\"Invalid slot\",59:\"Bad font file fmt\",60:\"Device not a stream\",61:\"No data (for no delay io)\",62:\"Timer expired\",63:\"Out of streams resources\",64:\"Machine is not on the network\",65:\"Package not installed\",66:\"The object is remote\",67:\"The link has been severed\",68:\"Advertise error\",69:\"Srmount error\",70:\"Communication error on send\",71:\"Protocol error\",72:\"Multihop attempted\",73:\"Cross mount point (not really error)\",74:\"Trying to read unreadable message\",75:\"Value too large for defined data type\",76:\"Given log. name not unique\",77:\"f.d. invalid for this operation\",78:\"Remote address changed\",79:\"Can   access a needed shared lib\",80:\"Accessing a corrupted shared lib\",81:\".lib section in a.out corrupted\",82:\"Attempting to link in too many libs\",83:\"Attempting to exec a shared library\",84:\"Illegal byte sequence\",86:\"Streams pipe error\",87:\"Too many users\",88:\"Socket operation on non-socket\",89:\"Destination address required\",90:\"Message too long\",91:\"Protocol wrong type for socket\",92:\"Protocol not available\",93:\"Unknown protocol\",94:\"Socket type not supported\",95:\"Not supported\",96:\"Protocol family not supported\",97:\"Address family not supported by protocol family\",98:\"Address already in use\",99:\"Address not available\",100:\"Network interface is not configured\",101:\"Network is unreachable\",102:\"Connection reset by network\",103:\"Connection aborted\",104:\"Connection reset by peer\",105:\"No buffer space available\",106:\"Socket is already connected\",107:\"Socket is not connected\",108:\"Can't send after socket shutdown\",109:\"Too many references\",110:\"Connection timed out\",111:\"Connection refused\",112:\"Host is down\",113:\"Host is unreachable\",114:\"Socket already connected\",115:\"Connection already in progress\",116:\"Stale file handle\",122:\"Quota exceeded\",123:\"No medium (in tape drive)\",125:\"Operation canceled\",130:\"Previous owner died\",131:\"State not recoverable\"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)===\"/\",trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter((function(p){return!!p})),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path===\"/\")return\"/\";var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join(\"/\"))}),join2:(function(l,r){return PATH.normalize(l+\"/\"+r)}),resolve:(function(){var resolvedPath=\"\",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!==\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){return\"\"}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=path.charAt(0)===\"/\"}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter((function(p){return!!p})),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!=\"win32\";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync(\"/dev/stdin\",\"r\");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf(\"EOF\")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString(\"utf-8\")}else{result=null}}else if(typeof window!=\"undefined\"&&typeof window.prompt==\"function\"){result=window.prompt(\"Input: \");if(result!==null){result+=\"\\n\"}}else if(typeof readline==\"function\"){result=readline();if(result!==null){result+=\"\\n\"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module[\"print\"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module[\"print\"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module[\"printErr\"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module[\"printErr\"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,\"/\",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!==\"undefined\")return indexedDB;var ret=null;if(typeof window===\"object\")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,\"IDBFS used, but indexedDB not supported\");return ret}),DB_VERSION:21,DB_STORE_NAME:\"FILE_DATA\",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback(\"Unable to connect to IndexedDB\")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains(\"timestamp\")){fileStore.createIndex(\"timestamp\",\"timestamp\",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!==\".\"&&p!==\"..\"}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:\"local\",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],\"readonly\");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index(\"timestamp\");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:\"remote\",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}catch(e){return callback(e)}}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error(\"node type not supported\"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error(\"node type not supported\"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type===\"remote\"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],\"readwrite\");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type===\"local\"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type===\"local\"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process[\"binding\"](\"constants\");if(flags[\"fs\"]){flags=flags[\"fs\"]}NODEFS.flagsForNodeMap={\"1024\":flags[\"O_APPEND\"],\"64\":flags[\"O_CREAT\"],\"128\":flags[\"O_EXCL\"],\"0\":flags[\"O_RDONLY\"],\"2\":flags[\"O_RDWR\"],\"4096\":flags[\"O_SYNC\"],\"512\":flags[\"O_TRUNC\"],\"1\":flags[\"O_WRONLY\"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,\"/\",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,\"\",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,\"/\",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split(\"/\");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join(\"/\");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split(\"/\");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts[\"files\"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts[\"blobs\"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj[\"name\"]),base(obj[\"name\"]),WORKERFS.FILE_MODE,0,obj[\"data\"])}));(mount.opts[\"packages\"]||[]).forEach((function(pack){pack[\"metadata\"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack[\"blob\"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+\" : \"+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:\"\",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split(\"/\").filter((function(p){return!!p})),false);var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?mount+\"/\"+path:mount+path}path=path?node.name+\"/\"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{\"r\":0,\"rs\":1052672,\"r+\":2,\"w\":577,\"wx\":705,\"xw\":705,\"w+\":578,\"wx+\":706,\"xw+\":706,\"a\":1089,\"ax\":1217,\"xa\":1217,\"a+\":1090,\"ax+\":1218,\"xa+\":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags===\"undefined\"){throw new Error(\"Unknown file open mode: \"+str)}return flags}),flagsToPermissionString:(function(flag){var perms=[\"r\",\"w\",\"rw\"][flag&3];if(flag&512){perms+=\"w\"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf(\"r\")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf(\"w\")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf(\"x\")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,\"x\");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,\"wx\")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,\"wx\");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!==\"r\"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate===\"function\"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log(\"warning: \"+FS.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint===\"/\";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name===\".\"||name===\"..\"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split(\"/\");var d=\"\";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+=\"/\"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev===\"undefined\"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,\"w\");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate[\"willMovePath\"]){FS.trackingDelegate[\"willMovePath\"](old_path,new_path)}}catch(e){console.log(\"FS.trackingDelegate['willMovePath']('\"+old_path+\"', '\"+new_path+\"') threw an exception: \"+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate[\"onMovePath\"])FS.trackingDelegate[\"onMovePath\"](old_path,new_path)}catch(e){console.log(\"FS.trackingDelegate['onMovePath']('\"+old_path+\"', '\"+new_path+\"') threw an exception: \"+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate[\"willDeletePath\"]){FS.trackingDelegate[\"willDeletePath\"](path)}}catch(e){console.log(\"FS.trackingDelegate['willDeletePath']('\"+path+\"') threw an exception: \"+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate[\"onDeletePath\"])FS.trackingDelegate[\"onDeletePath\"](path)}catch(e){console.log(\"FS.trackingDelegate['onDeletePath']('\"+path+\"') threw an exception: \"+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate[\"willDeletePath\"]){FS.trackingDelegate[\"willDeletePath\"](path)}}catch(e){console.log(\"FS.trackingDelegate['willDeletePath']('\"+path+\"') threw an exception: \"+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate[\"onDeletePath\"])FS.trackingDelegate[\"onDeletePath\"](path)}catch(e){console.log(\"FS.trackingDelegate['onDeletePath']('\"+path+\"') threw an exception: \"+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,\"w\");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===\"\"){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags===\"string\"?FS.modeStringToFlags(flags):flags;mode=typeof mode===\"undefined\"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path===\"object\"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module[\"printErr\"](\"read file: \"+path)}}try{if(FS.trackingDelegate[\"onOpenFile\"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate[\"onOpenFile\"](path,trackingFlags)}}catch(e){console.log(\"FS.trackingDelegate['onOpenFile']('\"+path+\"', flags) threw an exception: \"+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=typeof position!==\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!==\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate[\"onWriteToFile\"])FS.trackingDelegate[\"onWriteToFile\"](stream.path)}catch(e){console.log(\"FS.trackingDelegate['onWriteToFile']('\"+path+\"') threw an exception: \"+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||\"r\";opts.encoding=opts.encoding||\"binary\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error('Invalid encoding type \"'+opts.encoding+'\"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding===\"utf8\"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding===\"binary\"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||\"w\";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data===\"string\"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error(\"Unsupported data type\")}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,\"x\");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir(\"/tmp\");FS.mkdir(\"/home\");FS.mkdir(\"/home/web_user\")}),createDefaultDevices:(function(){FS.mkdir(\"/dev\");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev(\"/dev/null\",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev(\"/dev/tty\",FS.makedev(5,0));FS.mkdev(\"/dev/tty1\",FS.makedev(6,0));var random_device;if(typeof crypto!==\"undefined\"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require(\"crypto\")[\"randomBytes\"](1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice(\"/dev\",\"random\",random_device);FS.createDevice(\"/dev\",\"urandom\",random_device);FS.mkdir(\"/dev/shm\");FS.mkdir(\"/dev/shm/tmp\")}),createSpecialDirectories:(function(){FS.mkdir(\"/proc\");FS.mkdir(\"/proc/self\");FS.mkdir(\"/proc/self/fd\");FS.mount({mount:(function(){var node=FS.createNode(\"/proc/self\",\"fd\",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},\"/proc/self/fd\")}),createStandardStreams:(function(){if(Module[\"stdin\"]){FS.createDevice(\"/dev\",\"stdin\",Module[\"stdin\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(Module[\"stdout\"]){FS.createDevice(\"/dev\",\"stdout\",null,Module[\"stdout\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(Module[\"stderr\"]){FS.createDevice(\"/dev\",\"stderr\",null,Module[\"stderr\"])}else{FS.symlink(\"/dev/tty1\",\"/dev/stderr\")}var stdin=FS.open(\"/dev/stdin\",\"r\");assert(stdin.fd===0,\"invalid handle for stdin (\"+stdin.fd+\")\");var stdout=FS.open(\"/dev/stdout\",\"w\");assert(stdout.fd===1,\"invalid handle for stdout (\"+stdout.fd+\")\");var stderr=FS.open(\"/dev/stderr\",\"w\");assert(stderr.fd===2,\"invalid handle for stderr (\"+stderr.fd+\")\")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,\"stack\",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=\"<generic error, no stack>\"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={\"MEMFS\":MEMFS,\"IDBFS\":IDBFS,\"NODEFS\":NODEFS,\"WORKERFS\":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,\"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)\");FS.init.initialized=true;FS.ensureErrnoError();Module[\"stdin\"]=input||Module[\"stdin\"];Module[\"stdout\"]=output||Module[\"stdout\"];Module[\"stderr\"]=error||Module[\"stderr\"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module[\"_fflush\"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]==\"/\")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path===\"/\"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent===\"string\"?parent:FS.getPath(parent);var parts=path.split(\"/\").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data===\"string\"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,\"w\");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!==\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else if(Module[\"read\"]){try{obj.contents=intArrayFromString(Module[\"read\"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error(\"Cannot load without read() or XMLHttpRequest.\")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open(\"HEAD\",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);var datalength=Number(xhr.getResponseHeader(\"Content-length\"));var header;var hasByteServing=(header=xhr.getResponseHeader(\"Accept-Ranges\"))&&header===\"bytes\";var usesGzip=(header=xhr.getResponseHeader(\"Content-Encoding\"))&&header===\"gzip\";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error(\"invalid range (\"+from+\", \"+to+\") or no bytes requested!\");if(to>datalength-1)throw new Error(\"only \"+datalength+\" bytes available! programmer error!\");var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);if(datalength!==chunkSize)xhr.setRequestHeader(\"Range\",\"bytes=\"+from+\"-\"+to);if(typeof Uint8Array!=\"undefined\")xhr.responseType=\"arraybuffer\";if(xhr.overrideMimeType){xhr.overrideMimeType(\"text/plain; charset=x-user-defined\")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||\"\",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]===\"undefined\"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]===\"undefined\")throw new Error(\"doXHR failed!\");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log(\"LazyFiles on gzip forces download of the whole file when length is accessed\")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!==\"undefined\"){if(!ENVIRONMENT_IS_WORKER)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(\"cp \"+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module[\"preloadPlugins\"].forEach((function(plugin){if(handled)return;if(plugin[\"canHandle\"](fullname)){plugin[\"handle\"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return\"EM_FS_\"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log(\"creating db\");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],\"readwrite\");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],\"readonly\")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!==\"/\"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]===\"/\")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms=\"\";if(amode&4)perms+=\"r\";if(amode&2)perms+=\"w\";if(amode&1)perms+=\"x\";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort(\"bad ioctl syscall \"+op)}}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],\"i8\",ALLOC_STATIC);function ___unlock(){}function __exit(status){Module[\"exit\"](status)}function _exit(status){__exit(status)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV[\"USER\"]=ENV[\"LOGNAME\"]=\"web_user\";ENV[\"PATH\"]=\"/\";ENV[\"PWD\"]=\"/\";ENV[\"HOME\"]=\"/home/web_user\";ENV[\"LANG\"]=\"C.UTF-8\";ENV[\"_\"]=Module[\"thisProgram\"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]===\"string\"){var line=key+\"=\"+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error(\"Environment size exceeded TOTAL_ENV_SIZE!\")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f64=Math_abs;var _llvm_floor_f64=Math_floor;var _llvm_pow_f64=Math_pow;var _llvm_sqrt_f64=Math_sqrt;function _llvm_trap(){abort(\"trap!\")}function _longjmp(env,value){Module[\"setThrew\"](env,value||1);throw\"longjmp\"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===\"\"||name.indexOf(\"=\")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process[\"hrtime\"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!==\"undefined\"){_emscripten_get_now=dateNow}else if(typeof self===\"object\"&&self[\"performance\"]&&typeof self[\"performance\"][\"now\"]===\"function\"){_emscripten_get_now=(function(){return self[\"performance\"][\"now\"]()})}else if(typeof performance===\"object\"&&typeof performance[\"now\"]===\"function\"){_emscripten_get_now=(function(){return performance[\"now\"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module[\"noFSInit\"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");var NODEJS_PATH=require(\"path\");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,\"Character code \"+chr+\" (\"+String.fromCharCode(chr)+\")  at offset \"+i+\" not in 0x00-0xFF.\")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join(\"\")}var decodeBase64=typeof atob===\"function\"?atob:(function(input){var keyStr=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";var output=\"\";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE===\"boolean\"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,\"base64\")}catch(_){buf=new Buffer(s,\"base64\")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error(\"Converting base64 string to bytes failed.\")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_d(index){try{return Module[\"dynCall_d\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_dddd(index,a1,a2,a3){try{return Module[\"dynCall_dddd\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_i(index){try{return Module[\"dynCall_i\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ii(index,a1){try{return Module[\"dynCall_ii\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iii(index,a1,a2){try{return Module[\"dynCall_iii\"](index,a1,a2)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module[\"dynCall_iiii\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module[\"dynCall_iiiii\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module[\"dynCall_iiiiii\"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module[\"dynCall_iiiiiii\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_v(index){try{Module[\"dynCall_v\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vi(index,a1){try{Module[\"dynCall_vi\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vii(index,a1,a2){try{Module[\"dynCall_vii\"](index,a1,a2)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module[\"dynCall_viii\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiddi(index,a1,a2,a3,a4,a5,a6){try{Module[\"dynCall_viiiddi\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module[\"dynCall_viiii\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module[\"dynCall_viiiii\"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module[\"dynCall_viiiiii\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}Module.asmGlobalArg={\"Math\":Math,\"Int8Array\":Int8Array,\"Int16Array\":Int16Array,\"Int32Array\":Int32Array,\"Uint8Array\":Uint8Array,\"Uint16Array\":Uint16Array,\"Uint32Array\":Uint32Array,\"Float32Array\":Float32Array,\"Float64Array\":Float64Array,\"NaN\":NaN,\"Infinity\":Infinity};Module.asmLibraryArg={\"abort\":abort,\"assert\":assert,\"enlargeMemory\":enlargeMemory,\"getTotalMemory\":getTotalMemory,\"abortOnCannotGrowMemory\":abortOnCannotGrowMemory,\"invoke_d\":invoke_d,\"invoke_dddd\":invoke_dddd,\"invoke_i\":invoke_i,\"invoke_ii\":invoke_ii,\"invoke_iii\":invoke_iii,\"invoke_iiii\":invoke_iiii,\"invoke_iiiii\":invoke_iiiii,\"invoke_iiiiii\":invoke_iiiiii,\"invoke_iiiiiii\":invoke_iiiiiii,\"invoke_v\":invoke_v,\"invoke_vi\":invoke_vi,\"invoke_vii\":invoke_vii,\"invoke_viii\":invoke_viii,\"invoke_viiiddi\":invoke_viiiddi,\"invoke_viiii\":invoke_viiii,\"invoke_viiiii\":invoke_viiiii,\"invoke_viiiiii\":invoke_viiiiii,\"___assert_fail\":___assert_fail,\"___buildEnvironment\":___buildEnvironment,\"___clock_gettime\":___clock_gettime,\"___lock\":___lock,\"___map_file\":___map_file,\"___setErrNo\":___setErrNo,\"___syscall10\":___syscall10,\"___syscall140\":___syscall140,\"___syscall145\":___syscall145,\"___syscall146\":___syscall146,\"___syscall192\":___syscall192,\"___syscall195\":___syscall195,\"___syscall197\":___syscall197,\"___syscall221\":___syscall221,\"___syscall33\":___syscall33,\"___syscall5\":___syscall5,\"___syscall54\":___syscall54,\"___syscall6\":___syscall6,\"___syscall91\":___syscall91,\"___unlock\":___unlock,\"__exit\":__exit,\"_clock_gettime\":_clock_gettime,\"_emscripten_asm_const_iii\":_emscripten_asm_const_iii,\"_emscripten_get_now\":_emscripten_get_now,\"_emscripten_get_now_is_monotonic\":_emscripten_get_now_is_monotonic,\"_emscripten_memcpy_big\":_emscripten_memcpy_big,\"_exit\":_exit,\"_getenv\":_getenv,\"_llvm_ceil_f64\":_llvm_ceil_f64,\"_llvm_fabs_f64\":_llvm_fabs_f64,\"_llvm_floor_f64\":_llvm_floor_f64,\"_llvm_pow_f64\":_llvm_pow_f64,\"_llvm_sqrt_f64\":_llvm_sqrt_f64,\"_llvm_trap\":_llvm_trap,\"_longjmp\":_longjmp,\"_setenv\":_setenv,\"_times\":_times,\"DYNAMICTOP_PTR\":DYNAMICTOP_PTR,\"tempDoublePtr\":tempDoublePtr,\"ABORT\":ABORT,\"STACKTOP\":STACKTOP,\"STACK_MAX\":STACK_MAX,\"cttz_i8\":cttz_i8};// EMSCRIPTEN_START_ASM\nvar asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {\n\"use asm\";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0;var z=0;var A=global.Math.floor;var B=global.Math.abs;var C=global.Math.sqrt;var D=global.Math.pow;var E=global.Math.cos;var F=global.Math.sin;var G=global.Math.tan;var H=global.Math.acos;var I=global.Math.asin;var J=global.Math.atan;var K=global.Math.atan2;var L=global.Math.exp;var M=global.Math.log;var N=global.Math.ceil;var O=global.Math.imul;var P=global.Math.min;var Q=global.Math.max;var R=global.Math.clz32;var S=env.abort;var T=env.assert;var U=env.enlargeMemory;var V=env.getTotalMemory;var W=env.abortOnCannotGrowMemory;var X=env.invoke_d;var Y=env.invoke_dddd;var Z=env.invoke_i;var _=env.invoke_ii;var $=env.invoke_iii;var aa=env.invoke_iiii;var ba=env.invoke_iiiii;var ca=env.invoke_iiiiii;var da=env.invoke_iiiiiii;var ea=env.invoke_v;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_viii;var ia=env.invoke_viiiddi;var ja=env.invoke_viiii;var ka=env.invoke_viiiii;var la=env.invoke_viiiiii;var ma=env.___assert_fail;var na=env.___buildEnvironment;var oa=env.___clock_gettime;var pa=env.___lock;var qa=env.___map_file;var ra=env.___setErrNo;var sa=env.___syscall10;var ta=env.___syscall140;var ua=env.___syscall145;var va=env.___syscall146;var wa=env.___syscall192;var xa=env.___syscall195;var ya=env.___syscall197;var za=env.___syscall221;var Aa=env.___syscall33;var Ba=env.___syscall5;var Ca=env.___syscall54;var Da=env.___syscall6;var Ea=env.___syscall91;var Fa=env.___unlock;var Ga=env.__exit;var Ha=env._clock_gettime;var Ia=env._emscripten_asm_const_iii;var Ja=env._emscripten_get_now;var Ka=env._emscripten_get_now_is_monotonic;var La=env._emscripten_memcpy_big;var Ma=env._exit;var Na=env._getenv;var Oa=env._llvm_ceil_f64;var Pa=env._llvm_fabs_f64;var Qa=env._llvm_floor_f64;var Ra=env._llvm_pow_f64;var Sa=env._llvm_sqrt_f64;var Ta=env._llvm_trap;var Ua=env._longjmp;var Va=env._setenv;var Wa=env._times;var Xa=0.0;\n// EMSCRIPTEN_START_FUNCS\nfunction nb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function ob(){return l|0}function pb(a){a=a|0;l=a}function qb(a,b){a=a|0;b=b|0;l=a;m=b}function rb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function sb(a){a=a|0;z=a}function tb(){return z|0}function ub(a){a=a|0;c[41840]=a;return 0}function vb(){return c[41840]|0}function wb(a,b){a=a|0;b=b|0;Ia(0,a|0,b|0)|0;return}function xb(a){a=a|0;c[42183]=a;return}function yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=ks()|0;ps(h,10904);ps(h,17148);Zl(1)|0;Yl(16)|0;ep(1);while(1){a=Sn(a)|0;e=c[f>>2]|0;if(!a)break;if(!e){ls(h,a,d)|0;os(h,a,b,f,g)|0;hr(h,a)|0}ln(a)|0;a=174181}l=i;return e|0}function zb(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{vx(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)nB(f);break}case 4:case 5:case 6:{sx(f,e,d);Cb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Ab(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[41841]|0)){c[41841]=c[4442];c[41842]=9;c[41843]=17}e=d+64|0;f=(c[e>>2]|0)+8|0;b=c[f>>2]|0;c[f>>2]=167364;switch(c[a+64>>2]|0){case 2:{ix(a,d,a,0);break}case 3:{ix(a,d,a,1);break}case 1:case 0:{if(!(c[a+152>>2]&134217728))_p(d,a)|0;break}case 6:case 5:case 4:{Bb(d);if(!(c[a+152>>2]&134217728))_p(d,a)|0;break}default:{}}c[(c[e>>2]|0)+8>>2]=b;return}function Bb(b){b=b|0;var d=0,e=0;d=c[41845]|0;if((d|0)!=(c[41844]|0)){e=c[c[41876]>>2]|0;if(!e){e=tB(b,0,84827,174181)|0;c[c[41876]>>2]=e;d=c[41845]|0}if(d>>>0>=(c[41846]|0)>>>0){dm(167376,1)|0;d=c[41845]|0}a[d>>0]=0;d=c[41844]|0;c[41845]=d;Cm(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[41876]|0)+4>>2]|0;d=c[41861]|0;if(d>>>0>=(c[41862]|0)>>>0){dm(167440,1)|0;d=c[41861]|0}a[d>>0]=0;d=c[41860]|0;c[41861]=d;Cm(b,e,d)|0}Lm(b,59577,c[(c[41876]|0)+8236>>2]|0,174181)|0;d=0;while(1){if((d|0)==8)break;gm(167376+(d<<4)|0);d=d+1|0}_I(c[41876]|0);h[1]=1.0;h[5]=1.0;c[41877]=0;c[41881]=0;return}function Cb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=ZI(8240)|0;c[41876]=i;a:do switch(g|0){case 6:{b[i+8232>>1]=14;g=59593;break}case 5:{b[i+8232>>1]=12;g=59597;break}default:{g=Im(d,59577)|0;if((g|0?a[g>>0]|0:0)?(h=Db(g)|0,(h&65535)>10):0){i=c[41876]|0;b[i+8232>>1]=h;break a}g=Db(59589)|0;i=c[41876]|0;b[i+8232>>1]=g;g=59589}}while(0);c[i+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))h=0;else{h=tB(d,0,84827,174181)|0;i=c[41876]|0;g=c[j>>2]|0}c[i>>2]=h;if(!(a[g+113>>0]&8))g=0;else g=tB(d,0,59601,174181)|0;c[(c[41876]|0)+4>>2]=g;i=tB(d,1,84827,174181)|0;c[(c[41876]|0)+8>>2]=i;i=tB(d,1,59601,174181)|0;c[(c[41876]|0)+12>>2]=i;i=tB(d,2,84827,174181)|0;g=c[41876]|0;c[g+16>>2]=i;if(!f)h=0;else{h=tB(d,2,59609,174181)|0;g=c[41876]|0}c[g+20>>2]=h;if(!e)h=0;else{h=tB(d,2,59617,174181)|0;g=c[41876]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=tB(d,2,59601,174181)|0;g=c[41876]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=tB(d,2,59625,174181)|0;g=c[41876]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=tB(d,2,59634,174181)|0;g=c[41876]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;cm(167376+(g<<4)|0,1024,(c[41876]|0)+40+(g<<10)|0);g=g+1|0}return}function Db(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;g=j+8|0;f=0;d=b;a:while(1){do{e=d;d=d+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a}while(((e<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){i=7;break}a[g+f>>0]=e;f=f+1|0}if((i|0)==7){c[h>>2]=b;_l(0,59643,h)|0}a[g+f>>0]=0;i=(rM(g)|0)&65535;l=j;return i|0}function Eb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[41876]>>2]|0;b=c[41849]|0;if(b>>>0>=(c[41850]|0)>>>0){dm(167392,1)|0;b=c[41849]|0}a[b>>0]=0;b=c[41848]|0;c[41849]=b;Cm(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[41876]|0)+4>>2]|0;b=c[41865]|0;if(b>>>0>=(c[41866]|0)>>>0){dm(167456,1)|0;b=c[41865]|0}a[b>>0]=0;b=c[41864]|0;c[41865]=b;Cm(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[41878]=0;c[41882]=0;return}function Fb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[41849]|0;if((c[41848]|0)!=(b|0)){d=c[(c[41876]|0)+8>>2]|0;if(b>>>0>=(c[41850]|0)>>>0){dm(167392,1)|0;b=c[41849]|0}a[b>>0]=0;b=c[41848]|0;c[41849]=b;Cm(e,d,b)|0}b=c[41865]|0;if((c[41864]|0)!=(b|0)){d=c[(c[41876]|0)+12>>2]|0;if(b>>>0>=(c[41866]|0)>>>0){dm(167456,1)|0;b=c[41865]|0}a[b>>0]=0;b=c[41864]|0;c[41865]=b;Cm(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[41885]=0;c[41887]=0;return}function Gb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[41849]|0;if((c[41848]|0)!=(b|0)){d=c[(c[41876]|0)+16>>2]|0;if(b>>>0>=(c[41850]|0)>>>0){dm(167392,1)|0;b=c[41849]|0}a[b>>0]=0;b=c[41848]|0;c[41849]=b;Cm(e,d,b)|0}b=c[41853]|0;if((c[41852]|0)!=(b|0)){d=c[(c[41876]|0)+24>>2]|0;if(b>>>0>=(c[41854]|0)>>>0){dm(167408,1)|0;b=c[41853]|0}a[b>>0]=0;b=c[41852]|0;c[41853]=b;Cm(e,d,b)|0}b=c[41857]|0;if((c[41856]|0)!=(b|0)){d=c[(c[41876]|0)+20>>2]|0;if(b>>>0>=(c[41858]|0)>>>0){dm(167424,1)|0;b=c[41857]|0}a[b>>0]=0;b=c[41856]|0;c[41857]=b;Cm(e,d,b)|0}b=c[41865]|0;if((c[41864]|0)!=(b|0)){d=c[(c[41876]|0)+28>>2]|0;if(b>>>0>=(c[41866]|0)>>>0){dm(167456,1)|0;b=c[41865]|0}a[b>>0]=0;b=c[41864]|0;c[41865]=b;Cm(e,d,b)|0}b=c[41869]|0;if((c[41868]|0)!=(b|0)){d=c[(c[41876]|0)+36>>2]|0;if(b>>>0>=(c[41870]|0)>>>0){dm(167472,1)|0;b=c[41869]|0}a[b>>0]=0;b=c[41868]|0;c[41869]=b;Cm(e,d,b)|0}b=c[41873]|0;if((c[41872]|0)!=(b|0)){d=c[(c[41876]|0)+32>>2]|0;if(b>>>0>=(c[41874]|0)>>>0){dm(167488,1)|0;b=c[41873]|0}a[b>>0]=0;b=c[41872]|0;c[41873]=b;Cm(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[41886]=0;c[41888]=0;c[41879]=0;c[41880]=0;c[41883]=0;c[41884]=0;return}function Hb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11344+(o<<2)>>2]|0;fm(p,59746)|0;g=f+4|0;Qb(k,+h[(c[g>>2]|0)+16>>3]);fm(p,k)|0;Tb(d,174181,c[c[g>>2]>>2]|0);Nb(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[41876]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11392+((i&65535)+-15<<2)>>2]&g,n=167508+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;pL(k,59749,r)|0;fm(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[r>>3]+ +h[f+24>>3];fm(p,59755)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];Pb(p,j);c[s>>2]=q;pL(k,87254,s)|0;fm(p,k)|0;Qb(k,+h[f+32>>3]);fm(p,k)|0;Tb(d,174181,c[f>>2]|0);l=t;return}function Ib(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;Mb(a);Nb(a);if(!d){a=c[11344+(e<<2)>>2]|0;fm(a,59743)|0}else{if((d|1|0)==3)Vb(a,d,b,2);else Wb(a);a=c[11344+(e<<2)>>2]|0;fm(a,59740)|0};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];Pb(a,f);Qb(g,+h[b+16>>3]-+h[b>>3]);fm(a,g)|0;Qb(g,+h[b+24>>3]-+h[b+8>>3]);fm(a,g)|0;l=i;return}function Jb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mb(a);Nb(a);if(!d)Ob(a,112,b,c);else{if((d|1|0)==3)Vb(a,d,b,c);else Wb(a);Ob(a,80,b,c)}return}function Kb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Mb(a);Nb(a);if(!f)Ob(a,66,b,c);else{if((f|1|0)==3)Vb(a,f,b,c);else Wb(a);Ob(a,98,b,c)}return}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;Mb(a);Nb(a);Ob(a,76,b,c);return}function Mb(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;cm(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;fm(m,59706)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];pL(f,59720,i)|0;Rb(f,0);fm(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){dm(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){dm(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;Tb(b,59725,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(xJ(d,95923)|0)){d=i;continue a}break}case 98:{if(!(xJ(d,95905)|0)){d=i;continue a}break}case 115:{if(!(xJ(d,95910)|0)){d=i;continue a}break}default:{}}fm(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){dm(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){dm(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}fm(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){dm(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){dm(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;Tb(b,59725,d);d=i}gm(m)}l=n;return}function Nb(a){a=a|0;Sb((c[a+16>>2]|0)+16|0);Tb(a,68667,173882);return}function Ob(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11344+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){dm(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;pL(i,59670,j)|0;fm(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];Pb(h,j);b=b+1|0}l=k;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;Qb(d,+h[b>>3]);fm(a,d)|0;Qb(d,+hx(+h[b+8>>3]));fm(a,d)|0;l=c;return}function Qb(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;pL(a,59675,d)|0;Rb(a,1);l=c;return}function Rb(b,c){b=b|0;c=c|0;var d=0,e=0;d=WJ(b,46)|0;if(!d){if(c|0){d=b+(rJ(b)|0)|0;e=10}}else{while(1){b=d+1|0;if(!(a[b>>0]|0))break;else d=b}a:while(1){switch(a[d>>0]|0){case 46:{e=5;break a}case 48:break;default:{e=6;break a}}a[d>>0]=0;d=d+-1|0}if((e|0)==5)a[d>>0]=0;else if((e|0)==6)d=d+1|0;if(c|0)e=10}if((e|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function Sb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;pL(173882,68547,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;pL(173882,59688,i)|0}l=j;return}function Tb(a,b,d){a=a|0;b=b|0;d=d|0;Ub(c[11344+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function Ub(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=rJ(e)|0;c[h>>2]=d;c[h+4>>2]=i;pL(g,59681,h)|0;fm(b,g)|0;fm(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){dm(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function Vb(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+1120|0;t=x+64|0;w=x+80|0;k=x+32|0;r=x+16|0;s=x;u=c[b+16>>2]|0;j=+(c[u+136>>2]|0)*.017453292519943295;if((e[(c[41876]|0)+8232>>1]|0)<14)Wb(b);else{cm(w,1024,x+96|0);v=(d|0)==2;if(v){JB(f,k,i,j,2);f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){dm(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];Pb(w,t);s=k+16|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];Pb(w,t)}else{JB(f,k,i,0.0,3);q=+h[k+24>>3];o=+h[k>>3];if(j==0.0){n=+h[k+8>>3];p=q*.25;j=n;m=o}else{p=q*.25;y=p;m=+E(+j)*y+o;n=+h[k+8>>3];j=+F(+j)*y+n}h[r>>3]=m;h[r+8>>3]=j;h[s>>3]=o;h[s+8>>3]=n;f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){dm(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];Pb(w,t);Xb(w,p);c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];Pb(w,t);Xb(w,q)}fm(w,59731)|0;d=u+140|0;j=+g[d>>2];f=u+56|0;if(j>0.0){Yb(w,j,f);Yb(w,+g[d>>2],u+96|0)}else{Yb(w,0.0,f);Yb(w,1.0,u+96|0)}hm(w)|0;k=w+4|0;d=c[k>>2]|0;i=w+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(v){if(f){dm(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){dm(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){dm(w,1)|0;d=c[k>>2]|0}a[d>>0]=0;v=c[w>>2]|0;c[k>>2]=v;Tb(b,59728,v);gm(w)}l=x;return}function Wb(a){a=a|0;Sb((c[a+16>>2]|0)+56|0);Tb(a,59728,173882);return}function Xb(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;Qb(d,b);fm(a,d)|0;l=c;return}function Yb(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;pL(e,59734,f)|0;Rb(e,1);Sb(c);Ub(a,e,173882);l=d;return}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11344+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;fm(g,59843)|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];Pb(g,i);Qb(f,+h[d+16>>3]-+h[d>>3]);fm(g,f)|0;Qb(f,+h[d+24>>3]-+h[d+8>>3]);fm(g,f)|0;Tb(a,174181,c[b+8>>2]|0);l=e;return}function _b(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=yr(c[a>>2]|0)|0;ms(b,c[(c[a+16>>2]|0)+8>>2]|0,60630,0)|0;zr(b);break}case 1:{vx(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function $b(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[41889]|0)){c[41889]=c[4442];c[41890]=9;c[41891]=17}c[(c[e+64>>2]|0)+8>>2]=167556;ac(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;bc(e,b,1,d);l=f;return}function ac(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=Jp(a)|0;while(1){if(!d)break;ac(d,0);d=Kp(d)|0}a:do if(b|0){b=co(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Pm(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Rm(a,d)|0}b=eo(a,b)|0}}while(0);return}function bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Ql(11764,c[4345]|0)|0;So(a,1,86799,12,0);So(a,2,86799,12,0);So(a,0,86799,-12,0);f=cc(a,0,m)|0;j=co(a)|0;i=0;g=0;while(1){if(!j)break;if(!(VJ(Dn(j)|0,93039,7)|0)){k=g;g=dc(m,Dn(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(Lo(j,86799,0)|0)+8>>2]=g;h=Pm(a,j)|0;g=i;while(1){if(!h)break;c[(Lo(h,86799,0)|0)+8>>2]=g;h=Rm(a,h)|0;g=g+1|0}j=eo(a,j)|0;i=g;g=k}Kl(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;ec(b,m);mr(b,82337)|0;fc(a,b,d,e);gc(a,b,e);mr(b,82308)|0;ec(b,c[e>>2]|0);if(n){c[o>>2]=f;sr(b,59846,o)}else{c[p>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,59866,p)}ic(a,b,d,hc(a,b,d,e)|0,e);jc(a,b,d,e);mr(b,134901)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;ec(b,p);if(n)mr(b,95830)|0;else mr(b,68190)|0;l=q;return}function cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((so(a)|0)!=(a|0)){e=b+1|0;c[(Lo(a,86799,0)|0)+8>>2]=b;if(!(VJ(Dn(a)|0,93039,7)|0)){b=Dn(a)|0;vc(d,b,c[(Lo(a,86799,0)|0)+8>>2]|0);b=e}else b=e}e=Jp(a)|0;while(1){if(!e)break;a=cc(e,b,d)|0;e=Kp(e)|0;b=a}return b|0}function dc(a,b){a=a|0;b=b|0;a=bb[c[a>>2]&31](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function ec(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;mr(a,60598)|0;b=b+-1|0}return}function fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=Dn(a)|0;ec(b,c[e>>2]|0);c[i>>2]=mc(j,e)|0;sr(b,59954,i);if(d|0){mr(b,82308)|0;ec(b,c[e>>2]|0);j=(qn(a)|0)!=0;c[f>>2]=j?92685:122100;sr(b,60568,f);ec(b,c[e>>2]|0);j=(sn(a)|0)!=0;c[g>>2]=j?92685:122100;sr(b,60585,g)}l=h;return}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=so(b)|0;j=c[b>>2]&3;f=Dm(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=Jm(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(xJ(g,86240)|0)break}mr(d,82308)|0;ec(d,c[e>>2]|0);c[m>>2]=mc(c[h>>2]|0,e)|0;sr(d,60004,m);if(a[k>>0]|0?oc(c[h>>2]|0)|0:0){pc(Jm(b,f)|0,d,e);break}c[n>>2]=mc(Jm(b,f)|0,e)|0;sr(d,60011,n)}while(0);f=Dm(i,j,f)|0}}while(0);l=o;return}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=Jp(a)|0;if(f){mr(b,82308)|0;g=c[e>>2]|0;c[e>>2]=g+1;ec(b,g);g=(d|0)!=0;if(g){mr(b,59928)|0;a=0;d=f}else{mr(b,59988)|0;ec(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else mr(b,82308)|0;if(g)nc(d,b,e);else{c[h>>2]=c[(Lo(d,86799,0)|0)+8>>2];sr(b,122187,h)}d=Kp(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;mr(b,134901)|0;ec(b,c[e>>2]|0);mr(b,82303)|0;a=1}}else a=0;l=i;return a|0}function ic(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=co(a)|0;if(!g){if((d|0)!=0&(e|0)!=0){c[f>>2]=(c[f>>2]|0)+-1;mr(b,134901)|0;ec(b,c[f>>2]|0);mr(b,82303)|0}}else{mr(b,82308)|0;h=(d|0)!=0;if(h)if(!e){e=c[f>>2]|0;c[f>>2]=e+1;ec(b,e);mr(b,59928)|0;e=0}else e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;ec(b,e);mr(b,59942)|0;ec(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(VJ(Dn(g)|0,93039,7)|0){do if(e)if(h){mr(b,82308)|0;break}else{mr(b,86030)|0;break}else e=1;while(0);lc(g,b,d,f)}g=eo(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;mr(b,134901)|0;ec(b,c[f>>2]|0);mr(b,82303)|0}return}function jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=co(a)|0;a:do if(f|0){while(1){if(!f)break a;if(Pm(a,f)|0)break;f=eo(a,f)|0}mr(b,82308)|0;i=c[e>>2]|0;c[e>>2]=i+1;ec(b,i);mr(b,59878)|0;i=(d|0)!=0;if(i)g=0;else{ec(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=Pm(a,f)|0;while(1){if(!h)break;do if(g)if(i){mr(b,82308)|0;break}else{mr(b,86030)|0;break}else g=1;while(0);kc(h,b,d,e);h=Rm(a,h)|0}f=eo(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;mr(b,134901)|0;ec(b,c[e>>2]|0);mr(b,82303)|0}while(0);return}function kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,122187,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;ec(b,i);mr(b,82337)|0;ec(b,c[e>>2]|0);c[f>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,59890,f);ec(b,c[e>>2]|0);c[g>>2]=c[(Lo(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,86799,0)|0)+8>>2];sr(b,59904,g);ec(b,c[e>>2]|0);c[h>>2]=c[(Lo(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,86799,0)|0)+8>>2];sr(b,59917,h);gc(a,b,e);mr(b,134901)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;ec(b,i);mr(b,68190)|0}l=j;return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,122187,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;ec(b,h);mr(b,82337)|0;ec(b,c[e>>2]|0);c[f>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,59890,f);ec(b,c[e>>2]|0);c[g>>2]=mc(Dn(a)|0,e)|0;sr(b,59954,g);gc(a,b,e);mr(b,134901)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;ec(b,h);mr(b,68190)|0}l=i;return}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=yB(b)|0;if(!(c[41892]|0)){cm(167568,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{fm(167568,59967)|0;break}case 92:{fm(167568,81579)|0;break}case 47:{fm(167568,59970)|0;break}case 8:{fm(167568,59973)|0;break}case 12:{fm(167568,59976)|0;break}case 10:{fm(167568,59979)|0;break}case 13:{fm(167568,59982)|0;break}case 9:{fm(167568,59985)|0;break}default:{d=c[41893]|0;if(d>>>0>=(c[41894]|0)>>>0){dm(167568,1)|0;d=c[41893]|0}c[41893]=d+1;a[d>>0]=f}}e=e+1|0}d=c[41893]|0;if(d>>>0>=(c[41894]|0)>>>0){dm(167568,1)|0;d=c[41893]|0}a[d>>0]=0;d=c[41892]|0;c[41893]=d;if(a[g>>0]|0)_I(b);return d|0}function nc(a,b,c){a=a|0;b=b|0;c=c|0;bc(a,b,0,c);a=Jp(a)|0;while(1){if(!a)break;mr(b,82308)|0;nc(a,b,c);a=Kp(a)|0}return}function oc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(xJ(c,60525)|0)){b=1;break a}break}case 2:{if(!(xJ(c,60531)|0)){b=1;break a}break}case 1:{if(!(xJ(c,60538)|0)){b=1;break a}return (xJ(c,60552)|0)==0|0}case 4:{if(!(xJ(c,60545)|0)){b=1;break a}b=(xJ(c,60560)|0)==0&1;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b|0}function pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=wt(b)|0;if(!h){c[f>>2]=b;_l(0,60016,f)|0;break}mr(d,134901)|0;g=c[e>>2]|0;c[e>>2]=g+1;ec(d,g);mr(d,60043)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else mr(d,82308)|0;qc((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;mr(d,134901)|0;ec(d,c[e>>2]|0);mr(d,82303)|0;xt(h)}while(0);l=i;return}function qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;ec(b,e);mr(b,82337)|0;ec(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;sr(b,60046,f);ec(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;sr(b,60059,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;sr(b,60046,z);ec(b,c[d>>2]|0);rc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;sr(b,60046,i);ec(b,c[d>>2]|0);rc(b,a+8|0);break}case 6:{sr(b,60094,A+56|0);ec(b,c[d>>2]|0);rc(b,a+8|0);break}case 7:{sr(b,60106,A+64|0);ec(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;sr(b,60118,j);ec(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;sr(b,60140,k);ec(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];sr(b,60156,m);ec(b,c[d>>2]|0);c[n>>2]=mc(c[a+40>>2]|0,d)|0;sr(b,60173,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;sr(b,60046,o);ec(b,c[d>>2]|0);sr(b,60187,A+120|0);ec(b,c[d>>2]|0);c[p>>2]=mc(c[a+8>>2]|0,d)|0;sr(b,60204,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;sr(b,60046,q);ec(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{sr(b,60187,A+144|0);ec(b,c[d>>2]|0);c[r>>2]=mc(c[a+16>>2]|0,d)|0;sr(b,60204,r);break a}case 1:{sr(b,60219,A+160|0);ec(b,c[d>>2]|0);sc(b,a+16|0,d);break a}default:{sr(b,60238,A+168|0);ec(b,c[d>>2]|0);tc(b,a+16|0,d);break a}}}case 10:{sr(b,60257,s);ec(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];sr(b,60269,t);ec(b,c[d>>2]|0);c[u>>2]=mc(c[a+16>>2]|0,d)|0;sr(b,60285,u);break}case 11:{sr(b,60299,v);ec(b,c[d>>2]|0);c[w>>2]=mc(c[a+8>>2]|0,d)|0;sr(b,60311,w);break}case 15:{sr(b,60326,x);ec(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];sr(b,60338,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;ec(b,z);mr(b,68190)|0;l=A;return}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;sr(a,60499,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)sr(a,86030,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;sr(a,60511,g);b=b+1|0}sr(a,60452,i);l=j;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;ec(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;sr(a,60455,i);ec(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;sr(a,60477,f);ec(a,c[d>>2]|0);uc(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;ec(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;sr(a,60354,j);ec(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;sr(a,60382,f);ec(a,c[d>>2]|0);uc(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;sr(a,60410,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)sr(a,86030,i);o=+g[d+(f<<3)>>2];n=mc(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;sr(a,60421,j);f=f+1|0}sr(a,60452,k);l=m;return}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=bb[c[a>>2]&31](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;_l(0,60601,f)|0}}else{f=$I(1,16)|0;c[f+8>>2]=GL(b)|0;c[f+12>>2]=d;bb[c[a>>2]&31](a,f,1)|0}l=g;return}function wc(a,b,d){a=a|0;b=b|0;d=d|0;_I(c[b+8>>2]|0);_I(b);return}function xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mr(a,61456)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sr(a,61466,g);c[e>>2]=Dn(c[f+8>>2]|0)|0;sr(a,61501,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;sr(a,61514,d);mr(a,61527)|0;mr(a,61537)|0;mr(a,61545)|0;mr(a,61553)|0;mr(a,61561)|0;mr(a,61569)|0;mr(a,61577)|0;mr(a,61581)|0;mr(a,61586)|0;l=b;return}function yc(a){a=a|0;mr(a,61437)|0;return}function zc(a){a=a|0;c[41896]=2;return}function Ac(a){a=a|0;c[41896]=1;return}function Bc(a){a=a|0;c[41896]=2;return}function Cc(a){a=a|0;c[41896]=0;return}function Dc(a){a=a|0;c[41896]=2;return}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[41896]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*.3333333333333333*+((rJ(j)|0)>>>0);f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;s=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3];e=Oc(j)|0;c[o>>2]=4;c[o+4>>2]=s<<24>>24==108?0:s<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q+-72.0>=0.0?-71.5:-72.5));c[o+72>>2]=e;sr(b,61382,o);l=p;return}function Fc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12652+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(xJ(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(Nc(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sr(b,61325,j);k=10}break}default:ma(123205,60722,163,60753)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[41896]|0;Lc(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sr(a,61260,f);l=e;return}function Hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[41896]|0;Lc(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sr(a,61164,g);Mc(a,b,d,1);l=f;return}function Ic(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[41896]|0;if((d|0)<=3)ma(60715,60722,360,60742);t=ZI((d*140|0)+140|0)|0;Lc(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(pL(t,73932,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;PA(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(pL(e,73932,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sr(a,61215,A);c[z>>2]=t;sr(a,73939,z);_I(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sr(a,73944,B);e=e+1|0}mr(a,134901)|0;l=C;return}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[41896]|0;Lc(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sr(a,61164,f);Mc(a,b,d,0);l=e;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sr(a,61158,e);l=d;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sr(a,73932,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sr(a,73932,i)}mr(a,134901)|0;l=j;return}function Nc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[41897]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[170804+(g<<1)>>1]|0)-d|0;n=(b[171316+(g<<1)>>1]|0)-e|0;j=(b[171828+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[41897]=k+1;if((k|0)==256)g=i;else{b[170804+(g<<1)>>1]=d;b[171316+(g<<1)>>1]=e;b[171828+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function Oc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[41898]|0;if(!d){c[41899]=64;d=ZI(64)|0;c[41898]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[41899]|0;if((e|0)>(b+-8|0)){d=b<<1;c[41899]=d;d=aJ(c[41898]|0,d)|0;c[41898]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;pL(d+1|0,74057,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[41898]|0}function Pc(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{mr(b,61053)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){mr(b,61067)|0;mr(b,rw(c[d>>2]|0)|0)|0;mr(b,134901)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){mr(b,61067)|0;mr(b,rw(c[d>>2]|0)|0)|0;mr(b,87638)|0;mr(b,rw(Dn(c[e+8>>2]|0)|0)|0)|0;mr(b,134901)|0}break}case 3:{f=rw(Dn(c[e+8>>2]|0)|0)|0;mr(b,61076)|0;mr(b,f)|0;mr(b,61086)|0;mr(b,f)|0;mr(b,61041)|0;break}default:{}}return}function Qc(a){a=a|0;var b=0;b=c[a+16>>2]|0;switch(c[a+64>>2]|0){case 2:{Sc(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);break}case 3:{Sc(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);mr(a,61045)|0;break}default:{}}return}function Rc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;Sc(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function Sc(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[41900]|0)<(f|0)){c[41900]=m;o=aJ(c[41901]|0,m<<3)|0;c[41901]=o}else o=c[41901]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;sr(b,60787,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;sr(b,60808,v);break a}case 2:{c[q>>2]=g;sr(b,60828,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[41901]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;sr(b,60836,w);m=m+1|0}mr(b,134901)|0;break a}default:ma(123205,60843,63,60863)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;sr(b,60880,r);break}else ma(123205,60843,75,60863)}if((m&-2|0)==2){switch(d|0){case 1:{mr(b,60913)|0;break}case 0:{mr(b,60934)|0;break}case 2:{mr(b,60953)|0;break}default:ma(123205,60843,91,60863)}if(k|0?a[k>>0]|0:0){mr(b,66433)|0;mr(b,uw(k)|0)|0;mr(b,83714)|0}if(e?a[g>>0]|0:0){mr(b,60972)|0;mr(b,uw(g)|0)|0;mr(b,83714)|0}if(j|0?a[j>>0]|0:0){mr(b,67392)|0;mr(b,rw(j)|0)|0;mr(b,83714)|0}if(i|0?a[i>>0]|0:0){mr(b,60980)|0;mr(b,rw(i)|0)|0;mr(b,83714)|0}mr(b,60989)|0;mr(b,60997)|0;b:do switch(d|0){case 1:{f=c[41901]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;sr(b,61007,s);break}case 0:{v=c[41901]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;sr(b,61016,t);break}case 2:{w=c[41901]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;sr(b,61028,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[41901]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;sr(b,61034,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){mr(b,66257)|0;break}else{mr(b,61041)|0;break}}}while(0);l=y;return}function Tc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mr(a,61456)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sr(a,61466,g);c[e>>2]=Dn(c[f+8>>2]|0)|0;sr(a,61501,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;sr(a,61514,d);mr(a,61527)|0;mr(a,61537)|0;mr(a,61545)|0;mr(a,61553)|0;mr(a,61561)|0;mr(a,61569)|0;mr(a,61577)|0;mr(a,61581)|0;mr(a,61586)|0;l=b;return}function Uc(a){a=a|0;mr(a,61437)|0;return}function Vc(a){a=a|0;c[41902]=2;return}function Wc(a){a=a|0;c[41902]=1;return}function Xc(a){a=a|0;c[41902]=2;return}function Yc(a){a=a|0;c[41902]=0;return}function Zc(a){a=a|0;c[41902]=2;return}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[41902]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=id(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;sr(b,61382,m);l=n;return}function $c(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12652+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(xJ(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(hd(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sr(b,61325,j);k=10}break}case 0:{f=0;k=10;break}default:ma(123205,61346,168,61365)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[41902]|0;fd(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sr(a,61260,f);l=e;return}function bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[41902]|0;fd(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sr(a,61164,g);gd(a,b,d,1);l=f;return}function cd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[41902]|0;t=ZI((d*140|0)+140|0)|0;fd(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(pL(t,73932,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;PA(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(pL(e,73932,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sr(a,61215,A);c[z>>2]=t;sr(a,73939,z);_I(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sr(a,73944,B);e=e+1|0}mr(a,134901)|0;l=C;return}function dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[41902]|0;fd(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sr(a,61164,f);gd(a,b,d,0);l=e;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sr(a,61158,e);l=d;return}function fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sr(a,73932,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sr(a,73932,i)}mr(a,134901)|0;l=j;return}function hd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[41903]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[172340+(g<<1)>>1]|0)-d|0;n=(b[172852+(g<<1)>>1]|0)-e|0;j=(b[173364+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[41903]=k+1;if((k|0)==256)g=i;else{b[172340+(g<<1)>>1]=d;b[172852+(g<<1)>>1]=e;b[173364+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[41904]|0;if(!d){c[41905]=64;d=ZI(64)|0;c[41904]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[41905]|0;if((e|0)>(b+-8|0)){d=b<<1;c[41905]=d;d=aJ(c[41904]|0,d)|0;c[41904]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;pL(d+1|0,74057,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[41904]|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;mr(a,66165)|0;if((c[a+64>>2]|0)==2)mr(a,66180)|0;else mr(a,134901)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;sr(a,66191,b);l=d;return}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;mr(a,66119)|0;d=a+64|0;b=a+12|0;if((c[d>>2]|0)!=2){c[e>>2]=c[(c[b>>2]|0)+28>>2];sr(a,66130,e)}if((c[(c[b>>2]|0)+20>>2]|0)==0?(c[d>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;sr(a,62499,f)}mr(a,66145)|0;mr(a,66158)|0;l=g;return}function ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[173892]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=Dn(c[h>>2]|0)|0;sr(b,62430,i);d=b+64|0;if((c[d>>2]|0)==2)mr(b,62463)|0;else mr(b,62445)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;sr(b,62499,f);break}else{mr(b,62475)|0;break}while(0);mr(b,62529)|0;ey(b,c[(c[e>>2]|0)+24>>2]|0,12928);gy(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;ey(b,0,i)}}c[41906]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[173892]|0)){mr(b,62549)|0;a[173892]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=hy(d,c[41906]|0)|0;sr(b,62562,j)}l=k;return}function md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;sr(a,62414,f);l=b;return}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;sr(a,62041,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;sr(a,62058,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?62092:62102;sr(a,62111,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;sr(a,62136,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;sr(a,62175,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;sr(a,62195,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;sr(a,62235,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;hb[t&31](62278,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;sr(a,62373,r)}l=s;return}function od(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){mr(a,61965)|0;ey(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}mr(a,61982)|0;mr(a,62009)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];sr(a,62024,d);l=e;return}function pd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=Dn(c[(c[a+16>>2]|0)+8>>2]|0)|0;sr(a,61958,d);mr(a,61951)|0;l=b;return}function qd(a){a=a|0;mr(a,77394)|0;return}function rd(a){a=a|0;mr(a,61951)|0;return}function sd(a){a=a|0;mr(a,77394)|0;return}function td(a){a=a|0;mr(a,61951)|0;return}function ud(a){a=a|0;mr(a,77394)|0;return}function vd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){mr(a,61847)|0;wr(a,c[g>>2]|0,2);mr(a,61858)|0;c[d>>2]=hy(b,c[41906]|0)|0;sr(a,61862,d)}l=e;return}function wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Dd(b,f+16|0);i=e+4|0;tr(b,+h[(c[i>>2]|0)+16>>3]);c[j>>2]=c[c[i>>2]>>2];sr(b,61806,j);i=hy(c[e>>2]|0,c[41906]|0)|0;switch(a[e+48>>0]|0){case 114:{n=e+32|0;f=n;g=+h[n>>3];break}case 108:{f=e+32|0;g=0.0;break}default:{n=e+32|0;f=n;g=+h[n>>3]*.5}}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[n>>3]+ +h[e+24>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];vr(b,j);mr(b,61821)|0;tr(b,+h[f>>3]);c[k>>2]=i;sr(b,61830,k)}l=m;return}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Dd(a,e+56|0);wr(a,f,2);mr(a,61764)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[b>>2]|0)+16|0);wr(a,f,2);mr(a,61784)|0}l=g;return}function yd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Dd(a,f+56|0);mr(a,61685)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vr(a,i);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];vr(a,i);mr(a,61703)|0;e=e+1|0}mr(a,61730)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[g>>2]|0)+16|0);mr(a,61685)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vr(a,i);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];vr(a,i);mr(a,61703)|0;e=e+1|0}mr(a,61746)|0}l=j;return}function zd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Dd(a,j+56|0);mr(a,61685)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vr(a,f);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;wr(a,b+(e<<4)|0,3);mr(a,61720)|0;e=e+3|0}mr(a,61730)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[i>>2]|0)+16|0);mr(a,61685)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vr(a,f);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;wr(a,b+(e<<4)|0,3);mr(a,61720)|0;e=e+3|0}mr(a,61712)|0}l=k;return}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[e>>2]|0)+16|0);mr(a,61685)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vr(a,f);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];vr(a,f);mr(a,61703)|0;e=e+1|0}mr(a,61712)|0}l=g;return}function Bd(a,b){a=a|0;b=b|0;mr(a,61682)|0;mr(a,b)|0;mr(a,134901)|0;return}function Cd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Dd(a,j+56|0);mr(a,77289)|0;wr(a,d,e);mr(a,87638)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vr(a,g);c[k>>2]=e;c[k+4>>2]=b;sr(a,61599,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[i>>2]|0)+16|0);mr(a,77289)|0;wr(a,d,e);mr(a,87638)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vr(a,g);c[m>>2]=e;c[m+4>>2]=b;sr(a,61615,m)}l=n;return}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=96286;break}case 2:{d=96273;break}case 3:{d=96237;break}default:d=61651}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;sr(a,61658,e)}l=f;return}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;tr(b,+h[i+152>>3]);mr(b,61632)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(xJ(f,95910)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;sr(b,61647,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(xJ(f,119127)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;sr(b,81633,k);d=i}l=m;return}function Fd(b){b=b|0;var d=0;mr(b,67671)|0;d=Im(c[(c[b>>2]|0)+168>>2]|0,67727)|0;if(d|0?a[d>>0]|0:0){mr(b,67738)|0;mr(b,d)|0;mr(b,67762)|0}mr(b,67783)|0;mr(b,67831)|0;mr(b,67885)|0;d=b+12|0;mr(b,rw(c[c[c[d>>2]>>2]>>2]|0)|0)|0;mr(b,71014)|0;mr(b,rw(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;mr(b,71024)|0;mr(b,rw(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;mr(b,68267)|0;mr(b,68291)|0;return}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;mr(b,67506)|0;d=d+8|0;if(a[(Dn(c[d>>2]|0)|0)>>0]|0){mr(b,68230)|0;mr(b,rw(Dn(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;sr(b,67511,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;sr(b,67527,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;sr(b,67560,g);mr(b,67591)|0;mr(b,67627)|0;mr(b,69221)|0;l=i;return}function Hd(a){a=a|0;mr(a,67498)|0;return}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;de(a,b,0,86583,c[(c[a+16>>2]|0)+8>>2]|0);mr(a,69221)|0;return}function Jd(a){a=a|0;mr(a,67346)|0;return}function Kd(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;de(b,c[g+212>>2]|0,0,96286,c[d>>2]|0);mr(b,67450)|0;tr(b,+h[b+488>>3]);mr(b,87638)|0;tr(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);sr(b,67469,f);tr(b,+h[b+504>>3]);mr(b,87638)|0;tr(b,-+h[b+512>>3]);mr(b,67493)|0;if(a[(Dn(c[d>>2]|0)|0)>>0]|0){mr(b,67402)|0;mr(b,rw(Dn(c[d>>2]|0)|0)|0)|0;mr(b,67410)|0}l=e;return}function Ld(a){a=a|0;mr(a,67346)|0;return}function Md(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;de(a,c[d+212>>2]|0,0,93039,c[b>>2]|0);mr(a,69221)|0;mr(a,67402)|0;mr(a,rw(Dn(c[b>>2]|0)|0)|0)|0;mr(a,67410)|0;return}function Nd(a){a=a|0;mr(a,67346)|0;return}function Od(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;de(a,c[d+212>>2]|0,b,96273,c[e>>2]|0);mr(a,69221)|0;mr(a,67402)|0;mr(a,rw(Dn(c[e>>2]|0)|0)|0)|0;mr(a,67410)|0;return}function Pd(a){a=a|0;mr(a,67346)|0;return}function Qd(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;de(a,c[d+212>>2]|0,0,96237,c[b>>2]|0);mr(a,69221)|0;mr(a,67402)|0;b=qw(87129,c[b>>2]|0)|0;mr(a,rw(b)|0)|0;_I(b);mr(a,67410)|0;return}function Rd(a){a=a|0;mr(a,67346)|0;return}function Sd(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;mr(b,67352)|0;if(f|0){mr(b,67355)|0;mr(b,rw(f)|0)|0;mr(b,83714)|0}mr(b,67245)|0;mr(b,69182)|0;if(c|0?a[c>>0]|0:0){mr(b,67363)|0;mr(b,c)|0;mr(b,83714)|0}if(d|0?a[d>>0]|0:0){mr(b,67377)|0;mr(b,sw(d,1)|0)|0;mr(b,83714)|0}if(e|0?a[e>>0]|0:0){mr(b,67392)|0;mr(b,rw(e)|0)|0;mr(b,83714)|0}mr(b,69221)|0;return}function Td(a){a=a|0;mr(a,69176)|0;mr(a,67346)|0;return}function Ud(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;mr(e,66877)|0;switch(a[g+48>>0]|0){case 108:{mr(e,66883)|0;break}case 114:{mr(e,66904)|0;break}default:mr(e,66923)|0}H=f+8|0;G=+h[H>>3]+ +h[g+24>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){mr(e,66945)|0;tr(e,+h[f>>3]);mr(e,66950)|0;tr(e,-G);mr(e,83714)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;f=n+16|0;i=n+8|0;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:{m=n+4|0;f=n+16|0;i=n+8|0}}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];sr(e,66956,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;sr(e,66973,p)}mr(e,83714)|0;if(f|0){c[r>>2]=f;sr(e,66977,r)}if(k|0){c[s>>2]=k;sr(e,66995,s)}if(!j)j=0;else{c[q>>2]=j;sr(e,67014,q)}}else{c[i>>2]=c[f>>2];sr(e,67031,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))sr(e,67049,t);if(!((j|0)!=0|(z&2|0)==0))sr(e,67069,u);if(z&100|0){sr(e,67090,v);if(!(z&4))f=0;else{sr(e,91030,w);f=1}if(z&64){c[y>>2]=f|0?86030:174181;sr(e,67109,y);f=1}if(z&32|0){c[A>>2]=f|0?86030:174181;sr(e,67120,A)}sr(e,83714,B)}if(z&8|0)sr(e,67135,C);if(z&16|0)sr(e,67159,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];sr(e,67181,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(iK(f,122106)|0){c[J>>2]=f;sr(e,67199,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;sr(e,67210,F);break}default:ma(123205,66391,486,67232)}mr(e,67245)|0;if(b[H>>1]&512){c[K>>2]=rw(c[I+212>>2]|0)|0;sr(e,67247,K);mr(e,67296)|0;tr(e,-G);mr(e,67314)|0}mr(e,sw(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)sr(e,67317,L);mr(e,67337)|0;l=M;return}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=ae(a,b,2)|0;break}case 3:{d=be(a)|0;break}default:d=0}mr(a,66841)|0;_d(a,c,d);mr(a,66850)|0;tr(a,+h[b>>3]);mr(a,66856)|0;c=b+8|0;tr(a,-+h[c>>3]);mr(a,66863)|0;tr(a,+h[b+16>>3]-+h[b>>3]);mr(a,66870)|0;tr(a,+h[b+24>>3]-+h[c>>3]);mr(a,66257)|0;return}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=ae(a,b,c)|0;break}case 3:{e=be(a)|0;break}default:e=0}mr(a,66832)|0;_d(a,d,e);mr(a,66247)|0;e=0;while(1){if((e|0)>=(c|0))break;tr(a,+h[b+(e<<4)>>3]);mr(a,86030)|0;tr(a,-+h[b+(e<<4)+8>>3]);mr(a,87638)|0;e=e+1|0}tr(a,+h[b>>3]);mr(a,86030)|0;tr(a,-+h[b+8>>3]);mr(a,66257)|0;return}function Xd(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=ae(a,d,e)|0;break}case 3:{f=be(a)|0;break}default:f=0}mr(a,66427)|0;if(b[g+260>>1]&512){mr(a,66433)|0;mr(a,rw(c[g+212>>2]|0)|0)|0;mr(a,66439)|0}_d(a,h,f);mr(a,66444)|0;ce(a,d,e);mr(a,66257)|0;return}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;mr(a,66237)|0;_d(a,0,0);mr(a,66247)|0;d=0;while(1){if((d|0)>=(c|0))break;tr(a,+h[b+(d<<4)>>3]);mr(a,86030)|0;tr(a,-+h[b+(d<<4)+8>>3]);mr(a,87638)|0;d=d+1|0}mr(a,66257)|0;return}function Zd(a,b){a=a|0;b=b|0;mr(a,66231)|0;mr(a,rw(b)|0)|0;mr(a,68291)|0;return}function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;mr(b,66262)|0;a:do switch(d|0){case 2:{c[f>>2]=e;sr(b,66270,f);break}case 3:{c[g>>2]=e;sr(b,66281,g);break}case 0:{mr(b,120501)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));$d(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)*.00392156862745098;sr(b,66292,j)}}}while(0);mr(b,66311)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));$d(b,k);d=m+152|0;if(+h[d>>3]!=1.0){mr(b,66322)|0;tr(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=66362;sr(b,66339,o);break}case 2:{c[n>>2]=66366;sr(b,66339,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)*.00392156862745098;sr(b,66370,p)}while(0);mr(b,83714)|0;l=q;return}function $d(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mr(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mr(b,122171)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sr(b,68547,f);break a}default:ma(123205,66391,117,66411)}while(0);l=g;return}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[41908]|0;c[41908]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*.017453292519943295;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;JB(d,k,e,f,0);c[o>>2]=q;sr(b,66664,o);mr(b,66729)|0;tr(b,+h[k>>3]);mr(b,66734)|0;tr(b,+h[k+8>>3]);mr(b,66741)|0;tr(b,+h[k+16>>3]);mr(b,66748)|0;tr(b,+h[k+24>>3]);mr(b,66755)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;sr(b,66760,i)}else mr(b,66536)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));$d(b,o);mr(b,66572)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)*.00392156862745098;sr(b,84631,m)}else s=7;while(0);if((s|0)==7)mr(b,66587)|0;mr(b,66590)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;sr(b,66760,n)}else mr(b,66596)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));$d(b,o);mr(b,66572)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)*.00392156862745098;sr(b,84631,r)}else s=14;while(0);if((s|0)==14)mr(b,66587)|0;mr(b,66800)|0;l=t;return q|0}function be(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[41907]|0;c[41907]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*.017453292519943295;e=r;if(r==0.0){f=50;d=50}else{f=~~((+E(+e)+1.0)*50.0);d=~~((1.0-+F(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;sr(b,66452,k);mr(b,66536)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));$d(b,k);mr(b,66572)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)*.00392156862745098;sr(b,84631,j)}else p=6;while(0);if((p|0)==6)mr(b,66587)|0;mr(b,66590)|0;mr(b,66596)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));$d(b,k);mr(b,66572)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)*.00392156862745098;sr(b,84631,o)}else p=10;while(0);if((p|0)==10)mr(b,66587)|0;mr(b,66632)|0;l=q;return n|0}function ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;sr(a,66449,g);tr(a,+h[b+(f<<4)>>3]);mr(a,86030)|0;tr(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function de(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;mr(b,67420)|0;mr(b,rw(d)|0)|0;if(e|0){c[h>>2]=rw(e)|0;sr(b,67428,h)}c[i>>2]=f;sr(b,67432,i);d=Im(g,67444)|0;if(d|0?a[d>>0]|0:0){mr(b,87638)|0;mr(b,rw(d)|0)|0}mr(b,83714)|0;l=j;return}function ee(a){a=a|0;var b=0;mr(a,68251)|0;b=a+12|0;mr(a,oe(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mr(a,71014)|0;mr(a,oe(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mr(a,71024)|0;mr(a,oe(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mr(a,68267)|0;return}function fe(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;mr(b,68228)|0;d=d+8|0;if(a[(Dn(c[d>>2]|0)|0)>>0]|0){mr(b,68230)|0;mr(b,oe(Dn(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;sr(b,68239,e);c[41909]=0;l=f;return}function ge(a){a=a|0;c[41909]=1;return}function he(a){a=a|0;c[41909]=-1;return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[b+352>>3]*+h[(c[k>>2]|0)+16>>3]),j|0):0){pe(b);mr(b,68167)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];vr(b,i);mr(b,68181)|0;mr(b,c[e>>2]|0)|0;mr(b,68190)|0;mr(b,67988)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));qe(b,i);mr(b,68192)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;mr(b,83714)|0;mr(b,k)|0;mr(b,83714)|0;c[m>>2]=j;sr(b,68201,m);switch(a[e+48>>0]|0){case 108:{mr(b,68206)|0;break}case 114:{mr(b,68217)|0;break}default:{}}re(b);mr(b,134901)|0}l=n;return}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];m=+h[b+24>>3];e=b+8|0;k=+h[e>>3];h[b>>3]=n-+h[b+16>>3]+n;h[e>>3]=k-m+k;pe(a);mr(a,68153)|0;wr(a,b,2);mr(a,67988)|0;do if(!d)if(!(c[41909]|0)){mr(a,82272)|0;break}else{mr(a,121990)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));qe(a,f)}while(0);if((c[41909]|0)==1)c[41909]=0;mr(a,68099)|0;tr(a,+h[g+152>>3]);mr(a,68142)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));qe(a,f);b=c[i>>2]|0;if((b|0)==1){mr(a,67996)|0;b=c[i>>2]|0}if((b|0)==2)mr(a,68005)|0;re(a);mr(a,134901)|0}l=j;return}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){pe(a);mr(a,68125)|0;wr(a,b,d);mr(a,67988)|0;do if(!e)if(!(c[41909]|0)){mr(a,82272)|0;break}else{mr(a,121990)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));qe(a,f)}while(0);if((c[41909]|0)==1)c[41909]=0;mr(a,68099)|0;tr(a,+h[g+152>>3]);mr(a,68142)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));qe(a,f);b=c[i>>2]|0;if((b|0)==1){mr(a,67996)|0;b=c[i>>2]|0}if((b|0)==2)mr(a,68005)|0;re(a);mr(a,134901)|0}l=j;return}function le(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){pe(a);mr(a,67974)|0;wr(a,b,d);mr(a,67988)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));qe(a,i);mr(a,68099)|0;tr(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){mr(a,67996)|0;e=c[k>>2]|0}if((e|0)==2)mr(a,68005)|0;mr(a,68108)|0;re(a);mr(a,134901)|0}l=m;return}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){pe(a);mr(a,67974)|0;wr(a,b,d);mr(a,67988)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));qe(a,g);b=c[h>>2]|0;if((b|0)==1){mr(a,67996)|0;b=c[h>>2]|0}if((b|0)==2)mr(a,68005)|0;re(a);mr(a,134901)|0}l=i;return}function ne(a,b){a=a|0;b=b|0;mr(a,67971)|0;mr(a,oe(b)|0)|0;mr(a,134901)|0;return}function oe(a){a=a|0;return a|0}function pe(b){b=b|0;if(!(a[b+144>>0]|0))mr(b,68096)|0;else mr(b,c[b+148>>2]|0)|0;return}function qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mr(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mr(b,82272)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sr(b,68547,f);break a}default:ma(123205,68014,49,68078)}while(0);l=g;return}function re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[a+16>>2]|0;switch(c[f+12>>2]|0){case 8:{b=1;d=96273;e=f+8|0;break}case 10:{b=0;d=96273;e=f+8|0;break}case 3:case 2:case 9:{b=1;d=96237;e=f+8|0;break}case 7:case 6:case 11:{b=0;d=96237;e=f+8|0;break}case 0:{b=1;d=96286;e=f+8|0;break}case 4:{b=0;d=68050;e=f+8|0;break}case 1:{b=1;d=96286;e=f+8|0;break}case 5:{b=0;d=96286;e=f+8|0;break}default:ma(123205,68014,106,68033)}f=c[(c[e>>2]|0)+8>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=f;sr(a,68062,g);l=h;return}function se(a){a=a|0;var b=0;mr(a,70986)|0;mr(a,70994)|0;b=a+12|0;mr(a,De(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mr(a,71014)|0;mr(a,De(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mr(a,71024)|0;mr(a,De(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mr(a,71027)|0;return}function te(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[41913]=~~(+h[b+232>>3]-+h[b+216>>3]);c[41912]=~~(+h[b+224>>3]-+h[b+208>>3]);mr(b,69673)|0;mr(b,69680)|0;d=Dn(c[d+8>>2]|0)|0;if(a[d>>0]|0){mr(b,69749)|0;mr(b,De(d)|0)|0;mr(b,69757)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;sr(b,69766,e);mr(b,69786)|0;mr(b,69821)|0;mr(b,69849)|0;mr(b,69855)|0;mr(b,69898)|0;mr(b,69939)|0;mr(b,69958)|0;mr(b,69975)|0;mr(b,70023)|0;mr(b,70076)|0;mr(b,70152)|0;mr(b,70228)|0;mr(b,70237)|0;mr(b,70260)|0;mr(b,70287)|0;mr(b,70340)|0;mr(b,70362)|0;mr(b,70407)|0;mr(b,70419)|0;mr(b,70429)|0;mr(b,70455)|0;mr(b,70340)|0;mr(b,70507)|0;mr(b,70407)|0;mr(b,70419)|0;mr(b,70551)|0;mr(b,70260)|0;mr(b,70287)|0;mr(b,70340)|0;mr(b,70507)|0;mr(b,70407)|0;mr(b,70419)|0;mr(b,70429)|0;mr(b,70455)|0;mr(b,70340)|0;mr(b,70362)|0;mr(b,70407)|0;mr(b,70419)|0;mr(b,70564)|0;mr(b,70572)|0;mr(b,70578)|0;mr(b,70592)|0;mr(b,70600)|0;mr(b,70633)|0;e=(c[41913]|0)+10|0;c[f>>2]=c[41912];c[f+4>>2]=e;sr(b,70710,f);mr(b,70740)|0;mr(b,70749)|0;mr(b,70807)|0;mr(b,70817)|0;mr(b,70882)|0;f=c[41913]|0;c[g>>2]=c[41912];c[g+4>>2]=f;sr(b,70919,g);g=c[41913]|0;c[i>>2]=c[41912];c[i+4>>2]=g;sr(b,70947,i);l=j;return}function ue(a){a=a|0;mr(a,69224)|0;mr(a,69236)|0;mr(a,69244)|0;mr(a,69307)|0;mr(a,69236)|0;mr(a,69352)|0;mr(a,69401)|0;mr(a,69455)|0;mr(a,69236)|0;mr(a,69555)|0;mr(a,69604)|0;mr(a,69236)|0;mr(a,69656)|0;return}function ve(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;mr(b,69182)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=De(d)|0;sr(b,69185,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=De(e)|0;sr(b,69196,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=De(f)|0;sr(b,69208,i)}mr(b,69221)|0;l=j;return}function we(a){a=a|0;mr(a,69176)|0;return}function xe(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];m=+h[f+32>>3];break}case 114:{m=+h[f+32>>3];j=+h[e>>3]-m;break}default:{m=+h[f+32>>3];j=+h[e>>3]-m*.5}}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i<k){i=k*1.1+1.0;h[g>>3]=i}B=j+-8.0;k=+((c[41913]|0)>>>0)-+h[e+8>>3]-i+k*.2+(k<12.0?1.4:2.0);sr(b,68838,n);h[o>>3]=B;h[o+8>>3]=k;sr(b,68775,o);h[p>>3]=j+8.0+m-B;h[p+8>>3]=i;sr(b,68799,p);mr(b,68873)|0;mr(b,68907)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];sr(b,68997,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;sr(b,69016,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;sr(b,69033,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;sr(b,69051,v)}}else{c[q>>2]=c[g>>2];sr(b,68997,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];sr(b,69067,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(iK(g,122106)|0){c[z>>2]=g;sr(b,69087,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;sr(b,69097,y);break}default:ma(123205,68561,438,69118)}mr(b,69131)|0;mr(b,De(c[f>>2]|0)|0)|0;mr(b,69142)|0;mr(b,69165)|0;l=A;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;mr(a,68739)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+24>>3];g=k-+h[b+8>>3];k=+((c[41913]|0)>>>0)-k;h[j>>3]=m-i;h[j+8>>3]=k;sr(a,68775,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;sr(a,68799,f);He(a,d);mr(a,68621)|0;Fe(a);mr(a,68827)|0;l=e;return}function ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;mr(a,68344)|0;n=c[41913]|0;c[g>>2]=c[41912];c[g+4>>2]=n;sr(a,68597,g);He(a,e);mr(a,68621)|0;Fe(a);mr(a,68624)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[41913]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){mr(a,68651)|0;h[j>>3]=i;h[j+8>>3]=f;sr(a,68717,j);mr(a,68728)|0}else{h[k>>3]=i;h[k+8>>3]=f;sr(a,68717,k)}if((e|0)==(g|0))mr(a,68731)|0;e=e+1|0}mr(a,68460)|0;l=m;return}function Ae(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=l;l=l+16|0;e=f;mr(a,68344)|0;h=c[41913]|0;c[e>>2]=c[41912];c[e+4>>2]=h;sr(a,68597,e);He(a,g);mr(a,68621)|0;Fe(a);mr(a,68624)|0;Ie(a,b,d);mr(a,68637)|0;l=f;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;mr(a,68344)|0;g=c[41913]|0;c[f>>2]=c[41912];c[f+4>>2]=g;sr(a,68381,f);mr(a,68421)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){mr(a,68433)|0;m=+((c[41913]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;sr(a,68437,i);mr(a,68448)|0}else{m=+((c[41913]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;sr(a,68437,j)}if((e|0)==(f|0))mr(a,68452)|0;e=e+1|0}mr(a,68456)|0;Fe(a);mr(a,68460)|0;l=k;return}function Ce(a,b){a=a|0;b=b|0;mr(a,68279)|0;mr(a,De(b)|0)|0;mr(a,68291)|0;return}function De(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[41910]|0;if(!d){c[41911]=64;d=ww(64)|0;c[41910]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;k=g;p=b;j=e;b:while(1){if(!p){t=32;break a}e=a[p>>0]|0;if(!(e<<24>>24)){t=32;break a}b=c[41911]|0;if((q|0)>(b+-8|0)){d=b<<1;c[41911]=d;d=yw(c[41910]|0,d)|0;c[41910]=d;d=d+q|0;e=a[p>>0]|0}switch(e<<24>>24){case 60:{e=4;b=87187;t=26;break b}case 62:{e=4;b=87170;t=27;break b}case 38:{t=10;break b}case 45:{e=5;b=87181;i=j;break b}default:{}}if(n&e<<24>>24==32){t=12;break}switch(e<<24>>24){case 34:{e=6;b=87150;t=26;break b}case 39:{e=5;b=87175;t=27;break b}default:{}}if(e<<24>>24<0){i=127;b=0}else{e=1;b=p;t=26;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=i&h&255;i=g>>>1;b=b+1|0}if((b|0)<=1){g=ON(j|0,f|0,6)|0;g=HN(g|0,z|0,e&255|0,0)|0;f=z;m=k+-1|0;if((k|0)>1){b=m;e=g}else{t=21;break}}else{b=b+-1|0;e=e&255;f=0}k=b;p=p+1|0;j=e}if((t|0)==10){t=0;b=(Ee(p)|0)==0;e=b?5:1;b=b?87164:p;i=j}else if((t|0)==12){t=0;b=(a[o>>0]|0)==32;e=b?6:1;b=b?87157:p;i=j}else if((t|0)==21){t=0;a[s>>0]=59;e=3;h=r;i=g;j=f;while(1){b=MN(i|0,j|0,10,0)|0;g=h+-1|0;a[h>>0]=b|48;b=i;i=LN(i|0,j|0,10,0)|0;f=j;j=z;o=e;e=e+1|0;if((o|0)>11){t=23;break a}if(!(f>>>0>0|(f|0)==0&b>>>0>9))break;else h=g}b=h+-2|0;a[g>>0]=35;a[b>>0]=38;k=m;f=j}else if((t|0)==26){t=0;i=j}else if((t|0)==27){t=0;i=j}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[b>>0]|0;g=g+-1|0;b=b+1|0;d=d+1|0}g=k;b=p+1|0;q=e+q|0;o=p;d=h;e=i}if((t|0)==23){XL(68297,46,1,c[13918]|0)|0;Ma(1)}else if((t|0)==32){a[d>>0]=0;l=u;return c[41910]|0}return 0}function Ee(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Fe(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;mr(a,68472)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ge(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;sr(a,68490,j)}switch(c[i+144>>2]|0){case 1:{mr(a,68507)|0;break}case 2:{mr(a,68525)|0;break}default:{}}mr(a,68542)|0;l=k;return}function Ge(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mr(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mr(b,120501)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sr(b,68547,f);break a}default:ma(123205,68561,94,68581)}while(0);l=g;return}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)mr(a,68700)|0;else{d=c[a+16>>2]|0;mr(a,68670)|0;b=f;d=d+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ge(a,f);mr(a,68697)|0}l=g;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=68651;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[41913]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;sr(a,68654,g);e=(f|0)==0?68667:174181;f=f+1|0}mr(a,83714)|0;l=i;return}function Je(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;mr(a,73284)|0;mr(a,73299)|0;mr(a,73338)|0;mr(a,73387)|0;c[e>>2]=122106;c[e+4>>2]=73475;sr(a,73456,e);c[d>>2]=121990;c[d+4>>2]=73481;sr(a,73456,d);l=b;return}function Ke(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=Dn(c[(c[a+16>>2]|0)+8>>2]|0)|0;sr(a,72237,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+J(+(i*2.0000000949949026e-03))*180.0*.6366197723675814;e=+J(+(g*2.0000000949949026e-03))*180.0*.6366197723675814;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;sr(a,72259,d);mr(a,72406)|0;mr(a,73236)|0;l=b;return}function Le(a){a=a|0;mr(a,72220)|0;return}function Me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;sr(a,72190,h);g[41914]=+(O(d,-10)|0);l=f;return}function Ne(a){a=a|0;mr(a,72173)|0;return}function Oe(a){a=a|0;mr(a,72155)|0;return}function Pe(a){a=a|0;mr(a,72139)|0;return}function Qe(a){a=a|0;mr(a,72118)|0;g[41914]=+g[41914]+-2.0;return}function Re(a){a=a|0;mr(a,72099)|0;return}function Se(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=Dn(c[(c[a+16>>2]|0)+8>>2]|0)|0;sr(a,72077,d);l=b;return}function Te(a){a=a|0;mr(a,72061)|0;return}function Ue(a){a=a|0;mr(a,72043)|0;g[41914]=+g[41914]+-5.0;return}function Ve(a){a=a|0;mr(a,72027)|0;g[41914]=+g[41914]+5.0;return}function We(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;n=r;p=e+4|0;i=c[p>>2]|0;f=+h[i+16>>3];i=c[i>>2]|0;c[n>>2]=c[e>>2];h[n+8>>3]=f;c[n+16>>2]=i;sr(b,71873,n);g[41915]=+g[41914]+-9.0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{i=d;f=+h[d>>3]-+h[e+32>>3];k=5;break}default:{i=d;f=+h[d>>3]-+h[e+32>>3]*.5;k=5}}if((k|0)==5)h[i>>3]=f;u=+h[b+488>>3];t=(+h[b+504>>3]+f)*u;s=(+h[b+512>>3]+ +h[d+8>>3])*+h[b+496>>3];h[j>>3]=+h[(c[p>>2]|0)+16>>3]*u;n=af(b,71925,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=af(b,71142,m)|0;f=+g[41915];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=af(b,71174,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=bf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=72012;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=af(b,71937,q)|0;mr(b,q)|0;_I(q);_I(i);_I(o);_I(d);_I(n);l=r;return}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;mr(a,71750)|0;g[41915]=+g[41914]+-6.0;i=+h[b>>3];j=+h[a+488>>3];p=(+h[a+504>>3]+i)*j;A=+h[b+8>>3];k=+h[a+496>>3];q=(+h[a+512>>3]+A)*k;j=(+h[b+16>>3]-i)*j;k=(+h[b+24>>3]-A)*k;s=a+16|0;A=k+j;i=+h[(c[s>>2]|0)+152>>3]/A*2.5;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=af(a,71110,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=af(a,71142,e)|0;A=+g[41915];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=af(a,71174,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=bf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=af(a,71765,n)|0;mr(a,w)|0;_I(b);_I(e);_I(f);_I(v);_I(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=af(a,71110,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=af(a,71142,r)|0;A=+g[41915];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=af(a,71174,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=bf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=af(a,71811,y)|0;mr(a,y)|0;_I(f);_I(e);_I(b);_I(x);_I(y)}l=z;return}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0.0;K=l;l=l+336|0;B=K+296|0;J=K+288|0;I=K+272|0;H=K+264|0;G=K+240|0;D=K+232|0;A=K+208|0;z=K+184|0;w=K+160|0;v=K+152|0;u=K+136|0;t=K+128|0;s=K+96|0;r=K+88|0;q=K+56|0;f=K+48|0;m=K+24|0;k=K;mr(a,71615)|0;g[41915]=+g[41914]+-2.0;o=a+488|0;p=a+496|0;L=+h[p>>3];h[k>>3]=+h[o>>3];h[k+8>>3]=L;h[k+16>>3]=1.0;k=af(a,71110,k)|0;y=a+360|0;L=+(c[y>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=L;m=af(a,71142,m)|0;L=+g[41915]+-2.0;h[B>>3]=0.0;h[B+8>>3]=0.0;h[B+16>>3]=L;n=af(a,71174,B)|0;C=a+16|0;i=B;j=(c[C>>2]|0)+16|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=bf(a,B,0.0)|0;c[f>>2]=71237;c[f+4>>2]=d+1;E=a+504|0;F=a+512|0;i=0;f=af(a,71206,f)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];L=+h[(c[C>>2]|0)+152>>3];h[q>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[q+8>>3]=N;h[q+16>>3]=0.0;h[q+24>>3]=L;M=af(a,71251,q)|0;c[r>>2]=f;c[r+4>>2]=M;x=af(a,71280,r)|0;_I(M);_I(f);i=i+1|0;f=x}L=+h[F>>3]+ +h[b+8>>3];N=+h[(c[C>>2]|0)+152>>3];h[s>>3]=+h[E>>3]+ +h[b>>3];h[s+8>>3]=L;h[s+16>>3]=0.0;h[s+24>>3]=N;x=af(a,71251,s)|0;c[t>>2]=f;c[t+4>>2]=x;M=af(a,71280,t)|0;_I(x);_I(f);c[u>>2]=k;c[u+4>>2]=m;c[u+8>>2]=n;c[u+12>>2]=j;x=af(a,71630,u)|0;c[v>>2]=M;c[v+4>>2]=x;M=af(a,71335,v)|0;_I(x);mr(a,M)|0;_I(k);_I(m);_I(n);_I(j);_I(M);if(e|0){N=+h[p>>3];h[w>>3]=+h[o>>3];h[w+8>>3]=N;h[w+16>>3]=1.0;n=af(a,71110,w)|0;N=+(c[y>>2]|0);h[z>>3]=0.0;h[z+8>>3]=0.0;h[z+16>>3]=N;m=af(a,71142,z)|0;N=+g[41915]+-2.0;h[A>>3]=0.0;h[A+8>>3]=0.0;h[A+16>>3]=N;k=af(a,71174,A)|0;i=B;j=(c[C>>2]|0)+56|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=bf(a,B,.25)|0;c[D>>2]=d;i=0;f=af(a,71675,D)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];h[G>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[G+8>>3]=N;h[G+16>>3]=0.0;D=af(a,71690,G)|0;c[H>>2]=f;c[H+4>>2]=D;M=af(a,71712,H)|0;_I(D);_I(f);i=i+1|0;f=M}c[I>>2]=n;c[I+4>>2]=m;c[I+8>>2]=k;c[I+12>>2]=j;I=af(a,71722,I)|0;c[J>>2]=f;c[J+4>>2]=I;M=af(a,71335,J)|0;_I(I);mr(a,M)|0;_I(n);_I(m);_I(k);_I(j);_I(M)}l=K;return}function Ze(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;mr(a,71542)|0;g[41915]=+g[41914]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=af(a,71110,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=af(a,71142,s)|0;C=+g[41915]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=af(a,71174,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=bf(a,e,0.0)|0;c[k>>2]=71556;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=af(a,71206,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[p>>3]+ +h[i>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[o>>3]+ +h[f>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=af(a,71251,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=af(a,71280,w)|0;_I(k);_I(e);if((m|0)==0|(m|0)==(q|0)){C=+h[p>>3]+ +h[i>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[o>>3]+ +h[f>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=af(a,71251,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=af(a,71280,y)|0;_I(k);_I(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=af(a,71565,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=af(a,71335,A)|0;_I(b);mr(a,d)|0;_I(r);_I(s);_I(t);_I(n);_I(d);l=B;return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;mr(a,71094)|0;g[41915]=+g[41914]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=af(a,71110,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=af(a,71142,n)|0;w=+g[41915];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=af(a,71174,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=bf(a,e,0.0)|0;c[m>>2]=71237;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=af(a,71206,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[k>>3]+ +h[b+(f<<4)+8>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[j>>3]+ +h[b+(f<<4)>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=af(a,71251,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=af(a,71280,s)|0;_I(x);_I(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=af(a,71289,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=af(a,71335,u)|0;_I(t);mr(a,x)|0;_I(q);_I(n);_I(o);_I(i);_I(x);l=v;return}function $e(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sr(a,71075,e);l=d;return}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=LK(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=ZI(g+1|0)|0;c[f>>2]=d;qL(a,b,f)|0;break}else{a=GL(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=yJ(c[(jJ()|0)>>2]|0)|0;hb[a&31](71520,h);a=GL(174181)|0}while(0);l=i;return a|0}function bf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;n=q+48|0;p=q+32|0;m=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(xJ(f,121094)|0)){c[k>>2]=71357;h[k+8>>3]=e;f=af(a,71340,k)|0;break a}if(!(xJ(f,118224)|0)){c[m>>2]=71361;h[m+8>>3]=e;f=af(a,71340,m)|0;break a}if(!(xJ(f,116223)|0)){c[p>>2]=71367;h[p+8>>3]=e;f=af(a,71340,p)|0;break a}else{c[n>>2]=f;h[n+8>>3]=e;f=af(a,71340,n)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=af(a,71372,i)|0;break}default:{p=c[13918]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;zL(p,71411,j)|0;ma(123205,71461,436,71481)}}while(0);c[o>>2]=f;p=af(a,71498,o)|0;_I(f);l=q;return p|0}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=73927;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;sr(a,76546,g);f=Dn(c[f+8>>2]|0)|0;c[e>>2]=73927;c[e+4>>2]=f;sr(a,76578,e);c[d>>2]=73927;sr(a,76592,d);l=b;return}function df(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=73927;sr(a,76494,d);l=b;return}function ef(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;H=W+184|0;G=W+176|0;F=W+168|0;E=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;g=c[a+456>>2]|0;i=c[a+460>>2]|0;j=c[a+464>>2]|0;k=c[a+468>>2]|0;f=a+360|0;a:do if(c[4007]|0){switch(c[f>>2]|0){case 90:case 0:break a;default:{}}rf();c[4007]=0}while(0);e=(+(k|0)-+(i|0))*.013888888888888888;b=(+(j|0)-+(g|0))*.013888888888888888;k=(c[f>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;sr(a,74114,m);c[n>>2]=73927;sr(a,74129,n);if(d>0.0){b=+FJ(d);h[16877]=b;b=b+3.0-+(~~b|0)}else b=3.0;b=+D(10.0,+b);h[16877]=b;h[B>>3]=b;h[B+8>>3]=b;sr(a,74298,B);c[S>>2]=73927;sr(a,74333,S);c[o>>2]=73927;sr(a,74391,o);c[p>>2]=73927;sr(a,74451,p);c[q>>2]=73927;sr(a,74500,q);c[r>>2]=73927;sr(a,74539,r);c[s>>2]=73927;sr(a,74590,s);c[t>>2]=73927;sr(a,74652,t);c[u>>2]=73927;sr(a,74762,u);c[v>>2]=73927;sr(a,74853,v);c[w>>2]=73927;sr(a,74907,w);c[x>>2]=73927;sr(a,74976,x);sr(a,75012,y);c[z>>2]=73927;sr(a,75137,z);c[A>>2]=73927;sr(a,75166,A);sr(a,75206,C);c[E>>2]=73927;sr(a,75299,E);c[F>>2]=73927;sr(a,75358,F);c[G>>2]=73927;sr(a,75439,G);sr(a,75509,H);c[I>>2]=73927;sr(a,75598,I);c[J>>2]=73927;sr(a,75703,J);c[K>>2]=73927;sr(a,75779,K);c[L>>2]=73927;sr(a,75818,L);c[M>>2]=73927;sr(a,75917,M);c[N>>2]=73927;sr(a,75963,N);sr(a,76052,O);c[P>>2]=73927;sr(a,76093,P);c[Q>>2]=73927;sr(a,76176,Q);c[R>>2]=73927;sr(a,76277,R);h[T>>3]=e;h[T+8>>3]=d;sr(a,76341,T);sr(a,76369,U);sr(a,76377,V);l=W;return}function ff(a){a=a|0;var b=0;b=l;l=l+16|0;sr(a,74107,b);l=b;return}function gf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+24|0;p=r+8|0;o=r;switch(a[e+48>>0]|0){case 108:{k=d;i=+h[e+32>>3];j=+h[d>>3];break}case 114:{i=+h[e+32>>3];g=i;f=5;break}default:{i=+h[e+32>>3];g=i*.5;f=5}}if((f|0)==5){j=+h[d>>3]-g;h[d>>3]=j;k=d}m=e+4|0;f=c[m>>2]|0;g=+h[f+16>>3];d=d+8|0;n=+h[d>>3]+g*.004629629629629629;h[d>>3]=n;i=j+i*.006944444444444444;h[k>>3]=i;f=c[f>>2]|0;do if(f){d=c[41916]|0;if(d|0?(xJ(d,f)|0)==0:0)break;c[o>>2]=pf(f)|0;sr(b,74006,o);o=c[m>>2]|0;c[41916]=c[o>>2];g=+h[o+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[41917]|0)){j=+h[16877];c[p>>2]=f;h[p+8>>3]=j;sr(b,74014,p);c[41917]=f}c[q>>2]=qf(c[e>>2]|0)|0;h[q+8>>3]=i;h[q+16>>3]=n;sr(b,74035,q);l=r;return}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*.027777777777777776;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*.027777777777777776;c[f>>2]=1;c[f+4>>2]=d|0?73948:174181;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i*.013888888888888888;h[f+32>>3]=g*.013888888888888888;sr(a,73954,f);l=e;return}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;nf(c[a+16>>2]|0,e+8|0,e);of(a,b,d,1);l=e;return}function kf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=ZI((d*140|0)+140|0)|0;nf(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(pL(j,73932,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;PA(o,n,3,+(f|0)*.16666666666666666,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(pL(e,73932,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;sr(a,73939,q);_I(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;sr(a,73944,s);e=e+1|0}mr(a,134901)|0;l=t;return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;nf(c[a+16>>2]|0,e+8|0,e);of(a,b,d,0);l=e;return}function mf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=73927;c[e+4>>2]=b;sr(a,73920,e);l=d;return}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sr(a,73932,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sr(a,73932,i)}mr(a,134901)|0;l=j;return}function pf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15756;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(xJ(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=74088;c[f+4>>2]=b;_l(1,74062,f)|0;d=HL(b,45)|0;if(!d){d=74105;break}a[d>>0]=0}l=h;return d|0}function qf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[41918]|0;if(!d){c[41919]=64;d=ZI(64)|0;c[41918]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[41919]|0;if((e|0)>(b+-8|0)){d=b<<1;c[41919]=d;d=aJ(c[41918]|0,d)|0;c[41918]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;pL(d+1|0,74057,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[41918]|0}function rf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=74088;c[b+4>>2]=76485;_l(0,76467,b)|0;l=a;return}function sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;sr(a,77065,j);i=(+h[d>>3]+ +h[d+16>>3])*.5;g=(+h[d+8>>3]+ +h[d+24>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;sr(a,77107,f);l=e;return}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;sr(a,77152,f);mr(a,77244)|0;l=e;return}function uf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function vf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)ma(96061,77249,212,77268);if(!b)ma(96091,77249,213,77268);p=b+8|0;if(!(c[p>>2]|0))ma(96094,77249,214,77268);if(c[b+52>>2]|0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){sr(a,77289,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;sr(a,77292,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;sr(a,77292,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;sr(a,77299,n)}sr(a,77289,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;sr(a,77292,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;sr(a,77292,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;sr(a,77314,s)}l=t;return}function wf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+112|0;n=o+24|0;m=o+16|0;k=o;i=o+28|0;if(!b)ma(96061,77249,153,77330);if(!d)ma(96091,77249,154,77330);if(!(c[d+8>>2]|0))ma(96094,77249,155,77330);j=d+52|0;if(c[j>>2]|0){f=d+60|0;g=c[f>>2]|0;if((g|0)==84)g=18;else{gb[g&127](d);c[j>>2]=0;c[f>>2]=0;c[d+56>>2]=0;g=10}}else g=10;do if((g|0)==10){if(!((Mr(d)|0)<<24>>24))break;f=zN(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){_L(f,i)|0;i=c[i+36>>2]|0;c[d+56>>2]=i;f=pJ(0,i,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[d+60>>2]=84;Nr(d);if(c[j>>2]|0)g=18}while(0);if((g|0)==18){p=+h[e+8>>3]-+(c[d+36>>2]|0);h[k>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[k+8>>3]=p;sr(b,77348,k);if(!(a[d+16>>0]|0)){c[m>>2]=c[d+12>>2];sr(b,77379,m)}else fy(b,d);sr(b,77394,n)}l=o;return}function xf(a){a=a|0;nJ(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)ma(96061,77249,121,77404);e=c[a+16>>2]|0;if(!e)ma(84921,77249,123,77404);if(!b)ma(96091,77249,124,77404);d=b+8|0;if(!(c[d>>2]|0))ma(96094,77249,125,77404);if(!(c[e+8>>2]|0))ma(123690,77249,128,77404);else{sr(a,77424,g);sr(a,77433,g+8|0);sr(a,77460,g+16|0);sr(a,77485,g+24|0);sr(a,77514,g+32|0);sr(a,77542,g+40|0);c[f>>2]=c[d>>2];sr(a,77549,f);sr(a,77588,g+56|0);sr(a,95830,g+64|0);l=g;return}}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)ma(96061,77249,97,77593);if(!b)ma(96091,77249,98,77593);e=c[b+8>>2]|0;if(!e)ma(96094,77249,99,77593);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;sr(a,77612,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;sr(a,77670,g);l=i;return}}function Af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;o=l;l=l+96|0;n=o+56|0;m=o+32|0;k=o;i=+h[d>>3];j=+h[d+16>>3]-i;f=+h[d+24>>3];g=f-+h[d+8>>3];if(!a)ma(96061,77249,53,77702);if(!b)ma(96091,77249,54,77702);e=b+8|0;if(!(c[e>>2]|0))ma(96094,77249,55,77702);mr(a,77721)|0;mr(a,c[e>>2]|0)|0;e=a+360|0;f=-f;if(!(c[e>>2]|0)){h[n>>3]=j;h[n+8>>3]=g;h[n+16>>3]=i;h[n+24>>3]=f;sr(a,77850,n)}else{h[k>>3]=g;h[k+8>>3]=j;h[k+16>>3]=i;h[k+24>>3]=f;sr(a,77741,k);c[m>>2]=c[e>>2];h[m+8>>3]=i;h[m+16>>3]=f;sr(a,77820,m)}mr(a,77929)|0;l=o;return}function Bf(a){a=a|0;var b=0,c=0;b=co(a)|0;while(1){if(!b)break;Cf(b);b=eo(a,b)|0}c=co(a)|0;while(1){if(!c)break;b=Pm(a,c)|0;while(1){if(!b)break;Df(b);b=Rm(a,b)|0}c=eo(a,c)|0}return}function Cf(a){a=a|0;var b=0,d=0;No(a,122241,304,1)|0;WA(a);KB(a,c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=vw(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=vw(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=vw(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=vw(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=vw(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Df(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;No(d,122254,176,1)|0;XA(d)|0;h=DA(d,c[42218]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=FA(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[42212]|0,174181)|0;i=FA(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[42212]|0,174181)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(zk(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(DA(d,c[42231]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(DA(d,c[42219]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Ef(a){a=a|0;var b=0,d=0;Ff(c[(c[a+16>>2]|0)+192>>2]|0);d=co(a)|0;while(1){if(!d)break;b=Pm(a,d)|0;while(1){if(!b)break;rB(b);b=Rm(a,b)|0}Gf(d);d=eo(a,d)|0}Hf(a);return}function Ff(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;If(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){_I(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){_I(e);d=c[f>>2]|0}_I(d);_I(b);b=g}return}function Gf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){_I(d);b=c[e>>2]|0}ow(c[b+104>>2]|0);ow(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)gb[c[(c[b+4>>2]|0)+4>>2]&127](a);Po(a,122241)|0;return}function Hf(a){a=a|0;var d=0,e=0,f=0;d=Jp(a)|0;while(1){if(!d)break;Hf(d);d=Kp(d)|0}if(No(a,122277,0,1)|0){f=a+16|0;d=c[f>>2]|0;e=c[d+184>>2]|0;if(e){_I(e);d=c[f>>2]|0}e=c[d+268>>2]|0;if(e){_I(e);d=c[f>>2]|0}e=c[d+216>>2]|0;if(e){_I(e);d=c[f>>2]|0}do if(c[d+196>>2]|0){e=b[d+236>>1]|0;while(1){if((e|0)>(b[d+238>>1]|0))break;_I(c[(c[d+196>>2]|0)+(e<<6)+12>>2]|0);e=e+1|0;d=c[f>>2]|0}e=c[d+196>>2]|0;if((b[d+236>>1]|0)==-1){_I(e+-64|0);break}else{_I(e);break}}while(0);if((so(a)|0)!=(a|0)){ow(c[(c[f>>2]|0)+12>>2]|0);Po(a,122277)|0}}return}function If(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;Xg(b);_I(c[b+16>>2]|0);_I(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;Xg(b);_I(c[b+16>>2]|0);_I(b);b=a}return}function Jf(a){a=a|0;if(mn(a)|0)Kf(a);$x(a);return}function Kf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=et(a,-1,8)|0;d=ft(a,0,f)|0;dt(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)Lf(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=Bs(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){Lf(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){Lf(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;Mf(b,a);Lf(b);d=d+1|0;b=c[g>>2]|0}Nf(a);ct(c[g>>2]|0,e,a,f)|0;Of(a);Pf(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;_I(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);Hf(c[f>>2]|0);qo(a,c[f>>2]|0)|0;b=b+1|0}_I(e)}l=h;return}function Lf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=DA(a,ym(a,0,77944,0)|0,-1,1)|0;IB(a,10);d=yk(a,e)|0;Rf(a,a);Bf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){kj(a,d);if(f){d=3;break}if(c[g>>2]|0){_l(0,77950,k)|0;c[e>>2]=0;d=0}uh(a,(d|0)!=0&1);if(h){d=7;break}xi(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)Sf(a,1);else if((d|0)==7)Sf(a,2);else if((d|0)==9)Sf(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)Tf(a);ek(a);Xf(a);if((IA(Im(a,78041)|0)|0)<<24>>24)_k(a)}l=m;return}function Mf(b,d){b=b|0;d=d|0;var e=0,f=0;No(b,122277,280,1)|0;e=vw(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function Nf(a){a=a|0;var b=0,d=0,e=0;b=vw((mn(a)|0)<<4)|0;d=co(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]*.013888888888888888;h[b+8>>3]=+h[e+24>>3]*.013888888888888888;b=b+16|0;d=eo(a,d)|0}return}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(co(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=co(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=eo(a,d)|0}_I(e);return}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=vw((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=As(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;Qf(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function Qf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;No(d,122277,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>2]|0)+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=vw((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=As(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;Qf(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function Rf(a,b){a=a|0;b=b|0;if((so(a)|0)!=(a|0))No(a,122277,280,1)|0;if((a|0)==(b|0))c[(c[(so(a)|0)+16>>2]|0)+188>>2]=a;a=Jp(a)|0;while(1){if(!a)break;Rf(a,b);a=Kp(a)|0}return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=ym(a,1,80018,174181)|0;g=ym(a,1,78084,174181)|0;h=(b|0)>0;d=(b|0)==1;b=co(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],pL(e,122187,j)|0,Cm(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];pL(e,122187,k)|0;Cm(b,g,e)|0}b=eo(a,b)|0}l=m;return}function Tf(a){a=a|0;var b=0,c=0,d=0;c=Ip(a,79522,0)|0;if(c|0){b=co(c)|0;while(1){if(!b)break;d=eo(c,b)|0;dh(a,b);Uf(a,b);Gf(b);po(a,b)|0;b=d}Mp(a,c)|0}return}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)ma(78050,78057,248,78067);return}function Vf(a){a=a|0;return c[(c[(so(a)|0)+16>>2]|0)+188>>2]|0}function Wf(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function Xf(a){a=a|0;Yf(a,1);return}function Yf(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0;Z=l;l=l+656|0;O=Z+592|0;N=Z+552|0;f=Z+544|0;T=Z+96|0;U=Z;Y=Z+632|0;V=d+16|0;X=b[(c[V>>2]|0)+136>>1]&14;P=X&65535;Q=T+16|0;c[Q>>2]=Z+368;R=U+16|0;c[R>>2]=Z+192;do if(X<<16>>16){S=X<<16>>16==4;do if(S){Zf(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1))A=9;else{_l(0,78090,f)|0;A=9}}else if(X<<16>>16==8){Zf(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)){LB(d,0);n=0;m=0;k=0;break}else{_f(d);LB(d,1);n=0;m=0;k=0;break}}else A=9;while(0);if((A|0)==9){Yk(d);if(ly()|0)break;W=vw(96)|0;K=c[(c[V>>2]|0)+248>>2]|0;c[Y+8>>2]=(K|0)/4|0;c[Y+12>>2]=K;k=vw(512)|0;F=Y+4|0;c[F>>2]=0;c[Y>>2]=0;j=c[V>>2]|0;C=b[j+236>>1]|0;D=0;L=0;M=k;E=k;m=k;n=k;o=k;H=0;I=0;a:while(1){if((C|0)>(b[j+238>>1]|0))break;p=c[j+196>>2]|0;i=c[p+(C<<6)>>2]|0;G=i+D|0;g=c[p+(C<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=H;else{_=+(H|0);f=c[f+16>>2]|0;y=+h[f+16>>3]-+h[f+88>>3];f=~~(y>_?_:y)}if((i|0)!=0?(J=c[g+(i+-1<<2)>>2]|0,(J|0)!=0):0){y=+(I|0);g=c[J+16>>2]|0;_=+h[g+96>>3]+ +h[g+16>>3];g=~~(_<y?y:_)}else g=I;B=f+-16|0;z=g+16|0;x=0;t=L;r=M;q=j;u=E;v=m;g=k;f=p;while(1){if((x|0)>=(i|0))break;k=c[(c[f+(C<<6)+4>>2]|0)+(x<<2)>>2]|0;w=k+16|0;f=c[w>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){A=21;break a}s=j+56|0;f=f+16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[w>>2]|0}if((a[f+156>>0]|0)!=0?($a[c[17228>>2]&31](k)|0)<<24>>24==0:0){q=t;f=r;j=u;k=v;i=o}else{s=0;q=t;j=u;k=v;A=25}b:do if((A|0)==25){while(1){A=0;p=c[w>>2]|0;i=c[(c[p+180>>2]|0)+(s<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=q;i=r;break}default:{$f(i,1,16,64);f=q+1|0;c[r+(q<<2)>>2]=i;if(!(f&127)){g=yw(g,(q<<2)+516|0)|0;i=g;j=g;k=g;n=g;o=g}else i=r}}s=s+1|0;q=f;r=i;A=25}f=c[p+188>>2]|0;c:do if(!f)i=o;else{s=0;i=o;while(1){f=c[f+(s<<2)>>2]|0;if(!f)break c;$f(f,2,0,128);o=q+1|0;c[r+(q<<2)>>2]=f;if(!(o&127)){g=yw(i,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=r;p=c[w>>2]|0;s=s+1|0;q=o;r=f;f=c[p+188>>2]|0}}while(0);f=c[p+204>>2]|0;if(!f)f=r;else{if(!(a[p+156>>0]|0)){v=p+96|0;_=+h[v>>3];s=p+240|0;h[v>>3]=+h[s>>3];h[s>>3]=_;s=0;p=r}else{s=0;p=r}while(1){f=c[f+(s<<2)>>2]|0;if(!f){f=p;break b}$f(f,0,0,128);o=q+1|0;c[p+(q<<2)>>2]=f;if(!(o&127)){g=yw(n,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=p;s=s+1|0;q=o;p=f;f=c[(c[w>>2]|0)+204>>2]|0}}}while(0);u=c[V>>2]|0;w=c[u+196>>2]|0;x=x+1|0;t=q;r=f;q=u;u=j;v=k;o=i;i=c[w+(C<<6)>>2]|0;f=w}C=C+1|0;D=G;L=t;M=r;E=u;j=q;m=v;k=g;H=B;I=z}if((A|0)==21)ma(78158,78171,313,78184);c[Y>>2]=H;c[F>>2]=I;rL(E,L,4,10);c[W+84>>2]=vw((D<<5)+11520|0)|0;c[Y+16>>2]=vw(C<<5)|0;d:do if(X<<16>>16==2){f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){bg(g);f=c[i>>2]|0}f=f+164|0}}while(0);z=U+48|0;A=U+-48|0;B=T+48|0;C=T+-48|0;y=+(K|0);x=0;e:while(1){if((x|0)>=(L|0))break;v=M+(x<<2)|0;r=c[v>>2]|0;s=cg(r)|0;t=r+16|0;g=c[t>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:r;f=g;g=c[g+16>>2]|0}else f=r;i=f+16|0;if(c[g+164>>2]&32){g=c[Q>>2]|0;TN(g|0,c[i>>2]|0,176)|0;n=T;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[Q>>2]=g;o=c[f>>2]&3;n=c[T>>2]&3;c[((n|0)==3?T:B)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?T:C)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f;f=T}q=f+16|0;w=1;f=x;while(1){u=f+1|0;if((u|0)>=(L|0))break;j=M+(u<<2)|0;f=c[j>>2]|0;if((s|0)!=(cg(f)|0))break;if(!(a[(c[t>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;TN(g|0,c[i>>2]|0,176)|0;n=U;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[R>>2]=g;o=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:z)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:A)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f}i=c[q>>2]|0;f=g+16|0;n=N;o=i+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(Wf(N,O)|0)break;f=g+56|0;n=N;o=i+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(Wf(N,O)|0)break;K=c[t>>2]|0;if((c[K+164>>2]&15|0)==2?(c[K+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}w=w+1|0;f=u}if(S){if((w|0)==1)f=O;else f=vw(w<<2)|0;c[f>>2]=cg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(w|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}uy(d,f,w,P,17224);if((w|0)>1)_I(f);x=u;continue}f=c[r>>2]&3;K=c[((f|0)==3?r:r+48|0)+40>>2]|0;f=c[((f|0)==2?r:r+-48|0)+40>>2]|0;g=c[K+16>>2]|0;i=c[g+232>>2]|0;if((K|0)!=(f|0))if((i|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){dg(d,Y,W,M,x,w,P);x=u;continue}else{eg(d,Y,W,M,x,w,P);x=u;continue}f=c[V>>2]|0;do if((i|0)==(b[f+238>>1]|0))if((i|0)>0){f=~~(+h[(c[(c[c[(c[f+196>>2]|0)+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[g+24>>3]);break}else{f=~~+h[g+80>>3];break}else if((i|0)==(b[f+236>>1]|0)){f=~~(+h[g+24>>3]-+h[(c[(c[c[(c[f+196>>2]|0)+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{f=c[f+196>>2]|0;_=+h[g+24>>3];K=~~(+h[(c[(c[c[f+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-_);f=~~(_-+h[(c[(c[c[f+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);f=(K|0)<(f|0)?K:f;break}while(0);Rz(W,M,x,w,y,+((f|0)/2|0|0),17224);f=0;while(1){if((f|0)>=(w|0)){x=u;continue e}g=c[(c[(c[M+(f+x<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)bB(d,g);f=f+1|0}}f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){bg(g);bB(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=W;k=W}else{fg(d);n=W;k=W}}f:do if((c[42241]|0)!=0|(c[42242]|0)!=0?(c[42247]|0)!=0|(c[42246]|0)!=0:0){j=co(d)|0;while(1){if(!j)break f;g:do if(c[42241]|0){f=Sm(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){Zz(i,1)|0;bB(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=Tm(d,f)|0}}while(0);h:do if(c[42242]|0){f=Pm(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?Zz(f,0)|0:0)bB(d,c[(c[g>>2]|0)+104>>2]|0);f=Rm(d,f)|0}}while(0);j=eo(d,j)|0}}while(0);switch(X&15){case 4:case 8:break;default:{_I(m);_I(c[n+84>>2]|0);_I(k);_I(c[Y+16>>2]|0);my()}}c[42181]=1;c[42182]=1}while(0);l=Z;return}function Zf(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=co(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=eo(a,b)|0}return}function _f(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;bg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];a[e+81>>0]=1;d=e}bB(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)ma(78358,78171,234,78377);else if((d|0)==12)return}function $f(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:b+48|0)+40>>2]|0;g=c[((g|0)==2?b:b+-48|0)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[b+16>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[b+16>>2]|0)+164>>2]=d|f|e;return}function ag(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+624|0;z=D+584|0;y=D+544|0;s=D+368|0;e=D+192|0;t=D+96|0;v=D;u=t+16|0;c[u>>2]=s;w=v+16|0;c[w>>2]=e;C=c[b>>2]|0;B=c[d>>2]|0;x=C+16|0;q=c[x>>2]|0;d=c[q+164>>2]|0;f=d&15;A=B+16|0;b=c[A>>2]|0;g=c[b+164>>2]&15;do if((g|0)==(f|0)){p=cg(C)|0;r=cg(B)|0;n=c[p>>2]|0;g=n&3;f=c[(c[((g|0)==3?p:p+48|0)+40>>2]|0)+16>>2]|0;g=c[(c[((g|0)==2?p:p+-48|0)+40>>2]|0)+16>>2]|0;i=(c[f+232>>2]|0)-(c[g+232>>2]|0)|0;o=c[r>>2]|0;m=o&3;k=c[(c[((m|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0;m=c[(c[((m|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0;j=(c[k+232>>2]|0)-(c[m+232>>2]|0)|0;i=(i|0)>-1?i:0-i|0;j=(j|0)>-1?j:0-j|0;if((i|0)!=(j|0)){b=i-j|0;break}g=~~(+h[f+16>>3]-+h[g+16>>3]);g=(g|0)>-1?g:0-g|0;f=~~(+h[k+16>>3]-+h[m+16>>3]);f=(f|0)>-1?f:0-f|0;if((g|0)!=(f|0)){b=g-f|0;break}g=n>>>4;f=o>>>4;if((g|0)!=(f|0)){b=g-f|0;break}if(!(a[q+44>>0]|0)){d=(a[q+84>>0]|0)==0?p:C;g=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else g=C;f=g+16|0;if(d&32){TN(s|0,c[f>>2]|0,176)|0;i=t;j=g;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[u>>2]=s;j=c[g>>2]&3;i=c[t>>2]&3;c[((i|0)==3?t:t+48|0)+40>>2]=c[((j|0)==2?g:g+-48|0)+40>>2];c[((i|0)==2?t:t+-48|0)+40>>2]=c[((j|0)==3?g:g+48|0)+40>>2];i=s+16|0;j=(c[f>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=s+56|0;j=(c[f>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[s+112>>0]=1;c[s+116>>2]=g;g=t;b=c[A>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?r:B;f=b;b=c[b+16>>2]|0}else f=B;d=f+16|0;if(!(c[b+164>>2]&32))e=b;else{TN(e|0,c[d>>2]|0,176)|0;i=v;j=f;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[w>>2]=e;j=c[f>>2]&3;i=c[v>>2]&3;c[((i|0)==3?v:v+48|0)+40>>2]=c[((j|0)==2?f:f+-48|0)+40>>2];c[((i|0)==2?v:v+-48|0)+40>>2]=c[((j|0)==3?f:f+48|0)+40>>2];i=e+16|0;j=(c[d>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=e+56|0;j=(c[d>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[e+112>>0]=1;c[e+116>>2]=f}d=c[g+16>>2]|0;b=e+16|0;i=y;j=d+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=Wf(y,z)|0;if(!b){b=e+56|0;i=y;j=d+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=Wf(y,z)|0;if(!b){d=c[(c[x>>2]|0)+164>>2]&192;b=c[(c[A>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[C>>2]|0)>>>4)-((c[B>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=g-f|0;while(0);l=D;return b|0}function bg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=(e?i:g)*.5+ +h[b+16>>3];h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function cg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function dg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;s=B+1488|0;t=B+1392|0;A=B+1696|0;y=B+696|0;z=B;p=t+16|0;c[p>>2]=s;q=c[f+(g<<2)>>2]|0;r=q+16|0;k=c[r>>2]|0;u=a[k+113>>0]|0;if(c[k+164>>2]&32){TN(s|0,k|0,176)|0;k=t;n=q;o=k+48|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));c[p>>2]=s;k=c[t>>2]&3;c[((k|0)==3?t:t+48|0)+40>>2]=c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2];c[((k|0)==2?t:t+-48|0)+40>>2]=c[((c[q>>2]&3|0)==3?q:q+48|0)+40>>2];k=s+16|0;n=(c[r>>2]|0)+56|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));k=s+56|0;n=(c[r>>2]|0)+16|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));a[s+112>>0]=1;c[s+116>>2]=q;q=t}k=1;while(1){if((k|0)>=(i|0)){w=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{w=7;break}}a:do if((w|0)==6)if(!(u<<24>>24)){k=c[q+16>>2]|0;if(c[k+96>>2]|0){Dg(b,d,e,q,j);break}if((j|0)==2){A=c[q>>2]&3;Eg(c[((A|0)==3?q:q+48|0)+40>>2]|0,c[((A|0)==2?q:q+-48|0)+40>>2]|0,f,g,i,2);break}t=a[k+49>>0]|0;u=a[k+89>>0]|0;if(!(t<<24>>24==1&u<<24>>24!=4)?!(t<<24>>24!=4&u<<24>>24==1):0){p=c[q>>2]&3;o=c[((p|0)==3?q:q+48|0)+40>>2]|0;p=c[((p|0)==2?q:q+-48|0)+40>>2]|0;k=c[o+16>>2]|0;n=c[k+232>>2]|0;if((n|0)>0){u=c[(c[b+16>>2]|0)+196>>2]|0;t=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[u+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[u+(t<<6)+16>>3]-+h[k+24>>3]-+h[u+(n<<6)+24>>3]}else m=+(c[(c[b+16>>2]|0)+252>>2]|0);C=+(i+1|0);v=+(c[d+12>>2]|0)/C;m=m/C;Gg(b,d,e,o,q,y,1);Gg(b,d,e,p,q,z,0);s=y+52|0;t=z+52|0;p=(j|0)==10;q=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;r=c[f+(k+g<<2)>>2]|0;o=c[s>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];E=+h[y+56+(n<<5)+24>>3];h[16878]=G;h[16879]=E;k=k+1|0;C=+(k|0);D=v*C;h[16880]=F+D;C=E+m*C;h[16881]=C;h[16882]=G;h[16883]=C;n=(c[t>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[16884]=G;h[16885]=C+m;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[16888]=G;h[16887]=F;h[16886]=E-D;h[16889]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];Lz(e,x);n=n+1|0;o=c[s>>2]|0}while(1){if((n|0)==3)break;j=135024+(n<<5)|0;c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];c[x+16>>2]=c[j+16>>2];c[x+20>>2]=c[j+20>>2];c[x+24>>2]=c[j+24>>2];c[x+28>>2]=c[j+28>>2];Lz(e,x);n=n+1|0}o=c[t>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];Lz(e,x);o=n}if(p)n=ny(e,A)|0;else n=ty(e,A)|0;o=c[A>>2]|0;if(!o)break a;Jz(r,c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,n,o,17224);c[q>>2]=0}}Fg(b,d,e,f,g,i,q,(j|0)==10&1)}else w=7;while(0);if((w|0)==7)Cg(b,f,g,i,q,j);l=B;return}function eg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ba=l;l=l+2576|0;S=ba+2528|0;_=ba+2568|0;k=ba+2352|0;n=ba+2176|0;t=ba+1904|0;Y=ba+1808|0;$=ba+1712|0;T=ba+1016|0;U=ba+320|0;V=ba+256|0;X=ba+2564|0;Z=ba+2560|0;z=ba+288|0;A=ba+224|0;L=ba+192|0;M=ba+160|0;N=ba+128|0;P=ba+96|0;Q=ba+64|0;R=ba+32|0;W=ba;s=t+16|0;c[s>>2]=k;o=Y+16|0;c[o>>2]=n;aa=$+16|0;c[aa>>2]=ba+2e3;if(!(c[41920]|0)){c[41920]=ww(32e3)|0;c[41921]=ww(32e3)|0;c[41922]=2e3;c[41923]=2e3}u=c[f+(g<<2)>>2]|0;K=c[u>>2]&3;p=u+48|0;q=u+-48|0;K=(c[(c[(c[((K|0)==3?u:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?u:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;r=u+16|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){K=u;n=0}else{n=c[s>>2]|0;TN(n|0,k|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=n;w=c[t>>2]&3;c[((w|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?t:t+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[s>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;n=0;J=12}}else{TN(k|0,c[r>>2]|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));w=t+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){TN(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=Y+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}else{n=c[o>>2]|0;TN(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;w=c[Y>>2]&3;c[((w|0)==3?Y:Y+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?Y:Y+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[o>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=u;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];w=(c[s>>2]|0)+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}k=cg(u)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?t:t+-48|0)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[s>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;J=12}if((J|0)==12){c[k+116>>2]=u;K=t}H=(j|0)==2;if(H?(v=ig(b,K,c[41920]|0,_)|0,c[Z>>2]=v,(v|0)!=0):0)J=63;else J=15;a:do if((J|0)==15){G=(j|0)==10;c[Z>>2]=0;o=c[K>>2]&3;k=c[((o|0)==3?K:K+48|0)+40>>2]|0;o=c[((o|0)==2?K:K+-48|0)+40>>2]|0;c[_>>2]=o;jg(z,b,d,k,0,K);c[T>>2]=c[z>>2];c[T+4>>2]=c[z+4>>2];c[T+8>>2]=c[z+8>>2];c[T+12>>2]=c[z+12>>2];c[T+16>>2]=c[z+16>>2];c[T+20>>2]=c[z+20>>2];c[T+24>>2]=c[z+24>>2];c[T+28>>2]=c[z+28>>2];c[V>>2]=c[z>>2];c[V+4>>2]=c[z+4>>2];c[V+8>>2]=c[z+8>>2];c[V+12>>2]=c[z+12>>2];c[V+16>>2]=c[z+16>>2];c[V+20>>2]=c[z+20>>2];Mz(e,K,1,T,kg(k)|0);B=T+52|0;I=(c[B>>2]|0)+-1|0;D=V+24|0;h[D>>3]=+h[T+56+(I<<5)+24>>3];E=V+8|0;h[E>>3]=+h[T+56+(I<<5)+8>>3];I=c[k+16>>2]|0;F=b+16|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];lg(A,S,1,m);c[V>>2]=c[A>>2];c[V+4>>2]=c[A+4>>2];c[V+8>>2]=c[A+8>>2];c[V+12>>2]=c[A+12>>2];c[V+16>>2]=c[A+16>>2];c[V+20>>2]=c[A+20>>2];c[V+24>>2]=c[A+24>>2];c[V+28>>2]=c[A+28>>2];A=V+16|0;if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){I=c[B>>2]|0;c[B>>2]=I+1;I=T+56+(I<<5)|0;c[I>>2]=c[V>>2];c[I+4>>2]=c[V+4>>2];c[I+8>>2]=c[V+8>>2];c[I+12>>2]=c[V+12>>2];c[I+16>>2]=c[V+16>>2];c[I+20>>2]=c[V+20>>2];c[I+24>>2]=c[V+24>>2];c[I+28>>2]=c[V+28>>2]}w=b+60|0;C=U+52|0;x=e+56|0;y=e+69|0;j=e+16|0;z=e+29|0;I=K;q=0;r=-1;b:while(1){s=k;t=0;k=0;u=I;while(1){p=o;v=o;if((a[(c[p+16>>2]|0)+156>>0]|0)!=1)break b;if(($a[c[17228>>2]&31](p)|0)<<24>>24)break b;o=t|1;ca=135024+(t<<5)|0;mg(L,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[ca>>2]=c[L>>2];c[ca+4>>2]=c[L+4>>2];c[ca+8>>2]=c[L+8>>2];c[ca+12>>2]=c[L+12>>2];c[ca+16>>2]=c[L+16>>2];c[ca+20>>2]=c[L+20>>2];c[ca+24>>2]=c[L+24>>2];c[ca+28>>2]=c[L+28>>2];if(!k){q=ng(p)|0;k=(q|0)<((a[(c[(c[w>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=k?q:q+-2|0;r=k?r:1;k=(k^1)&1}if(!((k|0)==0|(r|0)>0))break;ca=135024+(o<<5)|0;jg(M,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[ca>>2]=c[M>>2];c[ca+4>>2]=c[M+4>>2];c[ca+8>>2]=c[M+8>>2];c[ca+12>>2]=c[M+12>>2];c[ca+16>>2]=c[M+16>>2];c[ca+20>>2]=c[M+20>>2];c[ca+24>>2]=c[M+24>>2];c[ca+28>>2]=c[M+28>>2];ca=c[c[(c[v+16>>2]|0)+180>>2]>>2]|0;o=c[ca>>2]&3;s=c[((o|0)==3?ca:ca+48|0)+40>>2]|0;o=c[((o|0)==2?ca:ca+-48|0)+40>>2]|0;c[_>>2]=o;t=t+2|0;r=r+-1|0;u=ca}jg(N,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[U>>2]=c[N>>2];c[U+4>>2]=c[N+4>>2];c[U+8>>2]=c[N+8>>2];c[U+12>>2]=c[N+12>>2];c[U+16>>2]=c[N+16>>2];c[U+20>>2]=c[N+20>>2];c[U+24>>2]=c[N+24>>2];c[U+28>>2]=c[N+28>>2];Pz(e,u,1,U,kg(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|0);ca=U+56+((c[C>>2]|0)+-1<<5)|0;t=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[t+232>>2]<<6)+24>>3]+ +h[t+24>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];lg(V,S,4,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[x>>3]=1.5707963267948966;a[y>>0]=1;og(e,I,u,T,U,o);if(!G){k=ty(e,X)|0;o=c[X>>2]|0;if(H&(o|0)>4){ca=k+16|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];ca=k+32|0;o=k+(o+-1<<4)|0;c[ca>>2]=c[o>>2];c[ca+4>>2]=c[o+4>>2];c[ca+8>>2]=c[o+8>>2];c[ca+12>>2]=c[o+12>>2];UN(k+48|0,o|0,16)|0;c[X>>2]=4;o=4}else J=33}else{k=ny(e,X)|0;o=c[X>>2]|0;J=33}if((J|0)==33){J=0;if(!o)break a}u=c[Z>>2]|0;p=u+o|0;if((p|0)>(c[41922]|0)){c[41922]=p<<1;t=yw(c[41920]|0,p<<5)|0;c[41920]=t;o=c[X>>2]|0}else t=c[41920]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;ca=t+(p<<4)|0;u=k+(s<<4)|0;c[ca>>2]=c[u>>2];c[ca+4>>2]=c[u+4>>2];c[ca+8>>2]=c[u+8>>2];c[ca+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[Z>>2]=p;o=pg(c[c[(c[v+16>>2]|0)+180>>2]>>2]|0,q,t,Z)|0;qg(I,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[_>>2]=p;I=k+16|0;jg(P,b,d,k,c[c[(c[I>>2]|0)+172>>2]>>2]|0,o);c[T>>2]=c[P>>2];c[T+4>>2]=c[P+4>>2];c[T+8>>2]=c[P+8>>2];c[T+12>>2]=c[P+12>>2];c[T+16>>2]=c[P+16>>2];c[T+20>>2]=c[P+20>>2];c[T+24>>2]=c[P+24>>2];c[T+28>>2]=c[P+28>>2];Mz(e,o,1,T,kg(k)|0);ca=T+56+((c[B>>2]|0)+-1<<5)|0;I=c[I>>2]|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];lg(V,S,1,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[B>>2]|0;c[B>>2]=ca+1;ca=T+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[j>>3]=-1.5707963267948966;a[z>>0]=1;I=o;o=p}k=t|1;r=135024+(t<<5)|0;mg(Q,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[r>>2]=c[Q>>2];c[r+4>>2]=c[Q+4>>2];c[r+8>>2]=c[Q+8>>2];c[r+12>>2]=c[Q+12>>2];c[r+16>>2]=c[Q+16>>2];c[r+20>>2]=c[Q+20>>2];c[r+24>>2]=c[Q+24>>2];c[r+28>>2]=c[Q+28>>2];jg(R,b,d,p,u,0);c[U>>2]=c[R>>2];c[U+4>>2]=c[R+4>>2];c[U+8>>2]=c[R+8>>2];c[U+12>>2]=c[R+12>>2];c[U+16>>2]=c[R+16>>2];c[U+20>>2]=c[R+20>>2];c[U+24>>2]=c[R+24>>2];c[U+28>>2]=c[R+28>>2];c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];r=(n|0)!=0;s=u+-48|0;Pz(e,r?Y:u,1,U,kg(c[((c[u>>2]&3|0)==2?u:s)+40>>2]|0)|0);ca=(c[C>>2]|0)+-1|0;h[D>>3]=+h[U+56+(ca<<5)+24>>3];h[E>>3]=+h[U+56+(ca<<5)+8>>3];ca=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[ca+232>>2]<<6)+24>>3]+ +h[ca+24>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];lg(W,S,4,m);c[V>>2]=c[W>>2];c[V+4>>2]=c[W+4>>2];c[V+8>>2]=c[W+8>>2];c[V+12>>2]=c[W+12>>2];c[V+16>>2]=c[W+16>>2];c[V+20>>2]=c[W+20>>2];c[V+24>>2]=c[W+24>>2];c[V+28>>2]=c[W+28>>2];if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}og(e,I,u,T,U,k);if(G)q=ny(e,X)|0;else q=ty(e,X)|0;k=c[X>>2]|0;if(!(H&(k|0)>4)){if(!k)break}else{ca=q+16|0;c[ca>>2]=c[q>>2];c[ca+4>>2]=c[q+4>>2];c[ca+8>>2]=c[q+8>>2];c[ca+12>>2]=c[q+12>>2];ca=q+32|0;k=q+(k+-1<<4)|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];UN(q+48|0,k|0,16)|0;c[X>>2]=4;k=4}o=c[Z>>2]|0;n=o+k|0;if((n|0)>(c[41922]|0)){c[41922]=n<<1;p=yw(c[41920]|0,n<<5)|0;c[41920]=p;k=c[X>>2]|0}else p=c[41920]|0;n=0;while(1){if((n|0)>=(k|0))break;ca=p+(o<<4)|0;X=q+(n<<4)|0;c[ca>>2]=c[X>>2];c[ca+4>>2]=c[X+4>>2];c[ca+8>>2]=c[X+8>>2];c[ca+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[Z>>2]=o;qg(I,e);if(r)k=(c[Y>>2]&3|0)==2?Y:Y+-48|0;else k=(c[u>>2]&3|0)==2?u:s;c[_>>2]=c[k+40>>2];v=o;J=63}while(0);c:do if((J|0)==63){if((i|0)==1){Jz(K,c[_>>2]|0,c[41920]|0,v,17224);break}t=d+12|0;u=v+-1|0;m=+((O(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[41920]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=n+(k<<4)|0;h[ca>>3]=+h[ca>>3]-m;k=k+1|0}k=c[41922]|0;if((k|0)>(c[41923]|0)){c[41923]=k;o=yw(c[41921]|0,k<<4)|0;c[41921]=o;n=c[41920]|0}else o=c[41921]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=o+(k<<4)|0;d=n+(k<<4)|0;c[ca>>2]=c[d>>2];c[ca+4>>2]=c[d+4>>2];c[ca+8>>2]=c[d+8>>2];c[ca+12>>2]=c[d+12>>2];k=k+1|0}Jz(K,c[_>>2]|0,o,v,17224);r=$+48|0;s=$+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[aa>>2]|0;TN(n|0,k|0,176)|0;w=$;x=o;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[aa>>2]=n;w=c[$>>2]&3;c[((w|0)==3?$:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((w|0)==2?$:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];w=n+16|0;x=(c[p>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[aa>>2]|0;w=k+56|0;x=(c[p>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=o;o=$}p=c[41920]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=p+(k<<4)|0;h[ca>>3]=+h[ca>>3]+ +(c[t>>2]|0);k=k+1|0}n=c[41921]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=n+(k<<4)|0;_=p+(k<<4)|0;c[ca>>2]=c[_>>2];c[ca+4>>2]=c[_+4>>2];c[ca+8>>2]=c[_+8>>2];c[ca+12>>2]=c[_+12>>2];k=k+1|0}Jz(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17224);q=q+1|0}}while(0);l=ba;return}function fg(a){a=a|0;var b=0,d=0,e=0;b=co(a)|0;while(1){if(!b)break;d=Pm(a,b)|0;while(1){if(!d)break;if(($a[c[4306]&31](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)gg(e);d=Rm(a,d)|0}b=eo(a,b)|0}return}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=ww(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}hg(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;_I(c[d+(b*48|0)>>2]|0);b=b+1|0}_I(d);c[a>>2]=g;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=ww(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function ig(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+96|0;q=x+80|0;s=x+64|0;r=x+48|0;u=x+32|0;v=x+16|0;w=x;m=d;while(1){t=m+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;m=c[g+116>>2]|0}g=c[m>>2]&3;o=c[((g|0)==2?m:m+-48|0)+40>>2]|0;g=c[((g|0)==3?m:m+48|0)+40>>2]|0;m=o+16|0;n=g+16|0;y=(c[(c[m>>2]|0)+232>>2]|0)-(c[(c[n>>2]|0)+232>>2]|0)|0;switch(((y|0)>-1?y:0-y|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=o;y=(c[n>>2]|0)+16|0;p=(c[t>>2]|0)+16|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Ag(u,s,q);p=(c[m>>2]|0)+16|0;y=(c[t>>2]|0)+56|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Ag(v,s,q)}else{c[f>>2]=g;y=(c[m>>2]|0)+16|0;p=(c[t>>2]|0)+56|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Ag(u,s,q);p=(c[n>>2]|0)+16|0;y=(c[t>>2]|0)+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Ag(v,s,q)}g=c[(c[t>>2]|0)+96>>2]|0;if(!g){g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+48|0;y=e+32|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=4;break}j=+h[g+24>>3];i=+h[g+32>>3];p=(c[(c[(ro(o)|0)+16>>2]|0)+116>>2]&1|0)==0;k=p?i:j;y=(c[(c[t>>2]|0)+96>>2]|0)+56|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];y=(Bg(r,s,q)|0)==0;i=(p?j:i)*.5;j=+h[w>>3];if(y){h[w>>3]=j-i;y=w+8|0;h[y>>3]=+h[y>>3]+k*.5}else{h[w>>3]=j+i;y=w+8|0;h[y>>3]=+h[y>>3]-k*.5}g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+32|0;y=e+48|0;u=e+64|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];g=e+80|0;y=e+96|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=7}while(0);l=x;return g|0}function jg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0;q=c[f+16>>2]|0;p=+h[q+16>>3];j=p-+h[q+88>>3];m=j+-4.0;l=wg(d,f,g,i,-1)|0;if(!l){n=~~(j+(m>=0.0?-3.5:-4.5));k=c[e>>2]|0;k=(k|0)>(n|0)?n:k}else{k=xg(d,f,l)|0;do if(!k){n=c[l+16>>2]|0;j=+h[n+240>>3]+ +h[n+16>>3];if(!(a[n+156>>0]|0)){j=+(c[(c[d+16>>2]|0)+248>>2]|0)*.5+j;break}else{j=j+ +(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+32>>3]+ +(c[e+8>>2]|0);while(0);o=j<m?j:m;k=~~(o+(o>=0.0?.5:-.5))}o=+(k|0);n=(a[q+156>>0]|0)==1;if(n?(c[q+104>>2]|0)!=0:0)m=p+10.0;else m=p+4.0+ +h[q+96>>3];l=wg(d,f,g,i,1)|0;if(!l){f=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(k|0)<(f|0)?f:k}else{k=xg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[d+16>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[e+8>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[q+104>>2]|0)!=0:0){j=j-+h[q+96>>3];if(j<o)j=p}p=+h[q+24>>3];d=c[(c[d+16>>2]|0)+196>>2]|0;q=c[q+232>>2]|0;m=p-+h[d+(q<<6)+16>>3];p=+h[d+(q<<6)+24>>3]+p;h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=p;return}function kg(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=l;l=l+32|0;f=g;switch(d|0){case 1:{vg(f,+h[b>>3],e,+h[b+16>>3],+h[b+8>>3]);break}case 4:{vg(f,+h[b>>3],+h[b+24>>3],+h[b+16>>3],e);break}default:{}}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];l=g;return}function mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[d+(o<<6)+24>>3]+ +h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function ng(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function og(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;h=sg(b,-1)|0;b=sg(b,1)|0;if(!((h|0)!=0?!(_z(h)|0):0))i=3;do if((i|0)==3){if(b|0?(_z(b)|0)==0:0)break;h=tg(d,-1)|0;b=tg(d,1)|0;if(h|0?(_z(h)|0)==0:0)break;if(b|0?(_z(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];Lz(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=135024+(b<<5)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];Lz(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];Lz(a,j);h=b}ug(a,d,i)}while(0);l=k;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<4)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];f=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return a|0}function qg(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=d+84|0;l=d+80|0;e=0;d=b;a:while(1){j=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;k=j+16|0;if((a[(c[k>>2]|0)+156>>0]|0)!=1)break;if(($a[c[17228>>2]&31](j)|0)<<24>>24)break;d=c[l>>2]|0;while(1){if((e|0)>=(d|0))break a;if(!(+h[(c[m>>2]|0)+(e<<5)+8>>3]>+h[(c[k>>2]|0)+24>>3]))break;e=e+1|0}d=c[m>>2]|0;b=c[k>>2]|0;do if(!(+h[d+(e<<5)+24>>3]<+h[b+24>>3])){g=+h[d+(e<<5)>>3];i=~~g;f=+h[d+(e<<5)+16>>3];if(!(c[b+104>>2]|0)){rg(j,i,~~((f+g)*.5),~~f);break}else{rg(j,i,~~f,~~(+h[b+96>>3]+f));break}}while(0);d=c[c[(c[k>>2]|0)+180>>2]>>2]|0}return}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;l=a+84|0;i=b+-1|0;while(1){if((i|0)>(d|0))break;f=c[l>>2]|0;j=f+(i<<5)|0;e=+h[j>>3];if(!(i-b&1)){f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e>=m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}else{f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e+16.0>m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}i=i+1|0}k=(c[a+80>>2]|0)+-1|0;g=0;while(1){if((g|0)>=(k|0))break;i=c[l>>2]|0;f=i+(g<<5)|0;j=g+1|0;a=i+(j<<5)|0;if(!((g|0)<(b|0)|(g|0)>(d|0))?(g-b&1|0)==0:0){e=+h[f>>3]+16.0;f=i+(j<<5)+16|0;if(e>+h[f>>3])h[f>>3]=e;e=+h[i+(g<<5)+16>>3]+-16.0;if(!(e<+h[a>>3])){g=j;continue}h[a>>3]=e;g=j;continue}if(!((g|0)<(d|0)&(j|0)>=(b|0))){g=j;continue}if(j-b&1|0){g=j;continue}e=+h[i+(j<<5)+16>>3];if(+h[f>>3]+16.0>e)h[f>>3]=e+-16.0;f=i+(g<<5)+16|0;e=+h[a>>3];if(!(+h[f>>3]+-16.0<e)){g=j;continue}h[f>>3]=e+16.0;g=j}return}function vg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function wg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((zg(b,d,e,f)|0)<<24>>24!=0);return b|0}function xg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(yg(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(yg(d,e)|0)==0;return (e?0:d)|0}}return d|0}function yg(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3]&1;else a=0;return a|0}function zg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return (~~((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))|0)>0|0}function Cg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=l;l=l+256|0;D=R+232|0;C=R+216|0;P=R+88|0;O=R+80|0;K=R+64|0;L=R+200|0;M=R+184|0;N=R;E=R+168|0;F=R+152|0;G=R+136|0;H=R+120|0;I=R+104|0;B=c[g>>2]&3;J=c[((B|0)==3?g:g+48|0)+40>>2]|0;B=c[((B|0)==2?g:g+-48|0)+40>>2]|0;do if((By(J)|0)!=2?(By(B)|0)!=2:0){g=0;j=0;k=0;while(1){if((k|0)>=(f|0))break;A=c[(c[d+(k+e<<2)>>2]|0)+16>>2]|0;g=g+((c[A+96>>2]|0)!=0&1)|0;if(!((a[A+44>>0]|0)==0?(a[A+84>>0]|0)==0:0))j=1;k=k+1|0}if(!j)if(!g){Eg(J,B,d,e,f,i);break}else{Jg(J,B,d,e,f,i,g);break}y=vw(156)|0;z=Kg(b,y)|0;t=Ip(z,78320,1)|0;No(t,122277,280,1)|0;Km(t,80018,80032)|0;m=+h[(c[B+16>>2]|0)+16>>3];s=+h[(c[J+16>>2]|0)+16>>3];A=b+16|0;q=(c[(c[A>>2]|0)+116>>2]&1|0)==0;r=q?B:J;q=q?J:B;t=Lg(t,q)|0;u=Lg(z,r)|0;g=0;p=0;while(1){if((p|0)>=(f|0))break;j=d+(p+e<<2)|0;while(1){o=c[j>>2]|0;n=o+16|0;j=c[n>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)==(q|0))k=Mg(z,t,u,o)|0;else k=Mg(z,u,t,o)|0;j=c[n>>2]|0;c[j+120>>2]=k;if(!g)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[k+16>>2]|0)+120>>2]=o;g=k}else g=0;p=p+1|0}if(!g)x=an(z,t,u,0,1)|0;else x=g;Cm(x,c[42218]|0,78324)|0;g=z+16|0;n=c[g>>2]|0;c[n+144>>2]=c[(c[A>>2]|0)+144>>2];c[n+188>>2]=z;IB(z,i);Bf(z);kj(z,0);uh(z,0);xi(z,0);q=q+16|0;i=c[q>>2]|0;n=c[r+16>>2]|0;r=t+16|0;o=c[r>>2]|0;p=o+16|0;v=+(~~m|0);w=+(~~((+h[(c[u+16>>2]|0)+16>>3]+ +h[p>>3])*.5)|0);m=+(~~s|0);s=+(~~((+h[i+16>>3]-+h[i+96>>3]+ +h[n+16>>3]+ +h[n+88>>3])*.5)|0);n=o+24|0;g=(c[g>>2]|0)+192|0;while(1){j=c[g>>2]|0;if(!j)break;do if((j|0)!=(t|0)){g=c[j+16>>2]|0;k=g+24|0;if((j|0)==(u|0)){h[k>>3]=m;h[g+16>>3]=w;break}else{h[k>>3]=s;break}}else{h[n>>3]=v;h[p>>3]=w;g=o}while(0);g=g+164|0}ek(z);Yf(z,0);$x(z);k=c[q>>2]|0;g=c[r>>2]|0;if(!(c[(c[A>>2]|0)+116>>2]&1)){j=g+16|0;m=+h[k+24>>3]-+h[g+24>>3]}else{j=g+24|0;m=+h[g+16>>3]+ +h[k+24>>3]}h[K>>3]=+h[k+16>>3]-+h[j>>3];h[K+8>>3]=m;i=N+16|0;t=N+32|0;u=N+48|0;r=0;while(1){if((r|0)>=(f|0))break;g=d+(r+e<<2)|0;while(1){j=c[g>>2]|0;q=j+16|0;g=c[q>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}o=c[g+120>>2]|0;p=o+16|0;g=c[p>>2]|0;if(!((o|0)==(x|0)&(c[g+120>>2]|0)==0)){n=c[c[g+8>>2]>>2]|0;o=n+4|0;j=Iz(j,c[o>>2]|0)|0;c[j+8>>2]=c[n+8>>2];g=j+16|0;k=n+16|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(L,C,D,S);c[g>>2]=c[L>>2];c[g+4>>2]=c[L+4>>2];c[g+8>>2]=c[L+8>>2];c[g+12>>2]=c[L+12>>2];c[j+12>>2]=c[n+12>>2];g=j+32|0;S=n+32|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(M,C,D,k);c[g>>2]=c[M>>2];c[g+4>>2]=c[M+4>>2];c[g+8>>2]=c[M+8>>2];c[g+12>>2]=c[M+12>>2];g=0;while(1){if((g|0)>=(c[o>>2]|0))break;k=(c[j>>2]|0)+(g<<4)|0;T=(c[n>>2]|0)+(g<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];c[C+8>>2]=c[T+8>>2];c[C+12>>2]=c[T+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(E,C,D,S);c[k>>2]=c[E>>2];c[k+4>>2]=c[E+4>>2];c[k+8>>2]=c[E+8>>2];c[k+12>>2]=c[E+12>>2];c[N>>2]=c[E>>2];c[N+4>>2]=c[E+4>>2];c[N+8>>2]=c[E+8>>2];c[N+12>>2]=c[E+12>>2];k=g+1|0;if((k|0)>=(c[o>>2]|0)){Q=48;break}S=(c[j>>2]|0)+(k<<4)|0;k=(c[n>>2]|0)+(k<<4)|0;T=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(F,C,D,T);c[S>>2]=c[F>>2];c[S+4>>2]=c[F+4>>2];c[S+8>>2]=c[F+8>>2];c[S+12>>2]=c[F+12>>2];c[i>>2]=c[F>>2];c[i+4>>2]=c[F+4>>2];c[i+8>>2]=c[F+8>>2];c[i+12>>2]=c[F+12>>2];S=g+2|0;T=(c[j>>2]|0)+(S<<4)|0;S=(c[n>>2]|0)+(S<<4)|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(G,C,D,k);c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];T=g+3|0;k=(c[n>>2]|0)+(T<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(H,C,D,S);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];eu((c[A>>2]|0)+16|0,N);g=T}if((Q|0)==48)Q=0;g=c[(c[q>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;p=(c[(c[p>>2]|0)+96>>2]|0)+56|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[p>>2];c[C+4>>2]=c[p+4>>2];c[C+8>>2]=c[p+8>>2];c[C+12>>2]=c[p+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(I,C,D,S);c[T>>2]=c[I>>2];c[T+4>>2]=c[I+4>>2];c[T+8>>2]=c[I+8>>2];c[T+12>>2]=c[I+12>>2];T=c[(c[q>>2]|0)+96>>2]|0;a[T+81>>0]=1;bB(b,T)}}r=r+1|0}Og(z,y)}else Q=3;while(0);if((Q|0)==3?(c[41924]|0)==0:0){c[41924]=1;_l(0,78197,O)|0;Q=Dn(J)|0;S=(qn(b)|0)!=0;T=Dn(B)|0;c[P>>2]=Q;c[P+4>>2]=S?122546:122549;c[P+8>>2]=T;_l(3,78303,P)|0}l=R;return}function Dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=+h[k+96>>3]+C;B=+h[k+24>>3];D=+h[k+80>>3]*.5+B;k=c[(c[b+16>>2]|0)+196>>2]|0;m=c[p+16>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)*.16666666666666666)|0);B=D-(B<5.0?5.0:B);Gg(b,d,e,p,f,t,1);Gg(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[16878]=A;h[16879]=+h[t+56+(m<<5)+24>>3];h[16880]=E;h[16881]=B;h[16882]=A;h[16883]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[16884]=A;h[16885]=D;h[16886]=C;h[16889]=B;h[16887]=+h[v+56+(i<<5)+24>>3];h[16888]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];Lz(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=135024+(i<<5)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];Lz(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];Lz(e,u);j=i}if((g|0)==10)j=ny(e,w)|0;else j=ty(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=(c[p+16>>2]|0)+16|0;v=k+16|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];Ag(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];Ag(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)Jz(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17224);l=z;return}function Eg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+352|0;x=N+336|0;w=N+320|0;L=N+128|0;u=N+304|0;y=N+288|0;M=N+112|0;E=N+96|0;F=N+80|0;G=N+64|0;H=N+48|0;I=N+32|0;J=N+16|0;K=N;a=a+16|0;q=(c[a>>2]|0)+16|0;v=(c[d+(e<<2)>>2]|0)+16|0;s=(c[v>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];Ag(u,w,x);C=+h[u>>3];D=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;v=(c[v>>2]|0)+56|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[w+12>>2]=c[u+12>>2];c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];Ag(y,w,x);A=+h[y>>3];B=+h[y+8>>3];if((f|0)>1){z=+h[(c[a>>2]|0)+80>>3];i=z*.5;z=z/+(f+-1|0)}else{i=0.0;z=0.0}p=(g|8|0)==10;m=L+8|0;q=L+16|0;r=(A+C*2.0)*.3333333333333333;s=L+32|0;t=(A*2.0+C)*.3333333333333333;n=L+24|0;u=L+48|0;v=L+64|0;w=L+80|0;x=L+96|0;y=L+112|0;k=L+128|0;o=L+136|0;i=D-i;b=0;while(1){if((b|0)>=(f|0))break;j=c[d+(b+e<<2)>>2]|0;h[L>>3]=C;h[m>>3]=D;if(p){Ig(M,r,i);c[q>>2]=c[M>>2];c[q+4>>2]=c[M+4>>2];c[q+8>>2]=c[M+8>>2];c[q+12>>2]=c[M+12>>2];Ig(E,t,i);c[s>>2]=c[E>>2];c[s+4>>2]=c[E+4>>2];c[s+8>>2]=c[E+8>>2];c[s+12>>2]=c[E+12>>2];a=4;g=3}else{h[q>>3]=C;h[n>>3]=D;Ig(F,r,i);c[s>>2]=c[F>>2];c[s+4>>2]=c[F+4>>2];c[s+8>>2]=c[F+8>>2];c[s+12>>2]=c[F+12>>2];Ig(G,r,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];Ig(H,r,i);c[v>>2]=c[H>>2];c[v+4>>2]=c[H+4>>2];c[v+8>>2]=c[H+8>>2];c[v+12>>2]=c[H+12>>2];Ig(I,t,i);c[w>>2]=c[I>>2];c[w+4>>2]=c[I+4>>2];c[w+8>>2]=c[I+8>>2];c[w+12>>2]=c[I+12>>2];Ig(J,t,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Ig(K,t,i);c[y>>2]=c[K>>2];c[y+4>>2]=c[K+4>>2];c[y+8>>2]=c[K+8>>2];c[y+12>>2]=c[K+12>>2];h[k>>3]=A;h[o>>3]=B;a=10;g=9}h[L+(g<<4)>>3]=A;h[L+(g<<4)+8>>3]=B;Jz(j,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,L,a,17224);i=i+z;b=b+1|0}l=N;return}function Fg(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[y+(p<<6)+40>>3]}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Hg(a,d,e,q,j,w,1);Hg(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[16878]=D;h[16881]=B;m=m+1|0;z=+(m|0);A=s*z;h[16880]=C+A;z=B-n*z;h[16879]=z;h[16882]=D;h[16885]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[16884]=D;h[16883]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[16888]=D;h[16889]=C;h[16886]=B-A;h[16887]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];Lz(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=135024+(o<<5)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];Lz(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];Lz(e,t);p=o}if(a)o=ty(e,v)|0;else o=ny(e,v)|0;p=c[v>>2]|0;if(!p)break;Jz(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17224);c[d>>2]=0}l=x;return}function Gg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;jg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=4;if(!(i<<24>>24))Pz(d,f,2,g,0);else Mz(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3]+ +h[e+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];lg(m,j,4,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Hg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;jg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=1;if(!(i<<24>>24))Pz(d,f,2,g,0);else Mz(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];lg(m,j,1,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Ig(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Jg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0;Y=l;l=l+288|0;R=Y+256|0;Q=Y+240|0;P=Y+224|0;V=Y+280|0;W=Y+272|0;X=Y+32|0;S=Y+16|0;T=Y;m=Y+208|0;n=Y+192|0;o=c[e+(f<<2)>>2]|0;U=vw(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[U+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}rL(U,g,4,11);e=b+16|0;f=(c[e>>2]|0)+16|0;o=o+16|0;C=(c[o>>2]|0)+16|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[C>>2];c[R+4>>2]=c[C+4>>2];c[R+8>>2]=c[C+8>>2];c[R+12>>2]=c[C+12>>2];Ag(m,Q,R);c[S>>2]=c[m>>2];c[S+4>>2]=c[m+4>>2];c[S+8>>2]=c[m+8>>2];c[S+12>>2]=c[m+12>>2];C=d+16|0;f=(c[C>>2]|0)+16|0;o=(c[o>>2]|0)+56|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[o>>2];c[R+4>>2]=c[o+4>>2];c[R+8>>2]=c[o+8>>2];c[R+12>>2]=c[o+12>>2];Ag(n,Q,R);c[T>>2]=c[n>>2];c[T+4>>2]=c[n+4>>2];c[T+8>>2]=c[n+8>>2];c[T+12>>2]=c[n+12>>2];w=+h[(c[e>>2]|0)+96>>3]+ +h[S>>3];x=+h[T>>3]-+h[(c[C>>2]|0)+88>>3];u=x+w;v=u*.5;C=c[U>>2]|0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];o=X+16|0;c[o>>2]=c[S>>2];c[o+4>>2]=c[S+4>>2];c[o+8>>2]=c[S+8>>2];c[o+12>>2]=c[S+12>>2];e=X+32|0;c[e>>2]=c[T>>2];c[e+4>>2]=c[T+4>>2];c[e+8>>2]=c[T+8>>2];c[e+12>>2]=c[T+12>>2];f=X+48|0;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];Jz(C,c[((c[C>>2]&3|0)==2?C:C+-48|0)+40>>2]|0,X,4,17224);C=c[(c[C+16>>2]|0)+96>>2]|0;h[C+56>>3]=v;z=S+8|0;r=+h[z>>3];s=+h[C+32>>3];h[C+64>>3]=(s+6.0)*.5+r;a[C+81>>0]=1;r=r+3.0;B=+h[C+24>>3];A=(u-B)*.5;B=(B+u)*.5;C=X+24|0;D=X+40|0;E=X+56|0;F=X+64|0;G=T+8|0;H=X+72|0;I=X+80|0;J=X+88|0;K=X+96|0;L=X+104|0;M=X+112|0;N=X+120|0;O=V+4|0;n=(i|0)==6&1;q=0.0;p=0.0;s=s+r;m=1;while(1){if((m|0)>=(j|0)){y=6;break}d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];h[N>>3]=Z;s=+h[(c[(c[d+16>>2]|0)+96>>2]|0)+32>>3];t=Z+s*.5;s=Z+s}else{k=d+16|0;b=c[(c[k>>2]|0)+96>>2]|0;if((m|0)==1){p=+h[b+24>>3];q=(p+u)*.5;p=(u-p)*.5}r=r+-6.0-+h[b+32>>3];c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];t=r+-6.0;h[C>>3]=t;h[e>>3]=+h[T>>3];h[D>>3]=t;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=r;h[K>>3]=p;h[L>>3]=r;h[M>>3]=p;h[N>>3]=+h[z>>3];t=+h[(c[(c[k>>2]|0)+96>>2]|0)+32>>3]*.5+r}c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=jy(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break;i=c[(c[d+16>>2]|0)+96>>2]|0;h[i+56>>3]=v;h[i+64>>3]=t;a[i+81>>0]=1;Jz(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17224);m=m+1|0}a:do if((y|0)==6){v=(x+w*2.0)*.3333333333333333;u=(x*2.0+w)*.3333333333333333;while(1){if((m|0)>=(g|0))break;d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];s=Z;t=p;p=Z}else{y=(m|0)==1;t=y?v:p;q=y?u:q;p=r+-6.0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];r=r+-12.0;h[C>>3]=r;h[e>>3]=+h[T>>3];h[D>>3]=r;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=p;h[K>>3]=t;h[L>>3]=p;h[M>>3]=t;r=p;p=+h[z>>3]}h[N>>3]=p;c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=jy(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break a;Jz(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17224);m=m+1|0;p=t}_I(U)}while(0);l=Y;return}function Kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(qn(b)|0)==0;j=j?17648:17640;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;f=gn(78335,f,0)|0;No(f,122277,280,1)|0;ym(f,0,80018,174181)|0;j=vw(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=Dm(so(b)|0,1,0)|0;while(1){if(!e)break;ym(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=Dm(so(b)|0,1,e)|0}e=Dm(so(b)|0,2,0)|0;while(1){if(!e)break;ym(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=Dm(so(b)|0,2,e)|0}if(!(ym(f,2,96251,0)|0))ym(f,2,96251,174181)|0;if(!(ym(f,2,96242,0)|0))ym(f,2,96242,174181)|0;Pg(f,d);l=g;return f|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=no(a,Dn(b)|0,1)|0;No(a,122241,304,1)|0;Mm(b,a)|0;if((By(b)|0)==2){f=b+16|0;b=ww((rJ(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];pL(b,78330,d)|0;Km(a,86240,b)|0}l=e;return a|0}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=an(a,b,c,0,1)|0;No(c,122254,176,1)|0;Mm(d,c)|0;return c|0}function Ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];Ag(a,f,g);l=i;return}function Og(a,b){a=a|0;b=b|0;c[42233]=c[b>>2];c[42237]=c[b+4>>2];c[42238]=c[b+8>>2];c[42218]=c[b+12>>2];c[42219]=c[b+16>>2];c[42225]=c[b+20>>2];c[42224]=c[b+24>>2];c[42223]=c[b+28>>2];c[42249]=c[b+32>>2];c[42241]=c[b+36>>2];c[42226]=c[b+40>>2];c[42236]=c[b+44>>2];c[42245]=c[b+48>>2];c[42244]=c[b+52>>2];c[42243]=c[b+56>>2];c[42248]=c[b+60>>2];c[42242]=c[b+64>>2];c[42227]=c[b+68>>2];c[42189]=c[b+72>>2];c[42190]=c[b+76>>2];c[42191]=c[b+80>>2];c[42201]=c[b+84>>2];c[42194]=c[b+88>>2];c[42195]=c[b+92>>2];c[42196]=c[b+96>>2];c[42198]=c[b+100>>2];c[42199]=c[b+104>>2];c[42202]=c[b+108>>2];c[42205]=c[b+112>>2];c[42203]=c[b+116>>2];c[42204]=c[b+120>>2];c[42207]=c[b+124>>2];c[42206]=c[b+128>>2];c[42208]=c[b+132>>2];c[42209]=c[b+136>>2];c[42200]=c[b+140>>2];c[42212]=c[b+144>>2];c[42184]=c[b+148>>2];c[42181]=c[b+152>>2];_I(b);Ef(a);ln(a)|0;return}function Pg(a,b){a=a|0;b=b|0;c[b>>2]=c[42233];c[b+4>>2]=c[42237];c[b+8>>2]=c[42238];c[b+12>>2]=c[42218];c[b+16>>2]=c[42219];c[b+20>>2]=c[42225];c[b+24>>2]=c[42224];c[b+28>>2]=c[42223];c[b+32>>2]=c[42249];c[b+36>>2]=c[42241];c[b+40>>2]=c[42226];c[b+44>>2]=c[42236];c[b+48>>2]=c[42245];c[b+52>>2]=c[42244];c[b+56>>2]=c[42243];c[b+60>>2]=c[42248];c[b+64>>2]=c[42242];c[b+68>>2]=c[42227];c[b+72>>2]=c[42189];c[b+76>>2]=c[42190];c[b+80>>2]=c[42191];c[b+84>>2]=c[42201];c[b+88>>2]=c[42194];c[b+92>>2]=c[42195];c[b+96>>2]=c[42196];c[b+100>>2]=c[42198];c[b+104>>2]=c[42199];c[b+108>>2]=c[42202];c[b+112>>2]=c[42205];c[b+116>>2]=c[42203];c[b+120>>2]=c[42204];c[b+124>>2]=c[42207];c[b+128>>2]=c[42206];c[b+132>>2]=c[42208];c[b+136>>2]=c[42209];c[b+140>>2]=c[42200];c[b+144>>2]=c[42212];c[b+152>>2]=c[42181];c[b+148>>2]=c[42184];c[42233]=0;c[42237]=ym(a,2,80259,0)|0;c[42238]=ym(a,2,80268,0)|0;b=ym(a,2,86614,0)|0;c[42218]=b;if(!b)c[42218]=ym(a,2,86614,174181)|0;c[42219]=0;c[42225]=0;c[42224]=ym(a,2,86494,0)|0;c[42223]=ym(a,2,86485,0)|0;c[42249]=ym(a,2,86790,0)|0;c[42241]=0;c[42226]=ym(a,2,86240,0)|0;c[42236]=ym(a,2,78340,0)|0;c[42245]=0;c[42244]=ym(a,2,86690,0)|0;c[42243]=ym(a,2,86676,0)|0;c[42248]=ym(a,2,86781,0)|0;c[42242]=0;c[42227]=0;c[42189]=ym(a,1,96049,0)|0;c[42190]=ym(a,1,96043,0)|0;c[42191]=ym(a,1,90671,0)|0;c[42201]=0;c[42194]=ym(a,1,86485,0)|0;c[42195]=ym(a,1,86494,0)|0;c[42196]=0;c[42198]=ym(a,1,86240,0)|0;c[42199]=0;c[42202]=0;c[42205]=ym(a,1,86446,0)|0;c[42203]=ym(a,1,86529,0)|0;c[42204]=ym(a,1,86535,0)|0;c[42207]=ym(a,1,86547,0)|0;c[42206]=ym(a,1,86385,0)|0;c[42208]=ym(a,1,86552,0)|0;c[42209]=ym(a,1,78352,0)|0;c[42200]=0;c[42212]=0;c[42184]=ym(a,0,86446,0)|0;return}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(f<e))if(i>g)a=-1;else a=i<g&1;else a=1;else a=-1;else a=b&1;return a|0}function Rg(a){a=a|0;var b=0,d=0,e=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=Tg(a,f,b,e)|0;l=d;return b|0}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function Ug(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=Tg(a,f,b,e)|0;l=d;return b|0}function Vg(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;if(!b)b=ww((c[d+184>>2]<<2)+8|0)|0;else b=yw(b,(c[d+184>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;d=c[f+180>>2]|0;f=f+184|0;b=c[f>>2]|0;c[f>>2]=b+1;c[d+(b<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=ww((c[b+176>>2]<<2)+8|0)|0;else b=yw(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function Wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function Xg(a){a=a|0;if(!a)ma(78393,78403,117,78412);else{Wg((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);Wg((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function Yg(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;if(!b)b=ww((c[d+208>>2]<<2)+8|0)|0;else b=yw(b,(c[d+208>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function Zg(a){a=a|0;_g(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function _g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;f=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){g=4;break}if((c[f+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((g|0)==4){if(!f)d=ww((e<<2)+8|0)|0;else d=yw(f,(e<<2)+8|0)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function $g(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=vw(96)|0;g=n+48|0;c[g>>2]=c[g>>2]|3;c[n>>2]=c[n>>2]&-4|2;h=vw(176)|0;m=n+16|0;c[m>>2]=h;c[((c[n>>2]&3|0)==3?n:g)+40>>2]=d;j=n+-48|0;c[((c[n>>2]&3|0)==2?n:j)+40>>2]=e;a[h+112>>0]=1;if(!f){c[h+156>>2]=1;b[h+154>>1]=1;b[h+168>>1]=1;b[h+170>>1]=1}else{c[n>>2]=c[n>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;l=f+16|0;i=c[l>>2]|0;b[h+168>>1]=b[i+168>>1]|0;b[h+154>>1]=b[i+154>>1]|0;c[h+156>>2]=c[i+156>>2];b[h+170>>1]=b[i+170>>1]|0;d=c[((c[n>>2]&3|0)==3?n:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){g=f+-48|0;if((d|0)==(c[((e|0)==2?f:g)+40>>2]|0)){h=h+16|0;d=i+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=h+16|0;d=i+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));g=f+-48|0}d=c[((c[n>>2]&3|0)==2?n:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:g)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}d=(c[l>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=n;c[(c[m>>2]|0)+116>>2]=f}return n|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;return Vg($g(a,b,c)|0)|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;f=c[a>>2]|0;d=c[b+16>>2]|0;c[d+164>>2]=f;e=f;if(f|0)c[(c[e+16>>2]|0)+168>>2]=b;c[a>>2]=b;c[d+168>>2]=0;if((e|0)==(b|0))ma(78429,78403,215,78445);else return}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))ma(78455,78403,220,78462);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)ma(78475,78403,221,78462);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function dh(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(eh(a,b)|0))ma(78494,78403,231,78515);b=c[b+16>>2]|0;d=c[b+164>>2]|0;e=d;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=e;else c[(c[b+16>>2]|0)+164>>2]=e;return}function eh(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function fh(b){b=b|0;var d=0,e=0,f=0,g=0;d=vw(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=vw(304)|0;c[d+24>>2]=so(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=vw(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=vw(20)|0;c[(c[e>>2]|0)+180>>2]=f;bh(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function gh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;e=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[e+188>>2]|0;if(!f)e=ww((c[e+192>>2]<<2)+8|0)|0;else e=yw(f,(c[e+192>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[h+188>>2]|0;h=h+192|0;e=c[h>>2]|0;c[h>>2]=e+1;c[f+(e<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;if(!f)e=ww((c[e+200>>2]<<2)+8|0)|0;else e=yw(f,(c[e+200>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(Vf(b)|0)+16>>2]|0)+240>>0]=1;return}function hh(a){a=a|0;var b=0,d=0;if(!a)ma(78393,78403,269,78532);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;Wg((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);Wg((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;jh(a,b);break}else ma(80440,78403,340,78570);else _l(0,78549,f)|0;while(0);l=f;return}function jh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function kh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;lh(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))mh(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;lh(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function lh(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)ma(78393,78403,128,78583);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))Wg(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){Wg(d,a);b=c[a>>2]|0}f=f+1|0}return}function nh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=l;l=l+1040|0;n=p+1032|0;o=p;m=p+8|0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;i=c[d+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;d=0;while(1){if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){a[n>>0]=a[17644]|0;a[n+1>>0]=a[17645]|0;a[n+2>>0]=a[17646]|0;a[n+3>>0]=a[17647]|0;d=gn(78605,n,0)|0}c[o>>2]=g;pL(m,122187,o)|0;t=no(d,m,1)|0;No(t,78608,24,1)|0;q=c[(c[f>>2]|0)+180>>2]|0;r=c[q>>2]|0;r=c[(c[(c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;q=c[q+4>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=(r|0)>(q|0);f=c[t+16>>2]|0;c[f+12>>2]=s?q:r;c[f+16>>2]=s?r:q;c[f+20>>2]=e}g=g+1|0}if(d|0){if((mn(d)|0)>1)oh(d,h);ln(d)|0}j=j+1|0;d=c[k>>2]|0}l=p;return}function oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;h=co(a)|0;a:while(1){if(!h)break;i=eo(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))an(a,h,g,0,1)|0}else{an(a,g,h,0,1)|0;d=1}g=eo(a,g)|0}}do if(d|0){h=Ip(a,78613,1)|0;j=vw((mn(a)|0)<<2)|0;i=vw((mn(a)|0)<<2)|0;f=b+4|0;e=co(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?on(a,e,1,1)|0:0){c:do if(ph(a,e,h,i)|0){g=mn(h)|0;if((qh(a,h,j)|0)!=(g|0)){d=17;break b}rL(i,g,4,12);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);sh(h)}e=eo(a,e)|0}if((d|0)==17)ma(78618,78628,265,78639);else if((d|0)==23){_I(j);break}}while(0);return}function ph(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+((mn(d)|0)<<2)>>2]=h;io(d,b,1)|0;h=Pm(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=f+((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[i+8>>2]|0))f=(ph(a,g,d,e)|0)+f|0;h=Rm(a,h)|0}h=Sm(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=f+((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[j+8>>2]|0))f=(ph(a,g,d,e)|0)+f|0;h=Tm(a,h)|0}return f|0}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=th(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];po(b,e)|0;e=Pm(a,e)|0;while(1){if(!e)break;g=Rm(a,e)|0;dn(a,e)|0;e=g}f=f+1|0}return f|0}function rh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function sh(a){a=a|0;var b=0,c=0;b=co(a)|0;while(1){if(!b)break;c=eo(a,b)|0;po(a,b)|0;b=c}return}function th(a,b){a=a|0;b=b|0;var c=0;c=co(b)|0;while(1){if(!c){c=0;break}if(!(on(a,c,1,0)|0))break;c=eo(b,c)|0}return c|0}function uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;vh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;wh(b,f);f=f+1|0;e=(xh(b,0,d)|0)+e|0}yh(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(zh(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=Im(b,78653)|0;if(f|0?(IA(f)|0)<<24>>24==0:0)break;Yk(b);a[173893]=1;e=xh(b,2,d)|0}while(0);Ah(b,e);return}function vh(d){d=d|0;var e=0;if(0)xA();a[173893]=0;c[41927]=d;e=((nn(Vf(d)|0)|0)<<2)+4|0;c[41926]=vw(e)|0;c[41925]=vw(e)|0;qi(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)ri(d);Fk(d);tl(d,1);si(d);Hh(d);e=c[e>>2]|0;c[41928]=b[e+236>>1];c[41929]=b[e+238>>1];return}function wh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o;if((b|0)>1){e=Xh(0)|0;Yh(a)}else e=2147483647;m=c[13918]|0;k=b;f=0;b=e;while(1){if((k|0)>=3)break;f=c[42180]|0;if((k|0)==2)if((e|0)>(b|0)){_h(a);e=b}else e=b;else{e=(f|0)<4?f:4;if((Vf(a)|0)==(a|0))Zh(a,k);if(!k)Ih(a);Jh(a);g=Xh(0)|0;if((g|0)>(b|0)){f=e;e=g}else{Yh(a);f=e;e=g;b=g}}g=0;j=0;while(1){if((j|0)>=(f|0))break;if(0){c[n>>2]=k;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=b;zL(m,79046,n)|0}i=g+1|0;if((e|0)==0|(g|0)>=(c[41930]|0))break;$h(a,j);e=Xh(0)|0;if((e|0)>(b|0))g=i;else{Yh(a);g=+h[20878]*+(b|0)>+(e|0)?0:i;b=e}j=j+1|0}if(!e){e=0;break}else k=k+1|0}if((e|0)>(b|0))_h(a);if((b|0)>0){ai(a,0);e=Xh(0)|0}else e=b;a:do if(d|0){b=0;while(1){if((b|0)>=(f|0))break a;bi(a);b=b+1|0}}while(0);l=o;return e|0}function yh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;Wh(a);k=a+16|0;d=c[k>>2]|0;m=c[13918]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;e=c[d+196>>2]|0;f=c[e+(j<<6)+8>>2]|0;c[e+(j<<6)>>2]=f;g=c[e+(j<<6)+12>>2]|0;c[e+(j<<6)+4>>2]=g;i=0;while(1){if((i|0)>=(f|0))break;h=c[g+(i<<2)>>2]|0;if(!h){o=6;break}c[(c[h+16>>2]|0)+236>>2]=i;i=i+1|0}if((o|0)==6){o=0;if(0){e=Dn(a)|0;d=c[(c[(c[k>>2]|0)+196>>2]|0)+(j<<6)>>2]|0;c[n>>2]=e;c[n+4>>2]=j;c[n+8>>2]=i;c[n+12>>2]=d;zL(m,78996,n)|0;d=c[k>>2]|0;e=c[d+196>>2]|0}c[e+(j<<6)>>2]=i}j=j+1|0}l=p;return}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Sk(a);Hh(a);Ih(a);Jh(a);f=a+16|0;d=xh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(zh(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Kh(a);return d|0}function Ah(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[41925]|0;if(f|0){_I(f);c[41925]=0}f=c[41926]|0;if(f|0){_I(f);c[41926]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Bh(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){hh(i);_I(c[j>>2]|0);_I(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Ch(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(0){o=c[13918]|0;d=Dn(d)|0;r=+yA();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;zL(o,78664,p)|0}l=q;return}function Bh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Bh(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Dh(a,j,-1)|0;j=Dh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(Vf(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Ch(a){a=a|0;if(a|0){_I(c[a+8>>2]|0);_I(a)}return}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Eh(b,c)|0;if(!b)break;if(Fh(a,b)|0){d=b;continue}e=(Gh(a,b)|0)==0;d=e?d:b}return d|0}function Eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)ma(78703,78628,1023,78705);if((b|0)<0){a=c[a+16>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a+16>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((O((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else ma(78714,78628,1029,78705);else g=0}return g|0}function Fh(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(Bo(b,d)|0)!=0&1;else b=0;return b|0}function Gh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(Bo(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Hh(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[42184]|0;a:do if((d|0)!=0|(c[42205]|0)!=0){d=FA(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(xJ(d,78916)|0)){Rh(b,1);break a}break}case 105:{if(!(xJ(d,83705)|0)){Rh(b,0);break a}break}default:{}}c[e>>2]=d;_l(1,78920,e)|0;break}d=Jp(b)|0;while(1){if(!d)break;if(!(Cj(d)|0))Hh(d);d=Kp(d)|0}if(c[42205]|0)Sh(b)}while(0);l=f;return}function Ih(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=Ph(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){Qh(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Jh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=d+16|0;e=c[s>>2]|0;if(a[e+240>>0]|0){h=0;r=b[e+236>>1]|0;q=0;i=0;a:while(1){if((r|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if(!g){g=q;f=i}else{f=c[f+(r<<6)+4>>2]|0;o=c[(c[(c[f>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;a[(c[(c[f+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!h)p=ww(e)|0;else p=yw(i,e)|0;m=0;n=0;while(1){e=c[s>>2]|0;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if((g|0)<=(n|0))break;j=c[(c[f+(r<<6)+4>>2]|0)+(((c[e+116>>2]&1|0)==0?g+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){f=0;g=0;e=i;break}i=k+((Lh(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;k=i}while(1){if((g|0)>=(c[e+192>>2]|0))break;i=f+((Lh(d,c[(c[e+188>>2]|0)+(g<<2)>>2]|0)|0)!=0&1)|0;f=i;g=g+1|0;e=c[l>>2]|0}if(f|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=(Mh(d,j,p+(m<<2)|0,r)|0)+m|0;else e=m;else{c[p+(m<<2)>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[e+116>>2]&1)){f=p;e=p+(m<<2)|0;while(1){e=e+-4|0;if(f>>>0>=e>>>0){g=0;break c}n=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=n;f=f+4|0}}else g=0;while(0);while(1){e=c[s>>2]|0;i=c[e+196>>2]|0;f=c[i+(r<<6)>>2]|0;if((g|0)>=(f|0)){m=0;g=i;break}n=c[p+(g<<2)>>2]|0;c[(c[i+(r<<6)+4>>2]|0)+(g<<2)>>2]=n;c[(c[n+16>>2]|0)+236>>2]=g+o;g=g+1|0}while(1){if((m|0)>=(f|0))break b;l=(c[(c[g+(r<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;f=i;while(1){g=c[f+(k<<2)>>2]|0;e=c[s>>2]|0;if(!g)break;j=c[g>>2]&3;i=c[(c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))t=36;else e=k;else if((i|0)>(j|0))t=36;else e=k;if((t|0)==36){t=0;if(Lh(d,g)|0){t=37;break a}hh(g);Nh(d,g);e=k+-1|0;f=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}f=c[e+196>>2]|0;g=f;f=c[f+(r<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(r<<6)+49>>0]=0;h=p;g=p;f=p}r=r+1|0;q=g;i=f}if((t|0)==37)ma(78762,78628,1561,78801);if(h|0)_I(q)}return}function Kh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function Lh(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(Oh(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(Oh(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function Mh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((Lh(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=(Mh(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else ma(78814,78628,1490,78830);return 0}function Nh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[d>>2]&3;j=c[((i|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[j+16>>2]|0)+188>>2]|0;a:do if(!f){e=d+48|0;m=15}else{l=d+48|0;g=((i|0)==3?d:l)+40|0;e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=l;m=15;break a}if((c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}ih(d,h);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=h;e=c[h+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;e=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;f=c[e+204>>2]|0;if(!f)e=ww((c[e+208>>2]<<2)+8|0)|0;else e=yw(f,(c[e+208>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;d=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[d+204>>2]|0)+(c[d+208>>2]<<2)>>2]=0}while(0);if((m|0)==15){m=$g(j,c[((i|0)==3?d:e)+40>>2]|0,d)|0;l=c[d+16>>2]|0;d=c[m+16>>2]|0;a[d+112>>0]=(a[l+112>>0]|0)==4?4:3;c[d+96>>2]=c[l+96>>2];gh(b,m)}return}function Oh(a,b){a=a|0;b=b|0;var c=0;c=Fh(a,b)|0;return Gh(a,b)|0|c|0}function Ph(a,b){a=a|0;b=b|0;var d=0;d=vw(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=vw(O(b,a)|0)|0;return d|0}function Qh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(Vf(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}if(l){if((Bo(b,c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)|0)!=0?(Bo(b,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){e=c[j>>2]&3;g=j+-48|0;r=c[(c[((e|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((O(f,i)|0)+e)>>0]=1;hh(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;Nh(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((O(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;Qh(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)ma(78840,78628,1251,78872);else if((q|0)==12)ma(78884,78628,1252,78872);else if((q|0)==16)ma(78840,78628,1260,78872);else if((q|0)==18)ma(78884,78628,1261,78872)}else p=e;while(0);a[p+158>>0]=0;return}function Rh(a,b){a=a|0;b=b|0;var c=0;c=co(a)|0;while(1){if(!c)break;Th(a,c,b);c=eo(a,c)|0}return}function Sh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=co(b)|0;while(1){if(!d)break;e=FA(d,c[42205]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(xJ(e,78916)|0)){Th(b,d,1);break a}break}case 105:{if(!(xJ(e,83705)|0)){Th(b,d,0);break a}break}default:{}}h=Dn(d)|0;c[f>>2]=e;c[f+4>>2]=h;_l(1,78951,f)|0}while(0);d=eo(b,d)|0}l=g;return}function Th(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[41926]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(Uh(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(Uh(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;rL(j,d,4,13);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(Ug(e,d)|0)break a;i=$g(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;gh(b,i);f=f+1|0}}}while(0);return}function Uh(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function Vh(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function Wh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[a+16>>2]|0;g=f+220|0;h=c[g>>2]|0;if((h|0)>=2){i=f+216|0;a=0;e=0;while(1){if((e|0)>=(h|0))break;d=c[(c[i>>2]|0)+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[g>>2]=1;c[f+192>>2]=c[c[f+216>>2]>>2];b[f+236>>1]=c[41928];b[f+238>>1]=c[41929]}return}function Xh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[41927]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=oi(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function Yh(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function Zh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=zA(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;BA(o,g);while(1){f=CA(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){Xk(d,f,e,o);continue}else{mi(d,f);ni(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(CA(o)|0)_l(1,79159,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;gi(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((Vf(d)|0)==(d|0)?(Xh(0)|0)>0:0)ai(d,0);AA(o);l=r;return}function _h(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;rL(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,14);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function $h(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=((d|0)%4|0|0)<2&1;e=c[a+16>>2]|0;if(!(d&1)){d=b[e+236>>1]|0;f=1;e=b[e+238>>1]|0;d=(d<<16>>16<=(b[(c[(c[41927]|0)+16>>2]|0)+236>>1]|0)&1)+(d<<16>>16)|0}else{d=b[e+238>>1]|0;f=-1;e=b[e+236>>1]|0;d=((d<<16>>16>=(b[(c[(c[41927]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(d<<16>>16)|0}e=f+e|0;while(1){if((d|0)==(e|0))break;ji(a,d,g,(ii(a,d,d-f|0)|0)&255);d=d+f|0}ai(a,g^1);return}function ai(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(hi(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function bi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(ci(d,i,j)|0)continue;if(p){f=di(i,j)|0;h=di(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(ei(i,j)|0)+f|0;h=(ei(j,i)|0)+h|0}if((h|0)<=(f|0))break}fi(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)ma(79110,78628,721,79136);else if((e|0)==16)return}function ci(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[173893]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=O(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function di(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function ei(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function fi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=g+(o&1)|0;h=h+((o^1)&1)|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}gi(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))gi(e,f)}return}function gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[41927]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function hi(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(ci(d,j,k)|0)continue;if(r){f=di(j,k)|0;g=di(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(ei(j,k)|0)+f|0;g=(ei(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}gi(j,k);i=f-g+i|0;g=c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)ma(79110,78628,770,79144);else if((f|0)==17)return i|0;return 0}function ii(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[41925]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;j=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;a=c[l>>2]|0;a:do if(n){k=c[a+180>>2]|0;a=0;j=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+88>>0];a=a+1|0}j=j+1|0}}else{k=c[a+172>>2]|0;j=0;a=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+48>>0];a=a+1|0}j=j+1|0}}while(0);b:do switch(a|0){case 0:{i=-1.0;break}case 1:{i=+(c[p>>2]|0);break}case 2:{i=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{rL(p,a,4,12);f=(a|0)/2|0;if(a&1|0){i=+(c[p+(f<<2)>>2]|0);break b}j=c[p+(f<<2)>>2]|0;g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){i=+((a+j|0)/2|0|0);break b}else{i=+(((O(f,j)|0)+(O(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);h[(c[l>>2]|0)+240>>3]=i;m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((j|0)>=(f|0))break;g=c[r+(j<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(ki(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}j=j+1|0}return a|0}function ji(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;o=c[(c[b+16>>2]|0)+196>>2]|0;s=c[o+(d<<6)+4>>2]|0;o=c[o+(d<<6)>>2]|0;q=(e|0)!=0;p=(f|e|0)==0;f=0;e=o;o=s+(o<<2)|0;while(1){n=e+-1|0;if((e|0)>0)e=s;else break;a:while(1){b:while(1){if(e>>>0>=o>>>0)break a;while(1){if(e>>>0>=o>>>0)break a;l=c[e>>2]|0;m=+h[(c[l+16>>2]|0)+240>>3];if(!(m<0.0))break;e=e+4|0}k=0;while(1){g=k<<24>>24==0;while(1){e=e+4|0;if(e>>>0>=o>>>0)break a;if(g){g=11;break}i=c[e>>2]|0;if(!(c[(c[i+16>>2]|0)+212>>2]|0)){g=13;break}}if((g|0)==11){i=c[e>>2]|0;j=i}else if((g|0)==13)j=i;if(ci(b,l,j)|0)continue b;g=c[i+16>>2]|0;if(+h[g+240>>3]>=0.0)break;k=(c[g+212>>2]|0)==0?k:1}g=~~m;k=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(k|0)|q&(g|0)==(k|0))break}gi(l,j);f=f+1|0}e=n;o=p?o+-4|0:o}if(f|0?(r=c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0,a[r+(d<<6)+49>>0]=0,(d|0)>0):0)a[r+(d+-1<<6)+49>>0]=0;return}function ki(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;g=c[a+16>>2]|0;if((c[g+200>>2]|0)>0){f=c[g+196>>2]|0;a=c[f>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[f+(d<<2)>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[(c[a+16>>2]|0)+236>>2]|0)?e:a;d=d+1|0}b=+h[(c[a+16>>2]|0)+240>>3];if(!(b>=0.0))a=1;else{h[g+240>>3]=b+1.0;a=0}}else if((c[g+192>>2]|0)>0){e=c[g+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[(c[d+16>>2]|0)+236>>2]|0)?f:d}b=+h[(c[d+16>>2]|0)+240>>3];if(b>0.0){h[g+240>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function li(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function mi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))ma(79224,78628,1346,79260);g=c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=Dn(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;_l(1,79276,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a<<16>>16|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a<<16>>16;_l(1,79349,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=Dn(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;_l(1,79410,o)|0}}else{n=Dn(a)|0;o=Dn(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;_l(1,79169,f)|0}while(0);l=p;return}function ni(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;BA(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;BA(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function oi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;s=c[f+(e<<6)+4>>2]|0;t=e+1|0;d=c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(t<<6)>>2]|0;if((c[41931]|0)>(d|0))q=c[41932]|0;else{d=d+1|0;c[41931]=d;f=c[41932]|0;if(!f)d=ww(d<<2)|0;else d=yw(f,d<<2)|0;c[41932]=d;f=c[(c[g>>2]|0)+196>>2]|0;q=d}r=f+(t<<6)|0;d=0;while(1){if((d|0)>=(c[r>>2]|0))break;c[q+(d<<2)>>2]=0;d=d+1|0}p=f+(e<<6)|0;o=0;h=0;d=0;j=q;while(1){k=c[p>>2]|0;if((o|0)>=(k|0))break;n=c[(c[(c[s+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((h|0)>0){m=0;while(1){g=c[n+(m<<2)>>2]|0;if(!g)break a;k=g+16|0;i=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){g=i+1|0;if((i|0)>=(h|0))break;i=g;d=(O(c[j+(g<<2)>>2]|0,b[(c[k>>2]|0)+154>>1]|0)|0)+d|0}m=m+1|0}}while(0);i=0;while(1){g=c[n+(i<<2)>>2]|0;if(!g)break;j=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;m=q+(j<<2)|0;c[m>>2]=(c[m>>2]|0)+(b[(c[g+16>>2]|0)+154>>1]|0);h=(j|0)>(h|0)?j:h;i=i+1|0;j=q}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(k|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];d=(pi(u,1)|0)+d|0}h=h+1|0}i=c[r>>2]|0;h=f+(t<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){t=f+172|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];d=(pi(u,-1)|0)+d|0}g=g+1|0}l=v;return d|0}function pi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)<1;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;if(n){j=m+48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+56>>3]-+h[g+56>>3])*+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+-48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+16>>3]-+h[g+16>>3])*+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function qi(a){a=a|0;var b=0.0,d=0.0;c[41930]=8;c[42180]=24;h[20878]=.995;a=Im(a,79532)|0;if(a|0?(b=+sM(a),b>0.0):0){d=b*+(c[41930]|0);c[41930]=~~(d>1.0?d:1.0);b=b*+(c[42180]|0);c[42180]=~~(b>1.0?b:1.0)}return}function ri(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=vw(e<<2)|0;ti(a,d,e,0)|0;_I(d);return}\nfunction Uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[42039]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[83089]|0):0)?!(xJ(f,83089)|0):0)){h=ym(c[c[42039]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=ym(c[c[42039]>>2]|0,b,f,174181)|0;c[d>>2]=266;bp(c[42038]|0,f)|0}d=d+12|0}return}function Vq(a){a=a|0;Wq(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function Wq(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{Wq(c[a+4>>2]|0);break}case 266:case 267:{bp(c[42038]|0,c[a+8>>2]|0)|0;break}default:{}}Zn(c[42038]|0,a);a=b}return}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=rJ(a)|0;d=d+2+(rJ(b)|0)|0;if(d>>>0<1025)e=g;else e=ZI(d)|0;c[f>>2]=a;c[f+4>>2]=b;pL(e,83126,f)|0;d=$o(c[42038]|0,e)|0;bp(c[42038]|0,a)|0;bp(c[42038]|0,b)|0;if((e|0)!=(g|0))_I(e);l=h;return d|0}function Yq(a,b){a=a|0;b=b|0;return Sq(259,a,b)|0}function Zq(a){a=a|0;return Sq(265,a,0)|0}function _q(a){a=a|0;return Sq(262,a,0)|0}function $q(a){a=a|0;var b=0,d=0;b=(c[42039]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)Cm(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function ar(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=co(d)|0;while(1){if(!f)break a;br(a,b,io(c[c[42039]>>2]|0,f,0)|0,0,e);f=eo(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=io(c[c[42039]>>2]|0,c[f+4>>2]|0,0)|0;br(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function br(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=an(c[c[42039]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;cr(d,96242,a?e:b);cr(d,96251,a?b:e);$q(d)}return}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=ym(c[c[42039]>>2]|0,2,b,0)|0;if(!e)e=ym(c[c[42039]>>2]|0,2,b,174181)|0;Cm(a,e,d)|0}return}function dr(a,b,d){a=a|0;b=b|0;d=d|0;c[42007]=b;c[42038]=a;c[41987]=0;a=d|0?d:17656;c[42041]=a;gp(a,b);Bq()|0;a=c[41987]|0;if(!a){Fp();a=c[41987]|0}return a|0}function er(a,b){a=a|0;b=b|0;return dr(0,a,b)|0}function fr(a,b){a=a|0;b=b|0;b=Jr(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;No(b,122277,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((so(b)|0)!=(b|0))c[(c[(so(b)|0)+16>>2]|0)+144>>2]=a;e=Im(b,83342)|0;d=a+172|0;if((e|0)!=0?(c[d>>2]=0,(fr(a,e)|0)==999):0){d=Kr(a,1,e)|0;c[f>>2]=e;c[f+4>>2]=d;_l(1,83869,f)|0;d=-1}else{e=c[d>>2]|0;if(!e)d=-1;else{Fv(1);dw(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(so(b)|0)+16>>2]|0)+8>>2]=d;Ez();d=c[e>>2]|0;if(d|0?(gb[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;Fv(0);d=0}}l=i;return d|0}function hr(a,b){a=a|0;b=b|0;var d=0,e=0;if(No(b,122277,0,1)|0){d=b+16|0;a=c[d>>2]|0;e=c[a+148>>2]|0;if(e){gb[e&127](b);a=c[d>>2]|0;c[a+148>>2]=0}if(c[a+8>>2]|0)iw(b)}return 0}function ir(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;d=c[b+76>>2]|0;f=c[b>>2]|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){gb[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)jr(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[13885];g=12;break}f=aM(e,91556)|0;c[h>>2]=f;if(!f){j=c[(c[b+12>>2]|0)+16>>2]|0;h=c[d>>2]|0;d=yJ(c[(jJ()|0)>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=d;hb[j&31](83132,i);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{hb[c[(c[b+12>>2]|0)+16>>2]&31](83170,j);d=1}l=k;return d|0}function jr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;pL(g,83188,e)|0}e=c[b+20>>2]|0;e=e|0?e:83192;d=rJ(e)|0;i=rJ(g)|0;f=b+52|0;i=d+1+i+(rJ(c[f>>2]|0)|0)|0;d=i+11|0;if((c[42042]|0)>>>0<(i+1|0)>>>0){c[42042]=d;d=aJ(c[42043]|0,d)|0;c[42043]=d}else d=c[42043]|0;xK(d,e)|0;IL(c[42043]|0,g)|0;d=c[42043]|0;d=d+(rJ(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=GL(c[f>>2]|0)|0;f=c[42043]|0;while(1){e=HL(d,58)|0;if(!e)break;IL(f,e+1|0)|0;i=c[42043]|0;g=i+(rJ(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}IL(f,d)|0;_I(d);c[b+32>>2]=c[42043];l=h;return}function kr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;if((b|0)!=0&(d|0)!=0){if(c[a+152>>2]&1024|0){hb[c[(c[a+12>>2]|0)+16>>2]&31](83170,f);Ma(1)}if((lr(a,b,d)|0)==(d|0))e=d;else{f=c[(c[a+12>>2]|0)+16>>2]|0;c[g>>2]=d;hb[f&31](83202,g);Ma(1)}}else e=0;l=h;return e|0}function lr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=XL(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0<e>>>0){g=e+4096+g&-4096;c[f>>2]=g;f=aJ(h,g)|0;c[j>>2]=f;if(!f){hb[c[(c[b+12>>2]|0)+16>>2]&31](83227,n);Ma(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);TN(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=bb[f&31](b,d,e)|0;while(0);l=o;return e|0}function mr(a,b){a=a|0;b=b|0;var c=0;c=rJ(b)|0;b=(kr(a,b,c)|0)==(c|0);return (b?1:-1)|0}function nr(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(kr(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function or(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=PL(d)|0;else b=0;return b|0}function pr(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)gb[d&127](a);or(a)|0;return}function qr(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){hb[c[(c[a+12>>2]|0)+16>>2]&31](83254,e);Ma(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)gb[b&127](a);else{or(a)|0;rr(a)}l=e;return}function rr(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[13885]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){LL(f)|0;c[e>>2]=0}c[d>>2]=0}return}function sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=LK(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=ww(e+1|0)|0;c[g>>2]=d;f=e;e=qL(e,b,g)|0}else f=h;kr(a,f,e)|0;if((f|0)!=(h|0))_I(f)}else{c[f>>2]=yJ(c[(jJ()|0)>>2]|0)|0;_l(1,83271,f)|0}l=i;return}function tr(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=ur(e,b)|0;kr(a,f,c[e>>2]|0)|0;l=d;return}function ur(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~((d<0.0?-.5:.5)+d);if(!f){f=123205;e=1}else{l=(f|0)<0;k=4;i=0;e=173948;f=l?0-f|0:f;while(1){if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;h=e+-1|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){e=e+-1|0;a[e>>0]=45}f=e;e=173948-e|0}}else{f=83286;e=18}else{f=83285;e=19}c[b>>2]=e;return f|0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=ur(e,+h[b>>3])|0;kr(a,f,c[e>>2]|0)|0;kr(a,87638,1)|0;b=ur(e,+h[b+8>>3])|0;kr(a,b,c[e>>2]|0)|0;l=d;return}function wr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];vr(a,f);e=e+1|0;if((e|0)>=(d|0))break;kr(a,87638,1)|0}l=g;return}function xr(a,b){a=a|0;b=b|0;var d=0;d=vw(392)|0;if(d|0){c[d>>2]=19212;c[d+16>>2]=22;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function yr(a){a=a|0;var b=0,d=0,e=0,f=0;b=vw(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];f=b+80|0;e=a+80|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];return b|0}function zr(a){a=a|0;Gr(a);_I(a);return}function Ar(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[42044]|0;if(e){d=c[e+4>>2]|0;if(!d){d=vw(632)|0;c[(c[42044]|0)+4>>2]=d}}}else{d=vw(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[42044]=d;c[d+32>>2]=b;c[d>>2]=a;return}function Br(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[42045]|0;if(e){d=c[e+4>>2]|0;if(!d){d=vw(632)|0;c[(c[42045]|0)+4>>2]=d}}}else{d=vw(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[42045]=d;c[d+52>>2]=b;c[d>>2]=a;return (Jr(a,3,b)|0)!=0|0}function Cr(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function Dr(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function Er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=yw(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function Fr(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)_I(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function Gr(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;Fr(b+604|0);Fr(b+592|0);_I(c[b+584>>2]|0);_I(c[b+588>>2]|0);_I(b);b=e}c[42045]=0;c[42044]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function Hr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;k=n+64|0;m=n;mL(k,e,63)|0;i=WJ(k,58)|0;if(i|0)a[i>>0]=0;b=b+60+(d<<2)|0;while(1){d=c[b>>2]|0;if(!d){d=b;b=0;break}mL(m,c[d+4>>2]|0,63)|0;d=WJ(m,58)|0;if(d|0)a[d>>0]=0;if((xJ(k,m)|0)<1){j=9;break}b=c[b>>2]|0}while(1){if((j|0)==9){d=b;b=c[b>>2]|0}if(!b)break;mL(m,c[b+4>>2]|0,63)|0;b=WJ(m,58)|0;if(b|0)a[b>>0]=0;if(xJ(k,m)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)<=(f|0))break;j=9}m=ww(20)|0;c[m>>2]=c[d>>2];c[d>>2]=m;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=h;l=n;return 1}function Ir(a,b){a=a|0;b=b|0;b=l;l=l+16|0;_l(1,83366,b)|0;l=b;return 0}function Jr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;mL(o,e,63)|0;e=WJ(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=WJ(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}mL(p,c[e+4>>2]|0,63)|0;e=WJ(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(xJ(p,o)|0)){g=(e|0)!=0;if(i&g?xJ(e,f)|0:0)break;if(!j?xJ(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(Jr(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;if(e){f=e+16|0;if((c[f>>2]|0)==0?(Ir(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[b+8>>2]|0)>0){q=c[13918]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[19224+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;zL(q,83397,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function Kr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[4811]|0){cm(168184,0,0);c[4811]=0}h=GL(e)|0;e=WJ(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=GL(c[b+4>>2]|0)|0;b=WJ(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(iK(h,d)|0)!=0:0)){e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){dm(168184,1)|0;e=c[42047]|0}c[42047]=e+1;a[e>>0]=32;fm(168184,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){dm(168184,1)|0;e=c[42047]|0}c[42047]=e+1;a[e>>0]=58;fm(168184,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}_I(d);g=c[g>>2]|0}_I(h);if(e<<24>>24){g=0;i=19}}else{_I(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=GL(c[b+4>>2]|0)|0;b=WJ(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(iK(g,d)|0)==0:0)){e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){dm(168184,1)|0;e=c[42047]|0}c[42047]=e+1;a[e>>0]=32;fm(168184,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=174181;break}}e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){dm(168184,1)|0;e=c[42047]|0}a[e>>0]=0;e=c[42046]|0;c[42047]=e}while(0);return e|0}function Lr(b){b=b|0;var d=0;if(!b)ma(96030,83414,573,83428);if(!(a[b>>0]|0))ma(96035,83414,574,83428);d=c[42050]|0;if(!d)b=0;else b=bb[c[d>>2]&31](d,b,512)|0;return b|0}function Mr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)ma(96091,83414,589,83445);g=b+8|0;e=c[g>>2]|0;if(!e)ma(96094,83414,590,83445);if(!(a[e>>0]|0))ma(96103,83414,591,83445);h=b+20|0;f=c[h>>2]|0;do if(!f){d=RA(e)|0;if(!d){c[i>>2]=c[g>>2];_l(0,83469,i)|0;d=0;break}i=aM(d,123632)|0;c[h>>2]=i;if(!i){c[j>>2]=yJ(c[(jJ()|0)>>2]|0)|0;c[j+4>>2]=d;_l(0,83494,j)|0;d=0;break}d=c[42051]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[42051]=d+1;d=1;break}}else{oM(f,0,0)|0;if(!(c[h>>2]|0))ma(83515,83414,614,83445);else d=1}while(0);l=k;return d|0}function Nr(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){LL(e)|0;c[d>>2]=0}return}function Or(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0;if(!b){e=-1;d=-1}else{e=c[b+48>>2]|0;f=+(e|0);if(!e){g=+h[d>>3];f=+h[d+8>>3]}else{h[d+8>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function Pr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;f=m+16|0;j=m;k=m+32|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if((0==0?(g=c[42178]|0,(c[42052]|0)!=(g|0)):0)?(c[42052]=g,i=c[42050]|0,i|0):0){Kl(i)|0;c[42050]=0}n=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];n=!(n>=1.0)?96.0:n;h[j+8>>3]=n;h[j>>3]=n;d=Qr(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];Or(k,d,f);d=c[k>>2]|0;f=c[k+4>>2]|0}else{d=-1;f=-1}c[b>>2]=d;c[b+4>>2]=f;l=m;return}function Qr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)ma(96030,83414,638,83521);if(!(c[42050]|0))c[42050]=Ql(19248,c[4353]|0)|0;b=Lr(a)|0;a:do if(!b){b=vw(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=$o(0,a)|0;if(!((Mr(b)|0)<<24>>24)){Rr(b);b=0;break}if(!(c[b+20>>2]|0))ma(83515,83414,653,83521);do switch(Sr(b)|0){case 0:{a=Py(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];_l(0,83538,e)|0;Rr(b);b=0;break a}break}case 2:{Tr(b);break}case 3:{Ur(b);break}case 1:{Vr(b);break}case 4:{Wr(b);break}case 6:{Xr(b);break}case 11:{Yr(b);break}case 8:{Zr(b);break}case 5:{_r(b);break}case 12:{$r(b);break}default:{}}while(0);Nr(b);e=c[42050]|0;bb[c[e>>2]&31](e,b,1)|0}}else Nr(b);while(0);l=f;return b|0}function Rr(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)bp(0,b)|0;_I(a);return}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;f=j+200|0;g=j;h=a+20|0;b=c[h>>2]|0;a:do if((b|0)!=0?(wN(f,1,20,b)|0)==20:0){d=0;while(1){if(d>>>0>=10){i=13;break a}if(!(dL(f,c[19284+(d<<4)>>2]|0,c[19284+(d<<4)+4>>2]|0)|0))break;d=d+1|0}e=a+28|0;c[e>>2]=c[19284+(d<<4)+12>>2];b=c[19284+(d<<4)+8>>2]|0;a=a+24|0;c[a>>2]=b;switch(d|0){case 7:break;case 8:{if(dL(f+8|0,83754,4)|0)break a;c[e>>2]=83759;c[a>>2]=11;b=11;break a}default:break a}while(1){if(!(gL(g,200,c[h>>2]|0)|0)){i=11;break}if(!(dL(g,83749,4)|0)){i=8;break}}if((i|0)==8){c[e>>2]=86879;c[a>>2]=8;b=8;break}else if((i|0)==11){b=c[a>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[a+28>>2]=83764;c[a+24>>2]=0;b=0}l=j;return b|0}function Tr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,6,0)|0;if((is(c[e>>2]|0,2,b)|0)<<24>>24?(is(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function Ur(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,16,0)|0;if((as(c[e>>2]|0,4,b)|0)<<24>>24?(as(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function Vr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;oM(c[g>>2]|0,16,0)|0;if((((is(c[g>>2]|0,2,b)|0)<<24>>24?(is(c[g>>2]|0,2,d)|0)<<24>>24:0)?(is(c[g>>2]|0,2,e)|0)<<24>>24:0)?(is(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function Wr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;b=m+16|0;e=m+12|0;f=m+8|0;h=m+4|0;i=m;c[a+48>>2]=0;j=a+20|0;while(1){if(!((as(c[j>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(WJ(83737,d)|0)continue;if((d|0)==192){k=6;break}g=c[j>>2]|0;if((d|0)==194){k=11;break}if(!((as(g,2,e)|0)<<24>>24))break;oM(c[j>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((k|0)==6){if(((as(c[j>>2]|0,3,i)|0)<<24>>24?(as(c[j>>2]|0,2,f)|0)<<24>>24:0)?(as(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}}else if((((k|0)==11?(as(g,3,i)|0)<<24>>24:0)?(as(c[j>>2]|0,2,f)|0)<<24>>24:0)?(as(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}l=m;return}function Xr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;oM(c[i>>2]|0,0,0)|0;while(1){if(!(gL(b,1024,c[i>>2]|0)|0))break;d=hL(b,83722)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((cM(d,89345,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function Yr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+4|0;d=g;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,15,0)|0;h=(BN(c[e>>2]|0)|0)==88;f=c[e>>2]|0;if(h){oM(f,24,0)|0;if((is(c[e>>2]|0,4,b)|0)<<24>>24?(is(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}else{oM(f,26,0)|0;if((is(c[e>>2]|0,2,b)|0)<<24>>24?(is(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}l=g;return}function Zr(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[42053]|0)){if(EM(168216,83607,1)|0){c[d>>2]=83607;_l(1,83634,d)|0}c[42053]=168216}m=b+20|0;oM(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(gL(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if(qN(168216,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(xJ(e,96043)|0))break;if(!(xJ(e,96049)|0))break c;if(xJ(e,83681)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((cM(f,83689,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((cM(f,83671,A)|0)!=2){c[D>>2]=s;if((cM(f,86246,D)|0)==1){e=1;f=hs(+h[s>>3],83678)|0}else{e=g;f=j}}else{e=1;f=hs(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((cM(f,83671,E)|0)!=2){c[B>>2]=s;if((cM(f,86246,B)|0)==1){d=1;e=hs(+h[s>>3],83678)|0}else e=k}else{d=1;e=hs(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]+1.0-+h[t>>3])>>>0;e=~~(+h[w>>3]+1.0-+h[u>>3])>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function _r(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,0,0)|0;if(!(bs(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function $r(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,6,0)|0;if((as(c[e>>2]|0,1,b)|0)<<24>>24?(as(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function as(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=BN(a)|0;if(KL(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(gL(e,1024,a)|0)){a=1;break}f=hL(e,83597)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=cs(d,b)|0}l=h;return a|0}function cs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;ds(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(es(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,fs(b,f),(gs(f,d)|0)==0):0)?(fs(b,f),(gs(f,d+8|0)|0)==0):0)?(fs(b,f),(gs(f,d+16|0)|0)==0):0){fs(b,f);e=(gs(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function ds(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(es(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(XJ(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function es(b){b=b|0;var d=0;d=b+4|0;if(!(gL(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function fs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;ds(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(es(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function gs(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+tM(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function hs(a,b){a=+a;b=b|0;var c=0.0;do if(!(xJ(b,83705)|0)){a=a*72.0;c=a;a=a>=0.0?.5:-.5}else{if(!(xJ(b,83708)|0)){a=a*.75;c=a;a=a>=0.0?.5:-.5;break}if(!(xJ(b,83711)|0)){a=a*12.0;c=a;a=a>=0.0?.5:-.5;break}if(xJ(b,83678)|0?xJ(b,83714)|0:0)if(!(xJ(b,83716)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(xJ(b,83719)|0)==0;c=a*2.8346456663999997;return (b?~~(c+(c>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=BN(a)|0;if(KL(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)LL(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)gb[e&127](b);_I(b);return}function ks(){var a=0;ym(0,1,86240,90527)|0;a=xr(0,1)|0;sE(a,0);return a|0}function ls(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0;k=l;l=l+304|0;j=k+24|0;i=k+8|0;f=k;g=k+40|0;if((fr(b,e)|0)!=999)if((gr(b,d)|0)==-1)b=-1;else{b=c[d+16>>2]|0;e=b+16|0;if(!(a[(c[b+8>>2]|0)+81>>0]|0)){p=+h[e>>3];o=+h[b+24>>3];n=+h[b+32>>3];m=+h[b+40>>3];c[j>>2]=~~(p+(p>=0.0?.5:-.5));c[j+4>>2]=~~(o+(o>=0.0?.5:-.5));c[j+8>>2]=~~(n+(n>=0.0?.5:-.5));c[j+12>>2]=~~(m+(m>=0.0?.5:-.5));pL(g,83918,j)|0}else{m=+h[b+24>>3];n=+h[e>>3];o=+h[b+40>>3];p=+h[b+32>>3];c[i>>2]=~~(m+(m>=0.0?.5:-.5));c[i+4>>2]=~~(n+(n>=0.0?.5:-.5));c[i+8>>2]=~~(o+(o>=0.0?.5:-.5));c[i+12>>2]=~~(p+(p>=0.0?.5:-.5));pL(g,83918,i)|0}Lm(d,87705,g,174181)|0;b=0}else{b=Kr(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;_l(1,83869,f)|0;b=-1}l=k;return b|0}function ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;Br(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=bD(b,c[b+52>>2]|0)|0;if((No(f,122277,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){bm(83930,g);b=-1}else h=5;if((h|0)==5){c[b+36>>2]=e;if(!e){h=b+152|0;c[h>>2]=c[h>>2]|134217728}h=Gv(a,f)|0;dD(b);Gr(a);b=h}l=i;return b|0}function ns(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;Br(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=bD(b,c[b+52>>2]|0)|0;if((No(f,122277,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){bm(83930,g);b=-1}else h=5;if((h|0)==5){Ar(a,e);h=Gv(a,f)|0;dD(b);qr(b);Gr(a);b=h}l=i;return b|0}function os(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;Br(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=bD(j,c[j+52>>2]|0)|0;if((No(b,122277,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){bm(83930,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=ZI(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=Gv(a,b)|0;dD(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}Gr(a);break}_l(1,83951,h)|0;b=-1}while(0);l=m;return b|0}function ps(a,b){a=a|0;b=b|0;qE(a,0,b);return}function qs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!((a|0)!=0?(ys(a)|0)!=0:0))a=84007;e=rJ(a)|0;if((e|0)>=104){d=ww(e+25|0)|0;if(!d)d=0;else f=6}else f=6;if((f|0)==6){xK(d,a)|0;c[b>>2]=e}return d|0}function rs(a,b){a=a|0;b=b|0;io(b,a,1)|0;return}function ss(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function ts(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;ws(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=xs(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)hb[f&31](k,d);h=Um(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(ab[c[j>>2]&63](f,-1)|0))ws(e,f);h=Vm(a,h,k)|0}}return b|0}function us(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;vs(a);a=b}return}function vs(a){a=a|0;_I(c[a>>2]|0);_I(a);return}function ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=ww(16)|0;if(!e){_l(1,83988,f)|0;Ua(168248,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=ww(4e6)|0;c[e>>2]=d;if(!d){_l(1,83988,j)|0;Ua(168248,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}ab[c[a+16>>2]&63](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function xs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function ys(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(gK(c&255)|0)){b=0;break}}return b|0}function zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=co(a)|0;while(1){if(!f)break;e=Pm(b,f)|0;while(1){if(!e)break;if(io(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){en(a,e,1)|0;d=d+1|0}e=Rm(b,e)|0}f=eo(a,f)|0}return d|0}function As(a){a=a|0;a=Lo(a,84012,0)|0;if(!a)ma(84017,84020,529,84029);else return c[a+8>>2]|0;return 0}function Bs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if(mn(b)|0){So(b,0,84038,-12,0);So(b,1,84050,16,0);o=qs(e,f,t)|0;k=Cs(b)|0;m=ww((mn(k)|0)<<2)|0;ss(p,u+4144|0,u+48|0,23,22);h=co(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[13918]|0;e=0;while(1){if(!h)break;if(!(ab[c[n>>2]&63](h,-1)|0)){c[q>>2]=e;pL(i,84952,q)|0;v=Ip(k,o,1)|0;w=Ip(b,o,1)|0;No(w,84038,12,0)|0;a[(Lo(w,84038,0)|0)+8>>0]=1;f=ts(k,h,v,p)|0;Es(v,w);g=Fs(w)|0;Gs(b,w);c[m+(e<<2)>>2]=w;qo(k,v)|0;if(0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;zL(j,84062,r)|0}e=e+1|0}h=eo(k,h)|0}if(0){r=mn(b)|0;v=nn(b)|0;w=Dn(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;zL(j,84092,s)|0}ln(k)|0;To(b,0,84038);To(b,1,84050);us(p);f=yw(m,e<<2)|0;if((o|0)!=(t|0))_I(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function Cs(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a[h>>0]=a[17652]|0;a[h+1>>0]=a[17653]|0;a[h+2>>0]=a[17654]|0;a[h+3>>0]=a[17655]|0;h=gn(84139,h,0)|0;Js(h,b);d=co(b)|0;while(1){if(!d)break;if(!(c[(Lo(d,84050,0)|0)+12>>2]|0)){g=no(h,Dn(d)|0,1)|0;No(g,84050,16,1)|0;c[(c[g+16>>2]|0)+12>>2]=d;c[(Lo(d,84050,0)|0)+12>>2]=g}d=eo(b,d)|0}e=co(b)|0;while(1){if(!e)break;f=c[(Lo(e,84050,0)|0)+12>>2]|0;d=Pm(b,e)|0;while(1){if(!d)break;g=c[(Lo(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,84050,0)|0)+12>>2]|0;do if((g|0)!=(f|0))if(g>>>0>f>>>0){an(h,f,g,0,1)|0;break}else{an(h,g,f,0,1)|0;break}while(0);d=Rm(b,d)|0}e=eo(b,e)|0}l=i;return h|0}function Ds(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function Es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=co(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)io(b,f,1)|0;else{d=co(f)|0;while(1){if(!d)break a;io(b,d,1)|0;d=eo(f,d)|0}}while(0);e=eo(a,e)|0}return}function Fs(a){a=a|0;return zs(a,c[a+60>>2]|0)|0}function Gs(a,b){a=a|0;b=b|0;Hs(a,b,0);return}function Hs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=Jp(b)|0;while(1){if(!b)break;if((a[(Lo(b,84038,0)|0)+8>>0]|0)==0?(f=Is(b,c,d)|0,f|0):0){if(g)e=(VJ(Dn(b)|0,93039,7)|0)==0;else e=1;Hs(b,f,e&1)}b=Kp(b)|0}return}function Is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;g=co(a)|0;while(1){if(!g)break;f=no(b,Dn(g)|0,0)|0;if(f){if(!e)e=Ip(b,Dn(a)|0,1)|0;io(e,f,1)|0}g=eo(a,g)|0}if((d|0)!=0&(e|0)==0)e=Ip(b,Dn(a)|0,1)|0;if(e|0?(zs(e,a)|0,Mm(a,e)|0,(VJ(Dn(e)|0,93039,7)|0)==0):0)c[(No(e,84012,12,0)|0)+8>>2]=a;return e|0}function Js(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;d=Jp(b)|0;e=c[13918]|0;while(1){if(!d)break;a:do if(!(VJ(Dn(d)|0,93039,7)|0)){f=no(a,Dn(d)|0,1)|0;No(f,84050,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=co(d)|0;while(1){if(!b)break a;if(c[(Lo(b,84050,0)|0)+12>>2]|0){k=Dn(b)|0;j=Dn(d)|0;i=Dn(c[(Lo(b,84050,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;zL(e,84142,g)|0}c[(Lo(b,84050,0)|0)+12>>2]=f;b=eo(d,b)|0}}else Js(a,d);while(0);d=Kp(d)|0}l=h;return}function Ks(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){Cx(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){Cx(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=Ms(a,b,d,e)|0;break}m=ww(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;dB(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=vw(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=Im(c[b+(d<<2)>>2]|0,84209)|0;if(g|0?(c[k>>2]=j,g=(cM(g,122187,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=Ns(a,m,e)|0;if(c[h>>2]&2)_I(c[e+24>>2]|0)}else d=0;_I(m)}while(0);l=n;return d|0}function Ms(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0;G=l;l=l+144|0;B=G+136|0;A=G+64|0;F=G+48|0;v=G+40|0;u=G;t=G+120|0;x=G+104|0;C=G+96|0;D=c[f+20>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;a:do if((b|0)>=1){o=(D|0)==0;E=c[13918]|0;p=t+4|0;q=t+8|0;r=t+12|0;y=x+4|0;w=x+8|0;z=x+12|0;n=0;g=0;while(1){if((n|0)==(b|0))break;s=c[d+(n<<2)>>2]|0;dB(s);if(!o?(a[D+n>>0]|0)!=0:0){m=c[s+16>>2]|0;H=+h[m+16>>3];i=~~(H+(H>=0.0?.5:-.5));c[t>>2]=i;H=+h[m+24>>3];j=~~(H+(H>=0.0?.5:-.5));c[p>>2]=j;H=+h[m+32>>3];k=~~(H+(H>=0.0?.5:-.5));c[q>>2]=k;H=+h[m+40>>3];m=~~(H+(H>=0.0?.5:-.5));c[r>>2]=m;if(!g){c[x>>2]=c[t>>2];c[x+4>>2]=c[t+4>>2];c[x+8>>2]=c[t+8>>2];c[x+12>>2]=c[t+12>>2]}else{c[x>>2]=c[((c[x>>2]|0)>(i|0)?t:x)>>2];c[y>>2]=c[((c[y>>2]|0)>(j|0)?t:x)+4>>2];c[w>>2]=c[((c[w>>2]|0)<(k|0)?t:x)+8>>2];c[z>>2]=c[((c[z>>2]|0)<(m|0)?t:x)+12>>2]}g=g+1|0}if(0>2){m=Dn(s)|0;s=c[s+16>>2]|0;K=+h[s+16>>3];J=+h[s+24>>3];I=+h[s+32>>3];H=+h[s+40>>3];c[u>>2]=m;h[u+8>>3]=K;h[u+16>>3]=J;h[u+24>>3]=I;h[u+32>>3]=H;zL(E,84276,u)|0}n=n+1|0}q=ww(b<<5)|0;g=0;while(1){if((g|0)==(b|0))break;u=q+(g<<5)|0;t=(c[(c[d+(g<<2)>>2]|0)+16>>2]|0)+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];g=g+1|0}o=f+8|0;p=Qs(b,q,c[o>>2]|0)|0;if(0){c[v>>2]=p;zL(E,84304,v)|0}if((p|0)>=1){n=(D|0)!=0;if(n){i=((c[w>>2]|0)+(c[x>>2]|0)|0)/2|0;g=((c[z>>2]|0)+(c[y>>2]|0)|0)/2|0}else{i=0;g=0}c[C+4>>2]=g;c[C>>2]=i;m=vw(b<<4)|0;k=f+16|0;g=0;while(1){if((g|0)>=(b|0))break;i=c[d+(g<<2)>>2]|0;j=m+(g<<4)|0;c[m+(g<<4)+12>>2]=g;if((c[k>>2]|0)==3){x=(c[i+16>>2]|0)+16|0;y=c[o>>2]|0;z=Dn(i)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2];c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];Rs(A,j,p,y,B,z)}else{c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];Ss(e,i,j,p,f,B)}g=g+1|0}j=vw(b<<2)|0;g=0;while(1){if((g|0)>=(b|0))break;c[j+(g<<2)>>2]=m+(g<<4);g=g+1|0}rL(j,b,4,23);k=wx()|0;g=vw(b<<3)|0;b:do if(n){i=0;while(1){if((i|0)>=(b|0)){i=0;break}if(a[D+i>>0]|0){e=c[j+(i<<2)>>2]|0;f=g+(c[e+12>>2]<<3)|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];Us(e,k,f,B)}i=i+1|0}while(1){if((i|0)>=(b|0))break b;if(!(a[D+i>>0]|0)){C=c[j+(i<<2)>>2]|0;Vs(i,C,k,g+(c[C+12>>2]<<3)|0,p,c[o>>2]|0,q)}i=i+1|0}}else{i=0;while(1){if((i|0)>=(b|0))break b;D=c[j+(i<<2)>>2]|0;Vs(i,D,k,g+(c[D+12>>2]<<3)|0,p,c[o>>2]|0,q);i=i+1|0}}while(0);_I(j);i=0;while(1){if((i|0)>=(b|0))break;_I(c[m+(i<<4)+4>>2]|0);i=i+1|0}_I(m);zx(k);_I(q);if(0>1){i=0;while(1){if((i|0)>=(b|0))break a;C=c[g+(i<<3)>>2]|0;D=c[g+(i<<3)+4>>2]|0;c[F>>2]=i;c[F+4>>2]=C;c[F+8>>2]=D;zL(E,84320,F)|0;i=i+1|0}}}else g=0}else g=0;while(0);l=G;return g|0}function Ns(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;g=z;x=vw(a<<3)|0;f=c[d+4>>2]|0;y=d+28|0;e=(f|0)>0;do if(!(c[y>>2]&1))if(e){k=1;w=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=1;w=(a+-1+f|0)/(f|0)|0;break}else if(e){k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}while(0);if(0){v=c[13918]|0;c[g>>2]=k|0?84215:84225;c[g+4>>2]=w;c[g+8>>2]=f;zL(v,84238,g)|0}t=vw((f<<3)+8|0)|0;u=vw((w<<3)+8|0)|0;v=vw(a*24|0)|0;j=d+8|0;e=0;g=v;while(1){if((e|0)>=(a|0))break;p=+h[b+(e<<5)+8>>3];o=+h[b+(e<<5)+24>>3];q=+((c[j>>2]|0)>>>0);h[g>>3]=+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]+q;h[g+8>>3]=o-p+q;c[g+16>>2]=e;e=e+1|0;g=g+24|0}s=vw(a<<2)|0;e=0;while(1){if((e|0)>=(a|0))break;c[s+(e<<2)>>2]=v+(e*24|0);e=e+1|0}e=c[d+24>>2]|0;if(!e){if(!(c[y>>2]&64))rL(s,a,4,25)}else{c[42101]=e;rL(s,a,4,24)}r=(k|0)==0;e=0;g=0;j=0;while(1){if((j|0)>=(a|0)){i=0.0;e=0;break}k=c[s+(j<<2)>>2]|0;d=t+(g<<3)|0;q=+h[d>>3];p=+h[k>>3];h[d>>3]=q>p?q:p;d=u+(e<<3)|0;p=+h[d>>3];q=+h[k+8>>3];h[d>>3]=p>q?p:q;if(r){e=e+1|0;d=(e|0)==(w|0);e=d?0:e;g=g+(d&1)|0}else{g=g+1|0;d=(g|0)==(f|0);e=e+(d&1)|0;g=d?0:g}j=j+1|0}while(1){if((e|0)>(f|0)){i=0.0;e=w;break}d=t+(e<<3)|0;q=+h[d>>3];h[d>>3]=i;i=q+i;e=e+1|0}while(1){if((e|0)<=0)break;d=e+-1|0;q=+h[u+(d<<3)>>3];h[u+(e<<3)>>3]=i;i=q+i;e=d}h[u>>3]=i;e=0;g=0;d=0;while(1){if((d|0)>=(a|0))break;k=c[(c[s+(d<<2)>>2]|0)+16>>2]|0;i=+h[b+(k<<5)>>3];m=-i;p=+h[b+(k<<5)+8>>3];q=-p;n=+h[b+(k<<5)+16>>3];o=+h[b+(k<<5)+24>>3];j=c[y>>2]|0;do if(!(j&4))if(!(j&8)){i=(m-n+ +h[t+(g<<3)>>3]+ +h[t+(g+1<<3)>>3])*.5;break}else{i=i-n+ +h[t+(g+1<<3)>>3];break}else i=+h[t+(g<<3)>>3];while(0);c[x+(k<<3)>>2]=~~i;do if(!(j&16))if(!(j&32)){i=(q-o+ +h[u+(e<<3)>>3]+ +h[u+(e+1<<3)>>3])*.5;break}else{i=+h[u+(e+1<<3)>>3];break}else i=p-o+ +h[u+(e<<3)>>3];while(0);c[x+(k<<3)+4>>2]=~~i;if(r){e=e+1|0;k=(e|0)==(w|0);e=k?0:e;g=g+(k&1)|0}else{g=g+1|0;k=(g|0)==(f|0);e=e+(k&1)|0;g=k?0:g}d=d+1|0}_I(v);_I(s);_I(t);_I(u);l=z;return x|0}function Os(a,b){a=a|0;b=b|0;var d=0;d=c[42101]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function Ps(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a>>3]+ +h[a+8>>3];d=+h[b>>3]+ +h[b+8>>3];return (e<d?1:(e>d)<<31>>31)|0}function Qs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;q=s+80|0;r=s+48|0;p=s+8|0;m=s;k=(a*100|0)+-1|0;e=+(d<<1|0);n=0.0;o=0.0;d=0;while(1){if((d|0)>=(a|0))break;j=+h[b+(d<<5)+16>>3]-+h[b+(d<<5)>>3]+e;i=+h[b+(d<<5)+24>>3]-+h[b+(d<<5)+8>>3]+e;n=n-j-i;o=o-i*j;d=d+1|0}i=+(k|0);j=n*n-i*4.0*o;if(!(j<0.0)){e=+C(+j);g=i*2.0;f=(e-n)/g;g=(-n-e)/g;d=~~f;d=(d|0)==0?1:d;if(0>2){m=c[13918]|0;XL(84463,27,1,m)|0;h[p>>3]=i;h[p+8>>3]=n;h[p+16>>3]=o;h[p+24>>3]=j;h[p+32>>3]=e;zL(m,84491,p)|0;c[r>>2]=d;h[r+8>>3]=f;c[r+16>>2]=~~g;h[r+24>>3]=g;zL(m,84517,r)|0;h[q>>3]=(f*i+n)*f+o;h[q+8>>3]=(g*i+n)*g+o;zL(m,84539,q)|0}}else{h[m>>3]=j;_l(1,84436,m)|0;d=-1}l=s;return d|0}function Rs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+32|0;t=u+16|0;s=u;p=+h[a>>3];q=+h[a+8>>3];n=+h[a+16>>3];o=+h[a+24>>3];r=wx()|0;j=c[f>>2]|0;a=j-e|0;k=c[f+4>>2]|0;i=k-e|0;j=e-~~(p+(p>=0.0?.5:-.5))+j+~~(n+(n>=0.0?.5:-.5))|0;k=e-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;if((a|0)>-1)f=(a|0)/(d|0)|0;else f=((a+1|0)/(d|0)|0)+-1|0;if((i|0)>-1)m=(i|0)/(d|0)|0;else m=((i+1|0)/(d|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(d|0)|0;else j=((j+1|0)/(d|0)|0)+-1|0;if((k|0)>-1)i=(k|0)/(d|0)|0;else i=((k+1|0)/(d|0)|0)+-1|0;while(1){if((f|0)>(j|0))break;else a=m;while(1){if((a|0)>(i|0))break;Cx(r,f,a);a=a+1|0}f=f+1|0}k=b+4|0;c[k>>2]=Gx(r)|0;j=Fx(r)|0;m=b+8|0;c[m>>2]=j;w=+(e<<1|0);v=+(d|0);i=~~+N(+((n+w-p)/v));a=~~+N(+((o+w-q)/v));c[b>>2]=a+i;a:do if(0>2){f=c[13918]|0;c[s>>2]=g;c[s+4>>2]=j;c[s+8>>2]=i;c[s+12>>2]=a;zL(f,84395,s)|0;a=0;while(1){if((a|0)>=(c[m>>2]|0))break a;g=c[k>>2]|0;s=c[g+(a<<3)+4>>2]|0;c[t>>2]=c[g+(a<<3)>>2];c[t+4>>2]=s;zL(f,84422,t)|0;a=a+1|0}}while(0);zx(r);l=u;return}function Ss(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0.0,R=0.0;P=l;l=l+128|0;F=P+112|0;E=P+104|0;O=P+16|0;M=P;H=P+64|0;I=P+56|0;z=P+40|0;A=P+96|0;y=P+88|0;v=P+24|0;w=P+80|0;x=P+72|0;K=c[f+8>>2]|0;G=c[f+12>>2]|0;C=(a|0)==0?b:a;L=wx()|0;J=b+16|0;B=c[J>>2]|0;t=+h[B+16>>3];D=(c[g>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;t=+h[B+24>>3];B=(c[g+4>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;a:do if((c[f+16>>2]|0)==1){v=ww((mn(b)|0)<<2)|0;a=0;g=co(b)|0;while(1){if(!g)break;x=g+16|0;c[v+(a<<2)>>2]=c[(c[x>>2]|0)+112>>2];c[(c[x>>2]|0)+112>>2]=0;a=a+1|0;g=eo(b,g)|0}o=D-K|0;p=B-K|0;q=D+K|0;r=B+K|0;n=1;while(1){a=c[J>>2]|0;if((n|0)>(c[a+180>>2]|0))break;m=c[(c[a+184>>2]|0)+(n<<2)>>2]|0;i=c[m+16>>2]|0;t=+h[i+16>>3];a=~~(t+(t>=0.0?.5:-.5));t=+h[i+24>>3];g=~~(t+(t>=0.0?.5:-.5));t=+h[i+32>>3];f=~~(t+(t>=0.0?.5:-.5));t=+h[i+40>>3];i=~~(t+(t>=0.0?.5:-.5));b:do if((f|0)>(a|0)&(i|0)>(g|0)){a=o+a|0;j=p+g|0;f=q+f|0;k=r+i|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(e|0)|0;else j=((j+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)i=(f|0)/(e|0)|0;else i=((f+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)f=(k|0)/(e|0)|0;else f=((k+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=j;while(1){if((a|0)>(f|0))break;Cx(L,g,a);a=a+1|0}g=g+1|0}a=co(m)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=m;a=eo(m,a)|0}}while(0);n=n+1|0}r=z+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=A+4|0;p=y+4|0;o=co(b)|0;while(1){if(!o)break;OA(z,o);R=+h[z>>3];Q=+h[r>>3];m=D+~~(R+(R>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(Q+(Q>=0.0?.5:-.5))|0;c[s>>2]=n;g=o+16|0;a=c[g>>2]|0;c:do if(!(c[a+212>>2]|0)){c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Xs(A,E,F);a=c[A>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Ys(y,E,F);i=c[y>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;Cx(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Pm(C,o)|0;while(1){if(!a)break c;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];Zs(a,F,L,D,B,e,G);a=Rm(C,a)|0}}else{if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Pm(C,o)|0;while(1){if(!a)break c;if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];Zs(a,F,L,D,B,e,G)}a=Rm(C,a)|0}}while(0);o=eo(b,o)|0}a=0;g=co(b)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+112>>2]=c[v+(a<<2)>>2];a=a+1|0;g=eo(b,g)|0}_I(v)}else{r=v+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=w+4|0;p=x+4|0;o=co(b)|0;while(1){if(!o)break a;OA(v,o);Q=+h[v>>3];R=+h[r>>3];m=D+~~(Q+(Q>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(R+(R>=0.0?.5:-.5))|0;c[s>>2]=n;a=c[o+16>>2]|0;c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Xs(w,E,F);a=c[w>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Ys(x,E,F);i=c[x>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;Cx(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Pm(C,o)|0;while(1){if(!a)break;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];Zs(a,F,L,D,B,e,G);a=Rm(C,a)|0}o=eo(b,o)|0}}while(0);i=d+4|0;c[i>>2]=Gx(L)|0;j=d+8|0;c[j>>2]=Fx(L)|0;g=c[J>>2]|0;Q=+(K<<1|0);R=+(e|0);a=~~+N(+((+h[g+32>>3]+Q-+h[g+16>>3])/R));g=~~+N(+((+h[g+40>>3]+Q-+h[g+24>>3])/R));c[d>>2]=g+a;d:do if(0>2){f=c[13918]|0;d=Dn(b)|0;b=c[j>>2]|0;c[M>>2]=d;c[M+4>>2]=b;c[M+8>>2]=a;c[M+12>>2]=g;zL(f,84395,M)|0;a=0;while(1){if((a|0)>=(c[j>>2]|0))break d;b=c[i>>2]|0;M=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=M;zL(f,84422,O)|0;a=a+1|0}}while(0);zx(L);l=P;return}function Ts(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function Us(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j+16|0;i=j;k=c[a+4>>2]|0;g=c[a+8>>2]|0;c[d>>2]=0-(c[e>>2]|0);f=d+4|0;c[f>>2]=0-(c[e+4>>2]|0);a=0;e=k;while(1){if((a|0)>=(g|0))break;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];Ax(b,h);a=a+1|0;e=e+8|0}if(0>1){k=c[13918]|0;b=c[d>>2]|0;d=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=b;c[i+8>>2]=d;zL(k,84369,i)|0}l=j;return}function Vs(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;k=c[b+12>>2]|0;l=+h[i+(k<<5)>>3];m=+h[i+(k<<5)+8>>3];n=+h[i+(k<<5)+16>>3];o=+h[i+(k<<5)+24>>3];if(!((a|0)==0?(q=+(g<<1|0),p=+(f|0),(Ws((~~+N(+((q-l+n)/p))|0)/-2|0,(~~+N(+((q-m+o)/p))|0)/-2|0,b,d,e,f,i)|0)!=0):0))j=3;a:do if((j|0)==3?(Ws(0,0,b,d,e,f,i)|0)==0:0)if((~~+N(+(n-l))|0)<(~~+N(+(o-m))|0)){k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)<=(j|0)){g=j;break}if(Ws(j,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(k|0))break;if(Ws(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(k|0))break;if(Ws(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(j|0))break;if(Ws(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(Ws(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}k=k+1|0}}else{k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)>=(k|0)){g=j;break}if(Ws(a,j,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(k|0))break;if(Ws(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(j|0))break;if(Ws(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(j|0))break;if(Ws(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(Ws(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}k=k+1|0}}while(0);return}function Ws(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;t=l;l=l+48|0;r=t+32|0;s=t+8|0;q=t;m=d+4|0;o=c[d+8>>2]|0;p=q+4|0;j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0)){n=5;break}v=j;u=c[v+4>>2]|0;c[q>>2]=(c[v>>2]|0)+a;c[p>>2]=u+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];if(Dx(e,r)|0){j=0;break}j=j+8|0;k=k+1|0}if((n|0)==5){d=c[d+12>>2]|0;x=+h[i+(d<<5)>>3];w=+h[i+(d<<5)+8>>3];c[f>>2]=(O(g,a)|0)-~~(x+(x>=0.0?.5:-.5));d=f+4|0;c[d>>2]=(O(g,b)|0)-~~(w+(w>=0.0?.5:-.5));j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0))break;u=j;v=c[u+4>>2]|0;c[q>>2]=(c[u>>2]|0)+a;c[p>>2]=v+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];Ax(e,r);j=j+8|0;k=k+1|0}if(0>1){j=c[13918]|0;u=c[f>>2]|0;v=c[d>>2]|0;c[s>>2]=o;c[s+4>>2]=a;c[s+8>>2]=b;c[s+12>>2]=u;c[s+16>>2]=v;zL(j,84335,s)|0;j=1}else j=1}l=t;return j|0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function Zs(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;r=A+48|0;s=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);t=y+8|0;h[t>>3]=+(c[b+4>>2]|0);a:do if((i|0)!=0?(u=a+16|0,m=c[(c[u>>2]|0)+8>>2]|0,(m|0)!=0):0){q=+(e|0);p=+(f|0);o=1.0/+(g|0);n=z+8|0;i=0;while(1){if((i|0)>=(c[m+4>>2]|0))break a;f=c[m>>2]|0;a=c[f+(i*48|0)>>2]|0;b=c[f+(i*48|0)+4>>2]|0;g=c[f+(i*48|0)+8>>2]|0;e=c[f+(i*48|0)+12>>2]|0;m=f+(i*48|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];f=f+(i*48|0)+32|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];if(!g){c[y>>2]=c[a>>2];c[y+4>>2]=c[a+4>>2];c[y+8>>2]=c[a+8>>2];c[y+12>>2]=c[a+12>>2];m=a+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];c[z>>2]=c[a>>2];c[z+4>>2]=c[a+4>>2];c[z+8>>2]=c[a+8>>2];c[z+12>>2]=c[a+12>>2];m=1}j=+h[y>>3]+q;h[y>>3]=j;k=+h[t>>3]+p;h[t>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[t>>3]=j;j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ks(w,x,d);while(1){if((m|0)>=(b|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];g=a+(m<<4)|0;c[z>>2]=c[g>>2];c[z+4>>2]=c[g+4>>2];c[z+8>>2]=c[g+8>>2];c[z+12>>2]=c[g+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ks(w,x,d);m=m+1|0}if(e|0){c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[z>>2]=c[s>>2];c[z+4>>2]=c[s+4>>2];c[z+8>>2]=c[s+8>>2];c[z+12>>2]=c[s+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ks(w,x,d)}i=i+1|0;m=c[(c[u>>2]|0)+8>>2]|0}}else v=4;while(0);if((v|0)==4){OA(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+h[z>>3]+ +(e|0);h[z>>3]=j;m=z+8|0;k=+h[m>>3]+ +(f|0);h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/+(g|0)+-1.0;else j=j/+(g|0);h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/+(g|0)+-1.0;else j=k/+(g|0);h[m>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ks(w,x,d)}l=A;return}function _s(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m*.013888888888888888;o=+(l|0);p=o*.013888888888888888;i=co(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=+h[t>>3]+n;t=t+8|0;h[t>>3]=+h[t>>3]+p;t=f+16|0;h[t>>3]=+h[t>>3]+m;t=f+24|0;h[t>>3]=+h[t>>3]+o;f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=+h[t>>3]+m;t=f+64|0;h[t>>3]=+h[t>>3]+o}b:do if(!q){f=Pm(g,i)|0;while(1){if(!f)break b;$s(f,k,l);f=Rm(g,f)|0}}while(0);i=eo(r,i)|0}at(r,k,l);j=j+1|0}}while(0);return f|0}function $s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+108>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+100>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+104>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}m=c[e+8>>2]|0;a:do if(m|0){l=+(b|0);j=+(d|0);b=c[m+4>>2]|0;a=0;while(1){if((a|0)>=(b|0))break a;k=c[m>>2]|0;d=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;n=d+(e<<4)|0;h[n>>3]=+h[n>>3]+l;n=d+(e<<4)+8|0;h[n>>3]=+h[n>>3]+j;e=e+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+24|0;h[n>>3]=+h[n>>3]+j}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+40|0;h[n>>3]=+h[n>>3]+j}a=a+1|0}}while(0);return}function at(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=+h[f>>3]+g;i=+(e|0);n=+h[m>>3]+i;k=+h[b>>3]+i;h[o>>3]=+h[o>>3]+g;h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=+h[o>>3]+g;f=f+64|0;h[f>>3]=+h[f>>3]+i;f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;at(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ls(a,b,d,e)|0;if(!f)a=1;else{a=_s(a,b,f,d,c[e+12>>2]|0)|0;_I(f)}return a|0}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=bt(a,b,d,e)|0;if(!n){dB(d);m=(c[d+16>>2]|0)+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=(c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+16|0;h[o>>3]=+h[(+h[o>>3]<+h[r>>3]?o:r)>>3];r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!e)ma(84553,84559,1400,84566);d=et(a,d,d)|0;c[e+8>>2]=d;if(0){h=c[13918]|0;c[f>>2]=d;zL(h,84578,f)|0}c[e+12>>2]=0;c[e+20>>2]=0;ft(a,b,e)|0;l=g;return c[e+16>>2]|0}function et(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=Im(b,84708)|0;a:do if(g){c[h>>2]=f;h=(cM(g,122187,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function ft(a,b,c){a=a|0;b=b|0;c=c|0;return gt(Im(a,84591)|0,b,c)|0}function gt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)ma(84553,84559,1292,84600);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(VJ(b,84618,5)|0)){c[p>>2]=4;m=ht(b+5|0,e)|0;c[k>>2]=j;m=(cM(m,122187,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(VJ(b,84624,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(cM(b+5|0,84631,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}case 99:{if(f<<24>>24!=99)break a;if(xJ(b,93039)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(xJ(b,96286)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(xJ(b,96273)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(0){d=c[13918]|0;XL(84634,11,1,d)|0;c[s>>2]=it(c[p>>2]|0)|0;zL(d,84646,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];zL(d,84659,t)|0}c[q>>2]=c[n>>2];zL(d,84672,q)|0;c[r>>2]=c[o>>2];zL(d,84685,r)|0}l=u;return c[p>>2]|0}function ht(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function it(a){a=a|0;switch(a|0){case 1:{a=93039;break}case 2:{a=96273;break}case 3:{a=96286;break}case 4:{a=84618;break}case 5:{a=84624;break}default:a=84698}return a|0}function jt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=$I(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=$I(100,j)|0}else{h=d+100|0;i=aJ(c[e+8>>2]|0,O(h,j)|0)|0;VN(i+(O(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=kt(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=O(h,j)|0;if((a|0)==(h|0)){i=aJ(i,O(f,j)|0)|0;VN(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(O(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){_I(i);_I(e);e=0;break}else{c[e+8>>2]=aJ(i,O(d,j)|0)|0;break}}while(0);l=n;return e|0}function kt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+80|0;h=j+64|0;i=j;c[f>>2]=0;do{g=a[d>>0]|0;d=d+1|0}while((XJ(g)|0)!=0);a:do switch(g|0){case 69:{c[b>>2]=0;d=lt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=lt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 112:{c[b>>2]=3;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 98:{c[b>>2]=4;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 66:{c[b>>2]=5;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 99:{d=nt(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=ot(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=9;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+24>>2];break a}else{c[b>>2]=14;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 67:{d=nt(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=ot(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=8;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+20>>2];break a}else{c[b>>2]=13;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 76:{c[b>>2]=6;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=pt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=pt(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=qt(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=pt(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=nt(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=pt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=nt(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=nt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=lt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=nt(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=rt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=j;return d|0}function lt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+tM(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+tM(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+tM(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+tM(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function mt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=st(a,j)|0;do if(a){d=c[j>>2]|0;i=$I(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+tM(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+tM(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;_I(i);a=0;break}else if((d|0)==7){c[j>>2]=f;_I(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function nt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=st(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){while(1){h=a[b>>0]|0;e=h<<24>>24==0;if(e^h<<24>>24!=45)b=b+1|0;else break}if(!e){h=$I(f+1|0,1)|0;g=h;e=f;while(1){b=b+1|0;if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0}if((e|0)==8){_I(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function ot(b,d){b=b|0;d=d|0;var e=0;e=a[b>>0]|0;switch(e|0){case 91:{b=tt(b+1|0,d)|0;break}case 40:{b=ut(b+1|0,d)|0;break}case 47:case 35:{c[d>>2]=0;c[d+8>>2]=b;break}default:if(!(gK(e)|0))b=0;else{c[d>>2]=0;c[d+8>>2]=b}}return b|0}function pt(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+tM(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function qt(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=st(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function rt(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=YJ(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function st(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=BL(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=pt(a,n)|0;do if(((((i|0)!=0?(j=pt(i,b+16|0)|0,(j|0)!=0):0)?(e=pt(j,b+24|0)|0,(e|0)!=0):0)?(f=pt(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=st(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=$I(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=pt(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=nt(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){_I(f);a=0;break}else if((d|0)==12){_I(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=pt(a,b+8|0)|0;do if(((((((k|0)!=0?(m=pt(k,b+16|0)|0,(m|0)!=0):0)?(e=pt(m,b+24|0)|0,(e|0)!=0):0)?(f=pt(e,b+32|0)|0,(f|0)!=0):0)?(i=pt(f,b+40|0)|0,(i|0)!=0):0)?(j=pt(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=st(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=$I(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=pt(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=nt(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){_I(i);a=0;break}else if((d|0)==14){_I(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function vt(a,b,c){a=a|0;b=b|0;c=c|0;return jt(a,b,c,0)|0}function wt(a){a=a|0;return vt(a,0,0)|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(O(c[g>>2]|0,b)|0)|0;if(!h)gb[e&127](d);yt(d);b=b+1|0}_I(f);_I(a)}return}function yt(a){a=a|0;switch(c[a>>2]|0){case 3:case 2:{_I(c[a+8+4>>2]|0);break}case 5:case 4:{_I(c[a+8+4>>2]|0);break}case 6:{_I(c[a+8+4>>2]|0);break}case 7:{_I(c[a+40>>2]|0);break}case 9:case 8:{_I(c[a+8>>2]|0);break}case 14:case 13:{zt(a+8|0);break}case 10:{_I(c[a+16>>2]|0);break}case 11:{_I(c[a+8>>2]|0);break}case 12:{_I(c[a+40>>2]|0);break}default:{}}return}function zt(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;_I(c[d+(a<<3)+4>>2]|0);a=a+1|0}_I(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;_I(c[b+(a<<3)+4>>2]|0);a=a+1|0}_I(b);break}default:{}}return}function At(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(qn(ro(b)|0)|0)!=0&1;f=c[42228]|0;a:do if(f|0?(h=Jm(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=19444;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(xJ(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[42239]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=Jm(b,f)|0,a[j>>0]|0):0)Bt(j,e);f=c[42240]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=Jm(b,f)|0,a[m>>0]|0):0)Bt(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=ro(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;At(an(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function Bt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;g=(j|0)<4;h=(j|0)==3;i=(j|0)==0;while(1){if(!(g&(a[b>>0]|0)!=0))break a;c[k>>2]=0;f=Ct(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(h&b)){if(!(i&b))break;if(a[f>>0]|0)break}c[k>>2]=0;b=f}e=c[d>>2]|e<<(j<<3);j=j+1|0;b=f}if((n|0)==5){c[m>>2]=b;_l(0,84713,m)|0}l=o;return}function Ct(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=Dt(a,19504,e)|0;if((d|0)==(a|0)){while(1){d=Dt(a,19520,e)|0;if((a|0)==(d|0))break;else a=d}d=Dt(a,19568,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function Dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=rJ(e)|0;if(!(VJ(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function Et(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1336;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=+h[e+8>>3]+d}g=g+1|0}return +(d*10.0*+EA(a,c[42232]|0,1.0,0.0))}function Ft(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0;p=l;l=l+96|0;m=p+80|0;o=p;k=f>4.0?f*.0875:.35;i=+h[d+8>>3];n=i*k;j=+h[d>>3];k=j*k;e=+h[b>>3];j=e+j;h[m>>3]=j;f=+h[b+8>>3];i=i+f;h[m+8>>3]=i;d=o+64|0;if(!(g&32)){c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=o+32|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];f=i;e=j}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=o+32|0;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2]}h[o+16>>3]=e+n;h[o+24>>3]=f-k;h[o+48>>3]=e-n;h[o+56>>3]=f+k;do if(!(g&64))if(!(g&128)){HD(a,o+16|0,3,g>>>4&1^1);break}else{HD(a,o+32|0,3,g>>>4&1^1);break}else HD(a,o,3,g>>>4&1^1);while(0);l=p;return}function Gt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0;x=l;l=l+160|0;n=x+144|0;w=x;q=e*4.0;y=(g&32|0)==0;q=!(q<f)|y?.45:f/q*.45;s=!(f>1.0)|y?0.0:(f+-1.0)*.05/e;u=+h[d+8>>3];r=-u;v=q*r;t=+h[d>>3];q=t*q;r=s*r;s=t*s;p=+h[b>>3];e=p+t;h[n>>3]=e;o=+h[b+8>>3];f=u+o;h[n+8>>3]=f;t=t*.5+p;u=u*.5+o;d=w+128|0;if(y){c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];y=w+64|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];i=o;j=p;k=o;m=p;f=o;e=p}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[w>>2]=c[b>>2];c[w+4>>2]=c[b+4>>2];c[w+8>>2]=c[b+8>>2];c[w+12>>2]=c[b+12>>2];y=w+64|0;c[y>>2]=c[n>>2];c[y+4>>2]=c[n+4>>2];c[y+8>>2]=c[n+8>>2];c[y+12>>2]=c[n+12>>2];i=f+s;j=e+r;k=f-s;m=e-r}h[w+16>>3]=e-v;h[w+24>>3]=f-q;h[w+32>>3]=t-r;h[w+40>>3]=u-s;h[w+48>>3]=m;h[w+56>>3]=k;h[w+80>>3]=j;h[w+88>>3]=i;h[w+96>>3]=t+r;h[w+104>>3]=u+s;h[w+112>>3]=e+v;h[w+120>>3]=f+q;do if(!(g&64))if(!(g&128)){HD(a,w,9,1);break}else{HD(a,w+48|0,6,1);break}else HD(a,w,6,1);while(0);l=x;return}function Ht(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=k+s;m=+h[b+8>>3];f=m+t;i=k+s*.2;j=m+t*.2;k=k+s*.6;m=m+t*.6;h[p>>3]=i-t;h[p+8>>3]=j+s;n=p+16|0;h[n>>3]=i+t;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=k+t;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=m+s;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}HD(a,p,4,1);c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[n>>3]=e;h[o>>3]=f;KD(a,p,2);l=q;return}function It(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=s+j*.8;i=t+i;j=s+j;h[n>>3]=t+r;k=n+8|0;h[k>>3]=s+q;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=e+r;h[n+56>>3]=f+q;if(!(g&64)){if(g&128|0){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=2;p=5}}else{c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}HD(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;KD(a,n,2);l=o;return}function Jt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=l;l=l+80|0;i=j;n=+h[d+8>>3];k=n*-.3333333333333333;p=+h[d>>3];f=p*.3333333333333333;q=+h[b>>3];m=q+p*.5;o=+h[b+8>>3];e=o+n*.5;d=i+64|0;h[i+64>>3]=q+p;h[i+72>>3]=o+n;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];h[i+16>>3]=m+k;h[i+24>>3]=e+f;d=i+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[i+48>>3]=m-k;h[i+56>>3]=e-f;do if(!(g&64)){d=g>>>4&1^1;if(!(g&128)){HD(a,i,4,d);break}else{HD(a,i,3,d);break}}else HD(a,d,3,g>>>4&1^1);while(0);l=j;return}function Kt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+32|0;i=g;k=+h[c>>3];e=+h[c+8>>3];d=+C(+(e*e+k*k))*.5;m=+h[b>>3];k=k*.5;h[i>>3]=m+k-d;j=+h[b+8>>3];e=e*.5;h[i+8>>3]=j-d+e;h[i+16>>3]=m+d+k;h[i+24>>3]=j+d+e;GD(a,i,2,f>>>4&1^1);l=g;return}function Lt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;q=t+48|0;r=t+16|0;s=t;n=f>4.0?f*.125:.5;p=+h[b>>3];o=+h[d>>3];i=+h[b+8>>3];m=+h[d+8>>3];e=m*n;f=o*n;c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];h[r+16>>3]=o+p;h[r+24>>3]=m+i;h[q>>3]=n*(o-m)+p;j=n*(m+o);k=j+i;h[q+8>>3]=k;h[q+48>>3]=j+p;i=n*(m-o)+i;h[q+56>>3]=i;o=e*-.95;m=o+f+p;n=f*1.3333333333333333;if(!(g&32)){e=e*1.3333333333333333;j=f*-.33333333333333326;i=i-e;f=k-e;e=m-n}else{e=e*1.3333333333333333;j=f*2.333333333333333;i=i+e;f=k+e;e=m+n}h[q+16>>3]=e;h[q+24>>3]=f;h[q+32>>3]=j-o+p;h[q+40>>3]=i;KD(a,r,2);if(!(g&64)){if(g&128|0)PA(s,q,3,.5,q,0)}else PA(s,q,3,.5,0,q);JD(a,q,4,0,0,0);l=t;return}function Mt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[d>>3]+ +h[b>>3];f=+h[d+8>>3]+ +h[b+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;KD(a,i,2);l=g;return}function Nt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+Et(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if((e|0)>(d|0)?(o=+h[b+(e<<4)>>3]-+h[f>>3],p=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o<i):0)e=e+-3|0;s=k+48|0;r=b+(e<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];q=k+32|0;a=b+(e+1<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];f=k+16|0;d=b+(e+2<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[j>>2]=k;c[j+4>>2]=m;Fz(j,26,k,1);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];l=n;return e|0}function Ot(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;d=+h[b>>3]-+h[f>>3];e=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function Pt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+Et(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<4)|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(!((e|0)>(d|0)?(i=d+3|0,p=+h[a>>3]-+h[b+(i<<4)>>3],q=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p<j):0))i=d;e=b+(i+3<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];g=m+16|0;d=b+(i+2<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];r=m+32|0;a=b+(i+1<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;Fz(k,26,m,0);n=b+(i<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];l=o;return i|0}function Qt(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0;u=(g|0)!=0;l=(i|0)!=0;if(!((e|0)==(d|0)&(u&l))){if(l){j=+Et(a,i);k=+h[b+(e<<4)>>3];p=+h[b+(e<<4)+8>>3];l=e+3|0;r=b+(l<<4)|0;n=+h[r>>3];l=b+(l<<4)+8|0;o=+h[l>>3];t=k-n;s=p-o;t=+C(+(s*s+t*t))*.9;j=j>=t?t:j;if(p==o){m=(k<n?-j:j)+n;j=p}else{m=k;j=(p<o?-j:j)+o}w=e+1|0;h[b+(w<<4)>>3]=k;h[b+(w<<4)+8>>3]=p;e=b+(e+2<<4)|0;h[r>>3]=m;h[l>>3]=j;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[f+12>>2]=i;h[f+32>>3]=n;h[f+40>>3]=o}if(u){m=+Et(a,g);l=b+(d<<4)|0;k=+h[l>>3];j=+h[b+(d<<4)+8>>3];w=d+3|0;o=+h[b+(w<<4)>>3];p=+h[b+(w<<4)+8>>3];t=k-o;s=j-p;t=+C(+(s*s+t*t))*.9;m=m>=t?t:m;if(j==p){n=(k<o?m:-m)+k;m=j}else{n=k;m=(j<p?m:-m)+j}w=d+1|0;v=b+(w<<4)|0;h[v>>3]=n;h[b+(w<<4)+8>>3]=m;c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[l+12>>2]=c[v+12>>2];v=d+2|0;h[b+(v<<4)>>3]=o;h[b+(v<<4)+8>>3]=p;v=16}}else{r=b+(e<<4)|0;s=+h[r>>3];t=+h[b+(e<<4)+8>>3];l=e+3|0;u=b+(l<<4)|0;k=+h[u>>3];l=b+(l<<4)+8|0;j=+h[l>>3];m=+Et(a,g);q=+Et(a,i);n=s-k;p=t-j;n=+C(+(p*p+n*n));w=!(q+m>=n);n=n*.3333333333333333;m=w?m:n;n=w?q:n;if(t==j){w=s<k;p=(w?-n:n)+k;q=(w?m:-m)+s;o=t;m=t}else{w=t<j;p=s;q=s;o=(w?m:-m)+t;m=(w?-n:n)+j}w=e+1|0;v=b+(w<<4)|0;h[v>>3]=q;h[b+(w<<4)+8>>3]=o;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];v=b+(e+2<<4)|0;h[u>>3]=p;h[l>>3]=m;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[f+12>>2]=i;h[f+32>>3]=s;h[f+40>>3]=t;v=16}if((v|0)==16){c[f+8>>2]=g;h[f+16>>3]=k;h[f+24>>3]=j}return}function Rt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;n=+h[b>>3];k=+h[c>>3]-n;o=+h[b+8>>3];l=+h[c+8>>3]-o;j=d*10.0/(+C(+(k*k+l*l))+.0001);k=j*((k>=0.0?.0001:-.0001)+k);j=((l>=0.0?.0001:-.0001)+l)*j;l=k*.5;m=j*.5;i=n-m;f=o-l;n=m+n;l=o+l;o=i+k;m=f+j;k=n+k;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o<k?o:k;k=n<k?n:k;j=m<j?m:j;j=l<j?l:j;h[a>>3]=i<k?i:k;h[a+8>>3]=f<j?f:j;h[a+16>>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function St(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;FD(a,c[(c[a>>2]|0)+336>>2]|0);OD(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;s=+h[b>>3]-+h[d+8>>3];r=10.0/(+C(+(t*t+s*s))+.0001);h[e>>3]=r*((t>=0.0?.0001:-.0001)+t);h[b>>3]=((s>=0.0?.0001:-.0001)+s)*r;b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];Tt(p,a,k,m,f,g,j);c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];b=b+1|0}c[n>>2]=o;l=q;return}function Tt(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1336;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=r*+h[e>>3];o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];jb[p&15](b,k,m,f,g,i);h[d>>3]=+h[e>>3]+ +h[d>>3];p=d+8|0;h[p>>3]=+h[o>>3]+ +h[p>>3]};c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=q;return}function Ut(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=Im(b,84815)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=Im(b,84827)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=vt(e,0,120)|0;if(!d){c[f>>2]=Dn(b)|0;_l(0,84834,f)|0;c[g>>2]=e;_l(3,84887,g)|0}}l=i;return d|0}function Vt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=vw(304)|0;if(!f)_l(1,84895,g)|0;e=a+16|0;a=c[e>>2]|0;c[f>>2]=a;c[e>>2]=f;if(!a){c[f+144>>2]=3;c[f+148>>2]=0;h[f+152>>3]=1.0}else{b=f+16|0;d=a+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=f+56|0;d=a+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[f+144>>2]=c[a+144>>2];c[f+148>>2]=c[a+148>>2];h[f+152>>3]=+h[a+152>>3];c[f+136>>2]=c[a+136>>2];b=f+96|0;d=a+96|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0))}l=g;return f|0}function Wt(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)ma(84921,84925,117,84932);else{_I(c[b+212>>2]|0);_I(c[b+208>>2]|0);_I(c[b+216>>2]|0);_I(c[b+220>>2]|0);_I(c[b+224>>2]|0);_I(c[b+228>>2]|0);_I(c[b+232>>2]|0);_I(c[b+236>>2]|0);_I(c[b+240>>2]|0);_I(c[b+244>>2]|0);_I(c[b+248>>2]|0);_I(c[b+252>>2]|0);_I(c[b+256>>2]|0);_I(c[b+272>>2]|0);_I(c[b+284>>2]|0);_I(c[b+280>>2]|0);c[a>>2]=c[b>>2];_I(b);return}}function Xt(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;l=c[d+16>>2]|0;k=c[d+152>>2]|0;if((e|0)!=0&(k&32768|0)!=0)c[l+192>>2]=e;if(((k&65536|0)!=0?(c[l+212>>2]=qw(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[l+208>>2]=qw(f,j)|0;d=1}else d=0;do if(k&4194304){if(g|0?a[g>>0]|0:0){c[l+228>>2]=qw(g,j)|0;d=l+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[l+192>>2]|0;if(e){c[l+228>>2]=GL(e)|0;d=1}}while(0);if((h|0)!=0&(k&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[l+244>>2]=qw(h,j)|0;d=1}return d|0}function Yt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;Zt(b,e);b=Im(d,86799)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){fm(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){fm(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(Co(d)|0){case 0:{f=(g|0)==(d|0)?96286:84946;b=(c[d>>2]|0)>>>4;break}case 1:{f=96273;b=(c[d>>2]|0)>>>4;break}case 2:{f=96237;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}fm(e,f)|0;c[i>>2]=b;pL(h,84952,i)|0;fm(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function Zt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){fm(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){dm(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;pL(g,84956,h)|0;fm(d,g)|0}l=i;return}function _t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=$t(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(e+ +h[b>>3])*.5;h[q>>3]=k;i=+h[b+24>>3];m=(i+ +h[b+8>>3])*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)OD(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{DD(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=+g[b>>2]*6.283185307179586+i;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];b=_E(p,k,m,i,e)|0;JD(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);XI(b)}i=e;f=f+12|0}if(n)OD(a,r);au(j)}l=s;return o|0}function $t(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r+8|0;n=r;q=vw(12)|0;i=GL(b)|0;a:do if(!d){d=1;f=i;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[q+4>>2]=i;p=vw((d*12|0)+12|0)|0;c[q+8>>2]=p;m=1.0;h=0;d=0;f=i;while(1){f=DL(f,93017)|0;if(!f){f=20;break}j=+bu(f);if(!(j>=0.0)){f=17;break}k=j-m;if(k>0.0)if((c[4920]|0)!=0?!(k<1.0e-05&k>-1.0e-05):0){c[n>>2]=b;_l(0,84967,n)|0;c[4920]=0;j=m;d=3}else j=m;k=m-j;if(j>0.0)a[p+(h*12|0)+8>>0]=1;if(a[f>>0]|0)c[p+(h*12|0)>>2]=f;f=h+1|0;g[p+(h*12|0)+4>>2]=j;if(k<1.0e-05&k>-1.0e-05){h=f;f=30;break}else{m=k;h=f;f=0}}b:do if((f|0)==17){if(!(c[4920]|0))d=1;else{c[o>>2]=b;_l(1,85002,o)|0;c[4920]=0;d=2}au(q)}else if((f|0)==20)if(m>0.0){f=0;i=0;while(1){if((f|0)>=(h|0))break;o=i+(+g[p+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;i=o}if((i|0)<=0){f=p+((h+-1|0)*12|0)+4|0;g[f>>2]=m+ +g[f>>2];f=30;break}j=m/+(i|0);f=0;while(1){if((f|0)>=(h|0)){f=30;break b}i=p+(f*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;f=f+1|0}}else f=30;while(0);if((f|0)==30){while(1){f=h+-1|0;if((h|0)<=0)break;if(+g[p+(f*12|0)+4>>2]>0.0)break;else h=f}c[p+(h*12|0)>>2]=0;c[q>>2]=h;c[e>>2]=q}l=r;return d|0}function au(a){a=a|0;_I(c[a+4>>2]|0);_I(c[a+8>>2]|0);_I(a);return}function bu(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=WJ(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+tM(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0;t=l;l=l+80|0;i=t+64|0;r=t;s=+h[(c[a+16>>2]|0)+152>>3];q=$t(d,0,i)|0;if((q+-1|0)>>>0>=2){if(!e){c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];p=r+16|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;o=b+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+48|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}else{p=b+32|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+16|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];p=r+48|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}k=r+16|0;m=+h[k>>3];f=+h[r>>3];n=m-f;o=r+32|0;h[o>>3]=f;h[k>>3]=f;p=s>.5;if(p)OD(a,.5);i=c[i>>2]|0;j=r+48|0;e=c[i+8>>2]|0;while(1){d=c[e>>2]|0;if(!d)break;b=e+4|0;if(!(+g[b>>2]==0.0)){DD(a,d);if(!(c[e+12>>2]|0))f=m;else f=n*+g[b>>2]+ +h[r>>3];h[o>>3]=f;h[k>>3]=f;HD(a,r,4,1);f=+h[k>>3];h[j>>3]=f;h[r>>3]=f}e=e+12|0}if(p)OD(a,s);au(i)}l=t;return q|0}function du(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;_I(c[g>>2]|0);d=vw(c[h>>2]<<4)|0;c[g>>2]=d;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];g=d+16|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(!(e&8192))fD(a,d,d,2)|0;if(!f)Zv(d)}return}function eu(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+144|0;c=q+80|0;e=q+16|0;f=q;k=+h[b>>3];o=a+16|0;m=+h[o>>3];if(!(((((((((!(k>m)?(n=+h[a>>3],!(k<n)):0)?(d=+h[b+8>>3],i=+h[a+24>>3],!(d>i)):0)?(j=+h[a+8>>3],!(d<j)):0)?(k=+h[b+16>>3],!(k>m|k<n)):0)?(k=+h[b+24>>3],!(k>i|k<j)):0)?(k=+h[b+32>>3],!(k>m|k<n)):0)?(k=+h[b+40>>3],!(k>i|k<j)):0)?(k=+h[b+48>>3],!(k>m|k<n)):0)?(n=+h[b+56>>3],!(n>i|n<j)):0))p=11;a:do if((p|0)==11){if(!(fu(b)|0)){PA(f,b,3,.5,c,e);eu(a,c);eu(a,e);break}f=a+24|0;g=a+8|0;e=0;while(1){if((e|0)==4)break a;d=+h[b+(e<<4)>>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;p=16}}else{c=o;p=16}if((p|0)==16){p=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[f>>3])){if(d<+h[g>>3]){c=a;p=19}}else{c=o;p=19}if((p|0)==19){p=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=q;return}function fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];g=+cw(f,e,d);h=a+32|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+cw(f,e,d)<4.0&1;l=b;return a|0}function gu(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;n=+h[b+432>>3];i=+h[b+352>>3]*.013888888888888888;f=i*n;h[b+488>>3]=f;g=+h[b+440>>3];i=i*g;h[b+496>>3]=i;h[b+520>>3]=n*.013888888888888888;e=b+528|0;h[e>>3]=g*.013888888888888888;if(j&4096|c[42183]|0)h[e>>3]=g*-.013888888888888888;e=(c[b+360>>2]|0)==0;n=+((c[b+448>>2]|0)>>>0);g=+((c[b+452>>2]|0)>>>0);h[b+368>>3]=(e?n:g)/f;h[b+376>>3]=(e?g:n)/i;LD(b,FA(d,ym(d,0,86595,0)|0,174181)|0);c[b+160>>2]=0;hu(b,d);if(j&2|0)iu(b,d);e=co(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=eo(d,e)|0}ju(b,k);while(1){if(!((ku(b)|0)<<24>>24))break;if((lu(b)|0)>1)kD(b);mu(b);while(1){if(!((nu(b)|0)<<24>>24))break;ou(b,d);pu(b)}if((lu(b)|0)>1)lD(b);qu(b,k)}ru(b);l=m;return}function hu(a,b){a=a|0;b=b|0;var d=0;d=Vt(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;qv(a,c[(c[b+16>>2]|0)+12>>2]|0,b);gD(a,b);return}function iu(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;DD(b,119592);d=Im(c,85423)|0;if(d|0?a[d>>0]|0:0)DD(b,d);d=Im(c,86503)|0;if(d|0?a[d>>0]|0:0)BD(b,d);Cv(b,c);g=co(c)|0;while(1){if(!g)break;d=Im(g,122540)|0;if(d|0?a[d>>0]|0:0)BD(b,d);d=Im(g,122531)|0;if(d|0?a[d>>0]|0:0)DD(b,d);d=Im(g,86469)|0;do if(d|0?a[d>>0]|0:0){if(!(WJ(d,58)|0)){BD(b,d);break}e=GL(d)|0;d=e;while(1){d=DL(d,93017)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}BD(b,d);d=0}_I(e)}while(0);d=Im(g,86503)|0;if(d|0?a[d>>0]|0:0)BD(b,d);f=Pm(c,g)|0;while(1){if(!f)break;d=Im(f,122540)|0;do if(d|0?a[d>>0]|0:0){if(!(WJ(d,58)|0)){BD(b,d);break}e=GL(d)|0;d=e;while(1){d=DL(d,93017)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}BD(b,d);d=0}_I(e)}while(0);d=Im(f,86503)|0;if(d|0?a[d>>0]|0:0)BD(b,d);f=Rm(c,f)|0}g=eo(c,g)|0}return}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+8|0;g=i;h=c[a>>2]|0;d=c[h+312>>2]|0;f=a+156|0;c[f>>2]=d;h=c[h+316>>2]|0;if(!h)if((d|0)>1?(c[a+152>>2]&64|0)==0:0){c[e>>2]=c[a+52>>2];_l(0,85598,e)|0;c[f>>2]=1;e=1;d=0}else{e=1;d=0}else{d=h+4|0;if((c[h>>2]|0)>1?(c[a+152>>2]&64|0)==0:0){c[g>>2]=c[a+52>>2];_l(0,85598,g)|0;c[h+8>>2]=(c[f>>2]|0)+1}e=c[d>>2]|0;d=h+8|0}c[a+160>>2]=e;c[b>>2]=d;l=i;return}function ku(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function lu(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function mu(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function nu(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function ou(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+176|0;k=p;f=p+48|0;m=p+32|0;n=c[d+16>>2]|0;o=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{cm(m,128,f);g=n+212|0;h=c[g>>2]|0;Zt(d,m);fm(m,h)|0;i=m+4|0;f=c[i>>2]|0;if(f>>>0>=(c[m+8>>2]|0)>>>0){dm(m,1)|0;f=c[i>>2]|0}a[f>>0]=0;f=c[m>>2]|0;c[i>>2]=f;c[g>>2]=f}ZE(Im(e,85048)|0);tu(d);iD(d);BD(d,122106);DD(d,119592);do if(o&4259840|0){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;if(o&655360){i=o&131072;c[n+264>>2]=i>>>16^2;f=vw((i>>>12^32)+32|0)|0;g=d+288|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=f+16|0;q=d+304|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];if(!i){Zv(f);g=4}else g=2}else{f=0;g=0}if(!(o&8192))fD(d,f,f,g)|0;c[n+272>>2]=f;c[n+268>>2]=g}while(0);if(o&32768|0?(j=c[(c[e+16>>2]|0)+12>>2]|0,j|0):0)c[n+192>>2]=c[j>>2];g=(o&4|0)!=0;do if(!g){f=n+208|0;if((c[f>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;q=d+256|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[k+16>>2]=c[q+16>>2];c[k+20>>2]=c[q+20>>2];c[k+24>>2]=c[q+24>>2];c[k+28>>2]=c[q+28>>2];du(d,k);wD(d,c[f>>2]|0,c[n+228>>2]|0,c[n+244>>2]|0,c[n+212>>2]|0)}while(0);uu(d,e);f=c[(c[e+16>>2]|0)+12>>2]|0;if(f|0)pw(d,4,f);do if(!g){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;xD(d)}while(0);vu(d,e,o);jD(d);if(h|0){gm(m);c[n+212>>2]=h}l=p;return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];su(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((nu(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];su(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function qu(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(!d){d=a+160|0;c[d>>2]=(c[d>>2]|0)+1}else{c[a+160>>2]=c[d>>2];c[b>>2]=d+4}return}function ru(a){a=a|0;hD(a);Wt(a);return}function su(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function tu(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;n=t+32|0;f=t+24|0;j=t+8|0;k=t+16|0;m=t;r=a+196|0;q=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=q;c[p+4>>2]=r;p=a+164|0;i=c[p>>2]|0;p=c[p+4>>2]|0;s=j;c[s>>2]=i;c[s+4>>2]=p;s=a+360|0;if(!(c[s>>2]|0)){k=q;j=r}else{c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];Bv(k,n);r=k;k=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=k;c[p+4>>2]=r;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];Bv(m,n);p=m;i=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=i;c[j+4>>2]=p;j=r}d=+h[a+320>>3];g=d*+(k|0)-+h[a+240>>3];h[a+288>>3]=g;e=+h[a+328>>3];o=e*+(j|0)-+h[a+248>>3];h[a+296>>3]=o;h[a+304>>3]=d+g;h[a+312>>3]=e+o;f=a+472|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){r=a+456|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2]}else{q=a+456|0;c[f>>2]=c[((c[f>>2]|0)<(c[q>>2]|0)?f:q)>>2];r=a+476|0;c[r>>2]=c[((c[r>>2]|0)<(c[a+460>>2]|0)?f:q)+4>>2];r=a+480|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+464>>2]|0)?f:q)+8>>2];r=a+484|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+468>>2]|0)?f:q)+12>>2]}m=c[a+152>>2]|0;b=+h[a+336>>3];if(!(m&128)){b=(+(k|0)-+(i|0)*.5)*d+b;h[a+256>>3]=b;g=(+(j|0)-+(p|0)*.5)*e+ +h[a+344>>3];o=g;d=d+b;g=g+e}else{d=+h[a+368>>3]*.5;e=b-d;h[a+256>>3]=e;g=+h[a+344>>3];u=+h[a+376>>3]*.5;o=g-u;d=d+b;g=u+g;b=e}h[a+264>>3]=o;h[a+272>>3]=d;h[a+280>>3]=g;if(!(c[s>>2]|0)){e=+h[a+352>>3];h[a+504>>3]=+h[a+384>>3]/e-b;if(!(m&4096|c[42183])){d=+h[a+392>>3]/e;b=o}else{d=-g;b=+h[a+392>>3]/e}h[a+512>>3]=d-b}else{f=a+384|0;e=+h[a+352>>3];h[a+512>>3]=-g-+h[a+392>>3]/e;if(!(m&4096|c[42183]))d=+h[f>>3]/e;else{d=-d;b=+h[f>>3]/e}h[a+504>>3]=d-b}l=t;return}function uu(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=Im(d,85423)|0;if(!e){j=1;e=121990}else{i=(a[e>>0]|0)==0;j=i&1;e=i?121990:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(xJ(e,122171)|0)==0;k=m?121990:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(xJ(e,122171)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((xv(k,o,p)|0)<<24>>24)){DD(b,k);BD(b,122171);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];ID(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;DD(b,i);BD(b,122171);wv(d,r)|0;e=c[o+4>>2]|0;h=DA(d,c[42187]|0,0,0)|0;f=+g[p>>2];if(!e)ED(b,122106,h,f);else ED(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];ID(b,q,r);_I(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)zv(b,e);l=s;return}function vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)wu(a,b,d);a:do if(!(d&1)){if(d&16|0){qD(a);f=co(b)|0;while(1){if(!f)break;e=Pm(b,f)|0;while(1){if(!e)break;yu(a,e);e=Rm(b,e)|0}f=eo(b,f)|0}rD(a);oD(a);e=co(b)|0;while(1){if(!e)break;xu(a,e);e=eo(b,e)|0}pD(a);break}if(!(d&8)){f=co(b)|0;while(1){if(!f)break a;xu(a,f);e=Pm(b,f)|0;while(1){if(!e)break;xu(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);yu(a,e);e=Rm(b,e)|0}f=eo(b,f)|0}}oD(a);e=co(b)|0;while(1){if(!e)break;if((zu(b,e)|0)<<24>>24)xu(a,e);e=eo(b,e)|0}pD(a);qD(a);f=co(b)|0;while(1){if(!f)break;e=Pm(b,f)|0;while(1){if(!e)break;if((Au(b,e)|0)<<24>>24)yu(a,e);e=Rm(b,e)|0}f=eo(b,f)|0}rD(a)}else{oD(a);e=co(b)|0;while(1){if(!e)break;xu(a,e);e=eo(b,e)|0}pD(a);qD(a);f=co(b)|0;while(1){if(!f)break;e=Pm(b,f)|0;while(1){if(!e)break;yu(a,e);e=Rm(b,e)|0}f=eo(b,f)|0}rD(a)}while(0);if(g)wu(a,b,d);return}function wu(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=l;l=l+128|0;w=P+72|0;N=P+64|0;H=P+112|0;I=P;J=P+104|0;K=f+16|0;L=(i&4|0)!=0;M=e+16|0;x=I+32|0;y=I+16|0;A=I+8|0;B=I+24|0;C=I+48|0;D=I+40|0;E=I+56|0;F=(i&8|0)==0;G=J+4|0;v=1;while(1){j=c[K>>2]|0;if((v|0)>(c[j+180>>2]|0))break;u=c[(c[j+184>>2]|0)+(v<<2)>>2]|0;if((uv(e,u)|0)<<24>>24){if(L)wu(e,u,i);vv(e,u);r=c[M>>2]|0;s=r+208|0;if(!(c[s>>2]|0))t=(b[r+260>>1]&1)!=0;else t=1;ZE(Im(u,85048)|0);if(!(L|t^1)){q=(c[u+16>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[w+16>>2]=c[q+16>>2];c[w+20>>2]=c[q+20>>2];c[w+24>>2]=c[q+24>>2];c[w+28>>2]=c[q+28>>2];du(e,w);wD(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}c[H>>2]=0;j=wv(u,H)|0;if(!j)p=0;else{FD(e,j);p=c[H>>2]&1}q=u+16|0;j=d[(c[q>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=GA(u,0,91300)|0;k=GA(u,0,91308)|0;O=29;break}if(j&8|0){j=GA(u,0,91316)|0;k=GA(u,0,91324)|0;O=29;break}if(j&4|0){j=GA(u,0,91332)|0;k=GA(u,0,91340)|0;O=29;break}j=Im(u,122540)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=Im(u,122531)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=Im(u,86469)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((p|0)!=0&(k|0)!=0)){m=Im(u,85423)|0;if(m|0?a[m>>0]|0:0){k=m;O=29;break}j=(j|0)==0?122106:j;n=(k|0)==0?119592:k;c[J>>2]=0;if(!p)k=0;else O=31}else O=29}else{j=GA(u,0,91284)|0;k=GA(u,0,91292)|0;O=29}while(0);if((O|0)==29){c[J>>2]=0;j=(j|0)==0?122106:j;n=(k|0)==0?119592:k;O=31}if((O|0)==31){O=0;if(!((xv(n,J,w)|0)<<24>>24)){DD(e,n);k=1}else{DD(e,c[J>>2]|0);k=c[G>>2]|0;m=DA(u,c[42187]|0,0,0)|0;o=+g[w>>2];if(!k)ED(e,122106,m,o);else ED(e,k,m,o);k=(c[H>>2]|0)>>>1&1|2}}m=c[42186]|0;if((m|0?(z=Jm(u,m)|0,z|0):0)?a[z>>0]|0:0)OD(e,+EA(u,c[42186]|0,1.0,0.0));p=c[H>>2]|0;do if(p&4){m=DA(u,c[42185]|0,1,0)|0;if(m|k|0){n=c[q>>2]|0;Q=n+16|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];n=n+32|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!m)BD(e,122171);else BD(e,j);yy(e,I,4,p,k)}}else{if(!(p&64)){if(DA(u,c[42185]|0,1,0)|0){BD(e,j);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];ID(e,w,k);break}if(!k)break;BD(e,122171);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];ID(e,w,k);break}Q=c[q>>2]|0;p=Q+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];Q=Q+32|0;c[x>>2]=c[Q>>2];c[x+4>>2]=c[Q+4>>2];c[x+8>>2]=c[Q+8>>2];c[x+12>>2]=c[Q+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!(DA(u,c[42185]|0,1,0)|0))BD(e,122171);else BD(e,j);if((cu(e,I,n,0)|0)>1){c[N>>2]=Dn(u)|0;_l(3,85431,N)|0}Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];ID(e,w,0)}while(0);_I(c[J>>2]|0);j=c[(c[q>>2]|0)+12>>2]|0;if(j|0)pw(e,5,j);if(t){if(L){Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];du(e,w);wD(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}xD(e)}a:do if(!F){k=co(u)|0;while(1){if(!k)break a;xu(e,k);j=Pm(u,k)|0;while(1){if(!j)break;yu(e,j);j=Rm(u,j)|0}k=eo(u,k)|0}}while(0);yv(e,f);if(!L)wu(e,u,i)}v=v+1|0}l=P;return}function xu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(mv(b,ro(d)|0,d)|0)<<24>>24:0)?(k=b+256|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(nv(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(g|0)!=(a[f>>0]|0)):0){a[f>>0]=g;LD(b,Dn(d)|0);e=FA(d,c[42213]|0,174181)|0;if(a[e>>0]|0)LD(b,e);e=FA(d,c[42201]|0,174181)|0;b:do if(a[e>>0]|0){Du(e)|0;e=168408;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(xJ(f,119127)|0))break a}}while(0);ov(b,d);hb[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&31](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)pw(b,10,e);pv(b)}while(0);l=j;return}function yu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];a:do if((Bu(d,g)|0)<<24>>24?(f=d+-48|0,(Cu(b,d)|0)<<24>>24):0){i=d+48|0;e=rJ(Dn(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=ZI(e+3+(rJ(Dn(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;xK(e,Dn(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(qn(ro(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(rJ(e)|0)|0;if(i){a[g>>0]=a[122549]|0;a[g+1>>0]=a[122550]|0;a[g+2>>0]=a[122551]|0}else{a[g>>0]=a[122546]|0;a[g+1>>0]=a[122547]|0;a[g+2>>0]=a[122548]|0}IL(e,Dn(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;LD(b,e);_I(e);e=FA(d,c[42235]|0,174181)|0;if(a[e>>0]|0)LD(b,e);e=FA(d,c[42229]|0,174181)|0;b:do if(!(a[e>>0]|0))e=0;else{Du(e)|0;e=168408;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=168408;break b}if((a[f>>0]|0)!=105)continue;if(!(xJ(f,119127)|0))break a}}while(0);Eu(b,d,e);Fu(b,d,e);Gu(b)}while(0);l=h;return}function zu(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(Bo(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function Au(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(Bo(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function Bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|0,c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+16>>2]=c[e+16>>2],c[f+20>>2]=c[e+20>>2],c[f+24>>2]=c[e+24>>2],c[f+28>>2]=c[e+28>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(lv(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((CB(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(CB(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function Cu(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=FA(d,c[42234]|0,174181)|0,(hv(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=FA(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[42211]|0,174181)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((hv(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function Du(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+192|0;o=p+24|0;n=p+16|0;m=p+8|0;k=p;g=p+48|0;j=p+32|0;if(a[85305]|0){cm(168672,128,173948);a[85305]=0}cm(j,128,p+56|0);c[g>>2]=b;h=j+4|0;i=j+8|0;d=0;e=0;a:while(1){f=d;b:while(1)switch(fv(g,j)|0){case 0:{d=21;break a}case 40:if(!(f<<24>>24)){f=1;continue b}else{d=7;break a}case 41:if(!(f<<24>>24)){d=9;break a}else{f=0;continue b}default:break b}if(!(f<<24>>24)){if((e|0)==63){d=12;break}d=c[42169]|0;if(d>>>0>=(c[42170]|0)>>>0){dm(168672,1)|0;d=c[42169]|0}c[42169]=d+1;a[d>>0]=0;c[168408+(e<<2)>>2]=c[42169];e=e+1|0}d=c[h>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){dm(j,1)|0;d=c[h>>2]|0}a[d>>0]=0;d=c[j>>2]|0;c[h>>2]=d;fm(168672,d)|0;d=c[42169]|0;if(d>>>0>=(c[42170]|0)>>>0){dm(168672,1)|0;d=c[42169]|0}c[42169]=d+1;a[d>>0]=0;d=f}do if((d|0)==7){c[k>>2]=b;_l(1,85306,k)|0;c[42102]=0;gm(j)}else if((d|0)==9){c[m>>2]=b;_l(1,85340,m)|0;c[42102]=0;gm(j)}else if((d|0)==12){c[n>>2]=b;_l(0,85368,n)|0;c[42165]=0;gm(j)}else if((d|0)==21){if(f<<24>>24){c[o>>2]=b;_l(1,85391,o)|0;c[42102]=0;gm(j);break}c[168408+(e<<2)>>2]=0;gm(j);d=c[42169]|0;if(d>>>0>=(c[42170]|0)>>>0){dm(168672,1)|0;d=c[42169]|0}a[d>>0]=0;c[42169]=c[42168]}while(0);l=p;return 168408}function Eu(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+160|0;y=A+24|0;w=A+20|0;v=A+16|0;o=A;p=A+32|0;x=c[d+152>>2]|0;c[y>>2]=0;c[w>>2]=0;c[v>>2]=0;z=Vt(d)|0;c[z+4>>2]=3;c[z+8>>2]=f;c[z+12>>2]=9;t=f+16|0;n=c[(c[t>>2]|0)+96>>2]|0;if((n|0?(a[n+82>>0]|0)==0:0)?(JA(Im(f,85121)|0,0)|0)<<24>>24:0){n=z+260|0;b[n>>1]=b[n>>1]|512}if(g|0?c[(c[t>>2]|0)+8>>2]|0:0)FD(d,g);g=c[42250]|0;if((g|0?(i=Jm(f,g)|0,i|0):0)?a[i>>0]|0:0)OD(d,+EA(f,c[42250]|0,1.0,0.0));do if(x&16777216|0){g=f+48|0;if((e[(c[(ro(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+176>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{n=z+176|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;break}}while(0);if(x&32768|0){n=c[t>>2]|0;g=c[n+96>>2]|0;if(!g)g=c[z+192>>2]|0;else{g=c[g>>2]|0;c[z+192>>2]=g}i=z+196|0;c[i>>2]=g;k=z+204|0;c[k>>2]=g;j=z+200|0;c[j>>2]=g;g=c[n+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[n+104>>2]|0;if(g|0)c[j>>2]=c[g>>2];g=c[n+100>>2]|0;if(g|0)c[k>>2]=c[g>>2]}if(!(x&65536))j=0;else{cm(o,128,p);c[z+212>>2]=qw(Yt(d,f,o)|0,f)|0;gm(o);g=Im(f,96264)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else{g=Im(f,96269)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else i=0}if((q|0)==31)i=qw(g,f)|0;g=Im(f,85134)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=36;else q=34;do if((q|0)==34){g=Im(f,85143)|0;if(g|0?a[g>>0]|0:0){q=36;break}if(i|0){g=GL(i)|0;q=39}}while(0);if((q|0)==36){g=qw(g,f)|0;q=39}if((q|0)==39)c[z+208>>2]=g;g=Im(f,85151)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=44;else q=42;do if((q|0)==42){g=Im(f,85161)|0;if(g|0?a[g>>0]|0:0){q=44;break}if(i|0){g=GL(i)|0;q=47}}while(0);if((q|0)==44){g=qw(g,f)|0;q=47}if((q|0)==47)c[z+216>>2]=g;g=Im(f,85170)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=52;else q=50;do if((q|0)==50){g=Im(f,85179)|0;if(g|0?a[g>>0]|0:0){q=52;break}if(i|0)c[z+220>>2]=GL(i)|0}while(0);if((q|0)==52){c[z+220>>2]=qw(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|128}g=Im(f,85187)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=59;else q=57;do if((q|0)==57){g=Im(f,85196)|0;if(g|0?a[g>>0]|0:0){q=59;break}if(i|0)c[z+224>>2]=GL(i)|0}while(0);if((q|0)==59){c[z+224>>2]=qw(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|256}j=i}do if(x&8388608){g=Im(f,85204)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=qw(g,f)|0;else i=0;g=Im(f,85211)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){q=z+260|0;b[q>>1]=b[q>>1]|64;g=qw(g,f)|0;q=72}else q=70;if((q|0)==70?i|0:0){g=GL(i)|0;q=72}if((q|0)==72)c[z+244>>2]=g;g=Im(f,85222)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=qw(g,f)|0;q=78}else q=76;if((q|0)==76?i|0:0){g=GL(i)|0;q=78}if((q|0)==78)c[z+248>>2]=g;g=Im(f,85234)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[z+252>>2]=qw(g,f)|0;p=z+260|0;b[p>>1]=b[p>>1]|16}else q=82;if((q|0)==82?i|0:0)c[z+252>>2]=GL(i)|0;g=Im(f,85245)|0;if(g|0?a[g>>0]|0:0){q=z+260|0;b[q>>1]=b[q>>1]|32;c[z+256>>2]=qw(g,f)|0;break}if(i)c[z+256>>2]=GL(i)|0;else i=0}else i=0;while(0);do if(x&4194304|0){g=Im(f,96229)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=94;else q=92;do if((q|0)==92){g=Im(f,85256)|0;if(g|0?a[g>>0]|0:0){q=94;break}g=c[z+192>>2]|0;if(g|0)c[z+228>>2]=GL(g)|0}while(0);if((q|0)==94){p=Zu(g,f)|0;c[z+228>>2]=qw(p,f)|0;_I(p);p=z+260|0;b[p>>1]=b[p>>1]|1}g=Im(f,85268)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){p=Zu(g,f)|0;c[z+232>>2]=qw(p,f)|0;_I(p);p=z+260|0;b[p>>1]=b[p>>1]|8}else q=100;if((q|0)==100?(r=c[z+192>>2]|0,r|0):0)c[z+232>>2]=GL(r)|0;g=Im(f,85281)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){r=Zu(g,f)|0;c[z+236>>2]=qw(r,f)|0;_I(r);r=z+260|0;b[r>>1]=b[r>>1]|2}else q=105;if((q|0)==105?(s=c[z+200>>2]|0,s|0):0)c[z+236>>2]=GL(s)|0;g=Im(f,85293)|0;if(g|0?a[g>>0]|0:0){s=Zu(g,f)|0;c[z+240>>2]=qw(s,f)|0;_I(s);s=z+260|0;b[s>>1]=b[s>>1]|4;break}g=c[z+204>>2]|0;if(g|0)c[z+240>>2]=GL(g)|0}while(0);_I(j);_I(i);do if(x&4259840|0?(u=c[(c[t>>2]|0)+8>>2]|0,u|0):0){if(!(c[z+208>>2]|0)){if((x&524288|0)==0|(c[z+228>>2]|0)==0)break}else if(!(x&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[u+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;_u(y,w,v,(c[u>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[v>>2]|0;c[z+276>>2]=j;k=c[w>>2]|0;c[z+280>>2]=k;if(!(x&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}y=c[y>>2]|0;fD(d,y,y,g)|0;g=y}else g=c[y>>2]|0;c[z+284>>2]=g;c[z+264>>2]=2;c[z+272>>2]=g;c[z+268>>2]=c[k>>2]}while(0);uD(d,f);g=c[z+208>>2]|0;if(!((g|0)==0?!(b[z+260>>1]&1):0))wD(d,g,c[z+228>>2]|0,c[z+244>>2]|0,c[z+212>>2]|0);l=A;return}function Fu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0;P=l;l=l+240|0;L=P+224|0;K=P+208|0;x=P+128|0;w=P+112|0;O=P+64|0;C=P+48|0;D=P+32|0;E=P+16|0;F=P;G=P+192|0;H=P+176|0;y=P+160|0;B=P+144|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;M=+h[(c[b+16>>2]|0)+152>>3];ZE(Im(e,85048)|0);J=e+16|0;a:do if(c[(c[J>>2]|0)+8>>2]|0){N=+EA(e,c[42232]|0,1.0,0.0);k=FA(e,c[42220]|0,174181)|0;v=(f|0)!=0;b:do if(v){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){o=0;break b}if((a[i>>0]|0)!=116)continue;if(!(xJ(i,95939)|0)){o=1;break}}}else o=0;while(0);j=k;q=0;i=0;c:while(1){switch(a[j>>0]|0){case 0:break c;case 58:{g=q+1|0;break}case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}n=(q|0)!=0;if((i|0)!=0&n)if(!(Nu(b,e,f,k,q+1|0,N,M)|0))break;else m=122106;else m=k;g=d[(c[J>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){i=m;j=GA(e,c[42221]|0,m)|0}else{j=91340;g=91332;k=168888;i=168888;p=18}else{j=91324;g=91316;k=168888;i=168888;p=18}else{j=91308;g=91300;k=168888;i=168888;p=18}else{j=91292;g=91284;k=168888;i=168888;p=18}if((p|0)==18){i=c[i>>2]|0;i=GA(e,i,Ou(m,g)|0)|0;g=GA(e,c[k>>2]|0,j)|0;if((i|0)==(m|0)){i=m;j=g}else{BD(b,i);j=g}}if((j|0)!=(m|0))DD(b,j);if(o<<24>>24){i=(a[i>>0]|0)==0?122106:i;g=(a[j>>0]|0)==0?122106:j;BD(b,122171);DD(b,i);u=O;r=c[c[(c[J>>2]|0)+8>>2]>>2]|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));J=dA(O,Pu(e)|0,M,0,0)|0;HD(b,c[J+8>>2]|0,c[J>>2]|0,1);Qu(J);BD(b,i);if((g|0)!=(i|0))DD(b,g);g=c[O+8>>2]|0;if(g|0){I=O+16|0;J=c[O>>2]|0;c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];St(b,2,K,L,N,M,g)}g=c[O+12>>2]|0;if(!g)break;J=O+32|0;O=(c[O>>2]|0)+((c[O+4>>2]|0)+-1<<4)|0;c[K>>2]=c[J>>2];c[K+4>>2]=c[J+4>>2];c[K+8>>2]=c[J+8>>2];c[K+12>>2]=c[J+12>>2];c[L>>2]=c[O>>2];c[L+4>>2]=c[O+4>>2];c[L+8>>2]=c[O+8>>2];c[L+12>>2]=c[O+12>>2];St(b,3,K,L,N,M,g);break}g=c[J>>2]|0;if(!n){do if(!(a[g+115>>0]&3)){if(a[i>>0]|0){BD(b,i);DD(b,j);break}BD(b,122106);if(!(a[j>>0]|0)){DD(b,122106);break}else{DD(b,j);break}}while(0);k=b+152|0;m=O+4|0;n=O+8|0;o=O+12|0;p=O+32|0;q=O+16|0;j=0;while(1){g=c[(c[J>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;u=O;r=(c[g>>2]|0)+(j*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[O>>2]|0;i=c[m>>2]|0;do if(!(c[k>>2]&16384)){JD(b,g,i,0,0,0);g=c[n>>2]|0;if(g|0){I=c[O>>2]|0;c[K>>2]=c[q>>2];c[K+4>>2]=c[q+4>>2];c[K+8>>2]=c[q+8>>2];c[K+12>>2]=c[q+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];St(b,2,K,L,N,M,g)}g=c[o>>2]|0;if(g|0){I=(c[O>>2]|0)+((c[m>>2]|0)+-1<<4)|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];St(b,3,K,L,N,M,g)}if((c[(c[(c[J>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[n>>2]|0)){if(!(v&(c[o>>2]|0)!=0))break}else if(!v)break;FD(b,f)}}else JD(b,g,i,c[n>>2]|0,c[o>>2]|0,0);while(0);j=j+1|0}}I=c[(c[g+8>>2]|0)+4>>2]|0;A=I*48|0;z=ZI(A)|0;A=ZI(A)|0;t=+(q+2|0)*.5;v=O+4|0;p=C+8|0;q=D+8|0;e=E+8|0;f=F+8|0;o=0;while(1){if((o|0)>=(I|0))break;u=O;r=(c[c[(c[J>>2]|0)+8>>2]>>2]|0)+(o*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[v>>2]|0;c[z+(o*48|0)+4>>2]=g;c[A+(o*48|0)+4>>2]=g;n=g<<4;m=ZI(n)|0;c[z+(o*48|0)>>2]=m;n=ZI(n)|0;c[A+(o*48|0)>>2]=n;k=c[O>>2]|0;c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];k=0;while(1){if((k|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=k+1|0;j=(c[O>>2]|0)+(g<<4)|0;c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];j=m+(k<<4)|0;if(!k){c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];Ru(G,K,L);c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];c[j+12>>2]=c[G+12>>2]}else{c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];Ru(H,K,L);c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2]}R=c[O>>2]|0;s=k+2|0;S=R+(s<<4)|0;c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];u=k+3|0;R=R+(u<<4)|0;c[F>>2]=c[R>>2];c[F+4>>2]=c[R+4>>2];c[F+8>>2]=c[R+8>>2];c[F+12>>2]=c[R+12>>2];Q=m+(g<<4)|0;r=m+(s<<4)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[w+12>>2]=c[C+12>>2];c[x>>2]=c[D>>2];c[x+4>>2]=c[D+4>>2];c[x+8>>2]=c[D+8>>2];c[x+12>>2]=c[D+12>>2];c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12>>2];c[L>>2]=c[R>>2];c[L+4>>2]=c[R+4>>2];c[L+8>>2]=c[R+8>>2];c[L+12>>2]=c[R+12>>2];Su(y,w,x,K,L);c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[Q>>2]=c[y>>2];c[Q+4>>2]=c[y+4>>2];c[Q+8>>2]=c[y+8>>2];c[Q+12>>2]=c[y+12>>2];h[n+(k<<4)>>3]=+h[C>>3]-+h[j>>3]*t;h[n+(k<<4)+8>>3]=+h[p>>3]-+h[m+(k<<4)+8>>3]*t;h[n+(g<<4)>>3]=+h[D>>3]-+h[Q>>3]*t;h[n+(g<<4)+8>>3]=+h[q>>3]-+h[m+(g<<4)+8>>3]*t;h[n+(s<<4)>>3]=+h[E>>3]-+h[r>>3]*t;h[n+(s<<4)+8>>3]=+h[e>>3]-+h[m+(s<<4)+8>>3]*t;k=u;g=c[v>>2]|0}S=m+(k<<4)|0;c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];Ru(B,K,L);c[S>>2]=c[B>>2];c[S+4>>2]=c[B+4>>2];c[S+8>>2]=c[B+8>>2];c[S+12>>2]=c[B+12>>2];h[n+(k<<4)>>3]=+h[F>>3]-+h[S>>3]*t;h[n+(k<<4)+8>>3]=+h[f>>3]-+h[m+(k<<4)+8>>3]*t;o=o+1|0}s=GL(i)|0;f=0;r=i;g=i;j=i;i=s;while(1){i=DL(i,93017)|0;if(!i)break;e=(a[i>>0]|0)==0?122106:i;if((e|0)!=(j|0))if(!(a[(c[J>>2]|0)+115>>0]&3)){BD(b,e);DD(b,e);j=e}else j=e;m=(f|0)==0;n=f>>>0<2;i=0;while(1){if((i|0)>=(I|0))break;o=c[A+(i*48|0)>>2]|0;p=c[z+(i*48|0)>>2]|0;q=c[A+(i*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;S=o+(k<<4)|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)>>3];S=o+(k<<4)+8|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)+8>>3];k=k+1|0}JD(b,o,q,0,0,0);i=i+1|0}f=f+1|0;r=m?e:r;g=n?e:g;i=0}i=c[O+8>>2]|0;if(!i)i=0;else{if(g){if(!(a[(c[J>>2]|0)+115>>0]&3)){BD(b,g);DD(b,g)}}else g=0;R=O+16|0;S=c[O>>2]|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];St(b,2,K,L,N,M,i);i=g}j=O+12|0;g=c[j>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[J>>2]|0)+115>>0]&3)==0:0){BD(b,r);DD(b,r);g=c[j>>2]|0}R=O+32|0;S=(c[O>>2]|0)+((c[v>>2]|0)+-1<<4)|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];St(b,3,K,L,N,M,g)}_I(s);g=0;while(1){if((g|0)>=(I|0))break;_I(c[z+(g*48|0)>>2]|0);_I(c[A+(g*48|0)>>2]|0);g=g+1|0}_I(z);_I(A)}while(0);l=P;return}function Gu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;r=x+48|0;u=x+32|0;t=x+16|0;s=x;w=c[a+16>>2]|0;v=c[w+8>>2]|0;q=w+208|0;if(!((c[q>>2]|0)==0?!(b[w+260>>1]&1):0))d=3;a:do if((d|0)==3?(xD(a),p=w+276|0,e=c[p>>2]|0,e|0):0){h=w+280|0;d=c[h>>2]|0;i=w+268|0;j=w+284|0;k=w+272|0;m=w+228|0;n=w+244|0;o=w+212|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[i>>2]=c[d+(g<<2)>>2];c[k>>2]=(c[j>>2]|0)+(f<<4);wD(a,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);xD(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[p>>2]|0;d=y}}while(0);c[w+268>>2]=0;c[w+272>>2]=0;q=v+16|0;d=c[q>>2]|0;e=c[d+8>>2]|0;if(!e)f=w+260|0;else{p=c[e>>2]|0;d=c[p>>2]|0;y=c[p+8>>2]|0;o=p+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2];p=p+32|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];if(!y){c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2]}else{c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2]}f=w+260|0;p=b[f>>1]|0;o=c[w+220>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];Hu(a,r,(p<<8&65535)<<16>>16>>15&255,o,(p<<14&65535)<<16>>16>>15&255);p=c[(c[q>>2]|0)+8>>2]|0;o=c[p>>2]|0;p=(c[p+4>>2]|0)+-1|0;d=c[o+(p*48|0)>>2]|0;e=c[o+(p*48|0)+4>>2]|0;y=c[o+(p*48|0)+12>>2]|0;n=o+(p*48|0)+16|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];t=o+(p*48|0)+32|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];if(!y){y=d+(e+-1<<4)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2]}else{c[u>>2]=c[s>>2];c[u+4>>2]=c[s+4>>2];c[u+8>>2]=c[s+8>>2];c[u+12>>2]=c[s+12>>2]}d=b[f>>1]|0;y=c[w+224>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];Hu(a,r,(d<<7&65535)<<16>>16>>15&255,y,(d<<13&65535)<<16>>16>>15&255);d=c[q>>2]|0}e=c[d+96>>2]|0;g=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;m=w+216|0;h=c[m>>2]|0;n=w+232|0;i=c[n>>2]|0;o=w+248|0;j=c[o>>2]|0;p=w+212|0;k=c[p>>2]|0;if(!((IA(FA(v,c[42230]|0,122100)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;Iu(a,e,11,g,h,i,j,k,d);j=c[(c[q>>2]|0)+108>>2]|0;k=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;i=c[m>>2]|0;h=c[n>>2]|0;e=c[o>>2]|0;g=c[p>>2]|0;if(!((IA(FA(v,c[42230]|0,122100)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;Iu(a,j,11,k,i,h,e,g,d);Iu(a,c[(c[q>>2]|0)+100>>2]|0,7,(b[f>>1]<<13&65535)<<16>>16>>15<<16>>16,c[w+224>>2]|0,c[w+240>>2]|0,c[w+256>>2]|0,c[p>>2]|0,0);Iu(a,c[(c[q>>2]|0)+104>>2]|0,6,(b[f>>1]<<14&65535)<<16>>16>>15<<16>>16,c[w+220>>2]|0,c[w+236>>2]|0,c[w+252>>2]|0,c[p>>2]|0,0);vD(a);Wt(a);l=x;return}function Hu(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0:0):0)){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];Mu(a,h)}l=j;return}function Iu(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r;q=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=vw((rJ(j)|0)+11|0)|0;switch(e|0){case 11:{m=86240;break}case 7:{m=86656;break}case 6:{m=86666;break}default:ma(123205,84925,2730,85060)}c[o>>2]=j;c[o+4>>2]=m;pL(n,85076,o)|0}o=b+16|0;j=(c[o>>2]|0)+12|0;p=c[j>>2]|0;c[j>>2]=e;j=(f|0)!=0|(g|0)!=0;m=(q&4|0)==0;if(j&m){Ju(b,d);wD(b,g,h,i,n)}pw(b,e,d);if(k|0)Ku(b,d,k);if(j){if(!m){Ju(b,d);wD(b,g,h,i,n)}xD(b)}_I(n);c[(c[o>>2]|0)+12>>2]=p}l=r;return}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;i=f>>>16^2;c[d+264>>2]=i;j=d+268|0;c[j>>2]=i+2;i=d+272|0;_I(c[i>>2]|0);d=vw(c[j>>2]<<4)|0;c[i>>2]=d;i=b+56|0;j=b+24|0;h[d>>3]=+h[i>>3]-+h[j>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]*.5+ +h[i>>3];h[d+24>>3]=+h[b>>3]*.5+ +h[g>>3];if(!(e&8192))fD(a,d,d,2)|0;if(!f)Zv(d)}return}function Ku(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(XJ(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;Lu(i,+h[m>>3]+p*.5,+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;Lu(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];VA(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];FD(b,c[(c[b>>2]|0)+336>>2]|0);BD(b,c[d+8>>2]|0);KD(b,i,3)}l=o;return}function Lu(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;_I(c[j>>2]|0);d=vw(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))fD(a,d,d,2)|0;if(!f)Zv(d)}return}function Nu(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+256|0;D=J+224|0;C=J+208|0;j=J+192|0;F=J+144|0;G=J+96|0;H=J+48|0;E=J;k=J+240|0;e=$t(e,f,k)|0;if((e|0)>1){z=b+48|0;A=ro(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;z=Dn(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;A=(qn(A)|0)!=0;B=Dn(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=z;c[j+4>>2]=A?85095:85100;c[j+8>>2]=B;_l(3,85105,j)|0;if((e|0)==2)e=1;else I=4}else if((e|0)==1)e=1;else I=4;if((I|0)==4){B=b+16|0;r=c[k>>2]|0;s=r+8|0;t=H+4|0;u=F+8|0;v=F+12|0;w=(d|0)!=0;q=(d|0)==0;x=F+32|0;y=F+4|0;z=F+16|0;A=E+4|0;e=0;p=0;while(1){f=c[(c[B>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=F;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{BD(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){Xu(F,n,H,E);k=c[H>>2]|0;JD(a,k,c[t>>2]|0,0,0,0);_I(k);if(m<1.0e-05&m>-1.0e-05){I=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){I=13;break a}j=G;f=E;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];Xu(G,n/(m+n),H,E);_I(c[G>>2]|0);f=c[H>>2]|0;JD(a,f,c[t>>2]|0,0,0,0);_I(f);f=0}while(0);b=f;o=o+12|0}if((I|0)==11){I=0;_I(c[E>>2]|0)}else if((I|0)==13){I=0;o=c[E>>2]|0;JD(a,o,c[A>>2]|0,0,0,0);_I(o)}if(c[u>>2]|0){BD(a,c[c[s>>2]>>2]|0);DD(a,c[c[s>>2]>>2]|0);k=c[F>>2]|0;o=c[u>>2]|0;c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];St(a,2,C,D,h,i,o)}if(c[v>>2]|0){BD(a,e);DD(a,e);k=(c[F>>2]|0)+((c[y>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[C>>2]=c[x>>2];c[C+4>>2]=c[x+4>>2];c[C+8>>2]=c[x+8>>2];c[C+12>>2]=c[x+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];St(a,3,C,D,h,i,o)}do if((c[(c[(c[B>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(w&(c[v>>2]|0)!=0))break}else if(q)break;FD(a,d)}while(0);p=p+1|0}au(r);e=0}l=J;return e|0}function Ou(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=O((rJ(d)|0)+1|0,e)|0;b=f+10|0;if((c[42166]|0)<(f|0)){c[42166]=b;b=aJ(c[42167]|0,b)|0;c[42167]=b}else b=c[42167]|0;xK(b,d)|0;while(1){e=e+-1|0;b=c[42167]|0;if(!e)break;f=b+(rJ(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;IL(b,d)|0}return b|0}function Pu(b){b=b|0;var d=0,e=0;d=c[42228]|0;a:do if(!d)e=7;else{d=Jm(b,d)|0;switch(a[d>>0]|0){case 110:if(!(xJ(d,120501)|0)){d=1;break a}else{e=7;break a}case 102:if(!(xJ(d,85082)|0)){d=2;break a}else{e=7;break a}case 98:{if(!(xJ(d,85090)|0)){d=3;break a}if(!(xJ(d,96056)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(qn(ro(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?2:1}return d|0}function Qu(a){a=a|0;if(a|0){_I(c[a+8>>2]|0);_I(a)}return}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+C(+(e*e+.0001+f*f));h[a>>3]=d*f;h[a+8>>3]=-(e*d);return}function Su(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+C(+(i*i+g*g));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+C(+(j*j+.0001+f*f))}j=2.0/f;h[a>>3]=i*j;h[a+8>>3]=-(j*g);return}function Tu(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(1.0-a/b))}function Uu(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function Vu(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(a/b))}function Wu(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function Xu(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+16|0;o=p;n=c[a+4>>2]|0;j=(n+-1|0)/3|0;if((n+-4|0)>>>0<3){c[d+4>>2]=4;c[d>>2]=vw(64)|0;c[e+4>>2]=4;n=vw(64)|0;c[e>>2]=n;PA(o,c[a>>2]|0,3,b,c[d>>2]|0,n)}else{n=vw(j<<3)|0;g=0;i=c[a>>2]|0;f=0.0;while(1){if((g|0)>=(j|0))break;q=+Yu(i);h[n+(g<<3)>>3]=q;g=g+1|0;i=i+48|0;f=q+f}b=f*b;m=0;f=0.0;while(1){if((j|0)<=(m|0))break;f=+h[n+(m<<3)>>3]+f;if(f>=b)break;m=m+1|0}k=m*3|0;g=k+4|0;i=d+4|0;c[i>>2]=g;c[d>>2]=vw(g<<4)|0;g=((j-m|0)*3|0)+1|0;j=e+4|0;c[j>>2]=g;c[e>>2]=vw(g<<4)|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;r=(c[d>>2]|0)+(g<<4)|0;s=(c[a>>2]|0)+(g<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}g=g+-4|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;s=(c[e>>2]|0)+(i<<4)|0;r=(c[a>>2]|0)+(g<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];g=g+1|0;i=i+1|0}q=+h[n+(m<<3)>>3];PA(o,(c[a>>2]|0)+(k<<4)|0,3,(b-f+q)/q,(c[d>>2]|0)+(k<<4)|0,c[e>>2]|0);_I(n)}l=p;return}function Yu(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];d=+h[a>>3]-e;f=+h[a+24>>3];b=+h[a+8>>3]-f;d=+C(+(b*b+d*d));b=+h[a+32>>3];e=e-b;c=+h[a+40>>3];f=f-c;d=+C(+(f*f+e*e))+d;b=b-+h[a+48>>3];c=c-+h[a+56>>3];return +(d+ +C(+(c*c+b*b)))}function Zu(b,d){b=b|0;d=d|0;d=so(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=yB(b)|0;else d=vB(b,d)|0;return ev(d)|0}function _u(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=ww(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}h=h+1|0;i=$u(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;av(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}bv(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;_I(g);h=s;g=s}l=q;return}function $u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(fu(a)|0)){PA(f,a,3,.5,d,e);d=$u(e,$u(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>2]=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=dv(f,b)|0}l=g;return d|0}function av(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+96|0;n=r+80|0;m=r+64|0;k=r+48|0;o=r+32|0;p=r+16|0;q=r;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];do if(a){c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];if(!d){i=+h[o>>3];h[q>>3]=i*2.0-+h[p>>3];j=+h[o+8>>3];h[q+8>>3]=j*2.0-+h[p+8>>3];break}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];j=+h[o+8>>3];break}}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];h[p>>3]=i*2.0-+h[q>>3];j=+h[o+8>>3];h[p+8>>3]=j*2.0-+h[q+8>>3]}while(0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];t=+cv(k,m,n);s=+E(+t)*g;g=+F(+t)*g;h[e>>3]=i+s;h[e+8>>3]=j+g;h[f>>3]=i-s;h[f+8>>3]=j-g;l=r;return}function bv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=e<<1;j=c[d>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;l=(c[(c[b>>2]|0)+(h<<2)>>2]|0)+k|0;h=h+1|0;k=l}l=j+1|0;c[d>>2]=l;l=yw(c[b>>2]|0,l<<2)|0;c[b>>2]=l;c[l+(h<<2)>>2]=i;c[a>>2]=yw(c[a>>2]|0,k+i<<4)|0;b=i+-1+k|0;h=0;while(1){if((h|0)>=(e|0))break;l=(c[a>>2]|0)+(h+k<<4)|0;j=f+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];l=(c[a>>2]|0)+(b-h<<4)|0;j=g+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];h=h+1|0}return}function cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];d=+h[b>>3];e=+K(+(+h[c+8>>3]-f),+(+h[c>>3]-d));d=+K(+(+h[a+8>>3]-f),+(+h[a>>3]-d));e=e-d;return +((e>0.0?e+-6.283185307179586:e)*.5+d)}function dv(a,b){a=a|0;b=b|0;var d=0;d=ww(24)|0;c[d+16>>2]=0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b+16>>2]=d;return d|0}function ev(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;f=b;a:while(1){e=0;while(1){d=c;c=c+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break a;if(e<<24>>24){g=5;break}if(d<<24>>24!=92)break;else e=1}b:do if((g|0)==5){g=0;switch(d<<24>>24|0){case 114:{d=13;break b}case 108:case 110:{d=10;break b}default:break b}}while(0);a[f>>0]=d;f=f+1|0}a[f>>0]=0;return b|0}function fv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;while(1){g=a[e>>0]|0;if(!(g<<24>>24)){f=0;break}f=g<<24>>24;if(!(g<<24>>24==44|(XJ(f)|0)!=0)){h=5;break}e=e+1|0}a:do if((h|0)==5){switch(f|0){case 0:{f=0;break a}case 41:case 40:{e=e+1|0;break a}default:{}}h=d+4|0;i=d+8|0;while(1){if((gv(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){dm(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;f=e+1|0;e=f;g=a[f>>0]|0}}while(0);c[b>>2]=e;return f|0}function gv(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function hv(a,b){a=a|0;b=b|0;return iv(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function iv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;cm(n,128,o+24|0);fm(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){dm(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=FL(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=FL(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=FL(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=jv(b,g,0)|0;f=jv(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(jv(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}gm(n);l=o;return f|0}function jv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(xJ(d,85419)|0)==0:0))f=3;a:do if((f|0)==3){if((kv(d)|0)<<24>>24){e=rM(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(xJ(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function kv(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function lv(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function mv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=FA(e,c[42211]|0,174181)|0,(hv(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(Um(d,e)|0))f=1;else{f=Um(d,e)|0;while(1){if(!f){f=0;break a}g=FA(f,c[42234]|0,174181)|0;if(!(a[g>>0]|0)){f=1;break a}if((hv(b,g)|0)<<24>>24){f=1;break a}f=Vm(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function nv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>2]|0)+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];b=(lv(f,e)|0)&255;l=d;return b|0}function ov(a,d){a=a|0;d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0;r=c[a+152>>2]|0;s=Vt(a)|0;c[s+4>>2]=2;c[s+8>>2]=d;c[s+12>>2]=8;if(r&16777216|0){if((e[(c[(ro(d)|0)+16>>2]|0)+178>>1]|0)>2){f=+h[(c[(c[d+16>>2]|0)+132>>2]|0)+16>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0)}else f=0.0;h[s+168>>3]=f}k=d+16|0;qv(a,c[(c[k>>2]|0)+104>>2]|0,d);do if(r&4259840|0){if((c[s+208>>2]|0)==0?(b[s+260>>1]&1)==0:0)break;p=By(d)|0;l=c[k>>2]|0;f=+h[l+16>>3];q=+h[l+24>>3];l=rv(d)|0;a:do if((p|2|0)==3){n=c[(c[k>>2]|0)+12>>2]|0;if(!((sv(n)|0)<<24>>24))g=0;else g=(c[n+4>>2]|l|0)!=0;if(!((r&524288|0)==0|((n|0)==0|g))){i=n+8|0;o=c[i>>2]|0;o=(o|0)<3?1:o;j=n+4|0;m=c[j>>2]|0;m=(m|0)>1?m:1;p=c[n+44>>2]|0;g=Im(d,87739)|0;if(!g)g=0;else g=rM(g)|0;g=(g+-4|0)>>>0>56?20:g;if(!(c[j>>2]|l)){c[s+264>>2]=0;i=vw(32)|0;g=c[k>>2]|0;v=+h[g+88>>3];h[i>>3]=f-v;u=+h[g+80>>3]*.5;h[i+8>>3]=q-u;h[i+16>>3]=v+f;h[i+24>>3]=u+q;g=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[n+32>>3]==0.0:0)?+h[n+24>>3]==0.0:0){i=s+264|0;if(c[n>>2]|0){c[i>>2]=1;i=vw(32)|0;h[i>>3]=f;h[i+8>>3]=q;g=(m<<1)+-1|0;h[i+16>>3]=+h[p+(g<<4)>>3]+f;h[i+24>>3]=+h[p+(g<<4)+8>>3]+q;g=2;break}c[i>>2]=2;i=(m<<1)+-1|0;i=tv(+h[p+(i<<4)>>3],+h[p+(i<<4)+8>>3],g)|0;j=0;while(1){if((j|0)>=(g|0))break a;p=i+(j<<4)|0;h[p>>3]=+h[p>>3]+f;p=i+(j<<4)+8|0;h[p>>3]=+h[p>>3]+q;j=j+1|0}}m=O(i,m+-1|0)|0;c[s+264>>2]=2;if((i|0)<(g|0)){i=vw(o<<4)|0;g=0;while(1){if((g|0)>=(o|0)){g=o;break a}n=g+m|0;h[i+(g<<4)>>3]=+h[p+(n<<4)>>3]+f;h[i+(g<<4)+8>>3]=+h[p+(n<<4)+8>>3]+q;g=g+1|0}}else{l=(i|0)/(g|0)|0;i=vw(g<<4)|0;j=0;k=0;while(1){if((j|0)>=(g|0))break a;o=k+m|0;h[i+(j<<4)>>3]=+h[p+(o<<4)>>3]+f;h[i+(j<<4)+8>>3]=+h[p+(o<<4)+8>>3]+q;j=j+1|0;k=k+l|0}}}else t=31}else t=31;while(0);if((t|0)==31){c[s+264>>2]=0;i=vw(32)|0;g=c[k>>2]|0;h[i>>3]=f-+h[g+88>>3];v=+h[g+80>>3]*.5;h[i+8>>3]=q-v;h[i+16>>3]=+h[g+96>>3]+f;h[i+24>>3]=v+q;g=2}if(!(r&8192))fD(a,i,i,g)|0;c[s+272>>2]=i;c[s+268>>2]=g}while(0);ZE(Im(d,85048)|0);sD(a,d);return}function pv(a){a=a|0;tD(a);Wt(a);return}function qv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=Im(e,96264)|0;i=Im(e,96229)|0;k=Im(e,85204)|0;cm(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=Im(e,96269)|0;g=Yt(b,e,j)|0;if(!i)d=0;else d=Zu(i,e)|0;Xt(b,h,f,d,k,g,e)|0;_I(d);gm(j);l=m;return}function rv(b){b=b|0;var d=0,e=0;b=GA(b,c[42201]|0,174181)|0;a:do if(!(a[b>>0]|0))b=0;else{Du(b)|0;b=0;d=168408;while(1){e=c[d>>2]|0;if(!e)break a;e=(xJ(e,95923)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function sv(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function tv(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=vw(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+E(+d)*a;h[g+(e<<4)+8>>3]=+F(+d)*b;d=d+f;e=e+1|0}return g|0}function uv(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=FA(d,ym(d,0,86583,0)|0,174181)|0,(hv(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=co(d)|0;while(1){if(!e){e=0;break a}if((mv(b,d,e)|0)<<24>>24){e=1;break a}e=eo(d,e)|0}}else e=0;else e=1;while(0);return e|0}function vv(a,b){a=a|0;b=b|0;var d=0;d=Vt(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;qv(a,c[(c[b+16>>2]|0)+12>>2]|0,b);mD(a,b);return}function wv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;b=Im(b,86479)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){Du(b)|0;e=168408;b=0;while(1){while(1){f=c[e>>2]|0;if(!f){e=168408;break a}if(!(xJ(f,95923)|0)){g=10;break}if(!(xJ(f,91378)|0)){f=e;g=12;break}if(!(xJ(f,91385)|0)){f=e;g=14;break}if(!(xJ(f,91360)|0)){f=e;g=16;break}e=e+4|0}if((g|0)==10){e=e+4|0;b=b|1;continue}else if((g|0)==12){while(1){h=f;f=f+4|0;g=c[f>>2]|0;c[h>>2]=g;if(!g)break;else g=12}b=b|3;continue}else if((g|0)==14){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=14}b=b|64;continue}else if((g|0)==16){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=16}b=b|4;continue}}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function xv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=($t(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)_l(0,85446,i)|0;m=ww((rJ(b)|0)+1|0)|0;c[d>>2]=m;xK(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((rJ(m)|0)+1)|0;c[d+4>>2]=m;xK(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);au(j);b=1}else{c[d>>2]=0;au(j);b=0}l=k;return b|0}function yv(a,b){a=a|0;b=b|0;nD(a,b);Wt(a);return}function zv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=l;l=l+96|0;p=x+48|0;s=x+16|0;w=x+8|0;v=x;t=x+80|0;c[t>>2]=1e3;f=ww(16e3)|0;u=a+256|0;e=1;j=1;i=0;q=0;r=c[b+8>>2]|0;while(1){if((q|0)>=(c[b>>2]|0))break;d=c[r>>2]|0;a:do switch(d|0){case 1:case 0:{n=r+80|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];c[s+16>>2]=c[n+16>>2];c[s+20>>2]=c[n+20>>2];c[s+24>>2]=c[n+24>>2];c[s+28>>2]=c[n+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{z=r+8|0;A=r+24|0;h[f>>3]=+h[z>>3]-+h[A>>3];n=r+16|0;y=r+32|0;h[f+8>>3]=+h[n>>3]-+h[y>>3];h[f+16>>3]=+h[A>>3]+ +h[z>>3];h[f+24>>3]=+h[y>>3]+ +h[n>>3];GD(a,f,2,(d|0)==0?j:0);d=j}break}case 3:case 2:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{d=r+8|0;f=Av(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;HD(a,f,c[d>>2]|0,(c[r>>2]|0)==2?j:0);d=j}break}case 5:case 4:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{d=r+8|0;f=Av(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;JD(a,f,c[d>>2]|0,0,0,(c[r>>2]|0)==4?j&255:0);d=j}break}case 6:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{d=r+8|0;f=Av(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;KD(a,f,c[d>>2]|0);d=j}break}case 7:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{h[f>>3]=+h[r+8>>3];h[f+8>>3]=+h[r+16>>3];d=c[r+112>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];AD(a,p,d);d=j}break}case 8:{DD(a,c[r+8>>2]|0);d=1;break}case 9:{BD(a,c[r+8>>2]|0);d=1;break}case 13:{if((c[r+8>>2]|0)!=2){d=r+16|0;z=c[d+36>>2]|0;A=c[z+12>>2]|0;o=+g[z+8>>2];d=~~(+K(+(+h[r+40>>3]-+h[r+24>>3]),+(+h[r+32>>3]-+h[d>>3]))*57.29577951308232);DD(a,c[z+4>>2]|0);ED(a,A,d,o);d=2;break a}A=c[r+68>>2]|0;j=c[A+4>>2]|0;n=c[A+12>>2]|0;o=+g[A+8>>2];k=+h[r+40>>3];m=+h[r+16>>3];if(k==m?+h[r+48>>3]==+h[r+24>>3]:0)d=0;else d=~~(+H(+((m-k)/+h[r+32>>3]))*57.29577951308232);DD(a,j);ED(a,n,d,o);d=3;break}case 14:{_l(0,85512,v)|0;d=j;break}case 12:{if(!e){e=0;d=j}else{_l(0,85552,w)|0;e=0;d=j}break}case 11:{Du(c[r+8>>2]|0)|0;FD(a,168408);i=168408;d=j;break}default:d=j}while(0);j=d;q=q+1|0;r=r+120|0}if(i|0)FD(a,c[(c[a>>2]|0)+336>>2]|0);_I(f);l=x;return}function Av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=yw(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function Bv(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function Cv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;Cv(b,e);d=Im(e,122540)|0;if(d|0?a[d>>0]|0:0)BD(b,d);d=Im(e,122531)|0;if(d|0?a[d>>0]|0:0)BD(b,d);d=Im(e,85423)|0;if(d|0?a[d>>0]|0:0)BD(b,d);d=Im(e,86469)|0;if(d|0?a[d>>0]|0:0)DD(b,d);d=Im(e,86503)|0;if(d|0?a[d>>0]|0:0)BD(b,d);f=f+1|0}return}function Dv(a){a=a|0;var b=0,d=0,e=0;b=c[42172]|0;if(!b){b=Ql(19684,c[4345]|0)|0;c[42172]=b}if(!(bb[c[b>>2]&31](b,a,4)|0)){d=c[42172]|0;e=c[d>>2]|0;b=GL(a)|0;bb[e&31](d,b,1)|0;b=1}else b=0;return b|0}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function Fv(a){a=a|0;var b=0;b=c[42173]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[42173]=b,(b|0)==0):0){bL(1,c[42174]|0)|0;_I(c[42174]|0)}}else{c[42173]=b+1;if(!b){c[42174]=GL(bL(1,0)|0)|0;bL(1,134865)|0}}return}function Gv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+96|0;r=u+72|0;q=u+56|0;p=u+48|0;t=u+32|0;s=u+24|0;e=u+8|0;d=u;if(0)xA();do if((No(b,122277,0,1)|0)!=0?(o=b+16|0,(c[(c[o>>2]|0)+8>>2]|0)!=0):0){Hv(b);Iv(a,b);Jv(a,b);Fv(1);j=a+56|0;k=a+184|0;m=a+192|0;n=a+28|0;i=Cr(a)|0;a:while(1){if(!i){g=33;break}d=c[j>>2]|0;if(!d){c[i+20>>2]=0;d=0}else{c[i+20>>2]=c[d+8>>2];d=c[d+12>>2]|0}c[i+24>>2]=d;c[i+12>>2]=a;c[i+28>>2]=c[k>>2];c[i+620>>2]=24748;c[i+624>>2]=14;if(!(c[(c[o>>2]|0)+8>>2]|0)){g=13;break}e=i+52|0;g=bD(i,c[e>>2]|0)|0;c[i+56>>2]=g;switch(g|0){case 999:{g=16;break a}case 21:{d=1;break}case 24:{d=520;break}default:d=Kv(b)|0}f=i+152|0;c[f>>2]=c[f>>2]|d;d=c[m>>2]|0;do if(!d)g=24;else{if(c[d+152>>2]&32|0?(xJ(c[e>>2]|0,c[d+52>>2]|0)|0)==0:0){d=c[42175]|0;if(!d){g=27;break}c[d+8>>2]=i;c[i+36>>2]=c[d+36>>2];g=29;break}dD(d);c[m>>2]=0;c[n>>2]=0;g=24}while(0);if((g|0)==24){c[42175]=0;g=27}if((g|0)==27?(g=0,(cD(i)|0)==0):0){c[m>>2]=i;g=29}if((g|0)==29){c[i+8>>2]=0;c[i+104>>2]=24860;Lv(i);Mv(i);Nv(i,b);Ov(i,b);Pv(i,b);if(!(c[f>>2]&128))gu(i,b);c[42175]=i}i=Dr(a)|0}if((g|0)==13){_l(1,85710,s)|0;Fv(0);if(!0){d=-1;break}d=c[13918]|0;s=Dn(b)|0;v=+yA();c[t>>2]=s;h[t+8>>3]=v;zL(d,85681,t)|0;d=-1;break}else if((g|0)==16){c[p>>2]=c[e>>2];_l(1,85731,p)|0;Fv(0);if(!0){d=-1;break}d=c[13918]|0;t=Dn(b)|0;v=+yA();c[q>>2]=t;h[q+8>>3]=v;zL(d,85681,q)|0;d=-1;break}else if((g|0)==33){Fv(0);if(!0){d=0;break}d=c[13918]|0;t=Dn(b)|0;v=+yA();c[r>>2]=t;h[r+8>>3]=v;zL(d,85681,r)|0;d=0;break}}else g=5;while(0);if((g|0)==5){_l(1,85633,d)|0;if(!0)d=-1;else{d=c[13918]|0;t=Dn(b)|0;v=+yA();c[e>>2]=t;h[e+8>>3]=v;zL(d,85681,e)|0;d=-1}}l=u;return d|0}function Hv(a){a=a|0;var b=0;b=co(a)|0;while(1){if(!b)break;Uv(a,b);b=eo(a,b)|0}return}function Iv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=Im(d,90530)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=cM(e,90537,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=Im(d,86133)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=cM(e,90537,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=86137;f=Im(d,86140)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];c[42185]=ym(d,0,86535,0)|0;c[42186]=ym(d,0,86520,0)|0;c[b+320>>2]=GA(0,c[42195]|0,93027)|0;h[b+328>>3]=+EA(0,c[42194]|0,14.0,1.0);c[b+336>>2]=19720;c[b+188>>2]=Dn(d)|0;l=o;return}function Jv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+304|0;f=c[e>>2]|0;if(f|0){_I(f);c[e>>2]=0}f=b+308|0;e=c[f>>2]|0;if(e|0){_I(e);c[f>>2]=0}g=b+316|0;e=c[g>>2]|0;if(e|0){_I(e);c[g>>2]=0}e=Im(d,85884)|0;if(e){c[b+312>>2]=Sv(b,d,e)|0;e=Im(d,85891)|0;if(e|0?a[e>>0]|0:0)c[g>>2]=Tv(b,e)|0}else{c[f>>2]=0;c[b+312>>2]=1}return}function Kv(b){b=b|0;b=Im(b,85852)|0;a:do if(!b)b=0;else switch(a[b>>0]|0){case 110:{if(!(xJ(b+1|0,85864)|0))b=1;else{b=0;break a}break}case 101:{if(!(xJ(b+1|0,85874)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}while(0);return b|0}function Lv(b){b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(!(a[e+292>>0]|0)){if((c[b+56>>2]|0)==300)d=+h[(c[b+68>>2]|0)+8>>3];else d=4.0;h[b+248>>3]=d;h[b+240>>3]=d}else{b=b+240|0;e=e+216|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}return}function Mv(b){b=b|0;var d=0;d=c[b>>2]|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=b+416|0;b=(c[b+84>>2]|0)+8|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[b+416>>3]=36.0;break a}default:{d=b+416|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;break a}}else{b=b+416|0;d=d+200|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2]}while(0);return}function Nv(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];do if(!(e!=0.0)){if(f|0?a[f+128>>0]|0:0){b=b+432|0;f=f+112|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];break}d=b+432|0;if((c[b+56>>2]|0)==300){b=(c[b+84>>2]|0)+40|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break}else{h[b+440>>3]=96.0;h[d>>3]=96.0;break}}else{h[b+440>>3]=e;h[b+432>>3]=e}while(0);return}function Ov(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;t=A+80|0;u=A+56|0;s=A+40|0;v=A+32|0;w=A+24|0;x=A+16|0;y=A+8|0;z=A;m=c[b>>2]|0;o=+h[m+272>>3];q=+h[m+280>>3];p=+h[m+256>>3];r=+h[m+264>>3];f=+h[b+240>>3];e=p-f;h[b+208>>3]=e;i=+h[b+248>>3];j=r-i;h[b+216>>3]=j;f=f+o;h[b+224>>3]=f;i=i+q;h[b+232>>3]=i;e=f-e;j=i-j;h[x>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(i<e|k<f)?!(k>f&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}n=i/e<k/f;i=(n?i:k)/(n?e:f);h[x>>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+o)*.5;h[y>>3]=f;e=(r+q)*.5;h[z>>3]=e;c[b+360>>2]=c[m+288>>2];k=i*k;h[v>>3]=k;j=i*j;h[w>>3]=j;g=Im(d,85783)|0;if(g){m=ZI((rJ(g)|0)+1|0)|0;n=ZI((rJ(g)|0)+1|0)|0;c[s>>2]=v;c[s+4>>2]=w;c[s+8>>2]=x;c[s+12>>2]=m;do if((cM(g,85792,s)|0)==4){g=no(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}else{c[u>>2]=v;c[u+4>>2]=w;c[u+8>>2]=x;c[u+12>>2]=m;c[u+16>>2]=n;if((cM(g,85812,u)|0)!=4){c[t>>2]=v;c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=y;c[t+16>>2]=z;cM(g,85832,t)|0;break}g=no(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}while(0);_I(m);_I(n);k=+h[v>>3];j=+h[w>>3];i=+h[x>>3];f=+h[y>>3];e=+h[z>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=A;return}function Pv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0,Q=0.0;M=l;l=l+224|0;J=M+200|0;z=M+168|0;E=M+144|0;I=M+120|0;F=M+96|0;G=M+64|0;e=M+184|0;v=M+176|0;w=M+160|0;y=M+136|0;x=M+112|0;A=M+80|0;B=M+48|0;C=M+32|0;D=M+16|0;K=M+8|0;L=M;u=c[b>>2]|0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;H=b+368|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];H=b+360|0;if(c[H>>2]|0){c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];Qv(e,J);c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2]}t=b+416|0;c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];if((a[u+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){i=+h[u+232>>3]-+h[F>>3]*2.0;h[E>>3]=i;k=+h[u+240>>3]-+h[F+8>>3]*2.0;p=E+8|0;h[p>>3]=k;if(!(i<.0001)){o=+h[I>>3];e=~~(o/i);f=b+164|0;c[f>>2]=e;if(o-i*+(e|0)>.0001){e=e+1|0;c[f>>2]=e}}else{c[b+164>>2]=1;e=1}if(!(k<.0001)){g=+h[I+8>>3];f=~~(g/k);j=b+168|0;c[j>>2]=f;if(g-k*+(f|0)>.0001){f=f+1|0;c[j>>2]=f}}else{c[b+168>>2]=1;f=1;g=+h[I+8>>3]}c[b+204>>2]=O(f,e)|0;o=+h[(+h[I>>3]<i?I:E)>>3];h[I>>3]=o;e=p;f=I;m=+h[(g<k?I:E)+8>>3];g=o;j=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;i=+h[e+24>>3]-+h[F>>3]*2.0;i=i<0.0?0.0:i;h[E>>3]=i;o=+h[e+32>>3]-+h[F+8>>3]*2.0;e=E+8|0;h[e>>3]=o;if(o<0.0){f=E;j=17}else e=E}else{h[E+8>>3]=0.0;f=E;e=E;j=17}if((j|0)==17){h[e>>3]=0.0;e=f;i=+h[f>>3]}c[b+204>>2]=1;c[b+168>>2]=1;c[b+164>>2]=1;g=+h[I>>3];if(i<g){h[e>>3]=g;i=g}e=E+8|0;k=+h[e>>3];m=+h[I+8>>3];if(k<m){f=E;j=21}else{r=e;m=k}}if((j|0)==21){h[f+8>>3]=m;r=e;m=+h[e>>3]}n=+h[F>>3];s=b+432|0;k=+h[s>>3]*.013888888888888888*(n*2.0+i);c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));q=F+8|0;k=+h[q>>3];t=b+440|0;o=+h[t>>3]*.013888888888888888*(k*2.0+m);c[b+452>>2]=~~(o+(o>=0.0?.5:-.5));j=b+188|0;p=b+180|0;e=b+172|0;f=u+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;Rv(v,b,a[c[f>>2]>>0]|0);u=v;v=c[u+4>>2]|0;e=p;c[e>>2]=c[u>>2];c[e+4>>2]=v;Rv(w,b,a[(c[f>>2]|0)+1>>0]|0);e=w;w=c[e>>2]|0;e=c[e+4>>2]|0;v=j;c[v>>2]=w;c[v+4>>2]=e;w=(c[p>>2]|0)+w|0;if(!((((w|0)>-1?w:0-w|0)|0)==1?(w=(c[b+184>>2]|0)+e|0,(((w|0)>-1?w:0-w|0)|0)==1):0)){Rv(y,b,66);v=y;y=c[v+4>>2]|0;w=p;c[w>>2]=c[v>>2];c[w+4>>2]=y;Rv(x,b,76);w=x;x=c[w+4>>2]|0;y=j;c[y>>2]=c[w>>2];c[y+4>>2]=x;c[z>>2]=c[f>>2];_l(0,85763,z)|0}if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(i>g){m=(i-g)*.5;h[G>>3]=m}else m=0.0;i=+h[r>>3];o=+h[I+8>>3];if(i>o){i=(i-o)*.5;h[G+8>>3]=i}else i=0.0}else{i=0.0;m=0.0}if(!(c[H>>2]|0))j=1;else{c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];Qv(A,J);c[I>>2]=c[A>>2];c[I+4>>2]=c[A+4>>2];c[I+8>>2]=c[A+8>>2];c[I+12>>2]=c[A+12>>2];c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];Qv(B,J);c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];c[E+8>>2]=c[B+8>>2];c[E+12>>2]=c[B+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];Qv(C,J);c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];Qv(D,J);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];n=+h[F>>3];m=+h[G>>3];k=+h[q>>3];i=+h[G+8>>3];g=+h[I>>3];j=(c[H>>2]|0)==0}o=m+n;h[b+384>>3]=o;P=i+k;h[b+392>>3]=P;N=m+n+g;h[b+400>>3]=N;Q=+h[I+8>>3];n=i+k+Q;h[b+408>>3]=n;m=+h[b+352>>3];h[b+320>>3]=g/m;h[b+328>>3]=Q/m;m=+h[s>>3];o=o*.013888888888888888*m;f=b+456|0;c[f>>2]=~~(o+(o>=0.0?.5:-.5));o=+h[t>>3];k=P*.013888888888888888*o;c[b+460>>2]=~~(k+(k>=0.0?.5:-.5));m=N*.013888888888888888*m;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));o=n*.013888888888888888*o;c[b+468>>2]=~~(o+(o>=0.0?.5:-.5));if(!j){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];Bv(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];Bv(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function Qv(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function Sv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=Im(d,86004)|0;i=b+296|0;c[i>>2]=(f|0)==0?86013:f;d=Im(d,86017)|0;f=b+300|0;d=(d|0)==0?86030:d;c[f>>2]=d;d=JL(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];_l(0,86032,g)|0;c[f>>2]=174181}d=GL(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=DL(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;if(!d)d=ww(f<<2)|0;else d=yw(d,f<<2)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=yw(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=a+312|0;d=ww((c[i>>2]<<2)+8|0)|0;e=0;h=1;while(1){g=c[i>>2]|0;if((h|0)>(g|0))break;f=e+1|0;if((iv(a,h,g,b)|0)<<24>>24){c[d+(f<<2)>>2]=h;e=f}h=h+1|0}if(!e){c[j>>2]=b;_l(0,85903,j)|0;_I(d);d=0}else{c[d>>2]=e;c[d+(e+1<<2)>>2]=(c[i>>2]|0)+1}l=k;return d|0}function Uv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];e=+h[d+24>>3];f=+h[d+80>>3]*.5;h[d+56>>3]=e-f;h[d+64>>3]=+h[d+96>>3]+g;h[d+72>>3]=f+e;b=Pm(a,b)|0;while(1){if(!b)break;Vv(b);b=Rm(a,b)|0}return}function Vv(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)Wv(a);return}function Wv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)ma(86171,84925,3994,86185);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Xv(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Xv(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];Rt(z,u,v,1.0,b);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];Rt(A,u,v,1.0,b);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];l=C;return}function Xv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)ma(86201,84925,3968,86213);if(((k>>>0)%3|0|0)!=1)ma(86223,84925,3969,86213);m=j+16|0;d=c[b>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;p=+h[d+(b<<4)+8>>3];t=b+1|0;o=+h[d+(t<<4)+8>>3];r=(+h[d+(t<<4)>>3]+ +h[d+(b<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]<r?j:i)>>3];h[j>>3]=o;s=+h[(+h[f>>3]<p?j:i)+8>>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o<q?j:i)>>3];o=+h[e>>3];h[f>>3]=+h[(s<o?j:i)+8>>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;q=+h[a>>3];r=+h[c>>3];k=!(q>=r);if((!k?q<=+h[c+16>>3]:0)?(e=+h[a+8>>3],e>=+h[c+8>>3]):0)i=e<=+h[c+24>>3];else i=0;e=+h[b>>3];if((e>=r?e<=+h[c+16>>3]:0)?(f=+h[b+8>>3],f>=+h[c+8>>3]):0){d=f<=+h[c+24>>3];if(!(i^d))if(i&d)d=1;else l=11;else d=0}else if(i)d=0;else l=11;a:do if((l|0)==11){p=+h[a+8>>3];do if(q==e){r=+h[c+8>>3];if(!(k|p>=r^+h[b+8>>3]>=r^1)?q<=+h[c+16>>3]:0){d=0;break a}}else{j=+h[b+8>>3];if(p==j){if(!(q>=r^e>=r))break;if(!(p>=+h[c+8>>3]))break;if(!(p<=+h[c+24>>3]))break;else{d=0;break a}}o=(j-p)/(e-q);l=q<e;g=l?q:e;e=l?e:q;f=(r-q)*o+p;m=+h[c+8>>3];if(!(!(r>=g)|!(r<=e)|!(f>=m))?f<=+h[c+24>>3]:0){d=0;break a}n=+h[c+16>>3];f=(n-r)*o+f;if(f>=m?!(!(n<=e)|(n>=g?!(f<=+h[c+24>>3]):1)):0){d=0;break a}l=p<j;g=l?p:j;f=l?j:p;e=(m-p)/o+q;if(e>=r?!(!(m<=f)|(!(m>=g)|!(e<=n))):0){d=0;break a}p=+h[c+24>>3];q=(p-m)/o+e;if(q>=r?!(!(p<=f)|(!(p>=g)|!(q<=n))):0){d=0;break a}}while(0);d=-1}while(0);return d|0}function Zv(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[42176]|0)!=(d|0)){SJ(+(d|0)*.15915494309189535,167112,167120);c[42176]=d}g=+h[b>>3];e=+h[20890];f=+h[b+8>>3];i=+h[20889];h[a>>3]=e*g-i*f;h[a+8>>3]=i*g+f*e;return}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];aw(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];$v(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];_v(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=-g;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];$v(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];aw(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];_v(a,f,360-d|0);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=d+ +h[b>>3];e=g+ +h[b+24>>3];d=d+ +h[b+16>>3];h[a>>3]=g+ +h[b+8>>3];h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];d=+h[b>>3]-f;g=+h[a+8>>3];e=+h[b+8>>3]-g;f=(+h[c+8>>3]-g)*d-(+h[c>>3]-f)*e;f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function dw(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=vw(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=Im(b,86250)|0;if(!e){e=Na(86259)|0;if(e|0)k=3}else k=3;if((k|0)==3)Va(86271,e|0,1)|0;e=(ew(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if(0==0?(e=Im(b,86282)|0,c[42178]=e,(e|0)==0):0)c[42178]=c[42177];f=+EA(b,ym(b,0,86292,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=Im(b,86300)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(xJ(e,86308)|0)){e=1;break a}break}case 66:{if(!(xJ(e,86311)|0)){e=2;break a}break}case 82:{e=(xJ(e,86314)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+EA(b,ym(b,0,86317,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=FA(b,ym(b,0,86325,0)|0,0)|0;if(e){c[g>>2]=i;if(cM(e,86246,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(hL(e,86333)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(DA(b,ym(b,0,86341,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=UA(FA(b,ym(b,0,86351,0)|0,0)|0,19732,19748)|0;c[(c[m>>2]|0)+244>>2]=i;fw(b);i=gw(b,86361,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;gw(b,86366,e+48|0)|0;e=IA(Im(b,86371)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=Im(b,86378)|0;do if(!e){e=Im(b,86385)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=Im(b,86397)|0;if(e|0){e=IA(e)|0;k=27}}else{e=(rM(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[42179]=UA(Im(b,86407)|0,19764,19780)|0;a[174076]=IA(Im(b,86419)|0)|0;c[42181]=0;c[42182]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=Im(b,86431)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=Im(b,86435)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+sM(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}hw(b);c[42184]=ym(b,0,86446,0)|0;c[42187]=ym(b,0,86455,0)|0;c[42188]=ym(b,0,90530,0)|0;c[42189]=ym(b,1,96049,0)|0;c[42190]=ym(b,1,96043,0)|0;c[42191]=ym(b,1,90671,0)|0;c[42192]=ym(b,1,122540,0)|0;c[42193]=ym(b,1,86469,0)|0;c[42201]=ym(b,1,86479,0)|0;c[42194]=ym(b,1,86485,0)|0;c[42195]=ym(b,1,86494,0)|0;c[42196]=ym(b,1,86503,0)|0;k=ym(b,1,86240,0)|0;c[42198]=k;if(!k)c[42198]=ym(b,1,86240,90527)|0;c[42199]=ym(b,1,86513,0)|0;c[42202]=ym(b,1,86341,0)|0;c[42216]=ym(b,1,86520,0)|0;c[42205]=ym(b,1,86446,0)|0;c[42197]=ym(b,1,90530,0)|0;c[42203]=ym(b,1,86529,0)|0;c[42204]=ym(b,1,86535,0)|0;c[42207]=ym(b,1,86547,0)|0;c[42206]=ym(b,1,86385,0)|0;c[42208]=ym(b,1,86552,0)|0;c[42209]=ym(b,1,86563,0)|0;c[42210]=ym(b,1,122089,0)|0;c[42200]=ym(b,1,86573,0)|0;c[42211]=ym(b,1,86583,0)|0;c[42212]=ym(b,1,86589,0)|0;c[42213]=ym(b,1,86595,0)|0;c[42214]=ym(b,1,86603,0)|0;c[42215]=ym(b,1,86612,0)|0;c[42217]=ym(b,1,86455,0)|0;c[42218]=ym(b,2,86614,0)|0;c[42220]=ym(b,2,122540,0)|0;c[42221]=ym(b,2,86469,0)|0;c[42223]=ym(b,2,86485,0)|0;c[42224]=ym(b,2,86494,0)|0;c[42225]=ym(b,2,86503,0)|0;c[42226]=ym(b,2,86240,0)|0;c[42227]=ym(b,2,86513,0)|0;c[42236]=ym(b,2,86621,0)|0;c[42228]=ym(b,2,86632,0)|0;c[42239]=ym(b,2,86636,0)|0;c[42240]=ym(b,2,86646,0)|0;c[42241]=ym(b,2,86656,0)|0;c[42242]=ym(b,2,86666,0)|0;c[42243]=ym(b,2,86676,0)|0;c[42244]=ym(b,2,86690,0)|0;c[42245]=ym(b,2,86704,0)|0;c[42246]=ym(b,2,86719,0)|0;c[42247]=ym(b,2,86733,0)|0;c[42219]=ym(b,2,86744,0)|0;c[42231]=ym(b,2,86341,0)|0;c[42229]=ym(b,2,86479,0)|0;c[42230]=ym(b,2,86751,0)|0;c[42232]=ym(b,2,86760,0)|0;c[42233]=ym(b,2,86770,0)|0;c[42234]=ym(b,2,86583,0)|0;c[42235]=ym(b,2,86595,0)|0;c[42248]=ym(b,2,86781,0)|0;c[42249]=ym(b,2,86790,0)|0;c[42250]=ym(b,2,86520,0)|0;e=Ut(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=Im(b,86799)|0;if(e|0?a[e>>0]|0:0){b=qw(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function ew(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=GA(a,ym(a,0,86883,0)|0,86891)|0;if(((((((iK(a,86897)|0)!=0?(iK(a,86905)|0)!=0:0)?(iK(a,86912)|0)!=0:0)?(iK(a,86915)|0)!=0:0)?(iK(a,86926)|0)!=0:0)?(iK(a,86937)|0)!=0:0)?(iK(a,86947)|0)!=0:0)if((iK(a,86958)|0)!=0?(iK(a,86964)|0)!=0:0)if((iK(a,86891)|0)!=0?(iK(a,86969)|0)!=0:0){c[b>>2]=a;_l(0,86974,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function fw(b){b=b|0;var d=0.0,e=0,f=0;e=Im(b,86841)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(xJ(e,86847)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(xJ(e,86852)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(xJ(e,86861)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(xJ(e,86868)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+sM(e);if(!(d>0.0))break a;b=c[(c[b+16>>2]|0)+8>>2]|0;c[b+84>>2]=1;h[b+16>>3]=d;break a}}while(0);return}function gw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;b=Im(b,d)|0;do if(b){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(cM(b,86825,i)|0)>1;g=+h[k>>3];f=+h[j>>3];if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[e+8>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(cM(b,86835,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[e+8>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function hw(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0;d=Im(b,86240)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(cp(d)|0)!=0;g=+EA(b,ym(b,0,86485,0)|0,14.0,1.0);i=GA(b,ym(b,0,86494,0)|0,93027)|0;d=lw(b,d,e?2:0,g,i,GA(b,ym(b,0,86503,0)|0,122106)|0)|0;i=b+16|0;c[(c[i>>2]|0)+12>>2]=d;d=Im(b,90662)|0;e=(d|0)!=0;do if((so(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=Im(b,86802)|0;a:do if(e)switch(a[e>>0]|0){case 108:{d=d|2;break a}case 114:{d=d|4;break a}default:break a}while(0);a[(c[i>>2]|0)+275>>0]=d;if((so(b)|0)!=(b|0)){d=c[(c[i>>2]|0)+12>>2]|0;f=+h[d+24>>3]+16.0;g=+h[d+32>>3]+8.0;b=(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[i>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=f;h[d+48+(b<<4)+8>>3]=g;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=f;break}}}while(0);return}function iw(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){xt(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}_I(c[b+92>>2]|0);b=c[e>>2]|0}while(0);_I(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;ow(c[e+12>>2]|0);To(a,0,122277);return}function jw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[d>>2]|0;l=d+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;if(a[f>>0]|0){i=ww((rJ(f)|0)+1|0)|0;a[i>>0]=0;j=d+12|0;e=i;a:while(1){b:while(1){h=f+1|0;g=a[f>>0]|0;if(!(g<<24>>24))break a;if(!(g<<24>>24==-1|((g&255)<161|(c[j>>2]|0)!=2))){a[e>>0]=g;h=a[h>>0]|0;g=e+2|0;a[e+1>>0]=h;if(!(h<<24>>24)){e=g;break a}else{e=g;f=f+2|0;continue}}switch(g<<24>>24){case 92:break b;case 10:{k=12;break b}default:{}}a[e>>0]=g;e=e+1|0;f=h}if((k|0)==12){k=0;f=e+1|0;a[e>>0]=0;kw(b,d,i,110);e=f;i=f;f=h;continue}g=a[h>>0]|0;switch(g<<24>>24|0){case 114:case 108:case 110:{g=e+1|0;a[e>>0]=0;kw(b,d,i,a[h>>0]|0);e=g;break}default:{a[e>>0]=g;e=e+1|0;g=i}}i=g;f=(a[h>>0]|0)==0?h:f+2|0}if((i|0)!=(e|0)){a[e>>0]=0;kw(b,d,i,110)}d=d+40|0;c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[d+12>>2]=c[l+12>>2]}return}function kw(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;q=s+16|0;p=s;r=e+76|0;k=b[r>>1]|0;o=e+72|0;m=c[o>>2]|0;if(!m)n=vw((k*56|0)+112|0)|0;else n=xw(m,k+2|0,56,k+1|0)|0;c[o>>2]=n;k=b[r>>1]|0;m=n+(k*56|0)|0;c[m>>2]=f;a[n+(k*56|0)+48>>0]=g;if((f|0)!=0?(a[f>>0]|0)!=0:0){c[41782]=c[e+4>>2];h[20893]=+h[e+16>>3];g=c[d+144>>2]|0;c[n+(k*56|0)+4>>2]=bb[c[g>>2]&31](g,167128,1)|0;pA(p,d,m);j=+h[p>>3];h[q>>3]=j;i=+h[p+8>>3]}else{h[q>>3]=0.0;i=+(~~(+h[e+16>>3]*1.2)|0);h[n+(k*56|0)+40>>3]=i;j=0.0}b[r>>1]=(b[r>>1]|0)+1<<16>>16;r=e+24|0;h[r>>3]=+h[(+h[r>>3]>j?r:q)>>3];r=e+32|0;h[r>>3]=+h[r>>3]+i;l=s;return}function lw(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=vw(88)|0;switch(Co(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=so(ro(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=so(ro(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=GL(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=GL(e)|0;a[t+82>>0]=1;if(!(TF(b,t)|0))break a;switch(Co(b)|0){case 0:{c[p>>2]=Dn(n)|0;_l(3,87017,p)|0;break a}case 1:{c[q>>2]=Dn(o)|0;_l(3,87039,q)|0;break a}case 2:{p=Dn(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(qn(s)|0)!=0;s=Dn(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?122546:122549;c[r+8>>2]=s;_l(3,87060,r)|0;break a}default:break a}}case 0:{i=mw(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=yB(i)|0;else i=vB(i,s)|0;_I(c[t>>2]|0);c[t>>2]=i;jw(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:ma(87087,87103,166,87112)}while(0);l=u;return t|0}function mw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(Co(d)|0){case 0:{i=Dn(d)|0;g=rJ(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;h=2;y=87135;m=87132;j=90527;o=174181;q=174181;p=0;r=0;n=2;w=f;x=87129}else{v=0;t=2;u=2;s=2;h=2;y=87135;m=87132;j=90527;o=174181;q=174181;p=0;r=0;n=rJ(f)|0;w=f;x=87129}}else{v=0;t=2;u=2;s=2;h=2;y=87135;m=87132;j=90527;o=174181;q=174181;p=0;r=0;n=2;w=87123;x=87129}break}case 1:{i=Dn(ro(d)|0)|0;g=rJ(i)|0;j=Dn(d)|0;h=rJ(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;y=87135;m=87132;o=174181;q=174181;p=0;r=0;n=2;w=f;x=87129}else{v=0;t=2;u=2;s=2;y=87135;m=87132;o=174181;q=174181;p=0;r=0;n=rJ(f)|0;w=f;x=87129}}else{v=0;t=2;u=2;s=2;y=87135;m=87132;o=174181;q=174181;p=0;r=0;n=2;w=87123;x=87129}break}case 2:{h=d+48|0;i=Dn(so(ro(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=rJ(i)|0;l=Dn(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=rJ(l)|0;f=d+16|0;q=c[(c[f>>2]|0)+52>>2]|0;if(!q)r=0;else r=rJ(q)|0;m=Dn(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)p=0;else p=rJ(o)|0;j=rJ(m)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(!b)n=2;else n=rJ(f)|0}else{n=2;f=87123}x=(qn(so(ro(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(r|0?r+1|0:0)+j+(p|0?p+1|0:0)|0;h=2;y=l;j=90527;w=f;x=x?122549:122546;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=87135;m=87132;j=90527;i=87126;o=174181;q=174181;p=0;r=0;n=2;w=87123;x=87129}}e=(e|0)==0;l=0;f=b;a:while(1){d=f+1|0;b:do switch(a[f>>0]|0){case 0:break a;case 92:{f=f+2|0;switch(a[d>>0]|0){case 78:{k=h;break b}case 71:{k=g;break b}case 69:{k=s;break b}case 72:{k=u;break b}case 84:{k=t;break b}case 76:{k=n;break b}case 92:{if(!e){k=1;break b}break}default:{}}k=2;break}default:{k=1;f=d}}while(0);l=l+k|0}s=ww(l+1|0)|0;n=(v|0)==0;l=(r|0)==0;d=(p|0)==0;f=s;g=b;c:while(1){k=g+1|0;h=a[g>>0]|0;switch(h<<24>>24){case 0:break c;case 92:break;default:{a[f>>0]=h;f=f+1|0;g=k;continue c}}h=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 69:{if(n){g=h;continue c}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(l)g=x;else{a[f>>0]=58;g=q;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break}else g=g+1|0}}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=m;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(d){g=h;continue c}a[f>>0]=58;g=o;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}else g=g+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 72:{g=m;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 92:{if(!e){a[f>>0]=92;f=f+1|0;g=h;continue c}break}default:{}}a[f>>0]=92;a[f+1>>0]=g;f=f+2|0;g=h}a[f>>0]=0;return s|0}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)_I(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)gb[f&127](g);d=d+56|0;e=e+1|0}_I(a)}return}function ow(d){d=d|0;var e=0;if(d|0){_I(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)EF(e,1)}else nw(c[e>>2]|0,b[d+76>>1]|0);_I(d)}return}function pw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;k=c[d+16>>2]|0;s=k+12|0;t=c[s>>2]|0;c[s>>2]=e;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){yD(d,0);BD(d,c[f+8>>2]|0);switch(a[f+80>>0]|0){case 116:{j=+h[f+64>>3];g=+h[f+48>>3]*.5+j;break}case 98:{j=+h[f+64>>3];g=+h[f+48>>3]*-.5+j+ +h[f+32>>3];break}default:{j=+h[f+64>>3];g=+h[f+32>>3]*.5+j}}g=g-+h[f+16>>3];o=r+8|0;h[o>>3]=g;if(b[k+260>>1]&512)h[o>>3]=g-j;m=f+72|0;n=f+56|0;i=f+40|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;k=c[m>>2]|0;switch(a[k+(e*56|0)+48>>0]|0){case 108:{g=+h[n>>3]-+h[i>>3]*.5;break}case 114:{g=+h[i>>3]*.5+ +h[n>>3];break}default:g=+h[n>>3]}h[r>>3]=g;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];AD(d,q,k+(e*56|0)|0);h[o>>3]=+h[o>>3]-+h[(c[m>>2]|0)+(e*56|0)+40>>3];e=e+1|0}zD(d);i=18}}else{jF(d,c[f+72>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function qw(a,b){a=a|0;b=b|0;return mw(a,b,1)|0}function rw(a){a=a|0;return sw(a,0)|0}function sw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[42251]|0;if(!e){c[42252]=64;e=ww(64)|0;c[42251]=e}j=d<<24>>24==0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[42252]|0;if((i|0)>(b+-8|0)){e=b<<1;c[42252]=e;e=yw(c[42251]|0,e)|0;c[42251]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(j?(tw(h)|0)!=0:0)k=18;else{f=5;d=87164}break}case 60:{f=4;d=87187;break}case 62:{f=4;d=87170;break}case 45:{f=5;d=87181;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=87157;break a}else{k=18;break a}switch(d<<24>>24){case 34:{f=6;d=87150;break a}case 39:{f=5;d=87175;break a}case 10:if(j){k=18;break a}else{f=5;d=87144;break a}default:{k=18;break a}}}}while(0);if((k|0)==18){k=0;d=j|d<<24>>24!=13;f=d?1:5;d=d?h:87138}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[42251]|0}function tw(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function uw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[42253]|0;if(!d){c[42254]=64;d=ww(64)|0;c[42253]=d;i=0}else i=0;while(1){if(!b)break;e=a[b>>0]|0;if(!(e<<24>>24))break;f=c[42254]|0;if((i|0)>(f+-8|0)){d=f<<1;c[42254]=d;d=yw(c[42253]|0,d)|0;c[42253]=d;d=d+i|0;e=a[b>>0]|0}switch(e<<24>>24){case 38:{if(!(tw(b)|0)){g=5;e=87164}else j=12;break}case 60:{g=4;e=87187;break}case 62:{g=4;e=87170;break}case 34:{g=6;e=87150;break}case 39:{g=5;e=87175;break}default:j=12}if((j|0)==12){j=0;g=1;e=b}h=d+g|0;f=g;while(1){if(!f)break;a[d>>0]=a[e>>0]|0;f=f+-1|0;e=e+1|0;d=d+1|0}i=g+i|0;d=h;b=b+1|0}a[d>>0]=0;return c[42253]|0}function vw(a){a=a|0;var b=0;if(!a)a=0;else{b=ww(a)|0;VN(b|0,0,a|0)|0;a=b}return a|0}function ww(a){a=a|0;if(a){a=ZI(a)|0;if(!a){XL(96532,14,1,c[13918]|0)|0;a=0}}else a=0;return a|0}function xw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=aJ(a,O(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)VN(a+(O(e,d)|0)|0,0,O(b-e|0,d)|0)|0}else XL(96532,14,1,c[13918]|0)|0;return a|0}function yw(a,b){a=a|0;b=b|0;a=aJ(a,b)|0;if((b|0)!=0&(a|0)==0)XL(96532,14,1,c[13918]|0)|0;return a|0}function zw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;r=u+40|0;q=u+32|0;n=u+24|0;m=u;s=4;t=ZI(40)|0;c[t>>2]=0;f=u+68|0;g=u+64|0;if(0){o=0;ha(57,a|0,f|0,g|0);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=SN(c[i>>2]|0,t|0,s|0)|0;if(!j)Ua(i|0,p|0);z=p}else j=-1;if((j|0)!=1){j=c[13918]|0;i=c[f>>2]|0;f=c[g>>2]|0;o=0;c[m>>2]=87236;c[m+4>>2]=i;c[m+8>>2]=f;c[m+12>>2]=d;c[m+16>>2]=b;aa(13,j|0,87192,m|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){o=0;ea(1);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1)j=6;else{f=z;j=15}}else{f=z;j=15}}else{f=z;j=15}}else j=6;do if((j|0)==6){o=0;f=_(20,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=SN(c[g>>2]|0,t|0,s|0)|0;if(!i)Ua(g|0,p|0);z=p}else i=-1;if((i|0)!=1){if(!f){o=0;ea(2);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}}if((d|0)<1){o=0;ea(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;break}else{c[42255]=(e|0)>-1?e:30;t=RN(169024,1,t|0,s|0)|0;s=z;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;j=15;break}}else{f=z;j=15}}while(0);a:do if((j|0)==15){b:while(1){if(f|0){f=2;break a}o=0;ea(4);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}a=c[13918]|0;m=0;while(1){o=0;j=Z(1)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}if(!j)break;o=0;f=_(21,j|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=SN(c[g>>2]|0,t|0,s|0)|0;if(!i)Ua(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}o=0;ga(24,j|0,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}m=m+1|0;do if(((m|0)%100|0|0)==0&0!=0){f=(m|0)%1e3|0;if((f|0)==100){o=0;$(27,87236,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;c[n>>2]=m;aa(13,a|0,87254,n|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}o=0;c[q>>2]=m;aa(13,a|0,87254,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=SN(c[g>>2]|0,t|0,s|0)|0;if(!i)Ua(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}if(!f){o=0;$(28,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}while(0);if((m|0)>=(d|0))break}switch(b|0){case 1:{o=0;ea(5);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}case 2:{o=0;ea(6);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}default:{o=0;ea(7);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;ea(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}if(!0){f=0;break a}if((m|0)>99){o=0;$(28,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}}f=c[42295]|0;g=c[42296]|0;o=0;k=+X(1);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=SN(c[i>>2]|0,t|0,s|0)|0;if(!j)Ua(i|0,p|0);z=p}else j=-1;if((j|0)==1){f=z;j=15;continue}o=0;c[r>>2]=87236;c[r+4>>2]=f;c[r+8>>2]=g;c[r+12>>2]=m;h[r+16>>3]=k;aa(13,a|0,87258,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15}else break}f=0}while(0);_I(t|0);l=u;return f|0}function Aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function Bw(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[42298]=b;c[42305]=0;c[42296]=0;c[42295]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[42295]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[42296]=k;b=b+1|0;f=k}b=g+164|0}b=c[42306]|0;if(!b)b=ww(h<<2)|0;else b=yw(b,h<<2)|0;c[42306]=b;c[42307]=0;b=c[42300]|0;if(!b)b=ww(c[42295]<<2)|0;else b=yw(b,c[42295]<<2)|0;c[42300]=b;c[42299]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;i=c[k>>2]|0;j=i+292|0;c[j>>2]=0;i=c[i+172>>2]|0;h=d;g=0;b=0;while(1){d=c[i+(g<<2)>>2]|0;if(!d)break;f=b+1|0;c[j>>2]=f;b=c[d+16>>2]|0;c[b+160>>2]=0;c[b+164>>2]=-1;if(!h)b=0;else{l=c[d>>2]&3;b=((c[(c[(c[((l|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[b+170>>1]|0|0)?0:h}h=b;g=g+1|0;b=f}b=vw((g<<2)+4|0)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=vw(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=h;b=b+164|0}return d|0}function Cw(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=zA(c[42295]|0)|0;a=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){BA(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=CA(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[(c[g+16>>2]|0)+170>>1]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){BA(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[42295]|0)){_l(1,87590,k)|0;a=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=Dn(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;_l(3,87612,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);AA(m);l=o;return}function Dw(){var b=0,d=0,e=0;b=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){_I(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function Ew(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=vw(c[42295]<<2)|0;e=0;a=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=Rw(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=Sw(f,e)|0;while(1){if((Tw(a)|0)<=1)break;Xw(a,c[(Ww(Vw(Uw(a)|0)|0)|0)+8>>2]|0)}_I(a);a=0;while(1){if((a|0)>=(e|0))break;_I(c[f+(a<<2)>>2]|0);a=a+1|0}_I(f);if((c[42299]|0)==((c[42295]|0)+-1|0)){Yw();return}else ma(87335,87365,523,87370)}function Fw(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[42305]|0;f=c[42299]|0;j=c[42300]|0;k=c[42255]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[42305]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[42305]=f}return a|0}function Gw(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[42301]=0;c[42302]=2147483647;d=c[a+16>>2]|0;c[42303]=c[d+284>>2];c[42304]=c[d+288>>2];if(b)Qw(a);else Pw(a);return c[42301]|0}function Hw(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;g=c[b>>2]&3;m=b+-48|0;j=b+48|0;k=b+16|0;g=(c[(c[(c[((g|0)==2?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((g|0)==3?b:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[k>>2]|0)+170>>1]|0)|0;do if((g|0)>0){d=c[a>>2]&3;h=c[((d|0)==3?a:a+48|0)+40>>2]|0;i=c[h+16>>2]|0;if(((c[i+276>>2]|0)+(c[i+268>>2]|0)|0)==1){Lw(h,g);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){Lw(d,0-g|0);break}if((c[i+288>>2]|0)<(c[f+288>>2]|0)){Lw(h,g);break}else{Lw(d,0-g|0);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=Mw(c[((g|0)==3?b:j)+40>>2]|0,c[((g|0)==2?b:m)+40>>2]|0,f,1)|0;i=c[b>>2]&3;if((Mw(c[((i|0)==2?b:m)+40>>2]|0,c[((i|0)==3?b:j)+40>>2]|0,f,0)|0)==(g|0)){c[(c[k>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;Nw(a,b);n=c[g+16>>2]|0;Ow(g,c[n+280>>2]|0,c[n+284>>2]|0)|0;l=o;return}else{_l(1,87296,n)|0;Ua(169024,1)}}function Iw(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;Kw();m=vw((c[42297]<<2)+4|0)|0;d=c[42297]|0;b=0;while(1){if((b|0)>(d|0))break;c[m+(b<<2)>>2]=0;b=b+1|0}b=(c[(c[42298]|0)+16>>2]|0)+192|0;d=b;while(1){d=c[d>>2]|0;if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){l=m+(c[d+232>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+1}d=d+164|0}while(1){b=c[b>>2]|0;if(!b)break;l=b+16|0;b=c[l>>2]|0;if(!(a[b+156>>0]|0)){h=c[42297]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;n=c[g+16>>2]|0;i=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[n+170>>1]|0)|0;k=(c[n+156>>2]|0)+k|0;j=(j|0)>(i|0)?j:i;d=d+1|0}g=c[b+180>>2]|0;i=0;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;n=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;h=(h|0)<(n|0)?h:n;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){g=d;f=d;while(1){d=f+1|0;if((f|0)>=(h|0))break;g=(c[m+(d<<2)>>2]|0)<(c[m+(g<<2)>>2]|0)?d:g;f=d}o=b+232|0;n=m+(c[o>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+-1;n=m+(g<<2)|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=g}d=c[b+264>>2]|0;if(d){_I(d);b=c[l>>2]|0}d=c[b+272>>2]|0;if(d){_I(d);b=c[l>>2]|0}a[b+157>>0]=0}b=b+164|0}_I(m);return}function Jw(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[42299]|0))break;a=c[(c[42300]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=Gw(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){Lw(g,f>>>1);break}else{Lw(a,(f|0)/-2|0);break}}while(0);b=b+1|0}Dw();return}function Kw(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;c[h>>2]=0;c[h>>2]=2147483647;c[42297]=-2147483647;b=(c[(c[42298]|0)+16>>2]|0)+192|0;e=b;g=2147483647;f=-2147483647;while(1){d=c[e>>2]|0;if(!d)break;e=c[d+16>>2]|0;if(!(a[e+156>>0]|0)){j=c[e+232>>2]|0;d=(g|0)<(j|0)?g:j;c[h>>2]=d;f=(f|0)>(j|0)?f:j;c[42297]=f}else d=g;e=e+164|0;g=d}if(g|0){while(1){b=c[b>>2]|0;if(!b)break;b=c[b+16>>2]|0;j=b+232|0;c[j>>2]=(c[j>>2]|0)-g;b=b+164|0}c[42297]=f-g;c[h>>2]=0}l=i;return}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){Lw(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){Lw(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function Mw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+16|0;e=(c[i>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[e>>2];c[(c[42300]|0)+(c[e>>2]<<2)>>2]=b;c[(c[i>>2]|0)+164>>2]=-1;i=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+276|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+272|0;h=0;while(1){if((h|0)>=(f|0)){k=3;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==3)d=c[e+272>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+272>>2]|0)+(j<<2)>>2]=0;i=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+268|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+264|0;h=0;while(1){if((h|0)>=(f|0)){k=8;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==8)d=c[e+264>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+264>>2]|0)+(j<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;a=c[k>>2]|0;j=c[a+272>>2]|0;a=a+276|0;i=c[a>>2]|0;c[a>>2]=i+1;c[j+(i<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+272>>2]|0)+(c[k+276>>2]<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;i=c[k>>2]|0;j=c[i+264>>2]|0;i=i+268|0;a=c[i>>2]|0;c[i>>2]=a+1;c[j+(a<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+264>>2]|0)+(c[k+268>>2]<<2)>>2]=0;return}function Ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=Ow(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=Ow(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function Pw(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+180>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[42303]|0)>(j|0)|(j|0)>(c[42304]|0)?(h=(c[b+232>>2]|0)-(c[(c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[42302]|0)|(c[42301]|0)==0):0){c[42301]=d;c[42302]=h}}else{b=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))Pw(b)}g=g+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[42302]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){Pw(b);a=c[i>>2]|0}d=d+1|0}return}function Qw(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+172>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[42303]|0)>(j|0)|(j|0)>(c[42304]|0)?(h=(c[(c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[b+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[42302]|0)|(c[42301]|0)==0):0){c[42301]=d;c[42302]=h}}else{b=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))Qw(b)}g=g+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[42302]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){Qw(b);a=c[i>>2]|0}d=d+1|0}return}function Rw(a){a=a|0;var b=0;b=vw(16)|0;c[b>>2]=a;c[b+4>>2]=fx(a,b)|0;c[b+12>>2]=b;return b|0}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0;e=vw(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;Xw(e,d);d=d+-1|0}return e|0}function Tw(a){a=a|0;return c[a+4>>2]|0}function Uw(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;Xw(a,0);return b|0}function Vw(a){a=a|0;return ex(c[a>>2]|0,0,0)|0}function Ww(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)ma(87384,87365,463,87398);g=a+48|0;d=ax(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=ax(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)bx(c[d>>2]|0,0,b);else bx(c[f>>2]|0,0,0-b|0);cx(a);return dx(d,f)|0}function Xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;g=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;if(!((a|0)<(g|0)?(c[(c[h+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[h+(b<<2)>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(g|0))break;d=h+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[h+(a<<2)>>2]|0)+4>>2]|0))break;i=h+(b<<2)|0;a=c[i>>2]|0;c[i>>2]=e;c[d>>2]=a;c[(c[i>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function Yw(){Ow(c[(c[(c[42298]|0)+16>>2]|0)+192>>2]|0,0,1)|0;Zw(c[(c[(c[42298]|0)+16>>2]|0)+192>>2]|0,0);return}function Zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))Zw(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){Zw(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)_w(b);return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=($w(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=($w(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function $w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=(h|0)==3?a:a+48|0;e=c[i+40>>2]|0;if((e|0)==(b|0))e=c[((h|0)==2?a:a+-48|0)+40>>2]|0;g=c[b+16>>2]|0;f=c[(c[e+16>>2]|0)+288>>2]|0;if((c[g+284>>2]|0)<=(f|0)?(f|0)<=(c[g+288>>2]|0):0){f=c[a+16>>2]|0;if((c[f+164>>2]|0)>-1)e=c[f+160>>2]|0;else e=0;g=1;e=e-(c[f+156>>2]|0)|0}else{g=0;e=c[(c[a+16>>2]|0)+156>>2]|0}i=(c[((d|0)>0?((h|0)==2?a:a+-48|0):i)+40>>2]|0)==(b|0)?1:-1;return (((g?i:0-i|0)|0)<0?0-e|0:e)|0}function ax(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function bx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){bx(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){bx(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function cx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){_l(1,87487,h)|0;Ua(169024,1)}g=c[42299]|0;c[d>>2]=g;d=c[42300]|0;c[42299]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[42306]|0;d=c[42307]|0;c[42307]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[42306]|0;d=c[42307]|0;c[42307]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){_l(1,87521,h+8|0)|0;Ua(169024,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){_l(1,87556,h+16|0)|0;Ua(169024,1)}else{l=h;return}}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){g=a+12|0;d=c[g>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){f=b+12|0;d=c[f>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){e=c[a+8>>2]|0;d=c[b+8>>2]|0;do if((e|0)>-1)if((d|0)==-1)h=a;else j=10;else if((d|0)>-1)if((e|0)==-1){h=b;break}else{j=10;break}else ma(87410,87365,327,87457);while(0);if((j|0)==10)h=(c[b+4>>2]|0)<(c[a+4>>2]|0)?a:b;c[f>>2]=h;c[g>>2]=h;c[h+4>>2]=(c[b+4>>2]|0)+(c[a+4>>2]|0);if((c[h+8>>2]|0)>-1)i=h;else ma(87468,87365,335,87457)}else i=a;return i|0}function ex(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=ax(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=ex(h,a,d)|0}else if((ax(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=ex(i,a,d)|0}else if((ax(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function fx(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){cx(g);a=(fx(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){cx(f);a=(fx(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Im(a,87620)|0;if(!d)d=30;else d=rM(d)|0;return zw(a,b,c,d)|0}function hx(a){a=+a;return +((c[42183]|0)==0?a:+h[20895]-a)}function ix(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0;r=l;l=l+16|0;q=r;c[42308]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];jx(d);i=c[d+16>>2]|0;t=+h[i+32>>3];s=+h[i+40>>3];kx(e,87631,+h[b+352>>3]);kx(e,87638,t*.013888888888888888);kx(e,87638,s*.013888888888888888);lx(e);i=co(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){mx(e,87640,Wp(Dn(i)|0)|0);p=(c[g>>2]|0)+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];nx(e,q);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=ro(i)|0;b=ox(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=Wp(Jm(i,c[42198]|0)|0)|0;kx(e,87638,+h[(c[g>>2]|0)+32>>3]);kx(e,87638,+h[(c[g>>2]|0)+40>>3]);mx(e,87638,b);mx(e,87638,GA(i,c[42201]|0,95889)|0);mx(e,87638,c[c[(c[g>>2]|0)+8>>2]>>2]|0);mx(e,87638,GA(i,c[42192]|0,122106)|0);b=GA(i,c[42193]|0,174181)|0;if(!(a[b>>0]|0))b=GA(i,c[42192]|0,119592)|0;mx(e,87638,b);lx(e)}i=eo(d,i)|0}o=f<<24>>24==0;n=co(d)|0;while(1){if(!n)break;m=Pm(d,n)|0;while(1){if(!m)break;if(o){f=174181;j=174181}else{j=Im(m,96242)|0;f=Im(m,96251)|0;f=f|0?f:174181;j=j|0?j:174181}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;u=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=u}mx(e,0,96237);px(e,c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0,j);px(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);qx(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;u=g+(b<<4)|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];nx(e,q);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){u=ro(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;mx(e,87638,ox(u,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);u=(c[(c[p>>2]|0)+96>>2]|0)+56|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];nx(e,q)}mx(e,87638,GA(m,c[42229]|0,95889)|0);mx(e,87638,GA(m,c[42220]|0,122106)|0);lx(e);m=Rm(d,m)|0}n=eo(d,n)|0}rx(87646,e);l=r;return}function jx(a){a=a|0;var b=0.0;if(c[42183]|0){a=c[a+16>>2]|0;b=+h[a+24>>3]+ +h[a+40>>3];h[20895]=b;h[20896]=b*.013888888888888888}return}function kx(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)rx(b,a);h[e>>3]=c;pL(d,87652,e)|0;rx(d,a);l=f;return}function lx(b){b=b|0;a[174077]=10;ab[c[42308]&63](b,174077)|0;return}function mx(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)rx(b,a);rx(c,a);return}function nx(a,b){a=a|0;b=b|0;var d=0.0;kx(a,87638,+h[b>>3]*.013888888888888888);if(!(c[42183]|0))d=+h[b+8>>3];else d=+h[20895]-+h[b+8>>3];kx(a,87638,d*.013888888888888888);return}function ox(a,b){a=a|0;b=b|0;var c=0;c=$o(a,b)|0;b=Wp(c)|0;bp(a,c)|0;return b|0}function px(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=Wp(Dn(d)|0)|0;else{f=ro(d)|0;d=ox(f,(WJ(Dn(d)|0,58)|0)+1|0)|0}mx(b,87638,d);if(e|0?a[e>>0]|0:0)mx(b,93017,Wp(e)|0);return}function qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;rx(87638,a);c[f>>2]=b;pL(e,122187,f)|0;rx(e,a);l=d;return}function rx(a,b){a=a|0;b=b|0;ab[c[42308]&63](b,a)|0;return}\nfunction EB(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)ma(94759,92694,1637,94767);e=c[a>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if((Yv(i,j,k)|0)!=-1){d=1;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(GB(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(GB(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];Rt(n,f,g,1.0,d);if(((o>=+h[n>>3]?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],Rt(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],Rt(j,f,g,1.0,d),o>=+h[j+8>>3]):0)?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],Rt(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function HB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{e=b+1|0;if(!(iK(e,94782)|0)){d=4;break a}if(!(iK(e,94788)|0)){d=12;break a}break}case 70:case 102:{if(!(iK(b+1|0,94796)|0)){d=2;break a}break}case 76:case 108:{if(!(iK(b+1|0,94801)|0)){d=2;break a}break}case 78:case 110:{e=b+1|0;if(!(iK(e,94805)|0)){d=0;break a}if(!(iK(e,94809)|0)){d=2;break a}break}case 79:case 111:{if(!(iK(b+1|0,94811)|0)){d=8;break a}break}case 80:case 112:{if(!(iK(b+1|0,94816)|0)){d=6;break a}break}case 83:case 115:{if(!(iK(b+1|0,94824)|0)){d=10;break a}break}case 84:case 116:{if(!(iK(b+1|0,94830)|0)){d=10;break a}break}case 89:case 121:{if(!(iK(b+1|0,94834)|0)){d=10;break a}break}default:{}}while(0);c[f>>2]=b;_l(0,94837,f)|0}while(0);l=g;return d|0}function IB(d,f){d=d|0;f=f|0;var g=0;g=Im(d,94878)|0;if(g)if(!(a[g>>0]|0))f=0;else f=HB(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=f|e[d>>1];return}function JB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0;v=l;l=l+32|0;p=v+16|0;r=v;t=e&1;u=e&2;a:do if((c|0)==2){s=+h[a+16>>3];f=+h[a>>3];j=+h[a+24>>3];i=+h[a+8>>3];f=f-(s-f);h[p>>3]=f;h[r>>3]=s;i=i-(j-i);h[p+8>>3]=i;h[r+8>>3]=j}else{g=+h[a>>3];h[r>>3]=g;h[p>>3]=g;j=+h[a+8>>3];m=r+8|0;h[m>>3]=j;n=p+8|0;h[n>>3]=j;e=0;f=g;i=j;while(1){if((e|0)>=(c|0)){s=g;break a}w=a+(e<<4)|0;q=+h[w>>3];k=+h[(q<f?w:p)>>3];h[p>>3]=k;s=+h[a+(e<<4)+8>>3];o=+h[(s<i?w:p)+8>>3];h[n>>3]=o;q=+h[(q>g?w:r)>>3];h[r>>3]=q;s=+h[(s>j?w:r)+8>>3];h[m>>3]=s;e=e+1|0;f=k;i=o;g=q;j=s}}while(0);g=(s-f)*.5;q=g+f;o=(j-i)*.5;k=o+i;if(!t){f=j-k;j=d;i=+F(+j);j=+E(+j);if(!u){g=i*f-k;f=-k-o*i}else{f=i*f;g=k-f;f=f+k}h[b+8>>3]=g;h[b+24>>3]=f;d=j*(s-q);h[b>>3]=q-d;h[b+16>>3]=d+q}else{d=+C(+(o*o+g*g));h[b+8>>3]=u|0?k:-k;h[b>>3]=q;h[b+16>>3]=d*.25;h[b+24>>3]=d}l=v;return}function KB(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=a+16|0;f=c[e>>2]|0;if(!(b<<24>>24)){d=+h[f+32>>3]*36.0;h[f+88>>3]=d;a=f+40|0}else{d=+h[f+40>>3]*36.0;h[f+88>>3]=d;a=f+32|0}h[f+96>>3]=d;h[(c[e>>2]|0)+80>>3]=+h[a>>3]*72.0;return}function LB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;y=l;l=l+16|0;j=y+8|0;x=4;w=ZI(40)|0;c[w>>2]=0;s=y;o=0;e=_(22,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;a:do if((g|0)!=1){o=0;v=_(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=SN(c[f>>2]|0,w|0,x|0)|0;if(!e)Ua(f|0,p|0);z=p}else e=-1;if((e|0)!=1){if(!(a[174076]|0))t=0;else{o=0;e=Z(2)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}t=e}o=0;e=$(31,b|0,94886)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[42366]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=16;break}case 105:{e=18;u=16;break}case 109:{e=1;u=16;break}case 114:{e=4;u=16;break}case 115:{e=2;u=16;break}default:e=g}if((u|0)==16){u=0;e=g|e;c[42366]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;aa(11,0,94890,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}}o=0;r=$(32,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[42366]&2|0){o=0;ga(25,c[13918]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break}}o=0;g=_(24,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=$(33,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=SN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!(0==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[174076]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=aa(15,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=SN(c[h>>2]|0,w|0,x|0)|0;if(!d)Ua(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ha(59,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=SN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}else{o=0;f=aa(15,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=SN(c[h>>2]|0,w|0,x|0)|0;if(!d)Ua(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ha(59,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=SN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;h=_(25,e|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=SN(c[d>>2]|0,w|0,x|0)|0;if(!f)Ua(d|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}c[v+(i<<3)>>2]=h;i=i+1|0}while(0);o=0;e=$(34,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=SN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}}o=0;g=$(35,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}n=i}o=0;j=_(26,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;ja(25,v|0,n|0,8,36);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;fa(87,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[13918]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[42366]&16|0:0){o=0;ga(25,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ja(26,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}else{o=0;ha(60,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}o=0;ha(60,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}o=0;e=aa(16,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ja(27,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;fa(88,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}h=h+1|0}o=0;ea(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;e=_(27,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=_(28,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;ha(61,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){w=RN(169468,1,w|0,x|0)|0;x=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=z;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;fa(89,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){A=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=z;g=A;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[42366]&4|0){o=0;ka(7,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}}o=0;la(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}q=g}if(!(a[174076]|0))e=0;else{o=0;fa(90,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;fa(91,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;g=q;u=74;continue d}e=e+1|0}o=0;fa(91,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;fa(92,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;fa(91,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74}else break}_I(w|0);l=y;return}function MB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;WL(95757,a)|0;WL(95768,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){FC(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{HC(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;zL(a,95788,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;zL(a,95808,p)|0;d=d+1|0}WL(95830,a)|0;l=q;return}function NB(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;b=+h[e+16>>3]-+h[a+16>>3];d=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function OB(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function PB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;FC(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){DC(j,h,c[h+24>>2]|0);YC(b,f,h,0.0)|0;break}else{DC(j,h,i);YC(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function QB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;FC(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;DC(h,g,e);YC(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function RB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+128|0;C=H+64|0;n=H+48|0;D=H+32|0;E=H+16|0;F=H;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}B=vw((g*56|0)+-112|0)|0;c[C+52>>2]=0;c[C+48>>2]=0;A=e+8|0;e=c[A>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;DC(n,e,g);j=e;q=e;p=0.0;o=+h[n>>3];z=0;m=0.0;x=+h[n+8>>3];while(1){y=i+8|0;if(!(c[y>>2]|0))break;v=EC(j,i)|0;uG(d,v,c[q+12>>2]|0);t=q+36|0;u=i+36|0;if((a[t>>0]|0)==(a[u>>0]|0))if((c[y>>2]|0)==(f|0)){DC(E,i,v);e=E;G=12}else{j=q;e=z;k=x}else{FC(D,v);e=D;G=12}if((G|0)==12){G=0;w=+h[e>>3];k=+h[e+8>>3];e=a[t>>0]|0;s=e<<24>>24==0;r=(q|0)==(c[A>>2]|0);if(s){if(!(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?4:2;n=v+48|0;q=g+48|0;j=g+40|0;g=r?0:p>o?4:2}else{if(e<<24>>24==(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?1:3;n=v+40|0;q=g+40|0;j=g+48|0;g=r?0:m>x?1:3}GC(C,s&1,+h[j>>3],+h[q>>3],+h[n>>3],g,e);q=z+1|0;g=B+(z*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));if((a[t>>0]|0)!=(a[u>>0]|0)?(c[y>>2]|0)==(f|0):0){DC(F,i,v);n=(a[u>>0]|0)==0;e=v+40|0;g=v+48|0;p=+h[(n?g:e)>>3];GC(C,n&1,+h[(n?e:g)>>3],p,p,n?(o>w?4:2):x>k?1:3,0);n=z+2|0;g=B+(q*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));g=v;j=i;p=o;o=w;e=n;m=x}else{g=v;j=i;p=o;o=w;e=q;m=x}}v=i;i=c[y>>2]|0;q=j;z=e;x=k;j=v}i=aJ(B,z*56|0)|0;e=z+-1|0;g=0;while(1){if((g|0)>=(z|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);if((g|0)<(e|0)){G=g+1|0;c[i+(g*56|0)+52>>2]=i+(G*56|0);g=G;continue}else{g=g+1|0;continue}}c[b>>2]=z;c[b+4>>2]=i;l=H;return}function SB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Ql(24676,c[4345]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=vw(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];yC(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function TB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Ql(24676,c[4345]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=vw(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];yC(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function UB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;xC(bC(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function VB(a){a=a|0;var b=0,d=0;d=a+20|0;dC(c[d>>2]|0);b=a+24|0;dC(c[b>>2]|0);eC(c[d>>2]|0);eC(c[b>>2]|0);fC(c[d>>2]|0,a);fC(c[b>>2]|0,a);gC(c[d>>2]|0);gC(c[b>>2]|0);return}function WB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z;o=z+32|0;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;WL(95005,a)|0;c[n>>2]=10;c[n+4>>2]=10;zL(a,95411,n)|0;WL(123076,a)|0;i=b+4|0;j=b+12|0;q=t+8|0;r=t+16|0;s=t+24|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[q>>3];B=+h[r>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;zL(a,123095,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];cC(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}WL(95428,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[q>>3];B=+h[r>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;zL(a,123132,y)|0;h[u>>3]=+h[(+h[u>>3]<E?u:t)>>3];h[v>>3]=+h[(+h[v>>3]<A?u:t)+8>>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;zL(a,95453,x)|0;l=z;return}function XB(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;N=l;l=l+112|0;F=N+88|0;E=N+72|0;M=N+32|0;I=N+16|0;J=N;K=N+56|0;L=N+40|0;G=c[13918]|0;w=(i|0)==0;x=J+8|0;y=I+8|0;v=0;m=0;n=0;o=0;p=0;i=0;while(1){if((v|0)>=(e|0))break;z=c[g+(v<<3)+4>>2]|0;A=z+48|0;u=(c[(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)+16>>2]|0)+16|0;B=z+16|0;C=(c[B>>2]|0)+16|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];YB(K,E,F);c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];C=z+-48|0;u=(c[(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)+16>>2]|0)+16|0;t=(c[B>>2]|0)+56|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];YB(L,E,F);c[J>>2]=c[L>>2];c[J+4>>2]=c[L+4>>2];c[J+8>>2]=c[L+8>>2];c[J+12>>2]=c[L+12>>2];t=c[f+(v<<3)>>2]|0;u=c[f+(v<<3)+4>>2]|0;s=t*3|0;D=s+1|0;if((s|0)>=(n|0)){if(m|0)_I(i);p=ww(D<<4)|0;m=p;n=D;o=p;i=p}if(!(a[u>>0]|0)){k=+(_B(u,d)|0);j=+h[I>>3]}else{j=+ZB(u,d);k=+h[y>>3]}r=m+16|0;h[m+16>>3]=j;h[m+24>>3]=k;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];r=1;q=u;s=2;while(1){if((r|0)>=(t|0))break;q=u+(r*56|0)|0;if(!(a[q>>0]|0))k=+(_B(q,d)|0);else j=+ZB(q,d);O=m+(s+2<<4)|0;Q=m+(s+1<<4)|0;P=m+(s<<4)|0;h[P>>3]=j;h[m+(s<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];r=r+1|0;s=s+3|0}if(!(a[q>>0]|0)){k=+(_B(q,d)|0);j=+h[J>>3]}else{j=+ZB(q,d);k=+h[x>>3]}Q=m+(s<<4)|0;O=s+1|0;P=m+(O<<4)|0;h[P>>3]=j;h[m+(O<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];if(0>1){P=Dn(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)|0;Q=Dn(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)|0;c[M>>2]=P;c[M+4>>2]=Q;zL(G,94964,M)|0}Jz(z,c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0,m,D,24664);if((!w?(H=c[(c[B>>2]|0)+96>>2]|0,H|0):0)?(a[H+81>>0]|0)==0:0){c[E>>2]=c[I>>2];c[E+4>>2]=c[I+4>>2];c[E+8>>2]=c[I+8>>2];c[E+12>>2]=c[I+12>>2];c[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];cA(b,z,E,F)}v=v+1|0}_I(o);l=N;return}function YB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function ZB(a,b){a=a|0;b=b|0;var d=0.0,e=0;b=bC(c[b+24>>2]|0,a)|0;e=c[b+36>>2]|0;d=+h[e+40>>3];return +((+h[e+56>>3]-d)*(+(c[a+44>>2]|0)/+((c[b+24>>2]|0)+1|0))+d)}function _B(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=bC(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~((1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d)+d)|0}function $B(a){a=a|0;return 0}function aC(a){a=a|0;return 0}function bC(a,b){a=a|0;b=b|0;a=bb[c[a>>2]&31](a,b+8|0,512)|0;if(!a)ma(94977,94983,423,94991);a=c[a+16>>2]|0;a=bb[c[a>>2]&31](a,b+16|0,512)|0;if(!a)ma(95002,94983,425,94991);else return a|0;return 0}function cC(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){k=+h[j+56>>3];s=+h[j+40>>3];j=_B(t,g)|0;k=(s+k)*.5}else{k=+h[j+64>>3];s=+h[j+48>>3];j=~~((s+k)*.5);k=+ZB(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p<r?p:r;h[i>>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q<s?q:s;h[v>>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;zL(d,95504,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=_B(m,g)|0;else f=~~+ZB(m,g);B=+(f|0);D=p<B?p:B;h[i>>3]=D;k=+(j|0);C=q<k?q:k;h[v>>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;zL(d,95526,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){k=+h[j+56>>3];D=+h[j+40>>3];j=_B(m,g)|0;k=(D+k)*.5}else{k=+h[j+64>>3];D=+h[j+48>>3];j=~~((D+k)*.5);k=+ZB(m,g)}A=~~k;C=+(A|0);h[i>>3]=p<C?p:C;D=+(j|0);h[v>>3]=q<D?q:D;h[w>>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;zL(d,95540,y)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function dC(a){a=a|0;var b=0;a=Ol(a)|0;while(1){if(!a)break;b=Ol(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=IC(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function eC(a){a=a|0;var b=0;a=Ol(a)|0;while(1){if(!a)break;b=Ol(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)wC(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function fC(a,b){a=a|0;b=b|0;var d=0;d=Ol(a)|0;while(1){if(!d)break;a=Ol(c[d+16>>2]|0)|0;while(1){if(!a)break;kC(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function gC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=Ol(a)|0;while(1){if(!e)break;i=e+8|0;f=Ol(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[42366]&8|0)hC(f,~~+h[i>>3]);g=f+32|0;NC(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[13918]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;zL(i,95561,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Sl(e)|0){iC(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);WL(95581,i)|0;d=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!d)break b;WL(95586,i)|0;iC(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);WL(134901,i)|0;d=bb[c[e>>2]&31](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function iC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+80|0;f=g+40|0;e=g;if(!(a[d>>0]|0)){m=+h[d+16>>3];j=+h[d+8>>3];k=+h[d+24>>3];i=jC(c[d+32>>2]|0)|0;e=jC(c[d+36>>2]|0)|0;h[f>>3]=m;h[f+8>>3]=j;h[f+16>>3]=k;h[f+24>>3]=j;c[f+32>>2]=i;c[f+36>>2]=e;zL(b,95592,f)|0}else{k=+h[d+8>>3];j=+h[d+16>>3];m=+h[d+24>>3];f=jC(c[d+32>>2]|0)|0;i=jC(c[d+36>>2]|0)|0;h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=k;h[e+24>>3]=m;c[e+32>>2]=f;c[e+36>>2]=i;zL(b,95592,e)|0}l=g;return}function jC(a){a=a|0;switch(a|0){case 0:{a=95643;break}case 1:{a=95638;break}case 2:{a=95631;break}case 3:{a=95624;break}case 4:{a=95616;break}default:a=0}return a|0}function kC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((MC(u,j,k)|0)==0?(MC(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,lC(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;mC(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;mC(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{nC(c[s>>2]|0,c[o>>2]|0,g,0,a,b);nC(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;oC(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{nC(c[s>>2]|0,c[o>>2]|0,g,0,a,b);nC(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{nC(c[o>>2]|0,c[s>>2]|0,0,g,a,b);nC(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{nC(c[o>>2]|0,c[s>>2]|0,0,g,a,b);nC(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{nC(c[o>>2]|0,c[s>>2]|0,0,g,a,b);nC(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;oC(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function lC(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))ma(95714,94983,843,95745);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0)&1;else a=0;return a|0}function mC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){b=pC(b,e)|0;if(!b){h=0;break}d=pC(d,f)|0;if(!d){i=6;break}if(!(lC(b,d)|0)){i=7;break}g=g+1|0}if((i|0)==6)ma(123205,94983,871,95663);else if((i|0)==7)h=rC(b,qC(b,d)|0,g+1|0,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=h;return}function nC(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i+20|0;n=i+24|0;i=bC(c[((a[b>>0]|0)==0?o:n)>>2]|0,b)|0;KC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);k=1;while(1){if((k|0)>(g|0))break;l=pC(b,e)|0;m=pC(d,f)|0;do if(!(a[b>>0]|0)){j=bC(c[n>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==1;i=(MC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==1;i=(MC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}}else{j=bC(c[o>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==2;i=(MC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==2;i=(MC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}}while(0);b=l;d=m;k=k+1|0}return}function oC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(lC(b,d)|0))break;g=pC(b,1)|0;d=pC(d,e)|0;b=g}g=c[(bC(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;LC(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function pC(a,b){a=a|0;b=b|0;if(!a)ma(95650,94983,798,95654);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function qC(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=sC(b,c,3,1)|0;else b=sC(b,c,4,2)|0;l=f;return b|0}_l(1,95676,e)|0;Ua(169468,1);return 0}function rC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0;j=1;while(1){if((j|0)>(e|0))break;i=pC(b,f)|0;g=+h[i+8>>3]==+h[b+16>>3];do if(!(a[b>>0]|0))if(g){g=(c[b+32>>2]|0)==1;break}else{g=(c[b+36>>2]|0)==3;break}else if(g){g=(c[b+32>>2]|0)==4;break}else{g=(c[b+36>>2]|0)==2;break}while(0);b=i;j=j+1|0;d=g?0-d|0:d}return d|0}function sC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;j=+h[a+24>>3];k=+h[b+16>>3];do if(!(j<k)?(g=+h[a+16>>3],i=+h[b+24>>3],!(g>i)):0){if(k<j&g<k){b=tC(a,b,d,e)|0;break}if(k<g&g<i){b=0-(tC(b,a,d,e)|0)|0;break}if(!(g==k))if(j==k){d=c[a+36>>2]|0;return ((d|0)==(c[b+32>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{d=c[a+32>>2]|0;b=(d|0)==(c[b+36>>2]|0)?0:(d|0)==(e|0)?1:-1;break}if(!(j==i))if(j<i){o=(c[a+36>>2]|0)==(d|0);d=vC(c[b+32>>2]|0,c[a+32>>2]|0,d,e)|0;return (o?d:0-d|0)|0}else{o=(c[b+36>>2]|0)==(e|0);b=vC(c[a+32>>2]|0,c[b+32>>2]|0,d,e)|0;b=o?b:0-b|0;break}o=c[a+32>>2]|0;n=c[b+32>>2]|0;if((o|0)==(n|0)){b=c[b+36>>2]|0;if((c[a+36>>2]|0)==(b|0)){b=0;break}}else b=c[b+36>>2]|0;m=(n|0)==(d|0);if((n|0)==(b|0)){if(m){b=1;break}if((n|0)==(e|0)){b=-1;break}if((o|0)!=(d|0)?(c[a+36>>2]|0)!=(d|0):0){b=1;break}if((o|0)!=(e|0)?(c[a+36>>2]|0)!=(e|0):0){b=-1;break}b=0;break}f=(b|0)==(e|0);if(m&f){b=(c[a+36>>2]|0)==(e|0);if((o|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}l=(b|0)==(d|0);if((n|0)==(e|0)&l){b=(o|0)==(e|0);if((c[a+36>>2]|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}if(!n){if(l){b=uC(o,c[a+36>>2]|0,d)|0;break}if(f){b=0-(uC(o,c[a+36>>2]|0,e)|0)|0;break}}f=c[a+36>>2]|0;if(m&(b|0)==0){b=uC(f,o,d)|0;break}else{b=0-(uC(f,o,e)|0)|0;break}}else b=0;while(0);return b|0}function tC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0;i=+h[a+24>>3];j=+h[b+24>>3];do if(i<j){a=c[a+36>>2]|0;if((a|0)==(d|0)?(c[b+32>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[b+32>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[b+32>>2]|0;g=(f|0)==(e|0);if(i==j)if(g){a=vC(c[a+36>>2]|0,c[b+36>>2]|0,d,e)|0;break}else{a=0-(vC(c[b+36>>2]|0,c[a+36>>2]|0,d,e)|0)|0;break}if(g?(c[b+36>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[b+36>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function uC(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function vC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function wC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(qC(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{KC(d,a,b);break}case -1:{KC(d,b,a);break}default:{}}b=b+1|0}}return}function xC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=ww(d<<2)|0;else a=yw(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function yC(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=bb[c[a>>2]&31](a,f,512)|0;if(!e){e=vw(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Ql(24712,c[4345]|0)|0;bb[c[a>>2]&31](a,e,1)|0}f=c[e+16>>2]|0;bb[c[f>>2]&31](f,b,1)|0;l=g;return}function zC(a,b,d){a=a|0;b=b|0;d=d|0;JC(c[b+32>>2]|0);_I(c[b+28>>2]|0);_I(b);return}function AC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(e<f)a=!(+h[b+8>>3]>=+h[c+8>>3])<<31>>31;else a=0;else a=!(+h[b+8>>3]<=+h[c+8>>3])&1;return a|0}function BC(a,b,d){a=a|0;b=b|0;d=d|0;Kl(c[b+16>>2]|0)|0;_I(b);return}function CC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f<e)<<31>>31)|0}function DC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;i=(a[d+36>>0]|0)!=0;j=e+40|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[j>>3];if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;break}else{g=+h[e+48>>3];f=(+h[e+56>>3]+f)*.5;break}}else if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;f=+h[e+56>>3];break}else{g=+h[e+64>>3];f=(+h[e+56>>3]+ +h[j>>3])*.5;break}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function EC(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function FC(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+64>>3]+ +h[b+48>>3])*.5;h[a>>3]=(+h[b+56>>3]+ +h[b+40>>3])*.5;h[a+8>>3]=c;return}function GC(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0;a[b>>0]=d;h[b+8>>3]=e;if(f<g){k=0;l=i;d=j;e=f;f=g}else{k=1;l=j;d=i;e=g}h[b+24>>3]=f;h[b+16>>3]=e;c[b+36>>2]=d;c[b+32>>2]=l;a[b+1>>0]=k;return}function HC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+36>>2]|0;do if((c[e+4>>2]|0)!=(d|0)){if((c[e+12>>2]|0)==(d|0)){e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+48>>3];break}if((c[e+8>>2]|0)==(d|0)){e=~~+h[b+40>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5);break}if((c[e>>2]|0)==(d|0)){e=~~+h[b+56>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5)}else{e=0;d=0}}else{e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+64>>3]}while(0);c[a>>2]=e;c[a+4>>2]=d;return}function IC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=vw(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=vw(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=fG()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function JC(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;Kl(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}_I(e);_I(a);return}function KC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;bb[c[d>>2]&31](d,f,1)|0;l=e;return}function LC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;bb[c[g>>2]&31](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;bb[c[d>>2]&31](d,f,2)|0;l=e;return}function MC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(bb[c[d>>2]&31](d,f,512)|0)!=0&1;l=e;return d|0}function NC(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;switch(b|0){case 0:break;case 1:{c[(c[a+4>>2]|0)+4>>2]=0;break}default:{e=OC(b)|0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=PC(a,d,b,e)|0;d=d+1|0}while(1){d=QC(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}RC(e)}}return}function OC(a){a=a|0;var b=0;b=vw(8)|0;c[b+4>>2]=vw(a<<2)|0;c[b>>2]=-1;return b|0}function PC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=Ol(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=PC(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;SC(e,b);return d+1|0}function QC(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function RC(a){a=a|0;_I(c[a+4>>2]|0);_I(a);return}function SC(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function TC(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function UC(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function VC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=vw(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=vw((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function WC(a){a=a|0;var b=0;b=vw(24)|0;c[b>>2]=0;c[b+16>>2]=vw(a*40|0)|0;return b|0}function XC(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function YC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;ZC(b,f);ZC(d,f);return a|0}function ZC(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function _C(a){a=a|0;var b=0;b=a+16|0;_I(c[(c[b>>2]|0)+28>>2]|0);_I(c[b>>2]|0);_I(c[a+20>>2]|0);_I(a);return}function $C(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}nG();a:do if(!(qG(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=sG()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=aD(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+h[k>>3]+ +(c[g>>2]|0));if((m|0)==-2147483648){c[l>>2]=n;if(qG(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;tG(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function aD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function bD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;Jr(g,3,b)|0;b=c[g+92>>2]|0;do if(b){d=c[b+16>>2]|0;h=c[d+12>>2]|0;c[a+76>>2]=h;e=c[d+16>>2]|0;c[a+84>>2]=e;f=a+80|0;c[f>>2]=c[d>>2];c[a+88>>2]=c[b+4>>2];d=a+152|0;e=c[d>>2]|c[e>>2];c[d>>2]=e;b=c[g+80>>2]|0;if(!b){c[a+60>>2]=0;b=999;break}else{g=c[b+16>>2]|0;c[a+60>>2]=c[g+12>>2];i=c[g+16>>2]|0;c[a+68>>2]=i;c[a+72>>2]=c[b+4>>2];c[d>>2]=e|c[i>>2];c[a+64>>2]=c[((h|0)==0?f:g)>>2];b=300;break}}else b=999;while(0);return b|0}function cD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(ir(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){gb[d&127](a);a=0}else a=0;else a=1;return a|0}function dD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)gb[d&127](a);c[(c[a>>2]|0)+24>>2]=0;qr(a);return}function eD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+504>>3];f=+h[b+512>>3];i=+h[b+352>>3];if(!(c[b+360>>2]|0)){g=+h[d>>3]+e;d=d+8|0;e=f}else g=-(f+ +h[d+8>>3]);f=+h[b+528>>3]*i*(+h[d>>3]+e);h[a>>3]=+h[b+520>>3]*i*g;h[a+8>>3]=f;return}function fD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=+h[a+520>>3]*i;i=+h[a+528>>3]*i;a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=(+h[b+(a<<4)>>3]+f)*j;h[d+(a<<4)+8>>3]=(+h[b+(a<<4)+8>>3]+g)*i;a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(+h[b+(a<<4)+8>>3]+g));h[d+(a<<4)+8>>3]=(+h[b+(a<<4)>>3]+f)*i;h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function gD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)gb[d&127](a);return}function hD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)gb[d&127](a);pr(a);return}function iD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)gb[d&127](a);return}function jD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)gb[d&127](a);return}function kD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;kb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function lD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)gb[d&127](a);return}function mD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)gb[d&127](a);return}function nD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)gb[d&127](a);return}function oD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)gb[d&127](a);return}function pD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)gb[d&127](a);return}function qD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)gb[d&127](a);return}function rD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)gb[d&127](a);return}function sD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)gb[d&127](a);return}function tD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)gb[d&127](a);return}function uD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)gb[d&127](a);return}function vD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)gb[d&127](a);return}function wD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)lb[h&7](a,b,d,e,f);return}function xD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)gb[d&127](a);return}function yD(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)hb[e&31](a,b);return}function zD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)gb[d&127](a);return}function AD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];eD(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];ib[g&127](b,f,e)}}while(0);l=k;return}function BD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=WJ(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(CD(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)hb[e&31](b,g);if(h)a[i>>0]=58;return}function CD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=RE(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(vM(e,f,c[a+20>>2]|0,4,37)|0)!=0:0))h=3;a:do if((h|0)==3){switch(SE(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{_l(1,95868,g)|0;break a}}a=ww((rJ(b)|0)+16|0)|0;c[i>>2]=b;pL(a,95833,i)|0;if(Dv(a)|0){c[j>>2]=b;_l(0,95842,j)|0}_I(a)}while(0);l=k;return}function DD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=WJ(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(CD(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)hb[e&31](b,g);if(h)a[i>>0]=58;return}function ED(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(CD(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)hb[f&31](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function FD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(xJ(b,95889)|0)){c[j>>2]=3;b=f;continue b}if(!(xJ(b,95910)|0)){e=115;while(1){d=b+1|0;if(!(e<<24>>24))break;b=d;e=a[d>>0]|0}h[i>>3]=+sM(d);b=f;continue b}break}case 100:{if(!(xJ(b,122119)|0)){c[j>>2]=1;b=f;continue b}if(!(xJ(b,122112)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(xJ(b,119127)|0?xJ(b,95895)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(xJ(b,95905)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(xJ(b,95923)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(xJ(b,95930)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(xJ(b,95939)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;_l(0,95947,k)|0;b=f}}while(0);l=m;return}function GD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[d>>3]+ +h[b>>3])*.5;h[g+8>>3]=(+h[b+24>>3]+ +h[b+8>>3])*.5;b=g+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[a+152>>2]&8192)){fD(a,g,g,2)|0;f=c[i>>2]|0}ib[f&127](a,g,e)}l=j;return}function HD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,j=c[k>>2]|0,c[j+144>>2]|0):0){if(!(e&4)){f=e;g=0}else{f=e&-5;e=j+16|0;g=m;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=e;h=j+56|0;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=1}if(!(c[a+152>>2]&8192)){e=d+10|0;if((c[42406]|0)<(d|0)){c[42406]=e;e=yw(c[42407]|0,e<<4)|0;c[42407]=e}else e=c[42407]|0;fD(a,b,e,d)|0;kb[c[n>>2]&31](a,e,d,f)}else kb[c[n>>2]&31](a,b,d,f);if(g|0){g=(c[k>>2]|0)+16|0;h=m;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0))}}l=o;return}function ID(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];g=f+32|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[f+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];HD(a,f,4,d);l=e;return}function JD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=c[a+60>>2]|0;do if((i|0?(j=i+104|0,h=c[j>>2]|0,h|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){mb[h&15](a,b,d,e,f,g&255);break}h=d+10|0;if((c[42406]|0)<(d|0)){c[42406]=h;h=yw(c[42407]|0,h<<4)|0;c[42407]=h}else h=c[42407]|0;fD(a,b,h,d)|0;mb[c[j>>2]&15](a,h,d,e,f,g&255)}while(0);return}function KD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){ib[f&127](a,b,d);break}e=d+10|0;if((c[42406]|0)<(d|0)){c[42406]=e;e=yw(c[42407]|0,e<<4)|0;c[42407]=e}else e=c[42407]|0;fD(a,b,e,d)|0;ib[c[g>>2]&127](a,e,d)}while(0);return}function LD(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)hb[f&31](b,d);return}function MD(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+112|0;B=F+64|0;E=F;n=F+96|0;x=F+48|0;y=F+32|0;C=c[b+60>>2]|0;if(!b)ma(96061,96e3,691,96011);if(!d)ma(96030,96e3,692,96011);if(!(a[d>>0]|0))ma(96035,96e3,693,96011);D=Lr(d)|0;if(!D){if((C|0)!=0&(Py(d)|0)!=0?(m=c[C+116>>2]|0,m|0):0)lb[m&7](b,d,e,f,g&255)}else{s=b+432|0;c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];Or(n,D,B);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=E+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[E>>2]=c[e>>2];c[E+4>>2]=c[e+4>>2];c[E+8>>2]=c[e+8>>2];c[E+12>>2]=c[e+12>>2];z=E+8|0;A=E+24|0;d=1;while(1){if((d|0)>=(f|0))break;G=e+(d<<4)|0;v=+h[G>>3];h[E>>3]=+h[(+h[E>>3]<v?E:G)>>3];w=+h[e+(d<<4)+8>>3];h[z>>3]=+h[(+h[z>>3]<w?E:G)+8>>3];h[n>>3]=+h[(+h[n>>3]>v?n:G)>>3];h[A>>3]=+h[(+h[A>>3]>w?n:G)+8>>3];d=d+1|0}k=+h[n>>3];j=+h[E>>3];t=k-j;u=+h[A>>3];v=+h[z>>3];w=u-v;o=+(m|0);p=+(s|0);q=t/p;r=w/o;a:do switch(ND(i)|0){case 1:if(q<r){p=q*p;o=q*o;break a}else{p=r*p;o=r*o;break a}case 2:{p=q*p;break}case 3:{o=r*o;break}case 4:{p=q*p;o=r*o;break}default:{}}while(0);if(p<t){t=(t-p)*.5;j=j+t;h[E>>3]=j;k=k-t;h[n>>3]=k}if(o<w){w=(w-o)*.5;h[z>>3]=v+w;h[A>>3]=u-w}if(!(c[b+152>>2]&8192)){c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];eD(x,b,B);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2];c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];eD(y,b,B);c[n>>2]=c[y>>2];c[n+4>>2]=c[y+4>>2];c[n+8>>2]=c[y+8>>2];c[n+12>>2]=c[y+12>>2];k=+h[n>>3];j=+h[E>>3]}if(j>k){h[E>>3]=k;h[n>>3]=j}j=+h[z>>3];k=+h[A>>3];if(j>k){h[z>>3]=k;h[A>>3]=j}if(C|0){G=c[b+72>>2]|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];c[B+16>>2]=c[E+16>>2];c[B+20>>2]=c[E+20>>2];c[B+24>>2]=c[E+24>>2];c[B+28>>2]=c[E+28>>2];PD(b,D,B,g,G)}}}l=F;return}function ND(b){b=b|0;if(a[b>>0]|0)if(iK(b,96043)|0)if(iK(b,96049)|0)if(!(iK(b,96056)|0))b=4;else b=(IA(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function OD(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return}function PD(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+176|0;k=n+8|0;j=n;h=n+40|0;if(!b)ma(96061,96065,52,96079);if(!d)ma(96091,96065,53,96079);i=c[d+8>>2]|0;if(!i)ma(96094,96065,54,96079);if(!(a[i>>0]|0))ma(96103,96065,55,96079);xK(h,c[d+28>>2]|0)|0;i=h+(rJ(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;IL(h,g)|0;if((QD(b,h)|0)==999){c[j>>2]=h;_l(0,96115,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|0):0){c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];kb[m&31](b,d,k,f)}l=n;return}function QD(a,b){a=a|0;b=b|0;b=Jr(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function RD(a){a=a|0;return 1}function SD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function TD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function UD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function VD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function WD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function XD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*.9090909090909091;a[b+537>>0]=1;return 0}function YD(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)<g/+(e|0);h[b+352>>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function ZD(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;nE(b,d)}gu(b,d);a[b+540>>0]=1;return}function _D(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;switch(d|0){case 1:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];gE(b,f);mE(b);a[b+538>>0]=1;a[b+541>>0]=1;j=13;break}case 2:{a[b+538>>0]=1;a[b+541>>0]=2;j=13;break}case 3:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];gE(b,f);a[b+538>>0]=1;a[b+541>>0]=3;j=13;break}case 4:{a[b+536>>0]=0;if(!(c[b+360>>2]|0)){f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i)+ +h[d>>3];g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;d=b+528|0}else{f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=+h[d>>3]-(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i);g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;d=b+520|0}j=b+344|0;h[j>>3]=g*.10000000000000009/(+h[d>>3]*i)+ +h[j>>3];h[f>>3]=i*1.1;j=13;break}case 5:{a[b+536>>0]=0;j=b+352|0;i=+h[j>>3]*.9090909090909091;h[j>>3]=i;if(!(c[b+360>>2]|0)){f=b+336|0;h[f>>3]=+h[f>>3]-(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i);g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;f=b+528|0}else{f=b+336|0;h[f>>3]=(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i)+ +h[f>>3];g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;f=b+520|0}j=b+344|0;h[j>>3]=+h[j>>3]-g*.10000000000000009/(+h[f>>3]*i);j=13;break}default:{}}if((j|0)==13)a[b+537>>0]=1;b=b+560|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];l=k;return}function $D(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function aE(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0;k=l;l=l+16|0;e=k;i=b+560|0;j=(+h[d>>3]-+h[i>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+B(+j)<.0001&+B(+g)<.0001)){switch(a[b+541>>0]|0){case 0:{c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];gE(b,e);break}case 2:{f=+h[b+352>>3];if(!(c[b+360>>2]|0)){e=b+336|0;h[e>>3]=+h[e>>3]-j/f;e=b+344|0;h[e>>3]=+h[e>>3]-g/f}else{e=b+336|0;h[e>>3]=+h[e>>3]-g/f;e=b+344|0;h[e>>3]=+h[e>>3]+j/f}a[b+537>>0]=1;break}default:{}}c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2]}l=k;return}function bE(a,b,c){a=a|0;b=b|0;c=c|0;return}function cE(a){a=a|0;return}function dE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=aM(d,123632)|0;if(d|0){i=er(d,0)|0;LL(d)|0;f=5}}else{i=er(c[13853]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){gb[h&127](d);d=c[g>>2]|0}iw(d);ln(c[g>>2]|0)|0}So(i,0,122277,280,1);So(i,1,122241,304,1);So(i,2,122254,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((ls(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function eE(a,b){a=a|0;b=b|0;a=c[a>>2]|0;ls(a,c[a+168>>2]|0,b)|0;return}function fE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}ns(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function gE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];hE(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=i+k;h[g+24>>3]=i+j;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=iE(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){jE(b);c[e>>2]=d;kE(b);a[b+537>>0]=1}l=f;return}function hE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0;if(!(c[b+360>>2]|0)){e=+h[b+352>>3];f=+h[d+8>>3];g=e;i=b+528|0;e=+h[d>>3]/(+h[b+520>>3]*e)-+h[b+504>>3]}else{e=+h[b+352>>3];f=-+h[d>>3];g=e;i=b+520|0;e=+h[d+8>>3]/(+h[b+528>>3]*e)-+h[b+504>>3]}g=f/(+h[i>>3]*g)-+h[b+512>>3];h[a>>3]=e;h[a+8>>3]=g;return}function iE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=co(a)|0;a:while(1){if(!e){e=9;break}d=Pm(a,e)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((DB(d,f)|0)<<24>>24){e=6;break a}d=Rm(a,d)|0}e=eo(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=fo(a)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((AB(d,f)|0)<<24>>24){e=12;break}d=go(a,d)|0}if((e|0)==12)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];d=lE(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function jE(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(Co(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function kE(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){_I(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(Co(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=ym(d,0,96229,0)|0;if(!b)break a;c[e>>2]=qw(Jm(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=ym(ro(d)|0,1,96229,0)|0;if(!b)break a;c[e>>2]=qw(Jm(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=ym(ro(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,96229,0)|0;if(!b)break a;c[e>>2]=qw(Jm(d,b)|0,d)|0;break a}default:break a}while(0);return}function lE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];f=lE(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function mE(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(Co(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){_I(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(Co(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;nE(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;oE(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;pE(b,d);break b}default:break b}while(0);return}function nE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((so(b)|0)==(b|0))if(!(qn(b)|0)){Er(d,0,96286);break}else{Er(d,0,96278);break}else Er(d,0,96292);while(0);Er(d,1,Dn(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=Dm(b,0,d)|0;if(!d)break;Er(f,e,c[d+8>>2]|0);Er(f,e+1|0,Jm(b,d)|0);Er(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=ym(b,0,96264,0)|0;if(!d){d=ym(b,0,96269,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=qw(Jm(b,d)|0,b)|0;return}function oE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;Er(f,0,96273);Er(f,1,Dn(b)|0);c[a+596>>2]=2;f=a+604|0;g=so(ro(b)|0)|0;e=2;d=0;while(1){d=Dm(g,1,d)|0;if(!d)break;Er(f,e,c[d+8>>2]|0);Er(f,e|1,Jm(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=ym(ro(b)|0,1,96264,0)|0;if(!d){d=ym(ro(b)|0,1,96269,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=qw(Jm(b,d)|0,b)|0;return}function pE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+592|0;Er(h,0,96237);k=b+48|0;Er(h,1,Dn(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(qn(ro(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;Er(h,3,k?122546:122549);k=b+-48|0;Er(h,4,Dn(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=so(ro(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=Dm(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(xJ(f,96242)|0)){l=5;break}if(!(xJ(f,96251)|0)){l=7;break}if(xJ(f,96260)|0)break;Er(h,6,Jm(b,d)|0)}if((l|0)==5){l=0;Er(h,2,Jm(b,d)|0)}else if((l|0)==7){l=0;Er(h,5,Jm(b,d)|0)}Er(i,g,c[e>>2]|0);Er(i,g+1|0,Jm(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=ym(ro(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,96264,0)|0;if(!d){d=ym(ro(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,96269,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=qw(Jm(b,d)|0,b)|0;return}function qE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=rE(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;Hr(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function rE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=ww(12)|0;if(!b)b=0;else b=GL(b)|0;c[e+4>>2]=b;c[e+8>>2]=GL(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function sE(b,c){b=b|0;c=c|0;tE(b);a[b+44>>0]=0;uE(b)|0;tA(b)|0;return}function tE(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?hL(e,96301)|0:0)qE(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function uE(a){a=a|0;var b=0;b=Jr(a,2,96314)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function vE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=ab[e&63](b,d)|0;else a=0;return a|0}function wE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function xE(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (yE(~~(d>b?d:b)>>>0)|0)+1|0}function yE(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{c=a>>>0>65535;a=c?a>>>16:a;c=c?16:0;b=a>>>0>255;a=b?a>>>8:a;c=b?c|8:c;b=a>>>0>15;a=b?a>>>4:a;c=b?c|4:c;b=a>>>0>3;a=(b?c|2:c)+((b?a>>>2:a)>>>0>1&1)|0}return a|0}function zE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=AE(b,d,e,f,g)|0;e=BE(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){CE(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}DE(p)}l=r;return e|0}function AE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=vw(28)|0;j=Ql(24896,c[4348]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=jH()|0;c[g+24>>2]=j;if(!j){XL(96532,14,1,c[13918]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{XL(96532,14,1,c[13918]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)Kl(a)|0;a=c[g+24>>2]|0;if(a|0)lH(a)|0;_I(g);g=0}return g|0}function BE(a){a=a|0;var b=0;b=ME(a)|0;if((b|0)>=0){NE(a);OE(a);b=Kl(c[a+20>>2]|0)|0}return b|0}function CE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;M=l;l=l+464|0;J=M+416|0;L=M+400|0;G=M+384|0;m=M+352|0;n=M+320|0;o=M+288|0;p=M+256|0;r=M+224|0;s=M+192|0;t=M+160|0;u=M+128|0;v=M+96|0;x=M+64|0;y=M+32|0;H=M;z=c[d+32>>2]|0;e=+h[z>>3];C=d+16|0;A=(e*2.0+ +h[C>>3])*.125;D=z+8|0;I=d+24|0;i=+h[I>>3];K=(+h[D>>3]*2.0+i)*.5;if(!z)ma(96325,96335,445,96345);f=J;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));B=z+16|0;h[B>>3]=+h[d>>3]-e;E=d+8|0;F=z+24|0;h[F>>3]=i+ +h[E>>3];EE(m,b,d,J);j=c[m>>2]|0;f=c[m+4>>2]|0;e=+h[m+8>>3];m=m+16|0;c[L>>2]=c[m>>2];c[L+4>>2]=c[m+4>>2];c[L+8>>2]=c[m+8>>2];c[L+12>>2]=c[m+12>>2];a:do if(!j){c[a>>2]=0;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}else{h[F>>3]=+h[E>>3];EE(n,b,d,J);g=c[n>>2]|0;m=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[G>>2]=c[n>>2];c[G+4>>2]=c[n+4>>2];c[G+8>>2]=c[n+8>>2];c[G+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=m;e=i}else g=j;h[F>>3]=+h[E>>3]-+h[D>>3];EE(o,b,d,J);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|0;c[G>>2]=c[o>>2];c[G+4>>2]=c[o+4>>2];c[G+8>>2]=c[o+8>>2];c[G+12>>2]=c[o+12>>2];if(!m){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else m=g;h[B>>3]=+h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];EE(p,b,d,J);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];EE(r,b,d,J);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[B>>3]=+h[C>>3]+ +h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];EE(s,b,d,J);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|0;c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3];EE(t,b,d,J);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+16|0;c[G>>2]=c[t>>2];c[G+4>>2]=c[t+4>>2];c[G+8>>2]=c[t+8>>2];c[G+12>>2]=c[t+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];EE(u,b,d,J);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else g=m;j=(c[J+28>>2]|0)==0;do if(!(c[J+24>>2]|0))if(j){if(c[J+32>>2]|0){w=38;break}if(!((c[J+12>>2]|0)==0&(c[J>>2]|0)==0))w=38}else w=46;else if(j)w=38;else w=46;while(0);b:do if((w|0)==38)if(!(c[J+32>>2]|0)){h[B>>3]=+h[d>>3]-+h[z>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=F;j=E;i=+h[I>>3];c:while(1){while(1){h[m>>3]=+h[j>>3]+i;if(!(+h[B>>3]<=+h[C>>3]+ +h[d>>3])){w=46;break b}EE(v,b,d,J);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break c;if(k<e)break;else{m=B;j=B;i=A}}c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}else w=46;while(0);d:do if((w|0)==46)if((c[J+12>>2]|0)==0&(c[J>>2]|0)==0){h[B>>3]=+h[d>>3]-+h[z>>3];k=+h[E>>3];n=x+4|0;o=x+8|0;p=x+16|0;i=k;k=+h[I>>3]+k;while(1){h[F>>3]=k;if(!(k>=i-+h[D>>3]))break d;EE(x,b,d,J);j=c[x>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}i=+h[E>>3];k=+h[F>>3]-K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);i=+h[d>>3];k=+h[C>>3]+i;h[B>>3]=k;q=+h[D>>3];h[F>>3]=+h[E>>3]-q;j=c[J+4>>2]|0;do if(!(c[J+8>>2]|0)){m=c[J>>2]|0;if(!((j|0)==0&(m|0)==0)){w=59;break}if(c[J+20>>2]|0){j=0;m=0;w=59;break}if(c[J+32>>2]|0){j=0;m=0;w=59}}else{m=c[J>>2]|0;w=59}while(0);e:do if((w|0)==59){f:do if((j|0)==0&(m|0)==0){h[B>>3]=k;p=y+4|0;r=y+8|0;s=y+16|0;m=F;j=E;i=q;g:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[B>>3]>=i-+h[z>>3]))break f;EE(y,b,d,J);n=c[y>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break g;if(k<e)break;else{m=B;j=B;i=A}}c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);if(c[J+20>>2]|0)break;if(c[J+32>>2]|0)break;h[B>>3]=+h[C>>3]+i;i=+h[E>>3];n=H+4|0;o=H+8|0;p=H+16|0;k=i;i=i-+h[D>>3];while(1){h[F>>3]=i;if(!(i<=+h[I>>3]+k))break e;EE(H,b,d,J);j=c[H>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}k=+h[E>>3];i=+h[F>>3]+K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}while(0);l=M;return}function DE(a){a=a|0;lH(c[a+24>>2]|0)|0;_I(a);return}function EE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)ma(96325,96335,382,96354);o=g+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=g+((FE(e,k)|0)!=0&1)|0}while(0);m=m+1|0}GE(e,q);m=c[d+24>>2]|0;m=nH(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){HE(j,s);n=+IE(q,s);if(n>0.0){g=g+1|0;i=+JE(e,j,q,n,f)+i}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(GE(j,s),r=+IE(q,s),r>0.0):0){g=g+1|0;i=+KE(e,j,q,r,f)+i}}k=c[k>>2]|0}iH(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}l=t;return}function FE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if((((a|0)!=0?(d=+h[b>>3],e=+h[a+16>>3],d>e):0)?d<+h[a>>3]+e:0)?(f=+h[b+8>>3],g=+h[a+24>>3],f>g):0)a=f<+h[a+8>>3]+g&1;else a=0;return a|0}ma(96391,96335,219,96428);return 0}function GE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a>>3]+e);c[b+12>>2]=~~(+h[a+8>>3]+d);return}function HE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a+16>>3]+e);c[b+12>>2]=~~(+h[a+24>>3]+d);return}function IE(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0))*(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0));else d=0.0;return +d}function JE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=LE(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{HE(a,i);g=+IE(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(GE(a,i),h=+IE(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function KE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=LE(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{HE(a,i);g=+IE(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(GE(a,i),h=+IE(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function LE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))ma(96370,96335,276,96380);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){j=+h[b>>3];if(j==0.0?+h[b+8>>3]==0.0:0){e=-1;break}k=+h[d>>3];i=+h[d+8>>3];if(!(k==0.0&i==0.0)){g=+h[b+8>>3];if(i<g){if(k<j){e=0;break}e=k>j?2:1;break}e=k<j;if(i>g){if(e){e=6;break}e=k>j?8:7;break}if(!e)if(k>j)e=5;else e=-1;else e=3}else e=-1}else e=-1;while(0);return e|0}function ME(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=xE(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=vw(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;PE(f,o);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=QE(d,g)|0;n=c[j>>2]|0;if(!(bb[c[n>>2]&31](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function NE(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;oH(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=bb[c[e>>2]&31](e,a,8)|0}return}function OE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Sl(c[e>>2]|0)|0;d=0;while(1){if(!(Sl(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}bb[c[g>>2]&31](g,a,4096)|0;_I(a);d=d+1|0}if((h|0)==8)ma(96441,96335,616,96444);if((f|0)==(d|0))return;else ma(96456,96335,623,96444)}function PE(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+A(+(l-e));g=+h[b+8>>3];j=~~+A(+(g-f));i=~~+N(+(l+e+ +h[b+16>>3]));if((i|0)==2147483647)ma(96468,96335,264,96495);d=~~+N(+(g+f+ +h[b+24>>3]));if((d|0)==2147483647)ma(96505,96335,266,96495);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function QE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function RE(b){b=b|0;var d=0,e=0,f=0,g=0;d=rJ(b)|0;if(d>>>0>=(c[42408]|0)>>>0){d=d+11|0;c[42408]=d;d=yw(c[42409]|0,d)|0;c[42409]=d;if(!d)d=0;else e=4}else{d=c[42409]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(kK(f)|0)e=(jK(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function SE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;F=l;l=l+144|0;s=F+96|0;p=F+80|0;v=F+124|0;t=F+72|0;w=F+64|0;x=F+56|0;C=F+48|0;D=F+40|0;E=F+32|0;y=F+24|0;z=F+16|0;A=F+8|0;B=F;i=F+120|0;m=F+116|0;n=F+112|0;o=F+108|0;c[e+32>>2]=f;r=b;while(1)if((a[r>>0]|0)==32)r=r+1|0;else break;c[o>>2]=255;b=a[r>>0]|0;a:do if(b<<24>>24==35){c[p>>2]=i;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;if((cM(r,96547,p)|0)<=2){b=a[r>>0]|0;q=12;break}switch(f|0){case 0:{G=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=G;g=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=g;j=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=j;k=+((c[o>>2]|0)>>>0)*.00392156862745098;TE(G,g,j,t,w,x);h[e>>3]=+h[t>>3];h[e+8>>3]=+h[w>>3];h[e+16>>3]=+h[x>>3];h[e+24>>3]=k;b=0;break a}case 1:{a[e>>0]=c[i>>2];a[e+1>>0]=c[m>>2];a[e+2>>0]=c[n>>2];a[e+3>>0]=c[o>>2];b=0;break a}case 3:{j=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=j;k=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=k;G=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=G;UE(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[i>>2]|0)*65535|0)>>>0)/255|0;c[e+4>>2]=(((c[m>>2]|0)*65535|0)>>>0)/255|0;c[e+8>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[e+12>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[i>>2]|0)>>>0)*.00392156862745098;h[e+8>>3]=+((c[m>>2]|0)>>>0)*.00392156862745098;h[e+16>>3]=+((c[n>>2]|0)>>>0)*.00392156862745098;h[e+24>>3]=+((c[o>>2]|0)>>>0)*.00392156862745098;b=0;break a}default:{b=0;break a}}}else q=12;while(0);b:do if((q|0)==12){if(!(b<<24>>24!=46?((b&255)+-48|0)>>>0>=10:0)){b=rJ(r)|0;if(b>>>0>=(c[42410]|0)>>>0){b=b+11|0;c[42410]=b;b=yw(c[42411]|0,b)|0;c[42411]=b;if(!b){b=-1;break}}else b=c[42411]|0;m=b;i=r;c:while(1){n=i+1|0;i=a[i>>0]|0;switch(i<<24>>24){case 0:break c;case 44:{i=32;break}default:{}}a[m>>0]=i;m=m+1|0;i=n}a[m>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((cM(b,96561,s)|0)==3){k=+h[t>>3];k=k<1.0?k:1.0;k=k>0.0?k:0.0;h[t>>3]=k;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;g=+h[x>>3];g=g<1.0?g:1.0;g=g>0.0?g:0.0;h[x>>3]=g;switch(f|0){case 0:{h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=g;h[e+24>>3]=1.0;b=0;break b}case 1:{VE(k,j,g,C,D,E);a[e>>0]=~~(+h[C>>3]*255.0);a[e+1>>0]=~~(+h[D>>3]*255.0);a[e+2>>0]=~~(+h[E>>3]*255.0);a[e+3>>0]=-1;b=0;break b}case 3:{VE(k,j,g,C,D,E);UE(+h[C>>3],+h[D>>3],+h[E>>3],y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{VE(k,j,g,C,D,E);c[e>>2]=~~(+h[C>>3]*65535.0);c[e+4>>2]=~~(+h[D>>3]*65535.0);c[e+8>>2]=~~(+h[E>>3]*65535.0);c[e+12>>2]=65535;b=0;break b}case 4:{VE(k,j,g,C,D,E);h[e>>3]=+h[C>>3];h[e+8>>3]=+h[D>>3];h[e+16>>3]=+h[E>>3];h[e+24>>3]=1.0;b=0;break b}default:{b=0;break b}}}}i=WE(r)|0;c[v>>2]=i;if(!i)b=-1;else{b=c[42412]|0;if(!(((b|0)!=0?(u=c[b>>2]|0,(a[u>>0]|0)==(a[i>>0]|0)):0)?(xJ(u,i)|0)==0:0)){b=vM(v,24932,2491,12,38)|0;c[42412]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}case 1:{a[e+2>>0]=0;a[e+1>>0]=0;a[e>>0]=0;a[e+3>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[e+8>>2]=0;c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}default:{b=1;break b}}}switch(f|0){case 0:{h[e>>3]=+(d[b+4>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+5>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+6>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}case 1:{a[e>>0]=a[b+7>>0]|0;a[e+1>>0]=a[b+8>>0]|0;a[e+2>>0]=a[b+9>>0]|0;a[e+3>>0]=a[b+10>>0]|0;b=0;break b}case 3:{j=+(d[b+7>>0]|0)*.00392156862745098;h[C>>3]=j;k=+(d[b+8>>0]|0)*.00392156862745098;h[D>>3]=k;G=+(d[b+9>>0]|0)*.00392156862745098;h[E>>3]=G;UE(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b+7>>0]|0)*257;c[e+4>>2]=(d[b+8>>0]|0)*257;c[e+8>>2]=(d[b+9>>0]|0)*257;c[e+12>>2]=(d[b+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b+7>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+8>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+9>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}default:{b=0;break b}}}}while(0);l=F;return b|0}function TE(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;i=b<c?b:c;m=b>c?b:c;m=m<a?a:m;i=m-(i>a?a:i);g=i/m;if(m>0.0)if(g>0.0){j=(m-a)/i;k=(m-b)/i;l=(m-c)/i;do if(!(m==a)){if(m==b){a=j+2.0-l;break}if(m==c)a=k+4.0-j;else a=0.0}else a=(b-c)/i;while(0);a=a*60.0;if(a<0.0)a=a+360.0}else a=0.0;else{g=0.0;a=0.0}h[d>>3]=a*.002777777777777778;h[f>>3]=m;h[e>>3]=g;return}function UE(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b<c?b:c;h[g>>3]=c;b=+h[f>>3];c=b<c?b:c;h[g>>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function VE(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function WE(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(VJ(e,122058,4)|0)==0)):0)?!(d<<24>>24==108|(VJ(e,122063,4)|0)==0):0)?(VJ(e,122068,8)|0)!=0:0){do if(d<<24>>24==47){d=WJ(e,47)|0;if(!d)b=e;else{if((a[e>>0]|0)!=47){e=(pK(122077,e,4)|0)==0;b=e?d+1|0:b;break}d=c[42413]|0;if((d|0?a[d>>0]|0:0)?pK(122077,d,3)|0:0){b=YE(d,b+2|0)|0;break}b=b+2|0}}else{d=c[42413]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(pK(122077,d,3)|0)!=0:0)b=YE(d,b)|0}while(0);b=RE(b)|0}return b|0}function XE(a,b){a=a|0;b=b|0;return iK(c[a>>2]|0,c[b>>2]|0)|0}function YE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=rJ(a)|0;g=(rJ(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[42414]|0)>>>0)d=c[42415]|0;else{c[42414]=d;d=yw(c[42415]|0,d)|0;c[42415]=d}c[e>>2]=a;c[e+4>>2]=b;pL(d,122082,e)|0;l=f;return c[42415]|0}function ZE(a){a=a|0;c[42413]=a;return}function _E(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;$E(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=aF(g)|0;l=f;return a|0}function $E(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+K(+(+F(+f)/e),+(+E(+f)/d));h[a+56>>3]=c;e=+K(+(+F(+g)/e),+(+E(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+A(+((e-c)*.15915494309189535))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;gF(a);hF(a);iF(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=(2.0-g)*g;g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function aF(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=vw(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=c+o;b=+bF(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}i=+E(+f);u=+F(+f);d=a+16|0;s=+h[d>>3];v=s*i;j=a+24|0;c=+h[j>>3];g=c*u;i=c*i;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;r=+h[l>>3];e=t*v+c-r*g;m=a+8|0;n=+h[m>>3];g=r*v+t*g+n;s=-(u*s);cF(q,c,n);dF(q,e,g);n=+G(+(o*.5));n=+F(+o)*.3333333333333333*(+C(+(n*n*3.0+4.0))+-1.0);c=f;f=g;g=r*s+t*i;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=c+o;u=+E(+r);v=+F(+r);x=+h[d>>3];z=x*u;w=+h[j>>3];t=w*v;u=w*u;w=+h[k>>3];y=+h[l>>3];s=w*z+ +h[a>>3]-y*t;t=y*z+w*t+ +h[m>>3];x=-(v*x);v=w*x-y*u;u=y*x+w*u;eF(q,e+i*n,f+g*n,s-v*n,t-u*n,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}fF(q);return q|0}function bF(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;d=c+b;i=+h[a+16>>3];e=+h[a+24>>3]/i;g=+E(+d);f=+E(+(d*2.0));d=+E(+(d*3.0));a=e<.25?10328:10584;return +(((e*.001+4.98)*e+.207)/(e+.0067)*i*+L(+(((+h[a+32>>3]*e+ +h[a+40>>3])*e+ +h[a+48>>3])/(+h[a+56>>3]+e)*g+((+h[a>>3]*e+ +h[a+8>>3])*e+ +h[a+16>>3])/(+h[a+24>>3]+e)+((+h[a+64>>3]*e+ +h[a+72>>3])*e+ +h[a+80>>3])/(+h[a+88>>3]+e)*f+((+h[a+96>>3]*e+ +h[a+104>>3])*e+ +h[a+112>>3])/(+h[a+120>>3]+e)*d+(((+h[a+160>>3]*e+ +h[a+168>>3])*e+ +h[a+176>>3])/(+h[a+184>>3]+e)*g+((+h[a+128>>3]*e+ +h[a+136>>3])*e+ +h[a+144>>3])/(+h[a+152>>3]+e)+((+h[a+192>>3]*e+ +h[a+200>>3])*e+ +h[a+208>>3])/(+h[a+216>>3]+e)*f+((+h[a+224>>3]*e+ +h[a+232>>3])*e+ +h[a+240>>3])/(+h[a+248>>3]+e)*d)*(c-b))))}function cF(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[42416]=100;e=vw(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function dF(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;eF(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function eF(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[42416]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[42416]=k<<1;j=aJ(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function fF(a){a=a|0;var b=0;b=c[a>>2]|0;dF(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=aJ(c[a>>2]|0,c[a+4>>2]<<4)|0;c[42416]=0;return}function gF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;d=+h[a+16>>3];b=+h[a+24>>3];b=+C(+(d*d-b*b));d=b*+h[a+40>>3];b=b*+h[a+48>>3];e=+h[a>>3];h[a+104>>3]=e-d;c=+h[a+8>>3];h[a+112>>3]=c-b;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function hF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];i=+h[a+56>>3];j=+E(+i)*d;b=+h[a+24>>3];i=+F(+i)*b;g=+h[a+64>>3];d=+E(+g)*d;b=+F(+g)*b;g=+h[a>>3];c=+h[a+40>>3];e=+h[a+48>>3];h[a+72>>3]=c*j+g-e*i;f=+h[a+8>>3];h[a+80>>3]=e*j+f+c*i;h[a+88>>3]=g+c*d-e*b;h[a+96>>3]=f+e*d+c*b;return}function iF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;k=+h[a+24>>3];l=+h[a+16>>3];e=k/l;m=+h[a+48>>3];n=+B(+m)<.1;j=+h[a+40>>3];do if(n){b=m/j;c=+J(+(b*e));d=-c;if(j<0.0){b=+J(+(b/e));e=d;d=3.141592653589793-c;c=4.71238898038469-b;b=1.5707963267948966-b;break}else{b=+J(+(b/e));e=-3.141592653589793-c;c=1.5707963267948966-b;b=-1.5707963267948966-b;break}}else{b=j/m;c=+J(+(b/e));d=c+1.5707963267948966;if(m<0.0){b=+J(+(b*e));e=c+-1.5707963267948966;c=b+3.141592653589793;break}else{b=+J(+(b*e));e=d;d=c+4.71238898038469;c=b;b=b+-3.141592653589793;break}}while(0);g=+h[a+56>>3];e=e-+A(+((e-g)*.15915494309189535))*6.283185307179586;b=b-+A(+((b-g)*.15915494309189535))*6.283185307179586;f=d-+A(+((d-g)*.15915494309189535))*6.283185307179586;g=c-+A(+((c-g)*.15915494309189535))*6.283185307179586;i=+h[a+64>>3];if(!(e<=i)){e=+h[a+72>>3];c=+h[a+88>>3];c=e<c?e:c}else c=+E(+e)*l*j+ +h[a>>3]-k*+F(+e)*m;h[a+136>>3]=c;if(!(b<=i)){e=+h[a+80>>3];d=+h[a+96>>3];d=e<d?e:d}else d=+E(+b)*l*m+ +h[a+8>>3]+ +F(+b)*k*j;h[a+144>>3]=d;if(!(f<=i)){f=+h[a+72>>3];b=+h[a+88>>3];b=f>b?f:b}else b=+E(+f)*l*j+ +h[a>>3]-k*+F(+f)*m;h[a+152>>3]=b-c;if(!(g<=i)){m=+h[a+80>>3];b=+h[a+96>>3];b=m>b?m:b}else b=+E(+g)*l*m+ +h[a+8>>3]+ +F(+g)*k*j;h[a+160>>3]=b-d;return}function jF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;kF(b);k=+h[e+56>>3];g=+h[e+64>>3];switch(a[e+80>>0]|0){case 116:{g=(+h[e+48>>3]-+lF(d))*.5+g;f=4;break}case 98:{g=g-(+h[e+48>>3]-+lF(d))*.5;f=4;break}default:{}}if((f|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;f=Im(c[(c[j>>2]|0)+8>>2]|0,122089)|0;e=m+56|0;c[e>>2]=f;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))c[e>>2]=122100;if((a[d+4>>0]|0)==1){e=c[d>>2]|0;FD(b,c[(c[b>>2]|0)+336>>2]|0);f=c[e+24>>2]|0;if(!f)BD(b,122106);else BD(b,f);nF(b,e,m);if(a[j>>0]|0)_I(c[i>>2]|0)}else mF(b,c[d>>2]|0,m);oF(b);l=n;return}function kF(a){a=a|0;var d=0,e=0,f=0;d=Vt(a)|0;e=c[d>>2]|0;a=c[e+4>>2]|0;c[d+4>>2]=a;c[d+12>>2]=c[e+12>>2];switch(a|0){case 2:{a=e+8|0;f=6;break}case 0:{a=e+8|0;f=6;break}case 1:{a=e+8|0;f=6;break}case 3:{a=e+8|0;f=6;break}default:{}}if((f|0)==6)c[d+8>>2]=c[a>>2];c[d+208>>2]=c[e+208>>2];c[d+228>>2]=c[e+228>>2];c[d+244>>2]=c[e+244>>2];f=d+260|0;b[f>>1]=b[f>>1]&-2|b[e+260>>1]&1;return}function lF(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function mF(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=(o+p)*.5+ +h[f>>3];h[k+8>>3]=(+h[e+16>>3]+ +h[e+32>>3])*.5+ +h[f+8>>3];q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];AF(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function nF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;t=y+96|0;v=y+64|0;w=y+136|0;p=y;q=y+128|0;r=f+48|0;c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[v+16>>2]=c[r+16>>2];c[v+20>>2]=c[r+20>>2];c[v+24>>2]=c[r+24>>2];c[v+28>>2]=c[r+28>>2];m=+h[g>>3];n=+h[g+8>>3];r=f+84|0;i=c[r>>2]|0;if(!(c[f>>2]|0))x=(c[f+8>>2]|0)!=0;else x=1;u=f+108|0;j=c[u>>2]|0;if(j|0)pF(g,j,167296);h[v>>3]=+h[v>>3]+m;s=v+16|0;h[s>>3]=+h[s>>3]+m;s=v+8|0;h[s>>3]=+h[s>>3]+n;s=v+24|0;h[s>>3]=+h[s>>3]+n;if(x?(c[e+152>>2]&4|0)==0:0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];s=qF(e,g,f,t,w)|0}else s=0;o=f+42|0;j=b[o>>1]|0;if(!(j&32)){k=c[f+20>>2]|0;if(k){j=rF(e,k,c[f+28>>2]|0,j&65535,q)|0;if(!(b[o>>1]&4)){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];ID(e,t,j)}else{o=d[f+33>>0]|0;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];yy(e,sF(p,t,o)|0,4,4,j)}_I(c[q>>2]|0)}while(1){j=c[i>>2]|0;if(!j)break;tF(e,j,g);i=i+4|0}i=c[r>>2]|0;OD(e,1.0);j=f+24|0;while(1){k=i+4|0;i=c[i>>2]|0;if(!i)break;if(!(a[i+100>>0]|0)){i=k;continue}uF(e,i,g,c[j>>2]|0,c[k>>2]|0);i=k}if(a[f+33>>0]|0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];vF(e,f,t)}}if(s|0)wF(e,w);if((x?c[e+152>>2]&4|0:0)?(c[t>>2]=c[v>>2],c[t+4>>2]=c[v+4>>2],c[t+8>>2]=c[v+8>>2],c[t+12>>2]=c[v+12>>2],c[t+16>>2]=c[v+16>>2],c[t+20>>2]=c[v+20>>2],c[t+24>>2]=c[v+24>>2],c[t+28>>2]=c[v+28>>2],qF(e,g,f,t,w)|0):0)wF(e,w);if(c[u>>2]|0)xF(g,167296);l=y;return}function oF(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;Wt(a);return}function pF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function qF(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{cm(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=GL(Yt(d,c[m+8>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}fm(t,h)|0;i=c[42417]|0;c[42417]=i+1;c[k>>2]=i;pL(j,122183,k)|0;fm(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){dm(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=Xt(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m+8>>2]|0)|0;if(i)gm(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];du(d,n);wD(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function rF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((xv(b,f,i)|0)<<24>>24)){DD(a,b);b=1}else{DD(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)ED(a,122106,d,h);else ED(a,b,d,h);b=e>>>1&1|2}BD(a,122171);l=j;return b|0}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];e=a+32|0;b=b+16|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if((d|0)>1){j=+(d|0)*.5;i=+h[a>>3]+j;h[a>>3]=i;d=a+8|0;g=+h[d>>3]+j;h[d>>3]=g;f=+h[e>>3]-j;h[e>>3]=f;e=a+40|0;j=+h[e>>3]-j;h[e>>3]=j}else{f=+h[e>>3];g=+h[a+8>>3];i=+h[a>>3];j=+h[a+40>>3]}h[a+16>>3]=f;h[a+24>>3]=g;h[a+48>>3]=i;h[a+56>>3]=j;return a|0}function tF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+176|0;r=v+96|0;s=v+136|0;t=v+64|0;p=v;q=v+128|0;u=f+48|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];c[t+16>>2]=c[u+16>>2];c[t+20>>2]=c[u+20>>2];c[t+24>>2]=c[u+24>>2];c[t+28>>2]=c[u+28>>2];j=+h[g>>3];k=+h[g+8>>3];if(!(c[f>>2]|0))u=(c[f+8>>2]|0)!=0;else u=1;h[t>>3]=+h[t>>3]+j;o=t+16|0;h[o>>3]=+h[o>>3]+j;o=t+8|0;h[o>>3]=+h[o>>3]+k;o=t+24|0;h[o>>3]=+h[o>>3]+k;if(u?(c[e+152>>2]&4|0)==0:0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];o=qF(e,g,f,r,s)|0}else o=0;n=f+42|0;i=b[n>>1]|0;a:do if(!(i&32)){m=c[f+20>>2]|0;if(m|0){i=rF(e,m,c[f+28>>2]|0,i&65535,q)|0;if(!(b[n>>1]&4)){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];ID(e,r,i)}else{n=d[f+33>>0]|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];yy(e,sF(p,r,n)|0,4,4,i)}_I(c[q>>2]|0)}if(a[f+33>>0]|0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];vF(e,f,r)}i=f+88|0;switch(a[f+92>>0]|0){case 1:{nF(e,c[i>>2]|0,g);break a}case 3:{zF(e,c[i>>2]|0,g);break a}default:{mF(e,c[i>>2]|0,g);break a}}}while(0);if(o|0)wF(e,s);if((u?c[e+152>>2]&4|0:0)?(c[r>>2]=c[t>>2],c[r+4>>2]=c[t+4>>2],c[r+8>>2]=c[t+8>>2],c[r+12>>2]=c[t+12>>2],c[r+16>>2]=c[t+16>>2],c[r+20>>2]=c[t+20>>2],c[r+24>>2]=c[t+24>>2],c[r+28>>2]=c[t+28>>2],qF(e,g,f,r,s)|0):0)wF(e,s);l=v;return}function uF(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+32|0;y=A+16|0;z=A;r=+h[i>>3];x=+h[i+8>>3];q=(j|0)==0?122106:j;DD(f,q);BD(f,q);t=+h[g+48>>3];o=+h[g+56>>3];u=+h[g+64>>3];p=+h[g+72>>3];s=t+r;r=u+r;x=o+x;q=g+100|0;i=a[q>>0]|0;if((i&1)!=0?(n=c[g+96>>2]|0,((e[g+80>>1]|0)+(e[g+84>>1]|0)|0)<(c[n+104>>2]|0)):0){i=b[g+86>>1]|0;do if(i<<16>>16)if(((e[g+82>>1]|0)+(i&65535)|0)==(c[n+100>>2]|0)){B=a[n+32>>0]|0;C=(B<<24>>24)/2|0;j=(C<<24>>24)+(d[n+33>>0]|0)|0;i=j;j=j&255;m=x-+(C<<24>>24);n=B;break}else{n=a[n+32>>0]|0;i=0;j=((n<<24>>24)/2|0)<<24>>24;m=x;break}else{C=a[n+32>>0]|0;j=((C<<24>>24)/2|0)<<24>>24;i=j+(d[n+33>>0]|0)|0;m=x;n=C}while(0);h[z+8>>3]=m-+(j|0);h[z>>3]=r+ +(((n<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];yF(f,y,0.0,p-o+ +(i&255|0)+ +(n<<24>>24));i=a[q>>0]|0}if(i&2?(v=b[g+86>>1]|0,w=c[g+96>>2]|0,((e[g+82>>1]|0)+(v&65535)|0)<(c[w+100>>2]|0)):0){i=b[g+84>>1]|0;do if(!(i<<16>>16)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;n=(C<<24>>24)+(d[w+33>>0]|0)|0;j=n&255;n=n&255;m=+(C<<24>>24);h[z>>3]=s-m-+(n|0);if((c[w+104>>2]|0)==(e[g+80>>1]|0)){j=n<<1&255;break}if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+(j&255)-u+ +h[w+64>>3]-m)&255}else{if(((e[g+80>>1]|0)+(i&65535)|0)==(c[w+104>>2]|0)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;j=(C&255)+(d[w+33>>0]|0)&255;h[z>>3]=s-+(C<<24>>24);break}i=a[w+32>>0]|0;m=+(((i<<24>>24)/2|0)<<24>>24);h[z>>3]=s-m;if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+h[w+64>>3]-u-m)&255;else j=0}while(0);h[z+8>>3]=x-+(((i<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];yF(f,y,u-t+ +(j&255)+ +(i<<24>>24),0.0)}l=A;return}function vF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+160|0;o=p+112|0;n=p;j=p+144|0;m=c[f+24>>2]|0;BD(e,(m|0)==0?122106:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))FD(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=122112;k=4}}else{i=122119;k=4}if((k|0)==4)c[j>>2]=i;FD(e,j)}k=f+33|0;OD(e,+(d[k>>0]|0));a:do if(!(b[m>>1]&4)){i=b[f+36>>1]&15360;if(!(i<<16>>16)){i=a[k>>0]|0;if((i&255)>1){q=+(i&255)*.5;h[g>>3]=+h[g>>3]+q;n=g+8|0;h[n>>3]=+h[n>>3]+q;n=g+16|0;h[n>>3]=+h[n>>3]-q;n=g+24|0;h[n>>3]=+h[n>>3]-q};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];ID(e,o,0);break}j=n+16|0;m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];sF(j,o,m)|0;do switch(((i&65535)+-1024|0)>>>10&4194303|0){case 7:{KD(e,j,2);break a}case 3:{KD(e,n+32|0,2);break a}case 1:{KD(e,n+48|0,2);break a}case 0:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];KD(e,n,2);break a}case 11:{KD(e,j,3);break a}case 5:{KD(e,n+32|0,3);break a}case 2:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];KD(e,n+48|0,3);break a}case 8:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];KD(e,n,3);break a}case 13:{KD(e,j,4);break a}case 6:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];KD(e,n+32|0,4);break a}case 10:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];g=n+96|0;o=n+32|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];KD(e,n+48|0,4);break a}case 12:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];KD(e,n,4);break a}case 9:{KD(e,j,2);KD(e,n+48|0,2);break a}case 4:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];KD(e,n,2);KD(e,n+32|0,2);break a}default:break a}while(0)}else{m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];yy(e,sF(n,o,m)|0,4,4,0)}while(0);l=p;return}function wF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=c[d+16>>2]|0;f=h+208|0;if((c[f>>2]|0)==0?(b[h+260>>1]&1)==0:0)d=0;else{xD(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){_I(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){_I(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){_I(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){_I(f);c[d>>2]=c[g>>2]}h=h+260|0;b[h>>1]=b[h>>1]&-2|a[e+16>>0]&1;return}function xF(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function yF(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];ID(a,g,1);l=f;return}function zF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=k+ +h[d>>3];m=+h[e+8>>3];j=m+ +h[d+8>>3];k=k+ +h[d+16>>3];m=m+ +h[d+24>>3];h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)ma(122126,122134,623,122146);if(!(a[e>>0]|0))ma(122160,122134,624,122146);else{MD(b,e,g,4,1,f);l=i;return}}function AF(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;K=R+104|0;O=R+48|0;P=R+16|0;L=R;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=(+h[k+24>>3]-+h[k+8>>3])*.5+ +h[g+8>>3];yD(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;s=(m|0)==0;t=O+24|0;u=O+8|0;v=O+32|0;w=O+40|0;x=O+48|0;y=j+16|0;z=j+4|0;A=P+8|0;q=0;while(1){if((q|0)>=(e|0))break;switch(a[f+(q*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[f+(q*24|0)+8>>3];break}default:i=M-+h[f+(q*24|0)+8>>3]*.5}h[g>>3]=i;B=f+(q*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[B>>3];C=f+(q*24|0)+4|0;p=c[f+(q*24|0)>>2]|0;r=0;while(1){if((r|0)>=(b[C>>1]|0))break;o=p+4|0;m=c[o>>2]|0;if(m){h[D>>3]=+h[(+h[m+16>>3]>0.0?m:j)+16>>3];c[P>>2]=c[((c[m>>2]|0)==0?j:m)>>2];k=c[((c[m+4>>2]|0)==0?j:m)+4>>2]|0;c[E>>2]=k;m=c[m+24>>2]&127;if(!m)Q=12;else m=c[F>>2]&-128|m}else{h[D>>3]=+h[y>>3];c[P>>2]=c[j>>2];k=c[z>>2]|0;c[E>>2]=k;Q=12}if((Q|0)==12){Q=0;m=c[F>>2]&-128}c[F>>2]=m;BD(d,k);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(s)n=1.0;else n=+h[p+24>>3];h[t>>3]=n;c[A>>2]=c[(c[o>>2]|0)+8>>2];c[u>>2]=c[p+8>>2];o=p+32|0;h[v>>3]=+h[o>>3];h[w>>3]=+h[B>>3];a[x>>0]=108;h[L>>3]=i;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];AD(d,K,O);n=+h[o>>3]+i;h[g>>3]=n;p=p+56|0;r=r+1|0;i=n}q=q+1|0}zD(d);l=R;return}function BF(a){a=a|0;_I(c[a>>2]|0);_I(c[a+4>>2]|0);_I(c[a+8>>2]|0);_I(c[a+16>>2]|0);_I(c[a+12>>2]|0);_I(c[a+20>>2]|0);_I(c[a+24>>2]|0);return}function CF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;_I(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)gb[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)_I(d);_I(a)}return}function DF(a){a=a|0;_I(c[a+32>>2]|0);_I(a);return}function EF(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{FF(c[b>>2]|0);break}case 3:{DF(c[b>>2]|0);break}default:CF(c[b>>2]|0)}if(d|0)_I(b);return}function FF(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)Kl(c[e>>2]|0)|0;else{b=c[e>>2]|0;_I(c[a+92>>2]|0);_I(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;GF(d);b=b+4|0}_I(c[e>>2]|0)}BF(a);_I(a);return}function GF(a){a=a|0;EF(a+88|0,0);BF(a);_I(a);return}function HF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=IF(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function IF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(iK(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=JF(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function JF(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(iK(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=IF(c[b+88>>2]|0,d)|0;else b=0;return b|0}function KF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function LF(d){d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=vw((c[d+100>>2]<<2)+4|0)|0;n=vw((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=+h[l+72>>3];if(d<<16>>16==1)i=~~f;else{i=~~((f-+(O((a[o>>0]|0)+-1|0,(d&65535)+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}j=b[l+80>>1]|0;f=+h[l+64>>3];if(j<<16>>16==1)k=~~f;else{k=~~((f-+(O((a[o>>0]|0)+-1|0,(j&65535)+-1|0)|0))/+(j&65535));k=(k|0)>1?k:1}q=e[l+86>>1]|0;g=(d&65535)+q|0;d=q;while(1){if((d|0)>=(g|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(i|0)?r:i;d=d+1|0}d=e[l+84>>1]|0;g=(j&65535)+d|0;while(1){if((d|0)>=(g|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(k|0)?q:k;d=d+1|0}m=m+4|0}return}function MF(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[54824+(a<<2)>>2]|0;else{c[b>>2]=a;pL(174081,122187,b)|0;a=174081}l=d;return a|0}function NF(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=no(d,MF(f)|0,1)|0;No(i,122241,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=vw((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=vw((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=no(b,MF(f)|0,1)|0;No(i,122241,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=vw((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=vw((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=no(d,MF(e[o>>1]|0)|0,0)|0;o=no(d,MF((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;OF(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=no(b,MF(e[o>>1]|0)|0,0)|0;o=no(b,MF((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;OF(b,n,o,~~+h[g+72>>3]);f=f+4|0}PF(d);PF(b);return}function OF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=an(a,d,f,0,0)|0;if(!h){i=an(a,d,f,0,1)|0;No(i,122254,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;a=c[d>>2]|0;h=c[a+180>>2]|0;if(!h)a=ww((c[a+184>>2]<<2)+8|0)|0;else a=yw(h,(c[a+184>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;a=c[d>>2]|0;h=c[a+172>>2]|0;if(!h)a=ww((c[a+176>>2]<<2)+8|0)|0;else a=yw(h,(c[a+176>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function PF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[a+16>>2]|0)+192>>2]|0;while(1){f=d+16|0;h=c[(c[f>>2]|0)+164>>2]|0;if(!h)break;if(an(a,d,h,0,0)|0){d=h;continue}g=an(a,d,h,0,1)|0;No(g,122254,176,1)|0;b[(c[g+16>>2]|0)+170>>1]=0;d=c[f>>2]|0;e=c[d+180>>2]|0;if(!e)d=ww((c[d+184>>2]<<2)+8|0)|0;else d=yw(e,(c[d+184>>2]<<2)+8|0)|0;i=c[f>>2]|0;c[i+180>>2]=d;i=i+184|0;e=c[i>>2]|0;c[i>>2]=e+1;c[d+(e<<2)>>2]=g;f=c[f>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=h+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(!e)d=ww((c[d+176>>2]<<2)+8|0)|0;else d=yw(e,(c[d+176>>2]<<2)+8|0)|0;e=c[f>>2]|0;c[e+172>>2]=d;e=e+176|0;i=c[e>>2]|0;c[e>>2]=i+1;c[d+(i<<2)>>2]=g;d=c[f>>2]|0;c[(c[d+172>>2]|0)+(c[d+176>>2]<<2)>>2]=0;d=h}return}function QF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function RF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+4|0;d=h;c[d>>2]=c[4411];e=c[b+100>>2]|0;if((e|0)!=1?(f=b+104|0,(c[f>>2]|0)!=1):0){c[b+92>>2]=vw((e<<2)+4|0)|0;c[b+96>>2]=vw((c[f>>2]<<2)+4|0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;f=gn(122267,g,0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;g=gn(122272,g,0)|0;No(f,122277,280,1)|0;No(g,122277,280,1)|0;NF(b,f,g);gx(f,2,2147483647)|0;gx(g,2,2147483647)|0;QF(b,f,g);SF(f,g)}else LF(b);l=h;return}function SF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){_I(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){_I(e);d=c[f>>2]|0}d=d+164|0}ln(a)|0;ln(b)|0;return}function TF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+272|0;n=p+104|0;o=p+136|0;j=p+72|0;k=p;g=p+144|0;c[k+48>>2]=b;switch(Co(b)|0){case 0:{e=c[b+60>>2]|0;break}case 1:{e=ro(b)|0;break}case 2:{e=ro(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;break}default:{}}i=k+52|0;c[i>>2]=e;m=c[e+60>>2]|0;h[k+32>>3]=+h[d+16>>3];c[k+16>>2]=c[d+4>>2];c[k+20>>2]=c[d+8>>2];c[k+40>>2]=0;f=bI(c[d>>2]|0,o,k)|0;if(!f){cm(n,128,g);a[d+82>>0]=0;e=GL(UF(b,n)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=yB(e)|0;else e=vB(e,c[i>>2]|0)|0;_I(c[d>>2]|0);c[d>>2]=e;jw(c[(c[m+16>>2]|0)+144>>2]|0,d);gm(n);e=c[o>>2]|0}else{e=f+4|0;if((a[e>>0]|0)==1){if((c[(c[f>>2]|0)+24>>2]|0)==0?VF(b)|0:0){i=GL(VF(b)|0)|0;c[(c[f>>2]|0)+24>>2]=i}m=WF(m,c[f>>2]|0,0,k)|0;c[o>>2]=c[o>>2]|m;m=c[f>>2]|0;r=+h[m+64>>3]*.5;q=+h[m+72>>3]*.5;XF(j,-r,-q,r,q);m=c[f>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2];YF(m,n,15)}else{ZF(c[(c[m+16>>2]|0)+144>>2]|0,c[f>>2]|0,k);n=c[f>>2]|0;q=+h[n+24>>3]*.5;r=+h[n+32>>3]*.5;XF(j,-q,-r,q,r);n=(c[f>>2]|0)+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2]}h[d+24>>3]=+h[j+16>>3]-+h[j>>3];h[d+32>>3]=+h[j+24>>3]-+h[j+8>>3];c[d+72>>2]=f;if((a[e>>0]|0)==1){_I(c[d>>2]|0);c[d>>2]=GL(122290)|0}e=c[o>>2]|0}l=p;return e|0}function UF(b,d){b=b|0;d=d|0;var e=0;a:do switch(Co(b)|0){case 0:{fm(d,Dn(b)|0)|0;break}case 1:{fm(d,Dn(b)|0)|0;break}case 2:{fm(d,Dn(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;fm(d,Dn(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(qn(ro(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){fm(d,122549)|0;break a}else{fm(d,122546)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){dm(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function VF(b){b=b|0;var c=0,d=0;c=Im(b,122531)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=Im(b,122540)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function WF(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)pF(j,k,167328);c[g+80>>2]=i;k=bG(f,g,j)|0;r=g+36|0;f=b[r>>1]|0;if(!(f&128))a[g+32>>0]=2;i=g+33|0;if(!(f&32))a[i>>0]=1;RF(g);n=c[g+104>>2]|0;p=a[g+32>>0]|0;f=O(n+1|0,p)|0;o=d[i>>0]<<1;q=c[g+100>>2]|0;p=O(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[g+40>>1]|0,s<<16>>16):0){if(!((f|0)>(m|0)|(i|0)>(s&65535|0))){i=0;f=0;break}_l(0,122331,t)|0;k=1;i=0;f=0;break}_l(0,122365,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[g+40>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)xF(j,167328);l=w;return k|0}function XF(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function YF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0;I=l;l=l+64|0;G=I+32|0;H=I;E=c[e+84>>2]|0;k=c[e+80>>2]|0;if((k|0?(i=c[k+24>>2]|0,i|0):0)?(j=e+24|0,(c[j>>2]|0)==0):0)c[j>>2]=GL(i)|0;F=e+48|0;i=f+16|0;n=+h[i>>3];m=+h[f>>3];k=~~(n-m-+(~~+h[e+64>>3]|0));if((k|0)<=-1)ma(122298,122134,1761,122308);o=f+24|0;y=+h[o>>3];p=f+8|0;q=+h[p>>3];r=+(~~+h[e+72>>3]|0);s=~~(y-q-r);if((s|0)<=-1)ma(122321,122134,1764,122308);t=b[e+36>>1]|0;j=t&65535;a:do if(j&1){b:do if((k|0)>0)switch(j&6){case 4:{h[i>>3]=m+r;break b}case 2:{J=+(k|0);h[i>>3]=n+J;m=m+J;h[f>>3]=m;break b}default:{J=+(k>>>1|0);m=m+J;h[f>>3]=m;h[i>>3]=n-J;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{y=q+r;h[o>>3]=y;s=0;i=0;break a}case 8:{J=+(s|0);y=y+J;h[o>>3]=y;h[p>>3]=q+J;s=0;i=0;break a}default:{J=+(s>>>1|0);h[p>>3]=q+J;y=y-J;h[o>>3]=y;s=0;i=0;break a}}else{s=0;i=0}}else i=k;while(0);n=+(d[e+33>>0]|0);C=e+32|0;u=a[C>>0]|0;q=+(u<<24>>24);D=e+104|0;k=c[D>>2]|0;t=(i|0)/(k|0)|0;o=i-(O(t,k)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));B=e+96|0;p=u<<24>>24;i=~~(m+n+q);j=0;while(1){if((j|0)>(k|0))break;A=(c[B>>2]|0)+(j<<2)|0;k=c[A>>2]|0;c[A>>2]=i;i=i+t+((j|0)<(o|0)&1)+k+p|0;j=j+1|0;k=c[D>>2]|0}A=e+100|0;k=c[A>>2]|0;t=(s|0)/(k|0)|0;p=s-(O(t,k)|0)|0;p=~~(((p|0)>-1?.5:-.5)+ +(p|0));z=e+92|0;o=u<<24>>24;i=~~(y-n-q);j=0;while(1){if((j|0)>(k|0))break;x=(c[z>>2]|0)+(j<<2)|0;k=c[x>>2]|0;c[x>>2]=i;i=i-t+(((j|0)<(p|0))<<31>>31)-k-o|0;j=j+1|0;k=c[A>>2]|0}u=(g|0)==0;v=H+16|0;w=H+24|0;x=H+8|0;i=E;while(1){o=c[i>>2]|0;if(!o)break;k=b[o+84>>1]|0;if(u){j=0;p=b[o+80>>1]|0;s=b[o+86>>1]|0;t=b[o+82>>1]|0}else{j=k<<16>>16==0?8:0;s=b[o+86>>1]|0;j=s<<16>>16==0?j|4:j;p=b[o+80>>1]|0;t=b[o+82>>1]|0;j=(((p&65535)+(k&65535)|0)==(c[D>>2]|0)?j|2:j)|((t&65535)+(s&65535)|0)==(c[A>>2]|0)}K=c[B>>2]|0;k=k&65535;h[H>>3]=+(c[K+(k<<2)>>2]|0);E=a[C>>0]|0;h[v>>3]=+((c[K+((p&65535)+k<<2)>>2]|0)-E|0);p=c[z>>2]|0;h[w>>3]=+(c[p+((s&65535)<<2)>>2]|0);h[x>>3]=+((c[p+((t&65535)+(s&65535)<<2)>>2]|0)+E|0);c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];c[G+16>>2]=c[H+16>>2];c[G+20>>2]=c[H+20>>2];c[G+24>>2]=c[H+24>>2];c[G+28>>2]=c[H+28>>2];_F(o,G,j&g);i=i+4|0}a[e+35>>0]=g;c[F>>2]=c[f>>2];c[F+4>>2]=c[f+4>>2];c[F+8>>2]=c[f+8>>2];c[F+12>>2]=c[f+12>>2];c[F+16>>2]=c[f+16>>2];c[F+20>>2]=c[f+20>>2];c[F+24>>2]=c[f+24>>2];c[F+28>>2]=c[f+28>>2];l=I;return}function ZF(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0;O=l;l=l+112|0;H=O+48|0;I=O+16|0;J=O;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;c[I+20>>2]=0;c[I+24>>2]=0;c[I+28>>2]=0;K=e+4|0;L=f+16|0;M=f+32|0;N=I+16|0;r=b[K>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[M>>3];h[N>>3]=k;i=L}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:L)+16>>3];h[N>>3]=k;i=(c[i>>2]|0)==0?L:i}i=c[i>>2]|0;c[I>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(xJ(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=f+20|0;G=I+4|0;w=f+40|0;x=I+24|0;y=d+144|0;z=H+4|0;v=J+8|0;A=H+16|0;B=H+24|0;C=H+8|0;D=H+12|0;f=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;n=0;g=r;while(1){if((n|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;m=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((m|0)>=(b[i+(n*24|0)+4>>1]|0))break;c[H>>2]=qw(c[(c[i+(n*24|0)>>2]|0)+(m*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(n*24|0)|0;g=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;if(!g){h[N>>3]=+h[M>>3];c[I>>2]=c[L>>2];c[G>>2]=c[F>>2];c[x>>2]=c[x>>2]&-128|c[w>>2]&127}else{g=c[g+24>>2]&127;if(!g)g=c[w>>2]&127;c[x>>2]=c[x>>2]&-128|g;r=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;h[N>>3]=+h[(+h[r+16>>3]>0.0?r:L)+16>>3];c[I>>2]=c[((c[r>>2]|0)==0?L:r)>>2];c[G>>2]=c[((c[r+4>>2]|0)==0?L:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=bb[c[i>>2]&31](i,I,1)|0;pA(J,d,H);Q=+h[J>>3];o=+h[v>>3];_I(c[(c[(c[e>>2]|0)+(n*24|0)>>2]|0)+(m*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(n*24|0)>>2]|0;c[r+(m*56|0)>>2]=c[H>>2];h[r+(m*56|0)+32>>3]=Q;h[r+(m*56|0)+16>>3]=+h[A>>3];h[r+(m*56|0)+24>>3]=+h[B>>3];c[r+(m*56|0)+4>>2]=c[z>>2];c[r+(m*56|0)+8>>2]=c[C>>2];c[r+(m*56|0)+12>>2]=c[D>>2];P=+h[N>>3];R=+h[B>>3];k=R>k?R:k;q=Q+q;m=m+1|0;p=P>p?P:p;j=o>j?o:j}h[i+(n*24|0)+8>>3]=q;g=(n|0)==0;do if(f)if(g){o=p;k=p-k;g=i;break}else{o=p;k=t-u+p-k;g=i+(n*24|0)|0;break}else{o=j;k=g?p:j;g=i+(n*24|0)|0}while(0);h[g+16>>3]=k;s=q>s?q:s;t=o+t;u=+h[i+(n*24|0)+16>>3]+u;n=n+1|0;g=b[K>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=O;return}function _F(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;v=y+32|0;x=y;j=e+24|0;if((c[j>>2]|0)==0?(i=c[(c[e+96>>2]|0)+24>>2]|0,i|0):0)c[j>>2]=GL(i)|0;t=e+36|0;w=b[t>>1]|0;i=w&65535;a:do if(i&1){k=+h[e+64>>3];q=+h[e+72>>3];j=f+16|0;m=+h[j>>3];o=+h[f>>3];n=m-o-k;b:do if(n>0.0)switch(i&6){case 4:{m=o+k;h[j>>3]=m;k=o;break b}case 2:{m=n+m;h[j>>3]=m;k=o+n;h[f>>3]=k;break b}default:{p=n*.5;k=p+o;h[f>>3]=k;m=m-p;h[j>>3]=m;break b}}else k=o;while(0);i=f+24|0;p=+h[i>>3];j=f+8|0;n=+h[j>>3];o=p-n-q;if(o>0.0)switch(w&24){case 16:{o=n+q;h[i>>3]=o;break a}case 8:{q=o+p;h[i>>3]=q;n=n+o;h[j>>3]=n;o=q;break a}default:{o=o*.5;n=o+n;h[j>>3]=n;o=p-o;h[i>>3]=o;break a}}else o=p}else{k=+h[f>>3];n=+h[f+8>>3];m=+h[f+16>>3];o=+h[f+24>>3]}while(0);s=e+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[s+16>>2]=c[f+16>>2];c[s+20>>2]=c[f+20>>2];c[s+24>>2]=c[f+24>>2];c[s+28>>2]=c[f+28>>2];a[e+35>>0]=g;A=+(d[e+33>>0]|0);z=+(d[e+34>>0]|0);p=k+A+z;h[x>>3]=p;q=n+A+z;s=x+8|0;h[s>>3]=q;n=m-A-z;f=x+16|0;h[f>>3]=n;o=o-A-z;r=x+24|0;h[r>>3]=o;j=e+88|0;switch(a[e+92>>0]|0){case 1:{w=c[j>>2]|0;c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];YF(w,v,g);break}case 3:{i=c[j>>2]|0;k=+h[i+24>>3];m=n-p-+h[i+16>>3];c:do if(m>0.0)switch(w&6){case 4:{h[f>>3]=n-m;break c}case 2:{h[x>>3]=m+p;break c}default:break c}while(0);k=o-q-k;d:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break d}case 8:{h[s>>3]=k+q;break d}default:break d}while(0);c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];$F(i,v);break}default:{i=c[j>>2]|0;k=+h[i+32>>3];m=n-p-+h[i+24>>3];e:do if(m>0.0?(u=w&6,u<<16>>16!=6):0)switch(u&7){case 4:{h[f>>3]=n-m;break e}case 2:{h[x>>3]=m+p;break e}default:{A=m*.5;h[x>>3]=A+p;h[f>>3]=n-A;break e}}while(0);k=o-q-k;f:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break f}case 8:{h[s>>3]=k+q;break f}default:{A=k*.5;h[s>>3]=A+q;h[r>>3]=o-A;break f}}while(0);w=i+8|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];x=b[t>>1]&768;aG(c[j>>2]|0,(x&1023)==512?108:(x&1023)==256?114:110)}}l=y;return}function $F(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function aG(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function bG(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=wx()|0;v=fG()|0;i=0;h=0;k=Ol(t)|0;while(1){if(!k)break;j=Ol(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)jG(v,h);k=c[k>>2]|0}h=vw((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=Ol(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=Ol(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=cG(d,n,f,g)|0|k;l=dG(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=l+(e[n+80>>1]|0)|0;m=q+(e[n+82>>1]|0)|0;if(kG(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;Kl(t)|0;Kl(v)|0;zx(u);return k|0}function cG(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+16|0;t=u+8|0;s=u;c[g+96>>2]=i;q=g+36|0;o=b[q>>1]|0;if(!(o&64)){if(!(b[i+36>>1]&64))n=2;else n=a[i+34>>0]|0;a[g+34>>0]=n}if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[i+36>>1]&32))n=1;else n=a[i+33>>0]|0;a[g+33>>0]=n}n=g+88|0;p=g+92|0;switch(a[p>>0]|0){case 1:{o=WF(f,c[n>>2]|0,g,j)|0;i=c[n>>2]|0;n=o;o=i+64|0;i=i+72|0;break}case 3:{o=eG(c[n>>2]|0,j)|0;i=c[n>>2]|0;n=o;o=i+16|0;i=i+24|0;break}default:{ZF(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);i=c[n>>2]|0;n=0;o=i+24|0;i=i+32|0}}k=+((d[g+33>>0]|0)+(d[g+34>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[i>>3]+k;i=g+38|0;do if(b[q>>1]&1){o=b[i>>1]|0;if(o<<16>>16?(r=b[g+40>>1]|0,r<<16>>16):0){if(!(m>+(o&65535)|k>+(r&65535))){m=0.0;k=0.0;break}if((a[p>>0]|0)==3){m=0.0;k=0.0;break}_l(0,122416,s)|0;n=1;m=0.0;k=0.0;break}_l(0,122449,t)|0;n=1}while(0);v=+(e[i>>1]|0);h[g+64>>3]=m>v?m:v;m=+(e[g+40>>1]|0);h[g+72>>3]=k>m?k:m;l=u;return n|0}function dG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(Ex(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<(c+(e[j>>1]|0)|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;Cx(a,f,g);g=g+1|0}f=f+1|0}return c|0}function eG(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;Pr(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];_l(1,122499,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function fG(){return Ql(54908,c[4345]|0)|0}function gG(a,b,d){a=a|0;b=b|0;d=d|0;d=vw(12)|0;c[d>>2]=c[b>>2];return d|0}function hG(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function iG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function jG(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;bb[c[a>>2]&31](a,e,1)|0;l=d;return}function kG(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(bb[c[a>>2]&31](a,e,512)|0)!=0&1;l=d;return b|0}function lG(a){a=a|0;var b=0;if(!(c[42418]|0)){b=vw((a<<2)+4|0)|0;c[42418]=b;c[b>>2]=169676;c[42429]=a}c[42430]=0;return}function mG(){_I(c[42418]|0);c[42418]=0;c[42430]=0;return}function nG(){c[42430]=0;return}function oG(){var a=0,b=0,d=0;b=c[42430]|0;d=c[42418]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)ma(123205,122552,59,122558);else if((a|0)==5)return}function pG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[42418]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function qG(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[42430]|0;if((b|0)==(c[42429]|0)){_l(1,122566,d)|0;a=1}else{b=b+1|0;c[42430]=b;c[(c[42418]|0)+(b<<2)>>2]=a;pG(b);oG();a=0}l=d;return a|0}function rG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[42418]|0;f=c[e+(a<<2)>>2]|0;g=c[f>>2]|0;h=c[42430]|0;i=(h|0)/2|0;while(1){if((a|0)>(i|0))break;d=a<<1;b=c[e+(d<<2)>>2]|0;if((d|0)<(h|0)){l=d|1;j=c[e+(l<<2)>>2]|0;k=(c[b>>2]|0)<(c[j>>2]|0);d=k?l:d;b=k?j:b}if((g|0)>=(c[b>>2]|0))break;c[e+(a<<2)>>2]=b;c[b+4>>2]=a;a=d}c[e+(a<<2)>>2]=f;c[f+4>>2]=a;return}function sG(){var a=0,b=0,d=0,e=0;b=c[42430]|0;if(!b)a=0;else{e=c[42418]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[42430]=b;if(b|0)rG(1);oG()}return a|0}function tG(a,b){a=a|0;b=b|0;c[a>>2]=b;pG(c[a+4>>2]|0);oG();return}function uG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]+-3.0-+h[d+48>>3])*.5);l=~~((+h[d+56>>3]+-3.0-+h[d+40>>3])*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}vG(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){vG(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function vG(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=vw(28)|0;b=mn(a)|0;s=w+4|0;c[s>>2]=b;b=vw(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=co(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+96>>3]+ +h[D+88>>3])*.5;z=z<1.0?1.0:z;y=+h[D+80>>3]*.5;y=y<1.0?1.0:y;E=+h[D+16>>3];B=E-z;h[m>>3]=B;z=E+z;h[i>>3]=z;E=+h[D+24>>3];A=E-y;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n<B?v:m)>>3];h[v>>3]=B;A=+h[(o<A?v:m)+8>>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=eo(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=GG(D,f,t,u)|0;if(c[42366]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];xG(r,C,u,f,D)}e=w+8|0;c[e>>2]=vw((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];b=b+1|0}_I(f);c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=yG(w,u)|0;l=x;return w|0}function xG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[13918]|0;WL(122581,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);zL(i,123011,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;zL(i,123059,r)|0;WL(123076,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;zL(i,123095,j)|0;d=d+1|0}WL(123113,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;zL(i,123132,o)|0;d=d+1|0}WL(123150,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;zL(i,123132,p)|0;WL(122897,i)|0;l=q;return}function yG(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+32|0;t=A+16|0;k=A;w=c[a>>2]|0;y=WC(w<<2|2)|0;z=Ql(54944,c[4345]|0)|0;v=Ql(54980,c[4345]|0)|0;w=vw(w<<7)|0;f=vw(c[a>>2]<<4)|0;x=a+8|0;g=b+16|0;i=k+8|0;j=b+24|0;m=b+8|0;d=0;while(1){if((d|0)>=(c[a>>2]|0))break;n=c[x>>2]|0;o=n+(d*72|0)|0;c[n+(d*72|0)+32>>2]=4;p=n+(d*72|0)+36|0;c[p>>2]=f+(d<<2<<2);q=n+(d*72|0)+40|0;e=+h[n+(d*72|0)+56>>3];if(e<+h[g>>3]){h[k>>3]=e;h[i>>3]=+h[n+(d*72|0)+48>>3];c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=zG(y,z,t,w,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}e=+h[n+(d*72|0)+64>>3];if(e<+h[j>>3]){h[k>>3]=+h[q>>3];h[i>>3]=e;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=zG(y,v,t,w,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=zG(y,z,t,w,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[n+(d*72|0)+48>>3]>+h[m>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=zG(y,v,t,w,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}d=d+1|0}o=vw(c[y>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){b=0;break}g=c[s>>2]|0;i=g+(n*72|0)|0;j=g+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=g+(n*72|0)+40|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];b=g+(n*72|0)+56|0;k=g+(n*72|0)+32|0;d=bb[c[v>>2]&31](v,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;C=c[d>>2]|0;B=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;c[B+(f<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=bb[c[v>>2]&31](v,d,8)|0}f=g+(n*72|0)+64|0;d=bb[c[z>>2]&31](z,t,512)|0;while(1){if(!d){u=20;break}e=+h[f>>3];if(!(+h[d+16>>3]<e))break;b=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=b;c[(c[d>>2]|0)+24>>2]=i;d=bb[c[z>>2]&31](z,d,8)|0}if((u|0)==20){u=0;e=+h[f>>3]}h[p>>3]=e;b=g+(n*72|0)+56|0;d=bb[c[v>>2]&31](v,t,512)|0;while(1){if(!d){u=25;break}e=+h[b>>3];if(!(+h[d+8>>3]<e))break;D=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=D;c[(c[d>>2]|0)+20>>2]=i;d=bb[c[v>>2]&31](v,d,8)|0}if((u|0)==25){u=0;e=+h[b>>3]}h[t>>3]=e;h[p>>3]=+h[g+(n*72|0)+48>>3];d=bb[c[z>>2]&31](z,t,512)|0;while(1){if(!d)break;if(!(+h[d+16>>3]<+h[f>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;D=c[k>>2]|0;c[k>>2]=D+1;c[C+(D<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=bb[c[z>>2]&31](z,d,8)|0}D=c[k>>2]|0;m=D+m|0;q=(D|0)>(q|0)?D:q;n=n+1|0}while(1){if((b|0)>=(d|0))break;AG((c[s>>2]|0)+(b*72|0)|0);b=b+1|0;d=c[r>>2]|0}d=c[y>>2]|0;D=c[y+16>>2]|0;c[D+(d*40|0)+32>>2]=d;d=d+1|0;c[D+(d*40|0)+32>>2]=d;VC(y,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;BG((c[x>>2]|0)+(d*72|0)|0,y);d=d+1|0}Kl(z)|0;Kl(v)|0;_I(w);CG(y);TC(y);l=A;return y|0}function zG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=bb[c[d>>2]&31](d,e,512)|0;do if(!h){b=XC(b)|0;if(!f)ma(122994,122942,291,123001);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[i>>2]=b;a[b+36>>0]=g;bb[c[d>>2]&31](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function AG(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;a:do if((+h[b+64>>3]+-3.0-+h[b+48>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]+-3.0-+h[b+40>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function BG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(i+g)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=YC(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=YC(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=YC(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=YC(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=YC(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=YC(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function CG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[13918]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,zL(g,122907,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,zL(g,122959,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)ma(122929,122942,311,122949);else if((b|0)==8)ma(122981,122942,313,122949);else if((b|0)==10){l=j;return}}function DG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e<f)){f=+h[b>>3];e=+h[c>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function EG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e<f)){f=+h[b+8>>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function FG(a){a=a|0;var b=0,d=0;d=a+8|0;_I(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;_I(c[(c[b>>2]|0)+36>>2]|0);_I(c[d>>2]|0);_I(c[b>>2]|0);_C(c[a+16>>2]|0);Kl(c[a+20>>2]|0)|0;Kl(c[a+24>>2]|0)|0;_I(a);return}function GG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=ww(i*56|0)|0;i=vw(i<<2)|0;g=f*5|1;j=ww(g*72|0)|0;m=g<<5;k=vw(m)|0;m=vw(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];HG(a,b,h,o,0);yM(173);IG(f,i);SG(f,o,i,g,j)|0;n=JG(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];HG(a,b,h,o,1);IG(f,i);SG(f,o,i,g,j)|0;f=JG(f,o,j,1,m)|0;g=vw(O(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=a+((KG(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)|0;e=e+1|0;a=q}b=b+1|0}q=yw(g,a<<5)|0;_I(o);_I(i);_I(j);_I(k);_I(m);c[d>>2]=a;l=p;return q|0}function HG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+96|0;h=j+64|0;i=j;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];QG(h,f,1,i);d=RG(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[h+24>>2]=c[k+24>>2];c[h+28>>2]=c[k+28>>2];QG(h,f,0,i);d=RG(e,d,i)|0;g=g+1|0}l=j;return}function IG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+AM()*+(g-d|0)+ +(d|0));e=b+(d<<2)|0;f=b+(h<<2)|0;if((d|0)!=(h|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function JG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a*5|0;j=g+1|0;l=vw(j<<2)|0;c[42431]=vw(j<<4)|0;c[42432]=vw((a*56|0)+56|0)|0;j=vw(a<<2)|0;c[42433]=j;k=0;while(1){if((k|0)>(g|0))break;if(LG(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[42431]|0;i=c[42432]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[42434]=a;c[42435]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=MG(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=MG(l,f,0,b,d,0,k,g,e,1)|0;_I(l);_I(c[42431]|0);_I(c[42432]|0);_I(c[42433]|0);return g|0}function KG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function LG(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d<e+-1.0e-07)a=0;else a=+h[b+(f*56|0)+16>>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function MG(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0;D=(k|0)==0;C=i;a:while(1){y=f+(C*72|0)|0;if((C|0)<1)break;i=a+(C<<2)|0;if(c[i>>2]|0)break;c[i>>2]=1;v=f+(C*72|0)+8|0;t=f+(C*72|0)+16|0;p=+h[t>>3];w=f+(C*72|0)+24|0;x=f+(C*72|0)+32|0;o=+h[x>>3];if((p>o?(A=c[y>>2]|0,I=+h[e+(A*56|0)>>3],I==+h[e+(A*56|0)+16>>3]):0)?(A=c[f+(C*72|0)+4>>2]|0,K=+h[e+(A*56|0)>>3],K==+h[e+(A*56|0)+16>>3]):0){i=b+(d<<5)|0;if(D){h[i>>3]=I;q=p;p=K}else{h[i>>3]=o;q=-I;o=-K}h[b+(d<<5)+8>>3]=o;h[b+(d<<5)+16>>3]=p;h[b+(d<<5)+24>>3]=q;d=d+1|0}i=f+(C*72|0)+40|0;z=c[i>>2]|0;do if((z|0)<1?(L=f+(C*72|0)+44|0,(c[L>>2]|0)<1):0){i=f+(C*72|0)+48|0;n=f+(C*72|0)+52|0;if((c[i>>2]|0)>0?(M=c[n>>2]|0,(M|0)>0):0){m=c[f+(M*72|0)>>2]|0;l=c[y>>2]|0;if((M|0)==(j|0)){l=NG(g,l,m)|0;d=MG(a,b,d,e,f,g,c[n>>2]|0,C,k,1)|0;g=l;l=1;break}else{l=NG(g,m,l)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;g=l;i=n;l=1;break}}d=MG(a,b,d,e,f,g,z,C,k,2)|0;d=MG(a,b,d,e,f,g,c[L>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;i=n;l=1}else P=19;while(0);do if((P|0)==19){P=0;A=f+(C*72|0)+48|0;r=c[A>>2]|0;if((r|0)<1?(N=f+(C*72|0)+52|0,(c[N>>2]|0)<1):0){n=f+(C*72|0)+44|0;if((z|0)>0?(O=c[n>>2]|0,(O|0)>0):0){m=c[f+(C*72|0)+4>>2]|0;l=c[f+(z*72|0)+4>>2]|0;if((O|0)==(j|0)){l=NG(g,l,m)|0;d=MG(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;g=l;l=2;break}else{l=NG(g,m,l)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=n;l=2;break}}d=MG(a,b,d,e,f,g,z,C,k,2)|0;d=MG(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;i=N;l=1;break}u=f+(C*72|0)+44|0;s=c[u>>2]|0;m=(s|0)>0;if((z|0)>0){if(m){if((r|0)>0?(E=f+(C*72|0)+52|0,F=c[E>>2]|0,(F|0)>0):0){n=c[f+(F*72|0)>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if(!((l|0)==2&(F|0)==(j|0))?!((l|0)==1&(s|0)==(j|0)):0){l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=E;l=1;break}l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[E>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}m=c[y>>2]|0;if(+B(+(+h[x>>3]-+h[e+(m*56|0)+24>>3]))<=1.0e-07?+B(+(+h[w>>3]-+h[e+(m*56|0)+16>>3]))<=1.0e-07:0){n=c[f+(z*72|0)+4>>2]|0;m=c[e+(m*56|0)+44>>2]|0;if((l|0)==1&(z|0)==(j|0)){l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+52|0;l=1;break}else{l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;l=2;break}}n=c[f+(C*72|0)+4>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if((l|0)==1&(s|0)==(j|0)){l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;g=l;l=2;break}else{l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=u;l=2;break}}}else if(!m)break a;if((r|0)>0?(G=f+(C*72|0)+52|0,H=c[G>>2]|0,(H|0)>0):0){n=c[y>>2]|0;if(+B(+(+h[t>>3]-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0){m=c[f+(H*72|0)>>2]|0;if((l|0)==2&(r|0)==(j|0)){l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}else{l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}}m=c[f+(H*72|0)>>2]|0;n=c[e+((c[f+(C*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((l|0)==2&(H|0)==(j|0)){l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}else{l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}}o=+h[t>>3];n=c[y>>2]|0;if(((+B(+(o-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0)?(J=c[f+(C*72|0)+4>>2]|0,+B(+(+h[x>>3]-+h[e+(J*56|0)+8>>3]))<=1.0e-07):0)?+B(+(+h[w>>3]-+h[e+(J*56|0)>>3]))<=1.0e-07:0)if((l|0)==1){l=NG(g,n,J)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=NG(g,J,n)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}j=c[f+(C*72|0)+4>>2]|0;if(((+B(+(o-+h[e+(j*56|0)+24>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(j*56|0)+16>>3]))<=1.0e-07:0)?+B(+(+h[x>>3]-+h[e+(n*56|0)+24>>3]))<=1.0e-07:0)?+B(+(+h[w>>3]-+h[e+(n*56|0)+16>>3]))<=1.0e-07:0){m=c[e+(j*56|0)+44>>2]|0;j=c[e+(n*56|0)+44>>2]|0;if((l|0)==1){l=NG(g,j,m)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=NG(g,m,j)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}}d=MG(a,b,d,e,f,g,z,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;i=f+(C*72|0)+52|0;l=1}while(0);j=C;C=c[i>>2]|0}return d|0}function NG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[42435]|0)+1|0;c[42435]=e;m=c[42432]|0;OG(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[42434]|0;g=n+1|0;n=n+2|0;c[42434]=n;q=c[42431]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[42433]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function OG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[42432]|0;m=l+(a*56|0)|0;n=l+(b*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+PG(m,l+(h*56|0)|0,n),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+PG(n,l+(h*56|0)|0,m),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];i=+h[b>>3]-g;d=+h[a+8>>3];f=+h[b+8>>3]-d;g=+h[c>>3]-g;d=+h[c+8>>3]-d;e=d*f+g*i;if(!(d*i-g*f>=0.0))d=-e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)))+-2.0;else d=e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)));return +d}function QG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0.0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];i=e+32|0;j=a+16|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];if(!d){f=a+8|0;g=j;i=a+24|0;d=a}else{f=a+24|0;g=a;i=a+8|0;d=j}k=+h[g>>3];l=+h[i>>3];h[e+16>>3]=+h[d>>3];h[e+24>>3]=l;h[e+48>>3]=k;h[e+56>>3]=+h[f>>3];a:do if(b|0){d=0;while(1){if((d|0)==4)break a;j=e+(d<<4)+8|0;l=+h[j>>3];b=e+(d<<4)|0;h[j>>3]=+h[b>>3];h[b>>3]=-l;d=d+1|0}}while(0);return}function RG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b+3|0;i=b+1|0;j=b+2|0;k=a+(b*56|0)+44|0;l=a+(h*56|0)+44|0;e=0;f=b;while(1){if((f|0)>(h|0))break;do if((f|0)!=(b|0))if((f|0)==(h|0)){c[l>>2]=b;g=j;break}else{c[a+(f*56|0)+44>>2]=f+1;g=f+-1|0;break}else{c[k>>2]=i;g=h}while(0);c[a+(f*56|0)+48>>2]=g;c[a+(f*56|0)+32>>2]=0;n=a+(f*56|0)|0;m=d+(e<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];UN(a+(g*56|0)+16|0,m|0,16)|0;e=e+1|0;f=f+1|0}return b+4|0}function SG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[42436]=e<<1;c[42437]=e;k=vw(e*80|0)|0;c[42438]=1;c[42439]=1;VN(f|0,0,e*72|0)|0;g=TG(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=UG(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=VG(a,i+-1|0)|0;h=VG(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}WG(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;XG(e,b,f,k);e=e+1|0}i=i+1|0}e=VG(a,j)|0;while(1){if((e|0)>=(a|0))break;WG(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}_I(k);return c[42438]|0}function TG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=aH()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;eH(s,k,l);n=aH()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=aH()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;fH(r,k,l);c[e+(j*40|0)+28>>2]=f;l=aH()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=aH()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=aH()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=aH()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=$G(d)|0;i=$G(d)|0;m=$G(d)|0;o=$G(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];UN(q|0,s|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];UN(q|0,r|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function UG(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+CJ(b);a=a+1|0}return a+-1|0}function VG(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+CJ(c);a=a+1|0}return ~~+N(+(d/c))|0}function WG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=l;l=l+96|0;S=W+32|0;f=W+16|0;T=W;s=S;k=b+(a*56|0)|0;r=s+56|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));U=S+16|0;V=S+24|0;i=+h[V>>3];H=S+8|0;j=+h[H>>3];do if(!(i>j+1.0e-07)){if(!(i<j+-1.0e-07)?+h[U>>3]>+h[S>>3]:0){G=4;break}G=(_G(a,b,1)|0)==0;f=c[S+36>>2]|0;if(G){n=0;G=7}else{f=YG(S,U,f,b,e)|0;G=20}}else G=4;while(0);if((G|0)==4){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[S>>2]=c[U>>2];c[S+4>>2]=c[U+4>>2];c[S+8>>2]=c[U+8>>2];c[S+12>>2]=c[U+12>>2];c[U>>2]=c[f>>2];c[U+4>>2]=c[f+4>>2];c[U+8>>2]=c[f+8>>2];c[U+12>>2]=c[f+12>>2];E=S+36|0;F=c[E>>2]|0;G=S+40|0;f=c[G>>2]|0;c[E>>2]=f;c[G>>2]=F;if(!(_G(a,b,2)|0)){n=1;G=7}else{f=YG(S,U,f,b,e)|0;G=19}}if((G|0)==7){m=YG(S,U,f,b,e)|0;f=$G(d)|0;c[d+(f*72|0)+68>>2]=1;s=d+(f*72|0)|0;k=d+(m*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[H>>3];h[d+(f*72|0)+16>>3]=q;h[d+(m*72|0)+32>>3]=q;q=+h[S>>3];h[d+(f*72|0)+8>>3]=q;h[d+(m*72|0)+24>>3]=q;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}E=aH()|0;G=aH()|0;F=d+(m*72|0)+56|0;D=c[F>>2]|0;c[e+(D*40|0)>>2]=2;C=e+(D*40|0)+8|0;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[e+(D*40|0)+4>>2]=a;c[e+(D*40|0)+32>>2]=G;c[e+(D*40|0)+36>>2]=E;c[e+(E*40|0)>>2]=3;c[e+(E*40|0)+24>>2]=m;c[e+(E*40|0)+28>>2]=D;c[e+(G*40|0)>>2]=3;c[e+(G*40|0)+24>>2]=f;c[e+(G*40|0)+28>>2]=D;c[F>>2]=E;c[d+(f*72|0)+56>>2]=G;if(n)G=19;else G=20}if((G|0)==19)if(!(_G(a,b,1)|0)){g=1;G=21}else{g=1;G=32}else if((G|0)==20)if(!(_G(a,b,2)|0)){g=0;G=21}else{g=0;G=32}if((G|0)==21){o=YG(U,S,c[S+40>>2]|0,b,e)|0;n=$G(d)|0;c[d+(n*72|0)+68>>2]=1;s=d+(n*72|0)|0;k=d+(o*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[V>>3];h[d+(n*72|0)+16>>3]=q;h[d+(o*72|0)+32>>3]=q;q=+h[U>>3];h[d+(n*72|0)+8>>3]=q;h[d+(o*72|0)+24>>3]=q;c[d+(o*72|0)+48>>2]=n;c[d+(o*72|0)+52>>2]=0;c[d+(n*72|0)+40>>2]=o;c[d+(n*72|0)+44>>2]=0;k=c[d+(n*72|0)+48>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}k=c[d+(n*72|0)+52>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}D=aH()|0;F=aH()|0;E=d+(o*72|0)+56|0;C=c[E>>2]|0;c[e+(C*40|0)>>2]=2;A=e+(C*40|0)+8|0;c[A>>2]=c[U>>2];c[A+4>>2]=c[U+4>>2];c[A+8>>2]=c[U+8>>2];c[A+12>>2]=c[U+12>>2];c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=F;c[e+(C*40|0)+36>>2]=D;c[e+(D*40|0)>>2]=3;c[e+(D*40|0)+24>>2]=o;c[e+(D*40|0)+28>>2]=C;c[e+(F*40|0)>>2]=3;c[e+(F*40|0)+24>>2]=n;c[e+(F*40|0)+28>>2]=C;c[E>>2]=D;c[d+(n*72|0)+56>>2]=F;F=f;f=0}else if((G|0)==32){F=f;o=YG(U,S,c[S+40>>2]|0,b,e)|0;f=1}a:do if((F|0)>0){D=d+(o*72|0)+24|0;E=d+(o*72|0)+32|0;C=(f|0)!=0;y=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;z=T+8|0;g=0;f=0;x=F;b:while(1){k=d+(x*72|0)|0;v=d+(x*72|0)+24|0;if(!(bH(v,D)|0))break a;m=d+(x*72|0)+56|0;u=c[m>>2]|0;n=aH()|0;p=aH()|0;c[e+(u*40|0)>>2]=1;c[e+(u*40|0)+4>>2]=a;c[e+(u*40|0)+32>>2]=n;c[e+(u*40|0)+36>>2]=p;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+24>>2]=x;c[e+(n*40|0)+28>>2]=u;c[e+(p*40|0)>>2]=3;w=$G(d)|0;c[e+(p*40|0)+24>>2]=w;A=d+(w*72|0)|0;c[d+(w*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=u;g=(x|0)==(F|0)?w:g;u=d+(x*72|0)+32|0;if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0)f=w;s=A;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));c[m>>2]=n;c[d+(w*72|0)+56>>2]=p;t=d+(x*72|0)+48|0;m=d+(x*72|0)+52|0;k=(c[m>>2]|0)<1;do if((c[t>>2]|0)<1){if(k)break b;s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(M=d+(x*72|0)+44|0,N=c[M>>2]|0,(N|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=N;c[d+(w*72|0)+44>>2]=-1;c[M>>2]=-1;c[d+(N*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=N;c[M>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=N}else{c[d+(w*72|0)+44>>2]=-1;t=d+(w*72|0)+40|0;c[t>>2]=c[M>>2];n=c[s>>2]|0;c[M>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[t>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=77;while(0);do if((G|0)==77){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(ZG(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(ZG(k,b,S)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=x;n=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+52>>2]|0)*72|0)+44>>2]=w;n=m;k=x}c[n>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(O=c[p>>2]|0,P=(n|0)==(x|0),(O|0)>0):0){c[d+(k*72|0)+60>>2]=P?O:n;c[d+(k*72|0)+64>>2]=P?1:2}c[m>>2]=x;c[p>>2]=w}else{if(!k){i=+h[u>>3];j=+h[H>>3];q=i-j;if(!(+B(+q)<=1.0e-07)){h[z>>3]=i;i=+h[S>>3];h[T>>3]=(+h[U>>3]-i)*(q/(+h[V>>3]-j))+i;s=(cH(T,v)|0)!=0}else s=+h[v>>3]>+h[S>>3];r=d+(x*72|0)+40|0;k=c[r>>2]|0;do if((k|0)>0?(Q=d+(x*72|0)+44|0,R=c[Q>>2]|0,(R|0)>0):0){p=d+(x*72|0)+60|0;k=c[p>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=R;c[d+(w*72|0)+44>>2]=-1;c[Q>>2]=-1;c[d+(R*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=R;c[Q>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;n=w;m=R}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[Q>>2];m=c[r>>2]|0;c[Q>>2]=m;c[r>>2]=k;c[d+(k*72|0)+48>>2]=x;n=x;k=c[X>>2]|0}c[d+(m*72|0)+48>>2]=n;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[p>>2]=0}else G=106;while(0);do if((G|0)==106){G=0;m=d+(k*72|0)+48|0;n=c[m>>2]|0;k=d+(k*72|0)+52|0;if((n|0)>0?(c[k>>2]|0)>0:0){k=c[d+(n*72|0)+4>>2]|0;if((k|0)>0?(ZG(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[r>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;break}c[m>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;c[d+(k*72|0)+44>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=w;c[d+(X*72|0)+44>>2]=-1;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;c[k>>2]=-1;k=-1}else G=116;do if((G|0)==116){G=0;k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;m=d+(k*72|0)+44|0;if(s){c[m>>2]=w;X=d+(x*72|0)+52|0;v=c[X>>2]|0;c[d+(v*72|0)+40>>2]=w;c[d+(v*72|0)+44>>2]=-1;c[X>>2]=-1;break}else{c[m>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=x;c[d+(X*72|0)+44>>2]=w;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;k=c[k>>2]|0;break}}while(0);break}s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(I=d+(x*72|0)+44|0,J=c[I>>2]|0,(J|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=J;c[d+(w*72|0)+44>>2]=-1;c[I>>2]=-1;c[d+(J*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=J;c[I>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=J}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[I>>2];n=c[s>>2]|0;c[I>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[X>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=51;while(0);do if((G|0)==51){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(ZG(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(ZG(k,b,S)|0)!=0:0){c[d+((c[t>>2]|0)*72|0)+40>>2]=x;m=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+48>>2]|0)*72|0)+44>>2]=w;k=x}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[t>>2]|0;break}k=c[t>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(K=c[p>>2]|0,L=(n|0)==(x|0),(K|0)>0):0){c[d+(k*72|0)+60>>2]=L?K:n;c[d+(k*72|0)+64>>2]=L?1:2}c[m>>2]=x;c[p>>2]=w}while(0);c[A>>2]=a;c[d+(x*72|0)+4>>2]=a;if((k|0)>0)x=k;else break a}XL(123235,19,1,c[13918]|0)|0}else{g=0;f=0}while(0);dH(a,F,o,1,d,e);dH(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=W;return}function XG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((YG(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((YG(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function YG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0;o=a+8|0;q=b+8|0;a:while(1){b:do switch(c[f+(d*40|0)>>2]|0){case 3:{r=3;break a}case 2:{g=+h[o>>3];i=f+(d*40|0)+8|0;j=+h[f+(d*40|0)+16>>3];k=j+1.0e-07;do if(!(g>k)){l=j+-1.0e-07;if(!(g<l)?+h[a>>3]>+h[i>>3]:0)break;if(+B(+(g-j))<=1.0e-07?(m=+h[i>>3],+B(+(+h[a>>3]-m))<=1.0e-07):0){g=+h[q>>3];do if(!(g>k)){if(!(g<l)?+h[b>>3]>m:0)break;d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break b}d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break}case 1:{g=+h[o>>3];i=c[f+(d*40|0)+4>>2]|0;if(+B(+(g-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(n=+h[a>>3],+B(+(n-+h[e+(i*56|0)>>3]))<=1.0e-07):0)j=n;else r=19;do if((r|0)==19){r=0;if(+B(+(g-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(p=+h[a>>3],+B(+(p-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){j=p;break}if(!(ZG(i,e,a)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}}while(0);if(!(+B(+(g-+h[q>>3]))<=1.0e-07))if(!(ZG(i,e,b)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}else if(+h[b>>3]<j){d=f+(d*40|0)+32|0;break b}else{d=f+(d*40|0)+36|0;break b}}default:{r=31;break a}}while(0);d=c[d>>2]|0}if((r|0)==3)return c[f+(d*40|0)+24>>2]|0;else if((r|0)==31){XL(123169,35,1,c[13918]|0)|0;ma(123205,123207,349,123219)}return 0}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0.0;f=b+(a*56|0)+16|0;g=+h[b+(a*56|0)+24>>3];i=b+(a*56|0)|0;e=+h[b+(a*56|0)+8>>3];do if(!(g>e+1.0e-07)){if(!(g<e+-1.0e-07)?+h[f>>3]>+h[i>>3]:0){j=4;break}d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[f>>3];d=(+h[i>>3]-k)*(d-g)-(+h[c>>3]-k)*(e-g);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}else j=4;while(0);do if((j|0)==4){d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[i>>3];d=(+h[f>>3]-k)*(d-e)-(+h[c>>3]-k)*(g-e);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}while(0);return d>0.0|0}function _G(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function $G(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[42438]|0;if((b|0)<(c[42437]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[42438]=b+1;l=e;return b|0}else{e=c[13918]|0;c[d>>2]=b;zL(e,123294,d)|0;ma(123205,123207,88,123332)}return 0}function aH(){var a=0;a=c[42439]|0;if((a|0)<(c[42436]|0)){c[42439]=a+1;return a|0}else{XL(123255,30,1,c[13918]|0)|0;ma(123205,123207,72,123286)}return 0}function bH(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c<d+-1.0e-07)a=0;else a=+h[a>>3]>=+h[b>>3]&1;else a=1;return a|0}function cH(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c<d+-1.0e-07))if(c>d+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function dH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(bH(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)+4>>2]|0)!=(a|0)){b=d;continue a}}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)>>2]|0)!=(a|0)){b=d;continue a}}while(0);if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}r=c[f+(d*72|0)+56>>2]|0;e=c[g+(r*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(r|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);r=f+(d*72|0)+24|0;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function eH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function fH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e<f+-1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]<+h[d>>3]){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function gH(a){a=a|0;var b=0;b=vw(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function hH(a,b){a=a|0;b=b|0;if(b){b=gH(b)|0;c[b>>2]=a;a=b}return a|0}function iH(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;_I(b)}while((a|0)!=0);return}function jH(){var a=0;a=vw(1992)|0;if(a|0)c[a>>2]=kH(a)|0;return a|0}function kH(a){a=a|0;var b=0;b=qH(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function lH(a){a=a|0;mH(a,c[a>>2]|0);_I(c[a>>2]|0);_I(a);return 0}function mH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1980|0;h=a+1912|0;i=a+1936|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(mH(a,f),_I(c[e>>2]|0),wH(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(wH(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}while(0);return}function nH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)ma(123690,123340,194,123348);e=c[b+4>>2]|0;if((e|0)<=-1)ma(123360,123340,195,123348);if(!d)ma(123632,123340,196,123348);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(BH(d,b+8+(i*20|0)|0)|0)!=0:0){g=nH(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(BH(d,f)|0)!=0:0)e=hH(e,f)|0;g=g+1|0}}while(0);return e|0}function oH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;k=p+52|0;m=p+32|0;n=p+16|0;o=p;c[k>>2]=0;if(!((b|0)!=0&(e|0)!=0))ma(123546,123340,247,123374);if((f|0)>-1?(j=c[e>>2]|0,(c[j+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)ma(123421,123340,250,123374);i=a+1912|0;g=a+1908|0;h=c[g>>2]|0;if(c[i>>2]|0){q=h|0?a+1924|0:a+1916|0;c[q>>2]=(c[q>>2]|0)+1}if(!h){q=a+1964|0;c[q>>2]=(c[q>>2]|0)+1}if(!(pH(a,b,d,j,k,f)|0))g=0;else{if(c[i>>2]|0){q=c[g>>2]|0?a+1948|0:a+1944|0;c[q>>2]=(c[q>>2]|0)+1}g=qH(a)|0;q=a+1976|0;c[q>>2]=(c[q>>2]|0)+1;q=c[e>>2]|0;c[g+4>>2]=(c[q+4>>2]|0)+1;tH(n,q);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];q=m+16|0;c[q>>2]=c[e>>2];vH(a,m,g,0)|0;tH(o,c[k>>2]|0);c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[q>>2]=c[k>>2];vH(a,m,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=p;return g|0}ma(123386,123340,248,123374);return 0}function pH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))ma(123464,123340,311,123478);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=uH(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(pH(a,b,d,c[h>>2]|0,n,g)|0)){AH(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{tH(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;tH(k,j);c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=vH(a,m,e,f)|0;break}}else if((h|0)==(g|0)){c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=vH(a,m,e,f)|0;break}else ma(123523,123340,341,123478);while(0);l=q;return j|0}ma(123491,123340,312,123478);return 0}function qH(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=ZI(1288)|0;rH(a);return a|0}function rH(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;sH(a+8+(b*20|0)|0);b=b+1|0}return}function sH(a){a=a|0;xH(a);c[a+16>>2]=0;return}function tH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)ma(123690,123529,99,123536);xH(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){AH(h,g,e);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];d=0;break}else{c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];d=0;break}}while(0);f=f+1|0}c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];l=i;return}function uH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))ma(123546,123529,125,123553);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=zH(n)|0;AH(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(zH(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function vH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)ma(123712,123529,167,123564);if(!d)ma(123690,123529,168,123564);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];f=0;g=d;break}else if((e|0)==10)ma(123574,123529,178,123564)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)ma(123587,123529,187,123564);else{CH(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function wH(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))ma(123591,123529,201,123619);if(!(c[a+8+(b*20|0)+16>>2]|0))ma(124113,123529,202,123619);else{sH(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function xH(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function yH(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|0}c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function zH(a){a=a|0;var b=0,d=0,e=0;if(!a)ma(123632,123634,128,123646);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=O(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function AH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))ma(123655,123634,195,123663);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+8>>2]|0)){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|0}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2]}while(0);l=g;return}function BH(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else ma(123675,123634,216,123682);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function CH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0;if(!b)ma(123690,123692,40,123702);if(!d)ma(123712,123692,41,123702);j=a+1912|0;if(c[j>>2]|0){i=c[a+1908>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;DH(a,b,d);d=a+1324|0;EH(a);f=zH(a+1852|0)|0;f=(zH(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[a+1908>>2]|0)==0:0){j=a+1960|0;g[j>>2]=+((c[a+1320>>2]|0)>>>0)/+(f|0)+ +g[j>>2]}j=qH(a)|0;c[e>>2]=j;c[h>>2]=i;c[j+4>>2]=i;FH(a,b,j,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else ma(123714,123692,86,123702)}function DH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)ma(123690,123692,106,124101);if(!d)ma(123712,123692,107,124101);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)ma(124113,123692,111,124101);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;AH(g,d,a+4+(e*20|0)|0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];e=e+1|0}c[a+1320>>2]=zH(d)|0;rH(b);l=h;return}function EH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;GH(a);HH(a);q=a+1844|0;s=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){d=c[q>>2]|0;b=c[s>>2]|0;if((b+d|0)>=65)break;h=65-(c[t>>2]|0)|0;if((d|0)<(h|0)&(b|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;AH(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=zH(i)|0;d=c[o>>2]|0;AH(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=zH(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}IH(a,e,f)}if((r|0)==12){b=(d|0)>=(65-(c[t>>2]|0)|0)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))IH(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((b+d|0)!=65)ma(123857,123692,210,123943);v=c[t>>2]|0;if((d|0)<(v|0)|(b|0)<(v|0))ma(123954,123692,212,123943);else{l=u;return}}function FH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!b)ma(123690,123692,297,123754);if(!d)ma(123764,123692,298,123754);if(!e)ma(123766,123692,299,123754);else f=0;while(1){if((f|0)>=65){e=14;break}e=c[a+1324+(f<<2)>>2]|0;if(e>>>0>=2){e=9;break}switch(e|0){case 0:{vH(a,a+4+(f*20|0)|0,b,0)|0;break}case 1:{vH(a,a+4+(f*20|0)|0,d,0)|0;break}default:{}}f=f+1|0}if((e|0)==9)ma(123768,123692,303,123754);else if((e|0)==14)return}function GH(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;yH(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[a+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function HH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=zH(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}AH(n,j,a+4+(f*20|0)|0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];p=zH(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}IH(a,d,0);IH(a,b,1);l=o;return}function IH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)ma(124057,123692,257,124092);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>2]|0)){c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2]}else{AH(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=zH(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function JH(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[42440]=0;c[42441]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=95;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=ZI(k*6|3)|0;if(h){TN(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;TN(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{_I(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=96;break a}case 4:{s=95;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==31){e=0;s=96;break}e=b[58358+(p<<1)>>1]|0;j=e<<16>>16;do if(e<<16>>16!=-82){h=c[42441]|0;if((h|0)==-2){h=gI()|0;c[42441]=h}if((h|0)>=1)if(h>>>0<296)i=d[124132+h>>0]|0;else i=2;else{c[42441]=0;i=0}h=i+j|0;if(h>>>0<=271?(i|0)==(a[124428+h>>0]|0):0){p=a[124700+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[42441]=-2;g=g+4|0;c[g>>2]=0;j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[124972+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[42441]|0;b:do switch(q|0){case 0:{c[42440]=(c[42440]|0)+1;cI(125369);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=96;break a}else{h=o;break b}else{c[42441]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<16>>16==8)break;if((h|0)==(f|0)){e=1;s=96;break a}e=h+-2|0;g=g+-4|0;h=e;e=b[58358+(b[e>>1]<<1)>>1]|0}g=g+4|0;c[g>>2]=0;e=1;j=3}else s=23}do if((s|0)==23){s=0;j=d[125088+h>>0]|0;e=c[g+(1-j<<2)>>2]|0;do switch(h|0){case 4:{s=26;break a}case 2:{c[42442]=KH(c[g+-4>>2]|0,2)|0;break}case 3:{c[42442]=KH(c[g+-4>>2]|0,1)|0;break}case 5:{e=MH()|0;break}case 8:{NH(c[42443]|0);break}case 9:{OH(c[g>>2]|0);break}case 18:{PH(c[g>>2]|0);break}case 19:{QH();break}case 20:{PH(c[g>>2]|0);break}case 21:{QH();break}case 22:{PH(c[g>>2]|0);break}case 23:{QH();break}case 24:{PH(c[g>>2]|0);break}case 25:{QH();break}case 26:{PH(c[g>>2]|0);break}case 27:{QH();break}case 28:{PH(c[g>>2]|0);break}case 29:{QH();break}case 30:{PH(c[g>>2]|0);break}case 31:{QH();break}case 32:{PH(c[g>>2]|0);break}case 33:{QH();break}case 34:{e=c[g+-4>>2]|0;break}case 35:{e=c[g>>2]|0;break}case 38:{e=c[42443]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;i=c[42443]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(RH(p)|0){s=51;break a}c[(c[g>>2]|0)+80>>2]=c[42444];e=Ql(55016,c[4344]|0)|0;c[(c[g>>2]|0)+84>>2]=e;c[42444]=c[g>>2];c[(c[g>>2]|0)+108>>2]=c[c[42445]>>2];e=c[g>>2]|0;break}case 39:{e=c[42443]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;i=c[42443]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(RH(p)|0){s=56;break a}e=c[42444]|0;c[42444]=c[e+80>>2];break}case 40:{e=c[g>>2]|0;break}case 41:{e=c[g+-4>>2]|0;break}case 42:{e=c[g+-4>>2]|0;break}case 43:{e=c[g+-4>>2]|0;break}case 44:{e=c[g+-4>>2]|0;break}case 45:{e=c[g+-4>>2]|0;break}case 48:{e=c[g>>2]|0;break}case 49:{e=c[g>>2]|0;break}case 50:{a[(c[g+-8>>2]|0)+12>>0]=1;e=c[g>>2]|0;break}case 51:{SH();break}case 52:{e=TH()|0;break}case 53:{e=c[g>>2]|0;break}case 54:{e=c[g>>2]|0;break}case 55:{e=(c[g+-8>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[g>>2]|0;break}case 56:{UH(c[g+-4>>2]|0,c[g>>2]|0,1);break}case 57:{e=c[g+-12>>2]|0;break}case 58:{UH(c[g+-4>>2]|0,c[g>>2]|0,2);break}case 59:{e=c[g+-12>>2]|0;break}case 60:{UH(c[g+-4>>2]|0,c[g>>2]|0,3);break}case 61:{e=c[g+-12>>2]|0;break}case 62:{UH(c[g>>2]|0,MH()|0,2);break}case 63:{e=c[g+-8>>2]|0;break}case 64:{e=c[g+-4>>2]|0;break}case 65:{e=c[g>>2]|0;break}default:{}}while(0);i=0-j|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[125260+h>>0]|0)+-41|0;p=b[i>>1]|0;h=p+(b[58590+(e<<1)>>1]|0)|0;if(h>>>0<272?(a[124428+h>>0]|0)==(p|0):0){e=a[124700+h>>0]|0;j=q;h=i;break}e=a[125330+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==26){LH();e=1;s=96}else if((s|0)==51){cI(125158);LH();e=1;s=96}else if((s|0)==56){cI(125209);LH();e=1;s=96}else if((s|0)==95){cI(125382);e=2;s=96}if((s|0)==96)if((f|0)!=(r|0))_I(f);l=t;return e|0}function KH(b,d){b=b|0;d=d|0;var e=0;e=vw(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function LH(){var a=0,b=0;a=c[42444]|0;b=c[42442]|0;if(b|0){EF(b,1);c[42442]=0}c[13767]=62;while(1){if(!a)break;b=c[a+80>>2]|0;YH(a);a=b}c[13767]=51;c[13776]=63;b=c[42447]|0;bb[c[b>>2]&31](b,0,64)|0;c[13776]=51;c[13785]=64;b=c[42448]|0;bb[c[b>>2]&31](b,0,64)|0;c[13785]=51;$H();return}function MH(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[42448]|0;f=vw(40)|0;if(Sl(c[42447]|0)|0)OH(0);a=Sl(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=vw(a*24|0)|0;a=0;d=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=bb[c[e>>2]&31](e,d,8)|0}}while(0);bb[c[a>>2]&31](e,0,64)|0;return f|0}function NH(b){b=b|0;var d=0,e=0,f=0;e=vw(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){dm(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=GL(b)|0;c[e+12>>2]=c[c[42445]>>2];f=c[42447]|0;bb[c[f>>2]&31](f,e,1)|0;return}function OH(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=vw(32)|0;j=c[42447]|0;e=Sl(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=vw(56)|0;b[i+12>>1]=1;h=GL(174181)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[42445]>>2]}else{b[i+12>>1]=e;c[k>>2]=vw(e*56|0)|0;d=0;e=Ol(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);bb[c[j>>2]&31](j,0,64)|0;k=c[42448]|0;bb[c[k>>2]&31](k,i,1)|0;return}function PH(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=vw(8)|0;f=c[c[42445]>>2]|0;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[42446]|0)+144>>2]|0;c[i>>2]=bb[c[f>>2]&31](f,g,1)|0;c[i+4>>2]=c[42445];c[42445]=i;l=j;return}function QH(){var a=0,b=0;b=c[42445]|0;a=c[b+4>>2]|0;_I(b);c[42445]=a;return}function RH(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function SH(){var b=0,d=0,e=0;e=Ql(55052,c[4344]|0)|0;b=c[42444]|0;d=vw(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;bb[c[e>>2]&31](e,d,1)|0;return}function TH(){var a=0;a=c[(c[42444]|0)+84>>2]|0;return bb[c[a>>2]&31](a,0,256)|0}function UH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=vw(16)|0;f=c[42444]|0;h=c[f+84>>2]|0;h=c[(bb[c[h>>2]&31](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;bb[c[h>>2]&31](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function VH(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function WH(a,b,d){a=a|0;b=b|0;d=d|0;Kl(c[b+8>>2]|0)|0;_I(b);return}function XH(a,b,d){a=a|0;b=b|0;d=d|0;aI(c[b+8>>2]|0);_I(b);return}function YH(a){a=a|0;Kl(c[a+84>>2]|0)|0;BF(a);_I(a);return}function ZH(a,b,d){a=a|0;b=b|0;d=d|0;_I(c[b+8>>2]|0);_I(b);return}function _H(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;_I(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}_I(c[h>>2]|0)}_I(d);return}function $H(){var a=0,b=0;a=c[42445]|0;while(1){b=c[a+4>>2]|0;if(!b)break;_I(a);a=b}return}function aI(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{YH(c[d>>2]|0);break}case 2:{CF(c[d>>2]|0);break}default:{}}BF(b);_I(b);return}function bI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[42445]=g;c[42444]=0;c[42442]=0;c[42446]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[42447]=Ql(55088,c[4344]|0)|0;c[42448]=Ql(55124,c[4344]|0)|0;cm(e,128,f+24|0);c[42443]=e;if(!(eI(a,e,d)|0)){JH()|0;c[b>>2]=fI()|0;a=c[42442]|0}else{c[b>>2]=2;a=0}Kl(c[42447]|0)|0;Kl(c[42448]|0)|0;c[42447]=0;c[42448]=0;c[42445]=0;gm(e);l=f;return a|0}function cI(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(a[169796]|0)){a[169796]=1;c[d>>2]=b;c[d+4>>2]=0;_l(1,125399,d)|0;dI()}else{l=e;return}}function dI(){Ta()}function eI(a,b,d){a=a|0;b=b|0;d=d|0;a=l;l=l+16|0;if(!(c[42450]|0)){_l(0,125415,a)|0;c[42450]=(c[42450]|0)+1}l=a;return 1}function fI(){return 1}function gI(){return -1}function hI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=ZI(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=RN(169804,1,j|0,s|0)|0;j=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=SN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1)d=z;else d=0;while(1){if(d|0){d=-1;break}o=0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];ga(26,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=SN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ga(26,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=SN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[42490]=0;o=0;fa(93,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=SN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue}g=c[42491]|0;d=c[42490]|0;c[42490]=d+1;d=g+(d<<4)|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];o=0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=da(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=SN(c[g>>2]|0,s|0,j|0)|0;if(!h)Ua(g|0,p|0);z=p}else h=-1;if((h|0)==1)d=z;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[42490];c[f>>2]=c[42491];d=0}_I(s|0);l=u;return d|0}function iI(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];i=f*f+d*d;g=+C(+i);if(i>1.0e-06){h[b>>3]=d/g;h[e>>3]=f/g};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function jI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42494]|0)<(a|0)){b=c[42491]|0;if(!b){e=ZI(a<<4)|0;c[42491]=e;if(!e){e=c[13918]|0;c[d>>2]=125476;c[d+4>>2]=531;c[d+8>>2]=125611;zL(e,125484,d)|0;Ua(169804,1)}}else{d=aJ(b,a<<4)|0;c[42491]=d;if(!d){d=c[13918]|0;c[e>>2]=125476;c[e+4>>2]=537;c[e+8>>2]=125629;zL(d,125484,e)|0;Ua(169804,1)}}c[42494]=a}l=f;return}function kI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[42493]|0;do if((c[42492]|0)<(e|0)){if(!i){i=ZI(e*40|0)|0;c[42493]=i;if(!i){i=-1;break}}else{i=aJ(i,e*40|0)|0;c[42493]=i;if(!i){i=-1;break}}c[42492]=e;k=6}else k=6;while(0);if((k|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=+lI(I,J)+j;h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+mI(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];nI(x,J,v);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];S=i+(k*40|0)+24|0;v=+oI(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];nI(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];pI(d,e,i,I,J,G,A,H,C);c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[q+12>>2]=c[G+12>>2];c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(qI(a,b,q,w,I,J,d,e)|0)){c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[J+8>>2]=c[A+8>>2];c[J+12>>2]=c[A+12>>2];nI(z,J,.3333333333333333);c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];rI(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];nI(D,J,.3333333333333333);c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];sI(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[42493]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;T=+h[q+(k*40|0)>>3];U=+tI(T);V=+mI(T);W=+oI(T);T=+uI(T);h[Q>>3]=V*v+r*U+W*t+s*T;h[n>>3]=W*p+V*u+o*U+m*T;S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+lI(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];sI(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];iI(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];sI(O,I,J);c[J>>2]=c[O>>2];c[J+4>>2]=c[O+4>>2];c[J+8>>2]=c[O+8>>2];c[J+12>>2]=c[O+12>>2];iI(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];rI(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];iI(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];kI(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];kI(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function lI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[b>>3]-+h[a>>3];d=+h[b+8>>3]-+h[a+8>>3];return +(+C(+(d*d+c*c)))}function mI(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(a*3.0))}function nI(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function oI(a){a=+a;return +(a*a*3.0*(1.0-a))}function pI(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+80|0;u=G;r=G+96|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];H=+AI(v,B)+x;J=d+(q*40|0)+24|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=+AI(v,B)+A;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=+AI(v,B)+y;L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+BI(+h[M>>3]);c[B>>2]=c[a>>2];c[B+4>>2]=c[a+4>>2];c[B+8>>2]=c[a+8>>2];c[B+12>>2]=c[a+12>>2];nI(s,B,I);I=+CI(+h[M>>3]);c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];nI(t,B,I);c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];rI(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];sI(u,v,B);c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];I=+AI(v,B)+w;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];q=q+1|0;w=I;x=H;y=o;z=+AI(v,B)+z;A=p}o=y*x-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(y*w-A*z)/o,n=(x*z-A*w)/o,!(p<1.0e-06|m<=0.0|n<=0.0)):0))F=6;if((F|0)==6){c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];m=+lI(v,B)*.3333333333333333;n=m};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];nI(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2];c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];nI(D,B,n);c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];l=G;return}function qI(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;D=m*.3333333333333333;h[x>>3]=D*w+y;h[q>>3]=D*p+u;D=k*.3333333333333333;h[t>>3]=r-D*s;h[e>>3]=o-D*n;h[f>>3]=r;h[g>>3]=o;if(d?(D=+vI(B,4),D<+vI(i,j)+-.001):0){d=0;break}if(wI(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){jI((c[42490]|0)+4|0);e=c[42491]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[42490]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[42490]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){jI((c[42490]|0)+4|0);e=c[42491]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[42490]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[42490]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function rI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function sI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function tI(a){a=+a;a=1.0-a;return +(a*a*a)}function uI(a){a=+a;return +(a*a*a)}function vI(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;e=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];f=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=+C(+(f*f+e*e))+c;d=d+1|0}return +c}function wI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;y=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];n=xI(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(x=s*s*s,E=s*3.0,D=1.0-s,s=E*s*D,v=D*D,E=v*E,D=v*D,v=+h[y>>3]*E+ +h[d>>3]*D+ +h[z>>3]*s+ +h[A>>3]*x,x=+h[g>>3]*E+ +h[B>>3]*D+ +h[i>>3]*s+ +h[j>>3]*x,s=v-o,D=x-p,!(D*D+s*s<.001)):0)?(E=v-q,D=x-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function xI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+96|0;s=v+48|0;t=v+24|0;k=v;u=v+80|0;p=+h[b>>3];g=+h[b+16>>3]-p;q=+h[b+8>>3];j=+h[b+24>>3]-q;c[u>>2]=0;a:do if(!(g==0.0)){j=j/g;m=a+16|0;n=a+32|0;o=a+48|0;yI(+h[a+8>>3]-+h[a>>3]*j,+h[a+24>>3]-+h[m>>3]*j,+h[a+40>>3]-+h[n>>3]*j,+h[a+56>>3]-+h[o>>3]*j,s);h[s>>3]=j*p-q+ +h[s>>3];e=UI(s,t)|0;if((e|0)==4)b=4;else{f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/g;b=0;while(1){if((b|0)>=(e|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(yI(+h[a>>3],+h[m>>3],+h[n>>3],+h[o>>3],s),q=(+h[s>>3]-p+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,q>=0.0&q<=1.0):0)zI(j,d,u);b=b+1|0}b=c[u>>2]|0}}else{yI(+h[a>>3],+h[a+16>>3],+h[a+32>>3],+h[a+48>>3],s);h[s>>3]=+h[s>>3]-p;r=UI(s,t)|0;if(!(j==0.0)){if((r|0)==4){b=4;break}m=a+8|0;n=a+24|0;o=a+40|0;e=a+56|0;f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/j;b=0;while(1){if((b|0)>=(r|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(yI(+h[m>>3],+h[n>>3],+h[o>>3],+h[e>>3],s),p=(+h[s>>3]-q+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,p>=0.0&p<=1.0):0)zI(j,d,u);b=b+1|0}b=c[u>>2]|0;break}yI(+h[a+8>>3],+h[a+24>>3],+h[a+40>>3],+h[a+56>>3],s);h[s>>3]=+h[s>>3]-q;i=UI(s,k)|0;b=(i|0)==4;b:do if((r|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;zI(+h[k+(b<<3)>>3],d,u);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(r|0))break b;zI(+h[t+(b<<3)>>3],d,u);b=b+1|0}}else e=0;while(1){if((e|0)>=(r|0))break b;f=t+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[k+(b<<3)>>3])zI(g,d,u);b=b+1|0}e=e+1|0}}while(0);b=c[u>>2]|0}while(0);l=v;return b|0}function yI(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;h[e+24>>3]=d-a+(b-c)*3.0;h[e+16>>3]=(c+a)*3.0-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function zI(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function AI(a,b){a=a|0;b=b|0;return +(+h[b+8>>3]*+h[a+8>>3]+ +h[b>>3]*+h[a>>3])}function BI(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function CI(a){a=+a;return +(a*a*((1.0-a)*3.0+a))}\nfunction sx(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+2288|0;W=Y+208|0;V=Y+192|0;U=Y+176|0;T=Y+160|0;S=Y+144|0;R=Y+128|0;P=Y+112|0;O=Y+96|0;N=Y+80|0;M=Y+64|0;L=Y+56|0;K=Y+48|0;X=Y+32|0;Q=Y+24|0;J=Y;G=Y+1264|0;H=Y+224|0;I=d+16|0;C=(e[(c[I>>2]|0)+178>>1]|0)>2;Fv(1);jx(d);cm(H,1024,Y+240|0);tB(d,1,87657,174181)|0;tB(d,1,87661,174181)|0;c[42190]=tB(d,1,96043,174181)|0;c[42189]=tB(d,1,96049,174181)|0;tB(d,2,87657,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0;if(i&16){tB(d,1,87667,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&1){tB(d,2,87671,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&32){tB(d,2,87667,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&2){tB(d,2,87674,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&4){tB(d,2,87682,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(!(i&8)){v=0;w=0;x=0}else{x=tB(d,0,87671,174181)|0;w=tB(d,0,87690,174181)|0;v=tB(d,0,87697,174181)|0}z=tB(d,0,87705,174181)|0;A=H+4|0;B=H+8|0;u=0;i=0;y=co(d)|0;while(1){if(!y)break;t=y+16|0;k=c[t>>2]|0;o=+h[k+16>>3];j=(c[42183]|0)==0;if(C){if(j)m=+h[k+24>>3];else m=+h[20895]-+h[k+24>>3];q=+h[(c[k+132>>2]|0)+16>>3]*72.0;h[J>>3]=o;h[J+8>>3]=m;h[J+16>>3]=q;pL(G,87708,J)|0;fm(H,G)|0;j=3;while(1){if((j|0)>=(e[(c[I>>2]|0)+178>>1]|0))break;h[Q>>3]=+h[(c[(c[t>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;pL(G,87723,Q)|0;fm(H,G)|0;j=j+1|0}j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;s=c[H>>2]|0;c[A>>2]=s;Km(y,87657,s)|0;s=y}else{if(j)m=+h[k+24>>3];else m=+h[20895]-+h[k+24>>3];h[X>>3]=o;h[X+8>>3]=m;pL(G,87729,X)|0;Km(y,87657,G)|0;s=y}h[K>>3]=+h[(c[t>>2]|0)+80>>3]*.013888888888888888;pL(G,87652,K)|0;Cm(s,c[42189]|0,G)|0;j=c[t>>2]|0;h[L>>3]=(+h[j+96>>3]+ +h[j+88>>3])*.013888888888888888;pL(G,87652,L)|0;Cm(s,c[42190]|0,G)|0;j=c[t>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){q=+h[k+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[M>>3]=+h[k+56>>3];h[M+8>>3]=q;pL(G,87729,M)|0;Km(s,87667,G)|0;j=c[t>>2]|0}if(xJ(c[c[j+8>>2]>>2]|0,91264)|0){if(c[42214]|0?(Oy(y)|0)<<24>>24:0){k=c[(c[t>>2]|0)+12>>2]|0;r=k+8|0;j=c[r>>2]|0;if((j|0)<3){j=Im(s,87739)|0;if(!j)j=8;else j=rM(j)|0;j=(j|0)<3?8:j}p=k+44|0;q=1.0/+(j|0);n=0;while(1){if((n|0)>=(j|0))break;if((n|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32}if((c[r>>2]|0)>2){k=c[p>>2]|0;if(!(c[42183]|0))m=+h[k+(n<<4)+8>>3]*.013888888888888888;else m=+h[20896]-+h[k+(n<<4)+8>>3]*.013888888888888888;h[N>>3]=+h[k+(n<<4)>>3]*.013888888888888888;h[N+8>>3]=m;pL(G,87752,N)|0}else{k=c[t>>2]|0;m=q*+(n|0)*6.283185307179586;o=+h[k+32>>3]*.5*+E(+m);if(!(c[42183]|0))m=+h[k+40>>3]*.5*+F(+m);else m=+h[20896]-+h[k+40>>3]*.5*+F(+m);h[O>>3]=o;h[O+8>>3]=m;pL(G,87752,O)|0}fm(H,G)|0;n=n+1|0}k=c[42214]|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;Cm(s,k,t)|0}}else{tx(y,c[j+12>>2]|0,H);hm(H)|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;Km(s,87661,t)|0}a:do if((c[42181]|0)>0){t=Pm(d,y)|0;j=u;while(1){if(!t)break a;s=t+16|0;k=c[s>>2]|0;do if((a[k+112>>0]|0)!=6?(D=c[k+8>>2]|0,(D|0)!=0):0){r=0;k=D;while(1){if((r|0)>=(c[k+4>>2]|0))break;if((r|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=59;k=c[(c[s>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(r*48|0)+8>>2]|0){if(!(c[42183]|0))m=+h[k+(r*48|0)+24>>3];else m=+h[20895]-+h[k+(r*48|0)+24>>3];h[P>>3]=+h[k+(r*48|0)+16>>3];h[P+8>>3]=m;pL(G,87762,P)|0;fm(H,G)|0;i=1;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}if(c[k+(r*48|0)+12>>2]|0){if(!(c[42183]|0))m=+h[k+(r*48|0)+40>>3];else m=+h[20895]-+h[k+(r*48|0)+40>>3];h[R>>3]=+h[k+(r*48|0)+32>>3];h[R+8>>3]=m;pL(G,87775,R)|0;fm(H,G)|0;j=1}p=0;while(1){k=c[(c[s>>2]|0)+8>>2]|0;n=c[k>>2]|0;if((p|0)>=(c[n+(r*48|0)+4>>2]|0))break;if((p|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}else k=n;u=c[k+(r*48|0)>>2]|0;q=+h[u+(p<<4)+8>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[S>>3]=+h[u+(p<<4)>>3];h[S+8>>3]=q;pL(G,87729,S)|0;fm(H,G)|0;p=p+1|0}r=r+1|0}k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;k=c[A>>2]|0}a[k>>0]=0;k=c[H>>2]|0;c[A>>2]=k;Km(t,87657,k)|0;k=c[s>>2]|0;n=c[k+96>>2]|0;if(n){q=+h[n+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[T>>3]=+h[n+56>>3];h[T+8>>3]=q;pL(G,87729,T)|0;Km(t,87671,G)|0;k=c[s>>2]|0}n=c[k+108>>2]|0;do if(n){if(!(a[n+81>>0]|0))break;q=+h[n+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[U>>3]=+h[n+56>>3];h[U+8>>3]=q;pL(G,87729,U)|0;Km(t,87667,G)|0;k=c[s>>2]|0}while(0);n=c[k+100>>2]|0;if(n){q=+h[n+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[V>>3]=+h[n+56>>3];h[V+8>>3]=q;pL(G,87729,V)|0;Km(t,87674,G)|0;k=c[s>>2]|0}k=c[k+104>>2]|0;if(!k)break;q=+h[k+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[W>>3]=+h[k+56>>3];h[W+8>>3]=q;pL(G,87729,W)|0;Km(t,87682,G)|0}while(0);t=Rm(d,t)|0}}else j=u;while(0);u=j;y=eo(d,y)|0}ux(d,z,x,w,v);gm(H);if(b[(c[I>>2]|0)+136>>1]&1)nB(d);c[f>>2]=i;c[g>>2]=u;Fv(0);l=Y;return}function tx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+1056|0;k=n;j=n+32|0;m=b+48|0;if(!(c[m>>2]|0)){e=c[a+16>>2]|0;i=+h[e+16>>3];if(!(c[42183]|0)){g=+h[e+24>>3];f=g+ +h[b+24>>3];g=g+ +h[b+40>>3]}else{g=+h[e+24>>3];f=+h[20895]-+h[b+24>>3]-g;g=+h[20895]-+h[b+40>>3]-g}o=i+ +h[b+32>>3];h[k>>3]=i+ +h[b+16>>3];h[k+8>>3]=f;h[k+16>>3]=o;h[k+24>>3]=g;pL(j,87813,k)|0;fm(d,j)|0}b=b+56|0;e=0;while(1){if((e|0)>=(c[m>>2]|0))break;tx(a,c[(c[b>>2]|0)+(e<<2)>>2]|0,d);e=e+1|0}l=n;return}function ux(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+1088|0;o=s+56|0;q=s+48|0;p=s+32|0;j=s;n=s+64|0;r=b+16|0;i=c[r>>2]|0;if(!(c[42183]|0)){k=+h[i+24>>3];m=+h[i+40>>3]}else{m=+h[20895];k=m-+h[i+24>>3];m=m-+h[i+40>>3]}t=+h[i+32>>3];h[j>>3]=+h[i+16>>3];h[j+8>>3]=k;h[j+16>>3]=t;h[j+24>>3]=m;pL(n,87788,j)|0;Cm(b,d,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){t=+h[i+64>>3];t=(c[42183]|0)==0?t:+h[20895]-t;h[p>>3]=+h[i+56>>3];h[p+8>>3]=t;pL(n,87729,p)|0;Cm(b,e,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;t=+h[i+32>>3];h[q>>3]=+h[i+24>>3]*.013888888888888888;pL(n,87808,q)|0;Cm(b,f,n)|0;h[o>>3]=t*.013888888888888888;pL(n,87808,o)|0;Cm(b,g,n)|0;i=1}else i=1;while(1){j=c[r>>2]|0;if((i|0)>(c[j+180>>2]|0))break;ux(c[(c[j+184>>2]|0)+(i<<2)>>2]|0,d,e,f,g);i=i+1|0}l=s;return}function vx(a){a=a|0;var b=0;b=l;l=l+16|0;sx(a,b,b+4|0);l=b;return}function wx(){return Ql(19796,c[4345]|0)|0}function xx(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function yx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function zx(a){a=a|0;Kl(a)|0;return}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=Bx(e)|0;if((bb[c[a>>2]&31](a,b,1)|0)!=(b|0))_I(b);l=d;return}function Bx(a){a=a|0;var b=0,d=0,e=0;b=vw(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function Cx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=Bx(f)|0;if((bb[c[a>>2]&31](a,b,1)|0)!=(b|0))_I(b);l=e;return}function Dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(bb[c[a>>2]&31](a,e,4)|0)!=0&1;l=d;return b|0}function Ex(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(bb[c[a>>2]&31](a,f,4)|0)!=0&1;l=e;return d|0}function Fx(a){a=a|0;return Sl(a)|0}function Gx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=vw((Sl(a)|0)<<3)|0;b=d;a=Ol(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function Hx(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+48|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+80|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];if((b+-1|0)>>>0<2){Ix(j,e,i);c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];Jx(d,q);p=d+16|0;Ix(k,g,f);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];Jx(m,q);c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2]}else{Ix(n,e,f);c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];Jx(d,q);n=d+16|0;Ix(o,g,i);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];Jx(p,q);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];Jx(r,q);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Hx(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function Ix(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[42309]|0)*90|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];aw(e,g,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];h[b>>3]=+h[b>>3]-+h[20897];e=b+8|0;h[e>>3]=+h[e>>3]-+h[20898];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function Kx(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1168|0;s=w+144|0;v=w+96|0;u=w+64|0;t=w+48|0;o=w+32|0;p=w+16|0;q=w;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;r=b+16|0;m=c[(c[r>>2]|0)+116>>2]|0;c[42309]=m&3;m=m&1;a[174079]=m;if(!(m<<24>>24))Mx(b);else Lx(b);Nx(b);m=c[r>>2]|0;e=c[m+12>>2]|0;do if(e|0?(a[e+81>>0]|0)==0:0){g=e+24|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];n=+h[t>>3]+16.0;h[t>>3]=n;g=t+8|0;f=+h[g>>3]+8.0;h[g>>3]=f;g=(a[m+275>>0]&1)!=0;if(a[174079]|0){if(g){i=m+32|0;h[i>>3]=+h[i>>3]+f}else{i=m+16|0;h[i>>3]=+h[i>>3]-f}g=m+40|0;f=+h[g>>3];i=m+24|0;j=+h[i>>3];k=f-j;if(!(n>k))break;n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n;break}i=(c[42309]|0)==0;do if(g)if(i){i=m+40|0;h[i>>3]=+h[i>>3]+f;break}else{i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else if(i){i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else{i=m+40|0;h[i>>3]=+h[i>>3]+f;break}while(0);g=m+32|0;f=+h[g>>3];i=m+16|0;j=+h[i>>3];k=f-j;if(n>k){n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n}}while(0);if(d){switch(c[42309]|0){case 0:{q=m+16|0;c[41794]=c[q>>2];c[41795]=c[q+4>>2];c[41796]=c[q+8>>2];c[41797]=c[q+12>>2];break}case 1:{Ix(o,-+h[m+40>>3],+h[m+16>>3]);c[41794]=c[o>>2];c[41795]=c[o+4>>2];c[41796]=c[o+8>>2];c[41797]=c[o+12>>2];break}case 2:{Ix(p,+h[m+16>>3],-+h[m+40>>3]);c[41794]=c[p>>2];c[41795]=c[p+4>>2];c[41796]=c[p+8>>2];c[41797]=c[p+12>>2];break}case 3:{Ix(q,+h[m+24>>3],+h[m+16>>3]);c[41794]=c[q>>2];c[41795]=c[q+4>>2];c[41796]=c[q+8>>2];c[41797]=c[q+12>>2];break}default:{}}Ox(b);e=c[(c[r>>2]|0)+12>>2]|0}if(e|0?(a[e+81>>0]|0)==0:0){c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];Px(b,s)}if(!0){l=w;return}if(!(a[174079]|0)){n=+h[20898];k=+h[20897];h[v>>3]=n;h[v+8>>3]=k;h[v+16>>3]=n;h[v+24>>3]=k;h[v+32>>3]=-k;h[v+40>>3]=-n;pL(s,88049,v)|0}else{k=+h[20897];n=+h[20898];h[u>>3]=k;h[u+8>>3]=n;h[u+16>>3]=k;h[u+24>>3]=n;pL(s,87834,u)|0}GL(s)|0;Ta()}function Lx(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=b+16|0;if(((so(b)|0)!=(b|0)?(g=c[j>>2]|0,i=c[g+12>>2]|0,(i|0)!=0):0)?(a[i+81>>0]|0)==0:0){d=a[g+275>>0]|0;if(!(d&1)){f=+h[g+16>>3]+ +h[g+96>>3]*.5;b=g+104|0}else{f=+h[g+32>>3]-+h[g+64>>3]*.5;b=g+72|0}e=+h[b>>3];b=d<<24>>24;do if(!(b&4))if(!(b&2)){e=(+h[g+40>>3]+ +h[g+24>>3])*.5;break}else{e=+h[g+40>>3]-e*.5;break}else e=+h[g+24>>3]+e*.5;while(0);h[i+56>>3]=f;h[i+64>>3]=e;a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[j>>2]|0;if((b|0)>(c[d+180>>2]|0))break;Lx(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function Mx(b){b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=b+16|0;if(((so(b)|0)!=(b|0)?(i=c[k>>2]|0,j=c[i+12>>2]|0,(j|0)!=0):0)?(a[j+81>>0]|0)==0:0){d=a[i+275>>0]|0;if(!(d&1)){g=+h[i+24>>3]+ +h[i+56>>3]*.5;b=i+48|0}else{g=+h[i+40>>3]-+h[i+88>>3]*.5;b=i+80|0}f=+h[b>>3];b=d<<24>>24;do if(!(b&4)){e=+h[i+16>>3];if(!(b&2)){e=(+h[i+32>>3]+e)*.5;break}else{e=e+f*.5;break}}else e=+h[i+32>>3]-f*.5;while(0);h[j+56>>3]=e;h[j+64>>3]=g;a[(c[(c[k>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[k>>2]|0;if((b|0)>(c[d+180>>2]|0))break;Mx(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function Nx(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+416|0;Q=S+376|0;K=S+352|0;J=S+312|0;I=S+288|0;H=S+248|0;M=S+200|0;B=S+152|0;O=S+96|0;p=S+488|0;C=S+456|0;D=S+424|0;E=S+384|0;F=S+360|0;G=S+320|0;w=S+296|0;x=S+256|0;y=S+232|0;z=S+168|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;o=e+16|0;u=c[o>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[42182]|0)!=0:0)){u=g<<16>>16==0;n=co(e)|0;h=0;j=0;i=0;while(1){if(!n)break;g=c[(c[n+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);m=Pm(e,n)|0;g=j;while(1){if(!m)break;k=c[m+16>>2]|0;j=c[k+108>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);m=Rm(e,m)|0}n=eo(e,n)|0;j=g}if(!(a[(c[o>>2]|0)+113>>0]&8))o=0;else o=Rx(e)|0;t=j+i|0;if(t|0){q=h+j+o+(mn(e)|0)|0;r=vw(q*40|0)|0;s=vw(t*40|0)|0;Ix(M,2147483647.0,2147483647.0);g=M+16|0;Ix(p,-2147483647.0,-2147483647.0);c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];g=s;i=r;n=co(e)|0;while(1){if(!n)break;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Sx(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|0)){c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[L+8>>2]=c[B+8>>2];c[L+12>>2]=c[B+12>>2];Ux(h,i,g,0,L);g=g+40|0;break}else{i=i+40|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(D,h,i,L);c[M>>2]=c[D>>2];c[M+4>>2]=c[D+4>>2];c[M+8>>2]=c[D+8>>2];c[M+12>>2]=c[D+12>>2];c[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=Pm(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){$z(F,e,m);c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];Ux(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];_l(0,88861,H)|0;break a}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(E,j,i,L);c[M>>2]=c[E>>2];c[M+4>>2]=c[E+4>>2];c[M+8>>2]=c[E+8>>2];c[M+12>>2]=c[E+12>>2];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){Vx(w,m);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];Ux(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];_l(0,88896,I)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(G,j,i,L);c[M>>2]=c[G>>2];c[M+4>>2]=c[G+4>>2];c[M+8>>2]=c[G+8>>2];c[M+12>>2]=c[G+12>>2];c[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){Wx(y,m);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];Ux(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];_l(0,88936,J)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(x,j,i,L);c[M>>2]=c[x>>2];c[M+4>>2]=c[x+4>>2];c[M+8>>2]=c[x+8>>2];c[M+12>>2]=c[x+12>>2];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){$z(A,e,m);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];Ux(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];_l(0,88976,K)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=Rm(e,m)|0}n=eo(e,n)|0}if(o|0){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];c[f+16>>2]=c[M+16>>2];c[f+20>>2]=c[M+20>>2];c[f+24>>2]=c[M+24>>2];c[f+28>>2]=c[M+28>>2];c[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));Xx(N,e,L);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];c[M+16>>2]=c[N+16>>2];c[M+20>>2]=c[N+20>>2];c[M+24>>2]=c[N+24>>2];c[M+28>>2]=c[N+28>>2]}a[O+32>>0]=HA(e,ym(e,0,89012,0)|0,1)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[O+16>>2]=c[M+16>>2];c[O+20>>2]=c[M+20>>2];c[O+24>>2]=c[M+24>>2];c[O+28>>2]=c[M+28>>2];zE(r,q,s,t,O)|0;if(0)Yx(r,q,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;Zx(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];bB(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!0){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;_l(0,89057,R)|0}}else{R=c[13918]|0;c[Q>>2]=f;c[Q+4>>2]=t;zL(R,89024,Q)|0}_I(r);_I(s)}}l=S;return}function Ox(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[20897]!=0.0|+h[20898]!=0.0|(c[42309]|0)!=0){d=co(a)|0;while(1){if(!d)break;if(c[42309]|0)KB(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];Jx(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];Jx(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[42181]|0)==1){b=Pm(a,d)|0;while(1){if(!b)break a;Qx(b);b=Rm(a,b)|0}}while(0);d=eo(a,d)|0}Hx(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function Px(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=g<<24>>24;do if(!(b&4)){e=+h[j+16>>3];if(!(b&2)){f=(+h[j+32>>3]+e)*.5;break}else{f=+h[d>>3]*.5+e;break}}else f=+h[j+32>>3]-+h[d>>3]*.5;while(0);if(!(g&1))e=+h[d+8>>3]*.5+ +h[j+24>>3];else e=+h[j+40>>3]-+h[d+8>>3]*.5;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function Qx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[174076]|0)==0?(a[d+112>>0]|0)!=6:0){q=Dn(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=Dn(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;_l(1,88844,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Jx(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Jx(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Jx(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];Jx(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];Jx(n,q);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];d=c[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];Jx(o,q);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Jx(r,q);c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}}l=s;return}function Rx(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((so(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(Rx(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function Sx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[174079]|0)==0;d=d+16|0;m=c[d>>2]|0;k=+h[(n?m+32|0:m+40|0)>>3];h[e+16>>3]=k*72.0;j=+h[(n?m+40|0:m+32|0)>>3];h[e+24>>3]=j*72.0;d=(c[d>>2]|0)+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*36.0;d=e+8|0;h[d>>3]=+h[d>>3]-j*36.0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];_x(b,e,i);l=g;return}function Tx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[174079]|0)==0;m=d+24|0;k=+h[(n?m:d+32|0)>>3];h[e+16>>3]=k;j=+h[(n?d+32|0:m)>>3];h[e+24>>3]=j;d=d+56|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];_x(b,e,i);l=g;return}function Ux(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}if(!(a[174079]|0)){g=b+24|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[b+24>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function Vx(a,b){a=a|0;b=b|0;b=_z(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{b=b+16|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function Wx(a,b){a=a|0;b=b|0;var d=0;b=_z(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}else{d=d+(b*48|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Xx(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((so(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=c[p>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];Tx(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function Yx(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[13918]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;zL(q,89099,o)|0;a:do if(0>=2){XL(89159,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=174181;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;zL(q,89168,p)|0;o=o+1|0;a=a+40|0}XL(89211,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;zL(q,89220,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function Zx(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+8>>3]*.5+ +h[b+24>>3];h[a>>3]=+h[b>>3]*.5+ +h[b+16>>3];h[a+8>>3]=c;return}function _x(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]<j?d:b)>>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]<i?d:b)+8>>3];j=+h[b+16>>3]+j;h[f>>3]=j;i=+h[b+24>>3]+i;h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+8>>3];c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];l=e;return}function $x(a){a=a|0;Kx(a,1);return}function ay(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=RA(Im(a,90560)|0)|0;if(b){b=by(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)*.013888888888888888;h[a+40>>3]=+(d|0)*.013888888888888888;a=vw(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=Dn(a)|0;_l(0,89268,d)|0}l=e;return}function by(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[42310]|0;if(!d){d=Ql(19832,c[4345]|0)|0;c[42310]=d}d=bb[c[d>>2]&31](d,b,512)|0;do if(!d){g=aM(b,123632)|0;if(!g){c[e>>2]=b;_l(0,89317,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(gL(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(cM(f,89345,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(hL(f,89374)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;_l(0,89379,i)|0;d=0}else f=12;if((f|0)==12){q=ww(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[42311]|0;c[42311]=o+1;c[q+12>>2]=o;_L(zN(g)|0,j)|0;o=c[j+36>>2]|0;n=ww(o+1|0)|0;c[q+52>>2]=n;oM(g,0,0)|0;wN(n,o,1,g)|0;a[n+o>>0]=0;o=c[42310]|0;bb[c[o>>2]&31](o,q,1)|0;a[q+16>>0]=d;d=q}LL(g)|0}while(0);l=p;return d|0}function cy(a,b,d){a=a|0;b=b|0;d=d|0;_I(c[b+52>>2]|0);return}function dy(a){a=a|0;_I(c[(c[a+16>>2]|0)+12>>2]|0);return}function ey(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;mr(b,f)|0;mr(b,134901)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=RA(f)|0;if(!e){c[k>>2]=f;_l(0,89418,k)|0;break}g=aM(e,123632)|0;if(!g){c[m>>2]=e;_l(0,89446,m)|0;break}while(1){f=QA(g)|0;if(!f)break;mr(b,f)|0}mr(b,134901)|0;LL(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function fy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){e=d+2|0;if((((pK(e,89474,3)|0)!=0?(pK(e,89478,5)|0)!=0:0)?(pK(e,89484,3)|0)!=0:0)?(pK(e,89488,7)|0)!=0:0){e=37;break b}else g=37;c:while(1){switch(g<<24>>24){case 13:{f=10;break c}case 10:case 0:{f=12;break c}default:{}}g=d+1|0;d=g;g=a[g>>0]|0}if((f|0)==10){e=d+1|0;if((a[e>>0]|0)==10){d=d+2|0;continue a}}else if((f|0)==12)e=d+1|0;d=g<<24>>24==0?d:e;continue a}else e=37;break}default:{}}while(0);d:while(1){switch(e<<24>>24){case 10:case 13:case 0:break d;default:{}}nr(b,e<<24>>24)|0;g=d+1|0;d=g;e=a[g>>0]|0}f=d+1|0;if(e<<24>>24==13?(a[f>>0]|0)==10:0)d=d+2|0;else d=e<<24>>24==0?d:f;nr(b,10)|0}return}function gy(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[42310]|0;a:do if(d|0){d=bb[c[d>>2]&31](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];sr(b,89496,e);mr(b,89514)|0;fy(b,d);mr(b,89532)|0;mr(b,89547)|0}g=c[42310]|0;d=bb[c[g>>2]&31](g,d,8)|0}}while(0);l=f;return}function hy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=zB(b)|0;break}default:{switch(iy(b)|0){case 2:break;case 1:{f=zB(b)|0;break a}default:{f=b;break a}}if(!(c[42312]|0)){_l(0,89559,e)|0;c[42312]=1;f=b}else f=b}}while(0);if(!(c[42313]|0))cm(169252,0,0);d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}c[42314]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}c[42314]=d+1;a[d>>0]=92;break}default:{}}d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}h=a[e>>0]|0;c[42314]=d+1;a[d>>0]=h;e=e+1|0}d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}c[42314]=d+1;a[d>>0]=41;if((f|0)!=(b|0))_I(f);d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}a[d>>0]=0;h=c[42313]|0;c[42314]=h;l=g;return h|0}function iy(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function jy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((DI(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[42318]|0;if((a|0)>(c[42317]|0)){if(!f)a=ww(a<<5)|0;else a=yw(f,a<<5)|0;c[42318]=a;g=c[b>>2]|0;c[42317]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];a=d}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((hI(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];YI(i,m)}a=m+4|0;if(!(ky(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[42319]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function ky(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[42320]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=yw(c[42319]|0,a<<4)|0;c[42319]=b;if(!b){_l(1,89649,d)|0;a=1;break}else{c[42320]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function ly(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;d=c[42321]|0;c[42321]=d+1;do if((d|0)<=0){d=ww(4800)|0;c[42319]=d;if(!d){_l(1,89672,a)|0;a=1;break}c[42320]=300;c[42322]=0;c[42323]=0;if(0){xA();a=0}else a=0}else a=0;while(0);l=b;return a|0}function my(){var a=0,b=0,d=0,e=0.0,f=0,g=0;b=l;l=l+16|0;a=b;d=c[42321]|0;c[42321]=d+-1;if((d|0)<=1?(_I(c[42319]|0),0):0){d=c[13918]|0;g=c[42322]|0;f=c[42323]|0;e=+yA();c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;zL(d,89710,a)|0}l=b;return}function ny(a,b){a=a|0;b=b|0;return oy(a,b,0)|0}function oy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=l;l=l+176|0;G=L+168|0;K=L+128|0;x=L+120|0;v=L+112|0;i=L+104|0;s=L+88|0;n=L+72|0;g=L+64|0;t=L+160|0;I=L+152|0;y=L+144|0;u=L+32|0;w=L;J=L+136|0;c[42322]=(c[42322]|0)+1;H=c[b+80>>2]|0;c[42323]=(c[42323]|0)+H;f=b+88|0;while(1){C=c[f>>2]|0;if(!C){D=4;break}f=c[C+16>>2]|0;if(!(a[f+112>>0]|0)){D=5;break}else f=f+116|0}do if((D|0)==4){_l(1,89753,g)|0;f=0}else if((D|0)==5){B=c[b+84>>2]|0;if(!(py(H,B,b)|0)){g=H<<3;if((g|0)>(c[42324]|0)){f=c[42325]|0;if(!f)f=ww(H<<7)|0;else f=yw(f,H<<7)|0;c[42325]=f;c[42324]=g}a:do if((H|0)>1?+h[B+8>>3]>+h[B+40>>3]:0){f=0;while(1){if((f|0)==(H|0)){p=1;break a}z=B+(f<<5)+24|0;m=+h[z>>3];A=B+(f<<5)+8|0;h[z>>3]=-+h[A>>3];h[A>>3]=-m;f=f+1|0}}else p=0;while(0);r=c[C>>2]&3;z=C+48|0;f=c[((r|0)==3?C:z)+40>>2]|0;A=C+-48|0;if((f|0)==(c[((r|0)==2?C:A)+40>>2]|0)){c[i>>2]=Dn(f)|0;_l(1,89860,i)|0;f=0;break}o=H+-1|0;q=c[42325]|0;r=q;f=0;j=0;b:while(1){if((j|0)>=(H|0)){j=o;n=f;break}if((j|0)>0)g=+h[B+(j<<5)+8>>3]>+h[B+(j+-1<<5)+8>>3]?-1:1;else g=0;if((j|0)<(o|0))i=+h[B+(j+1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else i=0;c:do if((g|0)!=(i|0))if((g|0)==1|(i|0)==-1){g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29;break}else{g=B+(j<<5)+16|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+24|0;D=29;break}else{switch(g|0){case -1:break c;case 0:break;default:{D=28;break b}}g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29}while(0);if((D|0)==29){D=0;h[q+(i<<4)+8>>3]=+h[g>>3];f=f+2|0}j=j+1|0}if((D|0)==28){c[n>>2]=g;c[n+4>>2]=g;c[n+8>>2]=480;_l(1,89795,n)|0;f=0;break}d:while(1){if((j|0)<=-1)break;if((j|0)<(o|0))f=+h[B+(j<<5)+8>>3]>+h[B+(j+1<<5)+8>>3]?-1:1;else f=0;if((j|0)>0)g=+h[B+(j+-1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else g=0;e:do if((f|0)!=(g|0))if((f|0)==1|(g|0)==-1){f=B+(j<<5)|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+8|0;i=2;break}else{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break}else switch(f|0){case 0:{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break e}case -1:{N=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[N>>3];f=B+(j<<5)+8|0;i=n+1|0;h[q+(n<<4)+8>>3]=+h[f>>3];h[q+(i<<4)>>3]=+h[N>>3];N=B+(j<<5)+24|0;M=n+2|0;h[q+(i<<4)+8>>3]=+h[N>>3];i=B+(j<<5)|0;h[q+(M<<4)>>3]=+h[i>>3];g=n+3|0;h[q+(M<<4)+8>>3]=+h[N>>3];h[q+(g<<4)>>3]=+h[i>>3];i=4;break e}default:{D=42;break d}}while(0);h[q+(g<<4)+8>>3]=+h[f>>3];j=j+-1|0;n=n+i|0}if((D|0)==42){c[s>>2]=f;c[s+4>>2]=f;c[s+8>>2]=513;_l(1,89795,s)|0;f=0;break}f:do if(!p)f=0;else{f=0;while(1){if((f|0)>=(H|0)){f=0;break}M=B+(f<<5)+24|0;m=+h[M>>3];N=B+(f<<5)+8|0;h[M>>3]=-+h[N>>3];h[N>>3]=-m;f=f+1|0}while(1){if((f|0)>=(n|0)){f=0;break f}N=q+(f<<4)+8|0;h[N>>3]=-+h[N>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[t>>2]=r;i=t+4|0;c[i>>2]=n;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[b+8>>3];h[u+16>>3]=+h[b+40>>3];h[u+24>>3]=+h[b+48>>3];if((DI(t,u,I)|0)<0){_l(1,89899,v)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[42318]|0;if((g|0)>(c[42317]|0)){if(!f)f=ww(g<<5)|0;else f=yw(f,g<<5)|0;c[42318]=f;g=c[i>>2]|0;c[42317]=g}j=c[42325]|0;i=0;while(1){if((i|0)>=(g|0))break;M=f+(i<<5)|0;N=j+(i<<4)|0;c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];M=f+(i<<5)+16|0;N=i+1|0;v=j+(((N|0)%(g|0)|0)<<4)|0;c[M>>2]=c[v>>2];c[M+4>>2]=c[v+4>>2];c[M+8>>2]=c[v+8>>2];c[M+12>>2]=c[v+12>>2];i=N}if(!(a[b+29>>0]|0)){k=0.0;m=0.0}else{m=+h[b+16>>3];k=+E(+m);m=+F(+m)}h[w+8>>3]=m;h[w>>3]=k;if(!(a[b+69>>0]|0)){k=0.0;m=0.0}else{m=+h[b+56>>3];k=-+E(+m);m=-+F(+m)}h[w+24>>3]=m;h[w+16>>3]=k;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];if((hI(f,g,G,w,y)|0)<0){_l(1,89938,x)|0;f=0;break}}else{c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];YI(G,y)}n=y+4|0;if(!(ky(c[n>>2]|0)|0)){f=0;while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[n>>2]|0;j=c[42319]|0;g=c[y>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}N=j+(f<<4)|0;M=g+(f<<4)|0;c[N>>2]=c[M>>2];c[N+4>>2]=c[M+4>>2];c[N+8>>2]=c[M+8>>2];c[N+12>>2]=c[M+12>>2];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;qy(B,H,c[42319]|0,c[n>>2]|0,f);j=0;while(1){if((j|0)>=(H|0))break;if(+h[B+(j<<5)>>3]==2147483647.0){D=82;break}if(+h[B+(j<<5)+16>>3]==-2147483648.0){D=82;break}j=j+1|0}if((D|0)==82){D=0;N=f<<1;f=N;g=(N|0)>(2147483647/(H|0)|0|0)?15:g}i=(j|0)==(H|0)?0:i;g=g+1|0}if(i<<24>>24){M=Dn(c[((c[C>>2]&3|0)==3?C:z)+40>>2]|0)|0;N=Dn(c[((c[C>>2]&3|0)==2?C:A)+40>>2]|0)|0;c[K>>2]=M;c[K+4>>2]=N;_l(0,89976,K)|0;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];YI(G,J);qy(B,H,c[J>>2]|0,c[J+4>>2]|0,10);_I(c[J>>2]|0)}c[d>>2]=c[n>>2];f=c[42319]|0}else f=0}else f=0}while(0);l=L;return f|0}function py(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0;R=l;l=l+32|0;I=R+16|0;H=R+8|0;k=R;e=0;j=0;while(1){if((j|0)>=(a|0))break;i=b+(j<<5)|0;s=+h[b+(j<<5)+8>>3]-+h[b+(j<<5)+24>>3];if(!((s>=0.0?s:-s)<.01)?(s=+h[i>>3]-+h[b+(j<<5)+16>>3],!((s>=0.0?s:-s)<.01)):0){if((e|0)!=(j|0)){P=b+(e<<5)|0;c[P>>2]=c[i>>2];c[P+4>>2]=c[i+4>>2];c[P+8>>2]=c[i+8>>2];c[P+12>>2]=c[i+12>>2];c[P+16>>2]=c[i+16>>2];c[P+20>>2]=c[i+20>>2];c[P+24>>2]=c[i+24>>2];c[P+28>>2]=c[i+28>>2]}e=e+1|0}j=j+1|0}J=b+16|0;do if(!(+h[b>>3]>+h[J>>3])?(L=b+8|0,N=b+24|0,!(+h[L>>3]>+h[N>>3])):0){P=e+-1|0;M=c[13918]|0;w=0;while(1){if((w|0)>=(P|0))break;D=w+1|0;E=b+(D<<5)|0;f=+h[E>>3];F=b+(D<<5)+16|0;g=+h[F>>3];if(f>g){Q=16;break}A=b+(D<<5)+8|0;m=+h[A>>3];B=b+(D<<5)+24|0;n=+h[B>>3];if(m>n){Q=16;break}G=b+(w<<5)+16|0;v=+h[G>>3]<f;e=v&1;C=b+(w<<5)|0;u=+h[C>>3]>g;a=u&1;z=b+(w<<5)+24|0;t=+h[z>>3]<m;j=t&1;y=b+(w<<5)+8|0;k=+h[y>>3]>n;i=k&1;x=a+e+j+i|0;o=(x|0)!=0;if(!(0==0|o^1)){c[I>>2]=w;c[I+4>>2]=D;zL(M,90176,I)|0;ry(d)}a:do if(o){if(!v)if(!u)if(!t){if(k){k=0;o=e;e=B;i=y;Q=24}}else{k=i;j=0;o=e;e=A;i=z;Q=24}else{k=i;a=0;o=e;e=F;i=C;Q=24}else{k=i;o=0;e=E;i=G;Q=24}if((Q|0)==24){Q=0;w=~~+h[i>>3];h[i>>3]=+h[e>>3];h[e>>3]=+(w|0);i=k;e=o}o=x+-1|0;k=0;while(1){if((k|0)>=(o|0))break a;do if((e|0)!=1){if((a|0)==1){s=+(~~((+h[F>>3]+ +h[C>>3])*.5+.5)|0);h[F>>3]=s;h[C>>3]=s;a=0;break}if((j|0)==1){s=+(~~((+h[A>>3]+ +h[z>>3])*.5+.5)|0);h[A>>3]=s;h[z>>3]=s;j=0;break}if((i|0)==1){s=+(~~((+h[B>>3]+ +h[y>>3])*.5+.5)|0);h[B>>3]=s;h[y>>3]=s;i=0}}else{s=+(~~((+h[E>>3]+ +h[G>>3])*.5+.5)|0);h[E>>3]=s;h[G>>3]=s;e=0}while(0);k=k+1|0}}while(0);p=+h[C>>3];q=+h[G>>3];r=+h[E>>3];s=+h[F>>3];i=sy(~~p,~~q,~~r,~~s)|0;n=+h[y>>3];m=+h[z>>3];g=+h[A>>3];f=+h[B>>3];e=sy(~~n,~~m,~~g,~~f)|0;if(!((i|0)!=0&(e|0)!=0)){w=D;continue}if((i|0)<(e|0)){B=q-p>s-r;w=q<s;h[(B?(w?G:C):w?E:F)>>3]=B?(w?r:s):w?q:p;w=D;continue}else{B=m-n>f-g;w=m<f;h[(B?(w?G:C):w?E:F)+8>>3]=B?(w?g:f):w?m:n;w=D;continue}}if((Q|0)==16){c[H>>2]=D;_l(1,90130,H)|0;ry(d);e=1;break}f=+h[d>>3];g=+h[b>>3];if(!(((!(f<g)?!(f>+h[J>>3]):0)?(K=+h[d+8>>3],!(K<+h[L>>3])):0)?!(K>+h[N>>3]):0)){if(0){XL(90219,42,1,M)|0;ry(d);g=+h[b>>3];f=+h[d>>3]}if(f<g)h[d>>3]=g;else g=f;f=+h[J>>3];if(g>f)h[d>>3]=f;e=d+8|0;g=+h[e>>3];f=+h[L>>3];if(g<f){h[e>>3]=f;g=f}f=+h[N>>3];if(g>f)h[e>>3]=f}i=d+40|0;f=+h[i>>3];e=b+(P<<5)|0;g=+h[e>>3];if(((!(f<g)?!(f>+h[b+(P<<5)+16>>3]):0)?(O=+h[d+48>>3],!(O<+h[b+(P<<5)+8>>3])):0)?!(O>+h[b+(P<<5)+24>>3]):0){e=0;break}if(0){XL(90262,39,1,M)|0;ry(d);g=+h[e>>3];f=+h[i>>3]}if(f<g){h[i>>3]=g;f=g}g=+h[b+(P<<5)+16>>3];if(f>g)h[i>>3]=g;e=d+48|0;f=+h[e>>3];g=+h[b+(P<<5)+8>>3];if(f<g)h[e>>3]=g;else g=f;f=+h[b+(P<<5)+24>>3];if(g>f){h[e>>3]=f;e=0}else e=0}else Q=12;while(0);if((Q|0)==12){_l(1,90085,k)|0;ry(d);e=1}l=R;return e|0}function qy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=O(e,b)|0;t=1.0/+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}v=t*+(g|0);m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];w=+h[r>>3];z=+h[i>>3];x=+h[j>>3];m=(y-m)*v+m;n=(w-n)*v+n;y=(z-y)*v+y;w=(x-w)*v+w;m=(y-m)*v+m;n=(w-n)*v+n;m=((z-y+(+h[k>>3]-z)*v)*v+y-m)*v+m;n=((x-w+(+h[l>>3]-x)*v)*v+w-n)*v+n;f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]<m)h[e>>3]=m}f=f+1|0}g=g+1|0}}return}function ry(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[13918]|0;f=b+80|0;c[g>>2]=c[f>>2];zL(e,90302,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;zL(e,90313,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?90344:90356;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;zL(e,90372,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?90344:90356;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;zL(e,90423,j)|0;l=m;return}function sy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function ty(a,b){a=a|0;b=b|0;return oy(a,b,1)|0}function uy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,P=0,Q=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;G=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;D=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;E=c[((w|0)==2?j:k)+40>>2]|0;t=G+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;F=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[F>>2];c[A+4>>2]=c[F+4>>2];c[A+8>>2]=c[F+8>>2];c[A+12>>2]=c[F+12>>2];vy(r,z,A);c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];r=G+32|0;F=G+48|0;w=(c[E+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];vy(y,z,A);c[F>>2]=c[y>>2];c[F+4>>2]=c[y+4>>2];c[F+8>>2]=c[y+8>>2];c[F+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[174076]|0)==0){m=+h[G>>3];n=+h[F>>3];L=m-n;o=+h[G+8>>3];p=+h[G+56>>3];s=o-p;q=s*s;if(q+L*L<1.0e-06){c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];c[r>>2]=c[F>>2];c[r+4>>2]=c[F+4>>2];c[r+8>>2]=c[F+8>>2];c[r+12>>2]=c[F+12>>2];y=G+24|0;x=G+40|0;n=0.0;m=0.0}else{M=n-m;L=+C(+(q+M*M));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((O(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=q+m;m=M*N/L;y=G+24|0;h[y>>3]=m+o;h[r>>3]=q+n;x=G+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=D+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(E|0)){c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(i<<4)|0;Q=G+(i<<4)|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];i=i+1|0}}else{c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];i=0;while(1){if((i|0)==4)break b;Q=H+(3-i<<4)|0;P=G+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[D>>2]=z;i=0;while(1){if((i|0)==4)break;Q=z+(i<<4)|0;P=H+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}c[A>>2]=c[D>>2];c[A+4>>2]=c[D+4>>2];YI(A,B);Jz(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else Jz(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cA(b,w,z,A);h[t>>3]=+h[t>>3]+m;h[y>>3]=+h[y>>3]+n;h[r>>3]=+h[r>>3]+m;h[x>>3]=+h[x>>3]+n;j=j+1|0}}else{if((f|0)==4){wy(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];xy(G,A)}Jz(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,G,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cA(b,j,z,A)}while(0);l=K;return}function vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function wy(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[20899]=(+h[b+32>>3]+ +h[b+16>>3])*.5;h[20900]=(+h[b+40>>3]+ +h[b+24>>3])*.5;c[a>>2]=c[41798];c[a+4>>2]=c[41799];c[a+8>>2]=c[41800];c[a+12>>2]=c[41801];return}function xy(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[a>>3];d=+h[a+48>>3];i=(d+f)*.5;g=+h[a+8>>3];c=+h[a+56>>3];e=(c+g)*.5;f=d-f;g=c-g;f=+C(+(g*g+f*f))*.2;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+C(+(c*c+g*g));if(!(d==0.0)){g=i-g/d*f;i=e-c/d*f;h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function yy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;E=l;l=l+208|0;t=E+192|0;s=E+176|0;B=E+32|0;w=E+16|0;x=E;y=E+160|0;z=E+144|0;u=E+128|0;v=E+112|0;g=e&2130706432;A=(e&8|0)==0?((g|0)==0?4:g):8;if((A|0)==436207616)zy(a,b,d,f);else{D=vw((d<<6)+64|0)|0;p=d+-1|0;q=x+8|0;r=w+8|0;o=12.0;e=0;while(1){if((e|0)>=(d|0))break;n=b+(e<<4)|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];if((e|0)<(p|0)){e=e+1|0;n=b+(e<<4)|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2];e=e+1|0}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=+C(+(F*F+m*m))*.3333333333333333;o=o<m?o:m}k=(g|16777216|0)==83886080;n=(A|0)==4;j=(g|0)==16777216;e=0;i=0;while(1){if((i|0)>=(d|0))break;g=b+(i<<4)|0;c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if((i|0)<(p|0)){g=b+(i+1<<4)|0;c[x>>2]=c[g>>2];c[x+4>>2]=c[g+4>>2];c[x+8>>2]=c[g+8>>2];c[x+12>>2]=c[g+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=o/+C(+(F*F+m*m));m=k?m*.3333333333333333:j?m*.5:m;g=D+(e<<4)|0;if(n){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];Ay(y,m*.5,s,t);c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]}g=D+(e+1<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];Ay(z,m,s,t);c[g>>2]=c[z>>2];c[g+4>>2]=c[z+4>>2];c[g+8>>2]=c[z+8>>2];c[g+12>>2]=c[z+12>>2];g=e+3|0;G=D+(e+2<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];Ay(u,1.0-m,s,t);c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(n){G=D+(g<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];Ay(v,1.0-m*.5,s,t);c[G>>2]=c[v>>2];c[G+4>>2]=c[v+4>>2];c[G+8>>2]=c[v+8>>2];c[G+12>>2]=c[v+12>>2];e=e+4|0}else e=g;i=i+1|0}k=D+(e<<4)|0;c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];k=D+(e+1<<4)|0;j=D+16|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];e=D+(e+2<<4)|0;k=D+32|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];e=A&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if((d|0)==4){G=vw(192)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];p=G+16|0;t=b+16|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];p=D+48|0;t=D+64|0;o=+h[t>>3];n=G+32|0;h[n>>3]=o;q=D+56|0;r=D+72|0;H=+h[r>>3];z=G+40|0;h[z>>3]=H;F=+h[p>>3]+o-+h[k>>3];u=G+48|0;h[u>>3]=F;J=+h[q>>3]+H-+h[D+40>>3];x=G+56|0;h[x>>3]=J;I=+h[t>>3]+F-+h[p>>3];p=G+64|0;h[p>>3]=I;m=+h[r>>3]+J-+h[q>>3];q=G+72|0;h[q>>3]=m;r=G+80|0;h[r>>3]=o+I-F;h[G+88>>3]=H+m-J;t=D+96|0;v=D+80|0;J=+h[v>>3];d=G+144|0;h[d>>3]=J;w=D+104|0;s=D+88|0;m=+h[s>>3];h[G+152>>3]=m;H=+h[t>>3]+J-+h[D+112>>3];y=G+128|0;h[y>>3]=H;F=+h[w>>3]+m-+h[D+120>>3];A=G+136|0;h[A>>3]=F;I=+h[v>>3]+H-+h[t>>3];t=G+112|0;h[t>>3]=I;o=+h[s>>3]+F-+h[w>>3];w=G+120|0;h[w>>3]=o;s=G+96|0;h[s>>3]=J+I-H;v=G+104|0;h[v>>3]=m+o-F;k=G+160|0;j=b+32|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];k=G+176|0;b=b+48|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];HD(a,G,12,f);c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];F=+h[n>>3];o=+h[u>>3];F=F+F-o;u=B+16|0;h[u>>3]=F;m=+h[z>>3];H=+h[x>>3];m=m+m-H;x=B+24|0;h[x>>3]=m;z=B+32|0;h[z>>3]=+h[p>>3]+F-o;b=B+40|0;h[b>>3]=+h[q>>3]+m-H;f=B+48|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];KD(a,B,4);c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];H=+h[s>>3];m=+h[t>>3];H=H-(m-H);h[u>>3]=H;o=+h[v>>3];F=+h[w>>3];o=o-(F-o);h[x>>3]=o;h[z>>3]=+h[y>>3]+H-m;h[b>>3]=+h[A>>3]+o-F;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];KD(a,B,4);_I(G);break}else ma(90472,90483,737,90492)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}y=d+5|0;G=vw(y<<4)|0;z=b+16|0;H=+h[z>>3];H=(+h[b>>3]-H)*.625+H;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;v=D+48|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*1.5;h[G+8>>3]=J;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+16>>3]=I;h[G+24>>3]=J;h[G+32>>3]=I;F=+h[A>>3];h[G+40>>3]=(+h[d>>3]-F)*.5+F;I=(+h[k>>3]-+h[v>>3])*.5+I;h[G+48>>3]=I;F=+h[A>>3];h[G+56>>3]=(+h[d>>3]-F)*.5+F;h[G+64>>3]=I;I=+h[A>>3];I=(+h[d>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3]);h[G+72>>3]=I;h[G+80>>3]=H;h[G+88>>3]=I;h[G+96>>3]=H;I=I-(+h[w>>3]-+h[x>>3])*.25;h[G+104>>3]=I;h[G+112>>3]=+h[k>>3]+H-+h[v>>3];h[G+120>>3]=(+h[w>>3]-+h[x>>3])*.5+I;h[G+128>>3]=+h[G>>3];h[G+136>>3]=(+h[w>>3]-+h[x>>3])*.25+J;HD(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 117440512:break;default:break a}d=d+1|0;G=vw(d<<4)|0;h[G>>3]=+h[j>>3];z=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[z>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[D+48>>3];J=+h[z>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];B=b+40|0;h[G+40>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];h[G+48>>3]=+h[j>>3];h[G+56>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];J=+h[b+8>>3];h[G+72>>3]=J-(J-+h[b+56>>3])*.5;h[G+64>>3]=+h[b>>3];HD(a,G,d,f);_I(G);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}y=d+4|0;G=vw(y<<4)|0;z=b+16|0;F=+h[z>>3];x=D+48|0;F=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*.25;h[G>>3]=F;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=F;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.5+J;h[G+24>>3]=H;F=(+h[k>>3]-+h[x>>3])*.5+F;h[G+32>>3]=F;h[G+40>>3]=H;h[G+48>>3]=F;F=(+h[v>>3]-+h[w>>3])*.5+H;h[G+56>>3]=F;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=F;h[G+80>>3]=I;h[G+88>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.25;h[G+96>>3]=I;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;HD(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 150994944:break;default:break a}y=d+2|0;G=vw(y<<4)|0;z=b+16|0;H=+h[z>>3];x=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[x>>3])*.75;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=H;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.25+J;h[G+24>>3]=H;I=+h[z>>3];h[G+32>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*.25;I=(+h[v>>3]-+h[w>>3])*.5+H;h[G+40>>3]=I;F=+h[z>>3];h[G+48>>3]=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*-.25;h[G+56>>3]=I;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=H;h[G+80>>3]=I;h[G+88>>3]=J;HD(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}y=d+1|0;G=vw(y<<4)|0;z=b+16|0;H=+h[z>>3];v=D+48|0;H=+h[k>>3]+H+(+h[b>>3]-H)*.5-+h[v>>3];h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*.25;h[G+8>>3]=J;H=H-+h[k>>3]+ +h[v>>3];h[G+16>>3]=H;h[G+24>>3]=+h[w>>3]+J-+h[x>>3];h[G+32>>3]=H;H=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+48>>3]=I;h[G+56>>3]=H;h[G+64>>3]=I;h[G+72>>3]=J;HD(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 184549376:break;default:break a}z=d+4|0;G=vw(z<<4)|0;y=b+16|0;H=+h[y>>3];I=+h[b>>3]-H;u=D+48|0;I=I*.125+H+(+h[k>>3]-+h[u>>3]+I)*.5;h[G>>3]=I;w=b+40|0;H=+h[w>>3];x=b+24|0;d=D+56|0;v=D+72|0;H=(+h[x>>3]-H)*.5+H+(+h[d>>3]-+h[v>>3])*.25;h[G+8>>3]=H;J=+h[y>>3];J=(+h[b>>3]-J)*.375+J;h[G+16>>3]=J;h[G+24>>3]=H;h[G+32>>3]=J;H=(+h[d>>3]-+h[v>>3])*.5+H;h[G+40>>3]=H;J=J-(+h[k>>3]-+h[u>>3])*.5;h[G+48>>3]=J;h[G+56>>3]=H;A=G+64|0;h[A>>3]=J;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[d>>3]-+h[v>>3])*-.25;h[G+72>>3]=J;H=I-(+h[k>>3]-+h[u>>3])*.5;h[G+80>>3]=H;h[G+88>>3]=J;h[G+96>>3]=H;J=J-(+h[d>>3]-+h[v>>3])*.5;h[G+104>>3]=J;v=G+112|0;h[v>>3]=I;h[G+120>>3]=J;HD(a,G,z,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[A>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[b>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);_I(G);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=ww((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;if((e|0)>=(d|0))break;b=e<<2;G=D+(b<<4)|0;c[k>>2]=c[G>>2];c[k+4>>2]=c[G+4>>2];c[k+8>>2]=c[G+8>>2];c[k+12>>2]=c[G+12>>2];G=i+(j<<4)|0;B=D+((b|1)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+2<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+3<<4)|0;B=D+((b|2)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+4<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+5<<4)|0;b=D+((b|3)<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+(j<<4)|0;G=i+16|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];JD(a,G,j,0,0,f&255);_I(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}HD(a,b,d,f);g=B+16|0;e=0;while(1){if((e|0)>=(d|0))break a;G=e*3|0;f=D+(G+2<<4)|0;c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];G=D+(G+4<<4)|0;c[g>>2]=c[G>>2];c[g+4>>2]=c[G+4>>2];c[g+8>>2]=c[G+8>>2];c[g+12>>2]=c[G+12>>2];KD(a,B,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=d+1|0;i=vw(g<<4)|0;e=1;while(1){if((e|0)>=(d|0))break;G=i+(e<<4)|0;A=b+(e<<4)|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];e=e+1|0}b=d*3|0;A=D+(b+1<<4)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];d=i+(d<<4)|0;G=D+(b+-1<<4)|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];HD(a,i,g,f);_I(i);c[B>>2]=c[G>>2];c[B+4>>2]=c[G+4>>2];c[B+8>>2]=c[G+8>>2];c[B+12>>2]=c[G+12>>2];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];f=B+32|0;h[f>>3]=+h[B>>3]+ +h[G>>3]-+h[D+(b<<4)>>3];h[B+40>>3]=+h[B+8>>3]+ +h[B+24>>3]-+h[D+(b<<4)+8>>3];KD(a,G,2);c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];KD(a,B,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=d+2|0;i=vw(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];j=i+16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];j=D+48|0;d=D+64|0;h[i+32>>3]=(+h[j>>3]-+h[d>>3])*.3333333333333333+ +h[k>>3];G=D+56|0;e=D+72|0;h[i+40>>3]=(+h[G>>3]-+h[e>>3])*.3333333333333333+ +h[D+40>>3];J=+h[j>>3];h[i+48>>3]=(J-+h[d>>3])*.3333333333333333+J;J=+h[G>>3];h[i+56>>3]=(J-+h[e>>3])*.3333333333333333+J;e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-2<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}HD(a,i,g,f);_I(i);c[B>>2]=c[j>>2];c[B+4>>2]=c[j+4>>2];c[B+8>>2]=c[j+8>>2];c[B+12>>2]=c[j+12>>2];G=B+16|0;c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[G+8>>2]=c[k+8>>2];c[G+12>>2]=c[k+12>>2];KD(a,B,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if((d|0)==4){G=vw(96)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];d=G+16|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];d=G+32|0;A=D+64|0;c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];d=G+48|0;b=b+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=G+64|0;d=D+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=G+80|0;z=D+160|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];HD(a,G,6,f);_I(G);h[B>>3]=+h[D+176>>3]+ +h[j>>3]-+h[D>>3];h[B+8>>3]=+h[D+184>>3]+ +h[D+24>>3]-+h[D+8>>3];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];KD(a,B,2);c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];KD(a,B,2);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];KD(a,B,2);break}else ma(90472,90483,714,90492)}switch(e|0){case 50331648:break;default:break a}g=d+3|0;i=vw(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];J=+h[b>>3];h[i+16>>3]=J-(J-+h[j>>3])*.25;e=D+56|0;J=(+h[e>>3]-+h[D+72>>3])*.3333333333333333+ +h[b+8>>3];h[i+24>>3]=J;I=+h[b>>3];h[i+32>>3]=I-(I-+h[j>>3])*2.0;h[i+40>>3]=J;J=+h[b>>3];h[i+48>>3]=J-(J-+h[j>>3])*2.25;h[i+56>>3]=+h[e>>3];h[i+64>>3]=+h[D+48>>3];h[i+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-3<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}HD(a,i,g,f);_I(i);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}G=d<<4;u=vw(G)|0;v=b+16|0;J=+h[v>>3];h[u>>3]=J;z=b+40|0;I=+h[z>>3];A=b+24|0;y=D+48|0;w=D+56|0;x=D+72|0;I=(+h[A>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[w>>3]-+h[x>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;HD(a,u,d,f);_I(u);G=vw(G)|0;I=+h[k>>3]+ +h[v>>3]-+h[y>>3];h[G>>3]=I;J=+h[z>>3];J=(+h[A>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*-.625;h[G+8>>3]=J;H=+h[k>>3]-+h[y>>3]+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;HD(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}G=d<<4;w=vw(G)|0;J=+h[b>>3];h[w>>3]=J;y=b+40|0;I=+h[y>>3];z=b+24|0;x=D+56|0;A=D+72|0;I=(+h[z>>3]-I)*.5+I+(+h[x>>3]-+h[A>>3])*.125;h[w+8>>3]=I;h[w+16>>3]=J;H=(+h[x>>3]-+h[A>>3])*.5+I;h[w+24>>3]=H;J=J-(+h[x>>3]-+h[A>>3])*2.0;h[w+32>>3]=J;h[w+40>>3]=H;h[w+48>>3]=J;h[w+56>>3]=I;HD(a,w,d,f);_I(w);G=vw(G)|0;I=+h[b>>3]-+h[k>>3]+ +h[D+48>>3];h[G>>3]=I;J=+h[y>>3];J=(+h[z>>3]-J)*.5+J+(+h[x>>3]-+h[A>>3])*-.625;h[G+8>>3]=J;h[G+16>>3]=I;H=(+h[x>>3]-+h[A>>3])*.5+J;h[G+24>>3]=H;I=I-(+h[x>>3]-+h[A>>3]);h[G+32>>3]=I;h[G+40>>3]=H;A=G+48|0;h[A>>3]=I;h[G+56>>3]=J;HD(a,G,d,f);h[B>>3]=+h[b+16>>3];J=+h[y>>3];h[B+8>>3]=(+h[z>>3]-J)*.5+J;h[B+16>>3]=+h[A>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 234881024:break;default:break a}G=d<<4;y=vw(G)|0;u=b+16|0;I=+h[u>>3];v=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=I;w=b+40|0;J=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*.125;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;HD(a,y,d,f);_I(y);y=vw(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;h[y+16>>3]=H;h[y+24>>3]=I;h[y+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=I;HD(a,y,d,f);_I(y);y=vw(G)|0;I=+h[u>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*.125;h[y>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;HD(a,y,d,f);_I(y);G=vw(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*.125;h[G>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[G+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;y=G+16|0;h[y>>3]=H;h[G+24>>3]=I;h[G+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[G+40>>3]=I;h[G+48>>3]=J;h[G+56>>3]=I;HD(a,G,d,f);h[B>>3]=+h[y>>3];I=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-I)*.5+I;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+I;KD(a,B,2);I=+h[u>>3];h[B>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=I;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);_I(G);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}G=d<<4;u=vw(G)|0;v=b+16|0;J=+h[v>>3];y=D+48|0;J=J-+h[k>>3]+(+h[b>>3]-J)*.5+ +h[y>>3];h[u>>3]=J;w=b+40|0;I=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;HD(a,u,d,f);_I(u);G=vw(G)|0;I=+h[v>>3];I=I-+h[k>>3]+(+h[b>>3]-I)*.5+ +h[y>>3];h[G>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[G+8>>3]=J;H=(+h[k>>3]-+h[y>>3])*2.0+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;HD(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[G>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 268435456:break;default:break a}G=vw(d<<4)|0;h[G>>3]=+h[b>>3];v=D+48|0;x=D+56|0;y=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[x>>3]-+h[y>>3])*.5;h[G+16>>3]=+h[v>>3];J=+h[x>>3];h[G+24>>3]=J-(J-+h[y>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[b>>3];h[G+56>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];HD(a,G,d,f);w=b+16|0;J=(+h[k>>3]-+h[v>>3])*.25;I=J+ +h[w>>3];h[B>>3]=I;H=+h[z>>3];u=b+24|0;F=+h[x>>3]-+h[y>>3];H=(+h[u>>3]-H)*.5+H+F*.125;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J+I;f=B+24|0;h[f>>3]=H-F*.25;KD(a,B,2);F=(+h[k>>3]-+h[v>>3])*.25;H=F+ +h[w>>3];h[B>>3]=H;I=+h[z>>3];J=+h[x>>3]-+h[y>>3];I=(+h[u>>3]-I)*.5+I+J*-.125;h[A>>3]=I;h[d>>3]=F+H;h[f>>3]=J*.25+I;KD(a,B,2);I=(+h[k>>3]-+h[v>>3])*.25;h[B>>3]=I+ +h[w>>3];J=(+h[x>>3]-+h[y>>3])*.75+ +h[z>>3];h[A>>3]=J;h[d>>3]=+h[b>>3]-I;h[f>>3]=J;KD(a,B,2);_I(G);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}y=vw(d<<4)|0;v=b+16|0;I=+h[v>>3];z=D+48|0;I=(+h[k>>3]-+h[z>>3]+(+h[b>>3]-I))*.5+I;h[y>>3]=I;w=b+40|0;F=+h[w>>3];x=b+24|0;F=(+h[k>>3]-+h[z>>3]+(+h[x>>3]-F))*.5+F;h[y+8>>3]=F;h[y+16>>3]=I;I=+h[w>>3];o=+h[k>>3]-+h[z>>3];I=(+h[x>>3]-I-o)*.5+I;h[y+24>>3]=I;J=+h[v>>3];J=(+h[b>>3]-J-o)*.5+J;h[y+32>>3]=J;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=F;HD(a,y,d,f);_I(y);F=+h[v>>3];F=(+h[b>>3]-F)*.5+F;J=+h[k>>3]-+h[z>>3];I=J*.75;o=F+I;h[B>>3]=o;H=+h[w>>3];H=(+h[x>>3]-H)*.5+H;I=H+I;y=B+8|0;h[y>>3]=I;A=B+16|0;h[A>>3]=o;J=J*-.75;H=H+J;G=B+24|0;h[G>>3]=H;J=F+J;h[B+32>>3]=J;h[B+40>>3]=H;h[B+48>>3]=J;h[B+56>>3]=I;d=B+64|0;c[d>>2]=c[B>>2];c[d+4>>2]=c[B+4>>2];c[d+8>>2]=c[B+8>>2];c[d+12>>2]=c[B+12>>2];KD(a,B,5);I=+h[v>>3];J=+h[b>>3];h[B>>3]=(J-I)*.5+I+(+h[k>>3]-+h[z>>3])*.75;I=+h[w>>3];h[y>>3]=(+h[x>>3]-I)*.5+I;h[A>>3]=J;d=b+8|0;f=b+56|0;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+I;KD(a,B,2);I=+h[v>>3];h[B>>3]=I;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[A>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[z>>3])*-.75;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+J;KD(a,B,2);break}else{switch(e|0){case 301989888:break;default:break a}A=d+12|0;G=vw(A<<4)|0;x=b+16|0;m=+h[x>>3];s=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[s>>3])*.25;h[G>>3]=m;y=b+40|0;F=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;F=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-F))*.5+F;u=G+8|0;h[u>>3]=F;h[G+16>>3]=m;F=(+h[v>>3]-+h[w>>3])*.125+F;t=G+24|0;h[t>>3]=F;H=m-(+h[k>>3]-+h[s>>3])*.125;d=G+32|0;h[d>>3]=H;o=(+h[v>>3]-+h[w>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;I=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=I;h[G+64>>3]=m;m=(+h[v>>3]-+h[w>>3])*.125+I;h[G+72>>3]=m;h[G+80>>3]=H;h[G+88>>3]=m;H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[G+96>>3]=H;h[G+104>>3]=I;J=H-(+h[k>>3]-+h[s>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[s>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=I;I=(+h[k>>3]-+h[s>>3])*.125+J;h[G+160>>3]=I;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[u>>3];h[G+200>>3]=J;h[G+208>>3]=I;h[G+216>>3]=J;u=G+224|0;h[u>>3]=H;h[G+232>>3]=+h[t>>3];h[G+240>>3]=+h[d>>3];h[G+248>>3]=J;HD(a,G,A,f);J=+h[u>>3];h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;KD(a,B,2);H=+h[u>>3];h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;KD(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}A=d+4|0;G=vw(A<<4)|0;x=b+16|0;H=+h[x>>3];d=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[d>>3])*.125;h[G>>3]=H;y=b+40|0;J=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;J=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-J))*.5+J;h[G+8>>3]=J;o=(+h[k>>3]-+h[d>>3])*.125+H;h[G+16>>3]=o;I=(+h[v>>3]-+h[w>>3])*.125+J;h[G+24>>3]=I;h[G+32>>3]=o;o=(+h[v>>3]-+h[w>>3])*.25+I;h[G+40>>3]=o;h[G+48>>3]=H;F=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=F;H=H-(+h[k>>3]-+h[d>>3])*.25;h[G+64>>3]=H;h[G+72>>3]=F;F=H-(+h[k>>3]-+h[d>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=I;h[G+112>>3]=H;h[G+120>>3]=J;HD(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;KD(a,B,2);H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;KD(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}x=d+12|0;G=vw(x<<4)|0;y=b+16|0;m=+h[y>>3];u=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[u>>3])*.25;h[G>>3]=m;z=b+40|0;F=+h[z>>3];A=b+24|0;s=D+56|0;t=D+72|0;F=(+h[s>>3]-+h[t>>3]+(+h[A>>3]-F))*.5+F;d=G+8|0;h[d>>3]=F;h[G+16>>3]=m;F=(+h[s>>3]-+h[t>>3])*.125+F;v=G+24|0;h[v>>3]=F;I=m-(+h[k>>3]-+h[u>>3])*.125;w=G+32|0;h[w>>3]=I;o=(+h[s>>3]-+h[t>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;H=(+h[s>>3]-+h[t>>3])*.125+o;h[G+56>>3]=H;h[G+64>>3]=m;m=(+h[s>>3]-+h[t>>3])*.125+H;h[G+72>>3]=m;h[G+80>>3]=I;h[G+88>>3]=m;I=+h[y>>3];I=(+h[b>>3]-I)*.5+I;h[G+96>>3]=I;h[G+104>>3]=H;J=I-(+h[k>>3]-+h[u>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[u>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=H;H=(+h[k>>3]-+h[u>>3])*.125+J;h[G+160>>3]=H;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[d>>3];h[G+200>>3]=J;h[G+208>>3]=H;h[G+216>>3]=J;d=G+224|0;h[d>>3]=I;h[G+232>>3]=+h[v>>3];h[G+240>>3]=+h[w>>3];h[G+248>>3]=J;HD(a,G,x,f);c[B>>2]=c[d>>2];c[B+4>>2]=c[d+4>>2];c[B+8>>2]=c[d+8>>2];c[B+12>>2]=c[d+12>>2];d=B+16|0;h[d>>3]=+h[B>>3];J=+h[z>>3];f=B+24|0;h[f>>3]=(+h[A>>3]-J)*.5+J;KD(a,B,2);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 352321536:break;default:break a}A=d+4|0;G=vw(A<<4)|0;x=b+16|0;I=+h[x>>3];w=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[w>>3])*.125;h[G>>3]=I;y=b+40|0;J=+h[y>>3];z=b+24|0;u=D+56|0;v=D+72|0;J=(+h[u>>3]-+h[v>>3]+(+h[z>>3]-J))*.5+J;d=G+8|0;h[d>>3]=J;o=(+h[k>>3]-+h[w>>3])*.125+I;h[G+16>>3]=o;H=(+h[u>>3]-+h[v>>3])*.125+J;h[G+24>>3]=H;h[G+32>>3]=o;o=(+h[u>>3]-+h[v>>3])*.25+H;h[G+40>>3]=o;h[G+48>>3]=I;F=(+h[u>>3]-+h[v>>3])*.125+o;h[G+56>>3]=F;I=I-(+h[k>>3]-+h[w>>3])*.25;h[G+64>>3]=I;h[G+72>>3]=F;F=I-(+h[k>>3]-+h[w>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;HD(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;A=B+8|0;h[A>>3]=+h[d>>3];d=B+16|0;h[d>>3]=J;J=+h[y>>3];f=B+24|0;h[f>>3]=(+h[z>>3]-J)*.5+J;KD(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=d+5|0;G=vw(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=+h[z>>3];J=+h[k>>3];h[G+48>>3]=(J-+h[B>>3])*.5+J;h[G+56>>3]=+h[z>>3];J=+h[k>>3];h[G+64>>3]=(J-+h[B>>3])*.5+J;h[G+72>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+80>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+88>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+104>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+120>>3]=J-(J-+h[z>>3])*.5;h[G+112>>3]=+h[b>>3];h[G+136>>3]=+h[A>>3];h[G+128>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;HD(a,G,d,f);_I(G);break}else{switch(e|0){case 385875968:break;default:break a}d=d+3|0;G=vw(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+56>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+64>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+72>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+88>>3]=J-(J-+h[z>>3])*.5;h[G+80>>3]=+h[b>>3];h[G+104>>3]=+h[A>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;HD(a,G,d,f);_I(G);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=d+3|0;G=vw(d<<4)|0;h[G>>3]=+h[b>>3];y=b+8|0;z=D+48|0;A=D+56|0;B=D+72|0;h[G+8>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[z>>3])*.5+J;h[G+24>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[z>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];y=b+40|0;h[G+56>>3]=J-(J-+h[y>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[z>>3])*.5+J;h[G+72>>3]=+h[y>>3];h[G+88>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[y>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[z>>3])*.5+J;h[G+104>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[b+56>>3];h[G+96>>3]=+h[b>>3];HD(a,G,d,f);_I(G);break}else{switch(e|0){case 419430400:break;default:break a}d=d+5|0;G=vw(d<<4)|0;h[G>>3]=+h[b>>3];B=b+8|0;A=D+48|0;y=D+56|0;z=D+72|0;h[G+8>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[A>>3])*.5+J;h[G+24>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[A>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];B=b+40|0;h[G+56>>3]=J-(J-+h[B>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[A>>3])*.5+J;h[G+72>>3]=+h[B>>3];h[G+88>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[A>>3])*.5+J;B=b+56|0;h[G+104>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+112>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+120>>3]=+h[B>>3];h[G+128>>3]=+h[b+48>>3];h[G+136>>3]=+h[B>>3];HD(a,G,d,f);_I(G);break}}while(0);_I(D)}l=E;return}function zy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3]*2.0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];JD(a,b,d,0,0,e&255);JD(a,g,7,0,0,0);l=f;return}function Ay(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=(+h[d+8>>3]-e)*b+e;h[a>>3]=(+h[d>>3]-f)*b+f;h[a+8>>3]=e;return}function By(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=75)if((a|0)==78)a=2;else return ((a|0)==77?3:(a|0)==80?4:0)|0;else a=1}else a=0;return a|0}function Cy(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,D=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;aa=l;l=l+144|0;J=aa+112|0;N=aa+104|0;G=aa+96|0;H=aa+88|0;i=aa+80|0;Y=aa+64|0;_=aa+48|0;R=aa+40|0;S=aa+32|0;j=aa+24|0;p=aa+16|0;D=aa+136|0;A=aa+128|0;L=aa;$=vw(48)|0;Z=b+16|0;W=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;g=(W|0)==1552;X=c[W>>2]|0;d=c[W+4>>2]|0;e=c[W+8>>2]|0;m=+h[W+16>>3];n=+h[W+32>>3];o=+h[W+24>>3];X=X|(IA(Im(b,90545)|0)|0)&255;do if(!g){if(!X){W=c[Z>>2]|0;k=+h[W+32>>3]*72.0;f=+h[W+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);break}k=+My(b);if(k>0.0)f=k;else{W=c[Z>>2]|0;f=+h[W+32>>3];k=+h[W+40>>3];k=(f<k?f:k)*72.0;k=+(~~(k+(k>=0.0?.5:-.5))|0);f=k}}else{f=0.0;k=0.0}while(0);W=DA(b,c[42204]|0,d,0)|0;V=+EA(b,c[42206]|0,0.0,-360.0)+m;if(!e){U=+EA(b,c[42207]|0,0.0,-100.0);I=DA(b,c[42203]|0,4,0)|0;T=+EA(b,c[42208]|0,0.0,-100.0)}else{I=e;U=n;T=o}d=c[(c[Z>>2]|0)+104>>2]|0;e=d+24|0;c[Y>>2]=c[e>>2];c[Y+4>>2]=c[e+4>>2];c[Y+8>>2]=c[e+8>>2];c[Y+12>>2]=c[e+12>>2];q=+h[Y>>3];if(q>0.0){if(!g)M=11}else if(!(g|!(+h[Y+8>>3]>0.0)))M=11;if((M|0)==11){d=Im(b,90530)|0;do if(d){h[p>>3]=0.0;h[j>>3]=0.0;c[i>>2]=j;c[i+4>>2]=p;d=cM(d,90537,i)|0;m=+h[j>>3];if(m<0.0){h[j>>3]=0.0;m=0.0}n=+h[p>>3];if(n<0.0){h[p>>3]=0.0;o=0.0}else o=n;if((d|0)<=0){n=q+16.0;h[Y>>3]=n;m=8.0;break}m=m*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0);n=q+m;h[Y>>3]=n;if((d|0)!=1){m=o*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0)}}else{n=q+16.0;h[Y>>3]=n;m=8.0}while(0);d=Y+8|0;h[d>>3]=+h[d>>3]+m;d=c[(c[Z>>2]|0)+104>>2]|0;q=n}s=+h[d+24>>3];m=+h[c[(c[(ro(b)|0)+16>>2]|0)+8>>2]>>3];if(m>0.0){P=m*72.0;P=+(~~(P+(P>=0.0?.5:-.5))|0);Q=+Ny(q,P);h[Y>>3]=Q;p=Y+8|0;h[p>>3]=+Ny(+h[p>>3],P)}else Q=q;d=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[d+12>>0]|0)){e=Im(b,93847)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){Pr(A,ro(b)|0,e);d=c[A>>2]|0;g=c[A+4>>2]|0;if((g&d|0)==-1){d=Dn(b)|0;c[G>>2]=e;c[G+4>>2]=d;_l(0,90621,G)|0;e=0;d=0;break}else{a[(c[(ro(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}else{d=c[d>>2]|0;if((a[d>>0]|0)==99?(xJ(d,90553)|0)==0:0){e=Im(b,90560)|0;Pr(D,ro(b)|0,e);d=c[D>>2]|0;g=c[D+4>>2]|0;if((g&d|0)==-1){d=Dn(b)|0;c[H>>2]=e|0?e:90570;c[H+4>>2]=d;_l(0,90576,H)|0;e=0;d=0;break}else{a[(c[(ro(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}while(0);P=+(e|0);h[_>>3]=Q>P?Q:P;P=+h[Y+8>>3];r=+(d|0);d=_+8|0;h[d>>3]=P>r?P:r;e=(I|0)<3&(T!=0.0|U!=0.0)?120:I;g=Im(b,90662)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4?(T==0.0?((~~(V+(V>=0.0?.5:-.5))|0)%90|0|0)==0:0)&U==0.0:0)p=1;else M=39;do if((M|0)==39){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){p=c[g>>2]|0;c[J>>2]=c[_>>2];c[J+4>>2]=c[_+4>>2];c[J+8>>2]=c[_+8>>2];c[J+12>>2]=c[_+12>>2];hb[p&31](L,J);c[_>>2]=c[L>>2];c[_+4>>2]=c[L+4>>2];c[_+8>>2]=c[L+8>>2];c[_+12>>2]=c[L+12>>2];p=0;break}m=+h[d>>3];n=m*1.4142135623730951;if(f>n&i<<24>>24==99){o=m/f;o=+C(+(1.0/(1.0-o*o)));o=+h[_>>3]*o;h[_>>3]=o}else{o=+h[_>>3]*1.4142135623730951;h[_>>3]=o;h[d>>3]=n;m=n}if((e|0)>2){z=+E(+(3.141592653589793/+(e|0)));h[_>>3]=o/z;h[d>>3]=m/z;p=0}else p=0}while(0);m=+h[d>>3];g=FA(b,c[42209]|0,122100)|0;if((a[g>>0]|0)==115?(xJ(g,90671)|0)==0:0){h[_>>3]=k;h[d>>3]=f;N=$+40|0;c[N>>2]=c[N>>2]|2048}else{if(!((IA(g)|0)<<24>>24)){z=+h[_>>3];k=k>z?k:z;h[_>>3]=k;z=+h[d>>3];f=f>z?f:z}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(k<+h[M+24>>3])?!(f<+h[M+32>>3]):0)){L=Dn(b)|0;M=Dn(ro(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;_l(0,90677,N)|0}h[_>>3]=k}h[d>>3]=f}if(!X){z=f;y=k}else{y=k>f?k:f;h[d>>3]=y;h[_>>3]=y;z=y}do if(!((IA(FA(b,c[42200]|0,122100)|0)|0)<<24>>24)){if(p){f=+h[(Q>+h[_>>3]?Y:_)>>3];break}f=+h[d>>3];if(P<f){f=+h[_>>3]*+C(+(1.0-P*P/(f*f)));f=Q>f?Q:f}else f=Q}else f=Q;while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=s-q+f;A=$+40|0;if(!(c[A>>2]&2048)){x=+h[d>>3]-m;h[g+48>>3]=(P<r?r-P+x:x)+P}j=(W|0)>1;g=j?W:1;a:do if((e|0)<3){g=vw(g<<5)|0;k=+h[_>>3]*.5;f=+h[d>>3]*.5;h[g>>3]=-k;h[g+8>>3]=-f;h[g+16>>3]=k;h[g+24>>3]=f;if(j){e=1;i=2;while(1){if((e|0)==(W|0))break;y=k+4.0;z=f+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;S=i|1;h[g+(S<<4)>>3]=y;h[g+(S<<4)+8>>3]=z;e=e+1|0;i=i+2|0;k=y;f=z}h[_>>3]=k*2.0;h[d>>3]=f*2.0;e=2}else e=2}else{g=vw(O(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){q=6.283185307179586/+(e|0);t=q*.5;r=+F(+t);s=+QJ(+B(+U)+ +B(+T),1.0);t=T*1.4142135623730951/+E(+t);u=U*.5;SJ((q+-3.141592653589793)*.5,R,S);v=V*.017453292519943295;k=0.0;f=0.0;m=0.0;i=0;n=+h[S>>3]*.5;o=+h[R>>3]*.5;while(1){if((i|0)>=(e|0))break b;m=m+q;SJ(m,R,S);n=+h[S>>3]*r+n;o=+h[R>>3]*r+o;x=(o*t+s)*n+u*o;SJ(+K(+o,+x)+v,R,S);x=+QJ(x,o);w=+h[S>>3]*x*+h[_>>3];x=+h[R>>3]*x*+h[d>>3];ba=+B(+w);f=ba>f?ba:f;ba=+B(+x);k=ba>k?ba:k;h[g+(i<<4)>>3]=w;h[g+(i<<4)+8>>3]=x;if(p)break;else i=i+1|0}ba=-w;h[g+16>>3]=ba;h[g+24>>3]=x;h[g+32>>3]=ba;ba=-x;h[g+40>>3]=ba;h[g+48>>3]=w;h[g+56>>3]=ba}else{hb[c[i+4>>2]&31](g,_);k=+h[d>>3]*.5;f=+h[_>>3]*.5}while(0);f=f*2.0;k=k*2.0;y=y>f?y:f;h[_>>3]=y;ba=z>k?z:k;h[d>>3]=ba;f=y/f;k=ba/k;i=0;while(1){if((i|0)>=(e|0))break;N=g+(i<<4)|0;b=g+(i<<4)+8|0;ba=+h[b>>3]*k;h[N>>3]=+h[N>>3]*f;h[b>>3]=ba;i=i+1|0}if(j){j=e+-1|0;k=+h[g>>3];m=+h[g+8>>3];f=+K(+(m-+h[g+(j<<4)+8>>3]),+(k-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;p=j+1|0;i=(p|0)%(e|0)|0;n=+h[g+(i<<4)>>3];o=+h[g+(i<<4)+8>>3];q=+K(+(o-m),+(n-k));z=(f+3.141592653589793-q)*.5;ba=4.0/+F(+z);SJ(f-z,R,S);h[R>>3]=+h[R>>3]*ba;h[S>>3]=+h[S>>3]*ba;i=1;f=m;while(1){if((i|0)==(W|0)){f=q;j=p;k=n;m=o;continue c}z=+h[S>>3]+k;ba=+h[R>>3]+f;b=(O(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=ba;i=i+1|0;k=z;f=ba}}j=O(e,W+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;S=i+j|0;z=+h[g+(S<<4)+8>>3];y=+B(+(+h[g+(S<<4)>>3]))*2.0;ba=+h[_>>3];h[_>>3]=y>ba?y:ba;z=+B(+z)*2.0;ba=+h[d>>3];h[d>>3]=z>ba?z:ba;i=i+1|0}}}while(0);c[$>>2]=X;c[$+4>>2]=W;c[$+8>>2]=e;h[$+16>>3]=V;h[$+32>>3]=U;h[$+24>>3]=T;c[$+44>>2]=g;f=+h[_>>3];if(!(c[A>>2]&2048)){e=c[Z>>2]|0;h[e+32>>3]=f*.013888888888888888}else{e=c[Z>>2]|0;h[e+32>>3]=+h[(Q>f?Y:_)>>3]*.013888888888888888;d=(P>+h[d>>3]?Y:_)+8|0}h[e+40>>3]=+h[d>>3]*.013888888888888888;c[e+12>>2]=$;l=aa;return}function Dy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[42326]=f;f=rJ(f)|0;f=vw(((f|0)>1?f:1)+1|0)|0;b=Fy(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];_l(1,90506,e)|0;c[42326]=90527;b=Fy(a,d,1,f)|0}_I(f);Gy(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((IA(FA(a,c[42209]|0,122100)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(IA(FA(a,c[42200]|0,122100)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];Hy(b,j,a);Iy(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];Jy(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]*.013888888888888888;h[n+40>>3]=(+h[d>>3]+1.0)*.013888888888888888;c[n+12>>2]=b;l=o;return}function Ey(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=vw(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+EA(a,c[42190]|0,1797693134862315708145274.0e284,0.0);b=+EA(a,c[42189]|0,1797693134862315708145274.0e284,0.0);f=f<b?f:b;f=b==1797693134862315708145274.0e284&f==1797693134862315708145274.0e284?.05:f>0.0?(f>.0003?f:.0003):f;i=c[k>>2]|0;h[i+40>>3]=f;h[i+32>>3]=f;b=f*72.0;g=DA(a,c[42204]|0,g,0)|0;i=vw((g|0)<1?32:g<<5)|0;f=f*36.0;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b*.013888888888888888;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function Fy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=vw(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[42326]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=i+((m|0)==0&k<<24>>24==124&1)|0}}if((l|0)<0)break}m=l;j=j+1|0}B=g+56|0;c[B>>2]=vw(i<<2)|0;a[g+64>>0]=d;y=(d|0)==0&1;z=n+82|0;A=f+1|0;v=(e|0)!=0;w=n+16|0;x=n+4|0;u=n+8|0;k=0;m=0;d=0;t=0;l=0;e=0;n=f;i=0;j=0;b:while(1){p=k;k=0;c:while(1){d:while(1){s=e;e:while(1){r=k;o=i;f:while(1){q=m;g:while(1){while(1){if(t){E=78;break b}m=c[42326]|0;i=a[m>>0]|0;if((i+-1&255)>=31)break;c[42326]=m+1}switch(i<<24>>24|0){case 92:{E=53;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{k=d;i=m;break d}}i=m+1|0;c[42326]=i;if(l|0){E=34;break b}if(!(a[i>>0]|0)){E=34;break b}e=Fy(b,y,0,f)|0;c[(c[B>>2]|0)+(q<<2)>>2]=e;if(!e){E=36;break b}else{q=q+1|0;l=4}}if(a[z>>0]|0){k=d;i=m;break d}if(!(l&16)){E=27;break b}if(o>>>0>A>>>0?(C=o+-1|0,(C|0)!=(s|0)):0)i=(a[C>>0]|0)==32?C:o;else i=o;a[i>>0]=0;r=GL(f)|0;c[42326]=(c[42326]|0)+1;m=q;l=l&-17;o=i}if(l&6|0){E=22;break b}if(a[z>>0]|0){k=d;i=m;break d}c[42326]=m+1;m=q;l=l|18;k=r;s=f;i=f}if(!((l&16|0)==0&(v|i<<24>>24!=0))){E=38;break b}if(!(l&4)){k=vw(72)|0;c[(c[B>>2]|0)+(q<<2)>>2]=k;m=q+1|0}else{k=p;m=q}if(r|0)c[k+60>>2]=r;if(!(l&5)){a[f+j>>0]=32;l=l|1;j=j+1|0}i=f+j|0;if(l&1){if((j|0)>1?(D=i+-1|0,(D|0)!=(n|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=GL(f)|0;c[k+52>>2]=lw(b,n,a[z>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[u>>2]|0)|0;a[k+64>>0]=1;n=f;j=0}i=c[42326]|0;switch(a[i>>0]|0){case 0:{t=1;e=s;i=o;continue b}case 125:{E=51;break b}default:{}}c[42326]=i+1;p=k;l=0;k=0;e=s;i=o}h:do if((E|0)==53){E=0;k=f+j|0;i=m+1|0;switch(a[i>>0]|0){case 0:{k=d;i=m;break h}case 62:case 60:case 124:case 125:case 123:{k=d;break}case 32:{if(!(a[z>>0]|0))k=1;else E=55;break}default:E=55}if((E|0)==55){E=0;a[k>>0]=92;k=d;l=l|9;j=j+1|0}c[42326]=i}while(0);d=f+j|0;if(l&4|0?(a[i>>0]|0)!=32:0){E=59;break b}if(!(l&24))l=(a[i>>0]|0)==32?l:l|9;if(!(l&8))if(!(l&16))e=s;else{m=a[i>>0]|0;d=(k|0)!=0;if(!(d|m<<24>>24!=32))if((o|0)!=(f|0))if((a[o+-1>>0]|0)==32)m=o;else E=73;else m=f;else E=73;if((E|0)==73){E=0;a[o>>0]=m;m=o+1|0;i=c[42326]|0}e=d?m+-1|0:s;o=m}else{m=a[i>>0]|0;e=(k|0)!=0;if(!((!(e|m<<24>>24!=32)?(a[d+-1>>0]|0)==32:0)?(a[z>>0]|0)==0:0)){a[d>>0]=m;j=j+1|0}if(e){e=s;n=f+j+-1|0}else e=s}i=i+1|0;c[42326]=i;while(1){if((a[i>>0]|0)>=0){m=q;d=k;k=r;i=o;continue c}s=i+1|0;c[42326]=s;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=s}}}if((E|0)==22){Ky(g,r);g=0}else if((E|0)==27){Ky(g,r);g=0}else if((E|0)==34){Ky(g,r);g=0}else if((E|0)==36){Ky(g,r);g=0}else if((E|0)==38){Ky(g,r);g=0}else if((E|0)==51){c[42326]=i+1;c[g+48>>2]=m}else if((E|0)==59){Ky(g,r);g=0}else if((E|0)==78)c[g+48>>2]=q;return g|0}function Gy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;k=u+48|0;m=u+40|0;n=u+32|0;t=u+16|0;s=u;j=c[e+52>>2]|0;a:do if(!j){n=t+8|0;o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;j=0;while(1){if((j|0)>=(c[o>>2]|0))break a;Gy(s,d,c[(c[p>>2]|0)+(j<<2)>>2]|0);if(!(a[q>>0]|0)){h[n>>3]=+h[n>>3]+ +h[r>>3];k=t;m=+h[t>>3]>+h[s>>3]?t:s}else{h[t>>3]=+h[t>>3]+ +h[s>>3];k=n;m=(+h[n>>3]>+h[r>>3]?t:s)+8|0}h[k>>3]=+h[m>>3];j=j+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=Im(d,90530)|0;do if(j){c[k>>2]=m;c[k+4>>2]=n;j=cM(j,90537,k)|0;if((j|0)<=0){i=8.0;g=g+16.0;break}i=+h[m>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((j|0)!=1){i=+h[n>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=g+16.0}while(0);f=i+f}h[t>>3]=g;h[t+8>>3]=f}while(0);c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];c[e+8>>2]=c[t+8>>2];c[e+12>>2]=c[t+12>>2];c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];c[b+12>>2]=c[t+12>>2];l=u;return}function Hy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;s=l;l=l+32|0;o=s+16|0;p=s;q=+h[d>>3];i=q-+h[b>>3];r=+h[d+8>>3];f=r-+h[b+8>>3];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){n=d+40|0;h[n>>3]=+h[n>>3]+i;n=d+48|0;h[n>>3]=+h[n>>3]+f}m=b+48|0;d=c[m>>2]|0;a:do if(d|0){n=b+64|0;f=((a[n>>0]|0)==0?f:i)/+(d|0);k=b+56|0;j=0;while(1){if((j|0)>=(d|0))break a;b=c[(c[k>>2]|0)+(j<<2)>>2]|0;g=j+1|0;d=~~(f*+(g|0))-~~(f*+(j|0))|0;if(!(a[n>>0]|0))Iy(p,q,+h[b+8>>3]+ +(d|0));else Iy(p,+h[b>>3]+ +(d|0),r);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];Hy(b,o,e);j=g;d=c[m>>2]|0}}while(0);l=s;return}function Iy(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Jy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];Iy(n,s,r-+h[b+8>>3]);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];k=b+32|0;Iy(m,+h[b>>3]+s,r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+56|0;i=b+64|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[i>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[o>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];Jy(f,j,b&e);if(!(a[i>>0]|0))h[p>>3]=+h[p>>3]-+h[(c[(c[o>>2]|0)+(g<<2)>>2]|0)+8>>3];else h[d>>3]=+h[c[(c[o>>2]|0)+(g<<2)>>2]>>3]+ +h[d>>3];g=g+1|0}l=q;return}function Ky(a,b){a=a|0;b=b|0;Ly(a);_I(b);return}function Ly(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Ly(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}_I(c[a+60>>2]|0);ow(c[a+52>>2]|0);_I(c[e>>2]|0);_I(a);return}function My(a){a=a|0;var b=0.0,d=0.0;d=+EA(a,c[42190]|0,0.0,.01);b=+EA(a,c[42189]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function Ny(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05<a&1)+c|0)*b)}function Oy(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==75&1;return a|0}function Py(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[42327]|0;a:do if(!f)d=0;else{g=c[42328]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(xJ(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function Qy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(RA(Im(d,90560)|0)|0)if((a[b>>0]|0)==101?(xJ(b,90725)|0)==0:0){d=101;g=6}else{b=90553;g=4}else g=4;if((g|0)==4){d=a[b>>0]|0;if(d<<24>>24==99)if(!(xJ(b,90553)|0))g=11;else{d=99;g=6}else g=6}a:do if((g|0)==6){e=19868;while(1){f=c[e>>2]|0;if(!f){g=11;break a}if((a[f>>0]|0)==d<<24>>24?(xJ(f,b)|0)==0:0){b=e;break a}e=e+16|0}}while(0);if((g|0)==11)b=Ry(b)|0;return b|0}function Ry(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=Py(b)|0;if(!d){f=c[42328]|0;d=f+1|0;c[42328]=d;e=c[42327]|0;if(!e)d=ww(d<<2)|0;else d=yw(e,d<<2)|0;c[42327]=d;d=vw(16)|0;c[(c[42327]|0)+(f<<2)>>2]=d;c[d>>2]=c[4967];c[d+4>>2]=c[4968];c[d+8>>2]=c[4969];c[d+12>>2]=c[4970];e=GL(b)|0;c[d>>2]=e;do if(!0){if((a[b>>0]|0)==99?(xJ(b,90553)|0)==0:0){e=1;break}c[g>>2]=c[4967];c[g+4>>2]=e;_l(0,90730,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function Sy(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]*.5257311121191336;c=+h[b+8>>3]*.8944271909999159;c=d>c?d:c;h[a>>3]=c*4.97979656976556;h[a+8>>3]=c*4.73606797749979;return}function Ty(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e*1.0514622242382672;d=j*.5257311121191336;g=j*.20081141588622725;i=j*.05020285397155681;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=+E(+c)*d;h[a+(f<<4)+8>>3]=+F(+c)*d-i;m=c+.6283185307179586;l=f|1;h[a+(l<<4)>>3]=+E(+m)*g;h[a+(l<<4)+8>>3]=+F(+m)*g-i;c=c+1.2566370614359172;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function Uy(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){_I(c[a+44>>2]|0);_I(a)}return}function Vy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4144;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?91400:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=HF(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(hz(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=Dn(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;_l(0,91402,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1600)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(hz(d,0,g,e,c[n>>2]|0,h)|0)iz(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function Wy(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r;f=r+16|0;if(!a){c[42331]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];aw(f,n,i);c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[42331]|0)){f=c[42332]|0;g=c[42334]|0;i=c[42333]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[42335]=g;i=c[g+44>>2]|0;c[42333]=i;f=c[g+8>>2]|0;c[42332]=f;g=O((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[42334]=g;c[42331]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=i+(g+((a+4|0)%(f|0)|0)<<4)|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[p>>2]=c[41802];c[p+4>>2]=c[41803];c[p+8>>2]=c[41804];c[p+12>>2]=c[41805];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];b=b+((gz(k,p,m,n)|0)==0&1)|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function Xy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=KF(b,d,0,f,g)|0;else b=0;return b|0}function Yy(e,f){e=e|0;f=f|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0;P=l;l=l+48|0;H=P+24|0;G=P+16|0;A=P+8|0;z=P;L=P+32|0;n=P+28|0;M=c[e+16>>2]|0;N=M+208|0;i=c[N>>2]|0;if((i|0)==0?(b[M+260>>1]&1)==0:0)J=0;else E=4;if((E|0)==4)if(!(c[e+152>>2]&4)){wD(e,i,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);J=1}else J=1;I=f+16|0;i=c[I>>2]|0;r=c[i+12>>2]|0;F=c[r+44>>2]|0;K=c[r+8>>2]|0;r=c[r+4>>2]|0;if((c[42329]|0)<(K|0)){i=K+5|0;c[42329]=i;j=c[42330]|0;if(!j)i=ww(i<<4)|0;else i=yw(j,i<<4)|0;c[42330]=i;i=c[I>>2]|0}D=(c[i+104>>2]|0)+56|0;i=i+16|0;c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];D=c[I>>2]|0;B=+h[D+32>>3]*72.0;B=(+h[D+96>>3]+ +h[D+88>>3])/+(~~(B+(B>=0.0?.5:-.5))|0);C=+h[D+40>>3]*72.0;C=+h[D+80>>3]/+(~~(C+(C>=0.0?.5:-.5))|0);D=Zy(e,f)|0;c[L>>2]=0;i=d[(c[I>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){s=GA(f,0,91300)|0;BD(e,s);DD(e,GA(f,0,91308)|0);j=0;i=1;break}if(i&8|0){s=GA(f,0,91316)|0;BD(e,s);DD(e,GA(f,0,91324)|0);j=0;i=1;break}if(i&4|0){s=GA(f,0,91332)|0;BD(e,s);DD(e,GA(f,0,91340)|0);j=0;i=1;break}if(!(D&1))if(!(D&576)){j=0;i=0}else{j=_y(f)|0;i=1}else{j=_y(f)|0;if(!((xv(j,L,n)|0)<<24>>24)){DD(e,j);i=1}else{DD(e,c[L>>2]|0);i=c[L+4>>2]|0;m=DA(f,c[42217]|0,0,0)|0;k=+g[n>>2];if(!i)ED(e,122106,m,k);else ED(e,i,m,k);i=(D&2)>>>1|2}}s=$y(e,f)|0}else{s=GA(f,0,91284)|0;BD(e,s);DD(e,GA(f,0,91292)|0);j=0;i=1}while(0);m=c[(c[I>>2]|0)+8>>2]|0;if(a[m+12>>0]|0){m=c[m>>2]|0;if((a[m>>0]|0)==99){m=(xJ(m,90553)|0)==0;E=33}else u=1}else{m=1;E=33}if((E|0)==33){m=m^1;if((r|0)!=0|i<<24>>24==0|m)u=m;else{BD(e,122171);r=1;u=0}}v=(K|0)<3;w=(D&512|0)!=0;y=(D&8|0)==0;x=(D&64|0)==0;p=(D&1024|0)==0;q=(D&2130706444|0)==0;t=0;while(1){if((t|0)>=(r|0))break;n=O(t,K)|0;o=c[42330]|0;m=0;while(1){if((m|0)>=(K|0))break;R=m+n|0;k=+h[F+(R<<4)+8>>3];Q=c[I>>2]|0;h[o+(m<<4)>>3]=+h[Q+16>>3]+ +h[F+(R<<4)>>3]*B;h[o+(m<<4)+8>>3]=+h[Q+24>>3]+k*C;m=m+1|0}do if(v){if(w&(t|0)==0?(WJ(j,58)|0)!=0:0)if((_t(e,o,j)|0)>1){c[z>>2]=Dn(f)|0;_l(3,91348,z)|0;i=0}else i=0;GD(e,c[42330]|0,K,i&255);if(!y)az(e,f)}else{if(!x){if((t|0)==0?(cu(e,o,j,1)|0)>1:0){c[A>>2]=Dn(f)|0;_l(3,91348,A)|0}HD(e,c[42330]|0,K,0);break}if(!p){BD(e,122171);HD(e,c[42330]|0,K,i&255);BD(e,s);KD(e,(c[42330]|0)+32|0,2);break}i=i&255;if(q){HD(e,o,K,i);break}else{yy(e,o,K,D,i);break}}while(0);t=t+1|0;i=0}m=c[(c[I>>2]|0)+8>>2]|0;if(!(a[m+12>>0]|0)){m=Im(f,93847)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{m=c[m>>2]|0;if((a[m>>0]|0)==99?(xJ(m,90553)|0)==0:0){m=Im(f,90560)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{o=m;E=65}}if((E|0)==65){n=c[42330]|0;m=0;while(1){if((m|0)>=(K|0))break;k=+h[F+(m<<4)+8>>3];R=c[I>>2]|0;h[n+(m<<4)>>3]=+h[R+16>>3]+ +h[F+(m<<4)>>3]*B;h[n+(m<<4)+8>>3]=+h[R+24>>3]+k*C;m=m+1|0}m=i&255;do if(!(u|i<<24>>24==0)){if(v){if(w&(t|0)==0?(WJ(j,58)|0)!=0:0)if((_t(e,n,j)|0)>1){c[G>>2]=Dn(f)|0;_l(3,91348,G)|0;i=0}else i=0;GD(e,c[42330]|0,K,i&255);if(y)break;az(e,f);break}if(x)if(!(D&12)){HD(e,n,K,m);break}else{yy(e,n,K,D,m);break}else{if((cu(e,n,j,1)|0)>1){c[H>>2]=Dn(f)|0;_l(3,91348,H)|0}HD(e,c[42330]|0,K,0);break}}while(0);R=c[42330]|0;MD(e,o,R,K,i,FA(f,c[42210]|0,122100)|0)}_I(c[L>>2]|0);pw(e,10,c[(c[I>>2]|0)+104>>2]|0);if(J){if(c[e+152>>2]&4|0)wD(e,c[N>>2]|0,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);xD(e)}l=P;return}function Zy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=dz(d,f)|0;if(e|0)FD(b,e);e=c[42216]|0;if((e|0?(g=Jm(d,e)|0,g|0):0)?a[g>>0]|0:0)OD(b,+EA(d,c[42216]|0,1.0,0.0));l=h;return c[f>>2]|0}function _y(a){a=a|0;return cz(a,119592)|0}function $y(b,d){b=b|0;d=d|0;d=GA(d,c[42192]|0,174181)|0;d=a[d>>0]|0?d:122106;BD(b,d);return d|0}function az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3];h[m+8>>3]=f*.375;i=+h[b+96>>3];h[m>>3]=i*.6614;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];bz(g,k,j);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*1.3228;KD(a,e,2);f=+h[g>>3]-f*.75;h[g>>3]=f;h[b>>3]=f;KD(a,e,2);l=d;return}function bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function cz(b,d){b=b|0;d=d|0;var e=0;e=GA(b,c[42193]|0,174181)|0;if(!(a[e>>0]|0)){e=GA(b,c[42192]|0,174181)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function dz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=GA(b,c[42201]|0,174181)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=Du(e)|0;h=g;e=0;b:while(1){f=c[h>>2]|0;if(!f)break a;switch(a[f>>0]|0){case 102:{if(!(xJ(f,95923)|0)){h=h+4|0;e=e|1;continue b}break}case 114:{if(!(xJ(f,91360)|0)){f=h;do{j=f;f=f+4|0;i=c[f>>2]|0;c[j>>2]=i}while((i|0)!=0);j=h;e=e|4;h=j;continue b}if(!(xJ(f,91378)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|3;h=j;continue b}break}case 100:{if(!(xJ(f,91368)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|8;h=j;continue b}break}case 105:{if(!(xJ(f,119127)|0)){h=h+4|0;e=e|32;continue b}break}case 115:{if((xJ(f,91385)|0)==0?ez(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|64;h=j;continue b}break}case 119:{if((xJ(f,91393)|0)==0?fz(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|512;h=j;continue b}break}default:{}}h=h+4|0}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function ez(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((a|0)!=0?(c[a+8>>2]|0)==4:0)?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function fz(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function gz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;i=+h[c+8>>3];g=-(+h[d+8>>3]-i);f=+h[c>>3];e=+h[d>>3]-f;f=e*i+f*g;return (+h[a+8>>3]*e+ +h[a>>3]*g-f>=0.0^+h[b>>3]*g-f+ +h[b+8>>3]*e>=0.0^1)&1|0}function hz(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+192|0;B=G+176|0;E=G+160|0;m=G+144|0;z=G+128|0;A=G+112|0;n=G+96|0;o=G+80|0;p=G+64|0;v=G+48|0;w=G+32|0;x=G+16|0;D=G;if(!d){c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;m=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1|0)==0;C=c[b+16>>2]|0;q=+h[C+80>>3]*.5;j=+h[C+88>>3];t=m?q:j;q=m?j:q;m=0;C=E;j=0.0;k=-q;r=t;F=E+8|0;s=0.0;t=-t}else{k=+h[d>>3];t=+h[d+8>>3];q=+h[d+16>>3];r=+h[d+24>>3];Iy(m,(q+k)*.5,(r+t)*.5);c[E>>2]=c[m>>2];c[E+4>>2]=c[m+4>>2];c[E+8>>2]=c[m+8>>2];c[E+12>>2]=c[m+12>>2];H=E+8|0;m=1;C=E;j=+h[E>>3];F=H;s=+h[H>>3]}u=(q>r?q:r)*4.0;a:do if((f|0)!=0?(y=a[f>>0]|0,y<<24>>24!=0):0){f=f+1|0;switch(y<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=q;else{jz(z,i,s,u);c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2]}p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[F>>3]=t;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{jz(A,i,-u,j);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];c[E+12>>2]=c[A+12>>2]}p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{jz(n,i,-u,u);c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[E+12>>2]=c[n+12>>2]}p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{u=-u;jz(o,i,u,u);c[E>>2]=c[o>>2];c[E+4>>2]=c[o+4>>2];c[E+8>>2]=c[o+8>>2];c[E+12>>2]=c[o+12>>2]}p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=k;else{jz(p,i,s,-u);c[E>>2]=c[p>>2];c[E+4>>2]=c[p+4>>2];c[E+8>>2]=c[p+8>>2];c[E+12>>2]=c[p+12>>2]}p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[F>>3]=r;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{jz(v,i,u,j);c[E>>2]=c[v>>2];c[E+4>>2]=c[v+4>>2];c[E+8>>2]=c[v+8>>2];c[E+12>>2]=c[v+12>>2]}p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{jz(w,i,u,u);c[E>>2]=c[w>>2];c[E+4>>2]=c[w+4>>2];c[E+8>>2]=c[w+8>>2];c[E+12>>2]=c[w+12>>2]}p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{jz(x,i,u,-u);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2]}p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);H=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&3)*90|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];$v(D,B,H);c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];if(!(f<<24>>24))g=kz(g,c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[C>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[F>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+lz(j,c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&3);k=+h[C>>3];j=+h[F>>3];if(k==0.0&j==0.0)g=-128;else{u=+K(+j,+k);t=u+4.71238898038469;g=~~((!(t>=6.283185307179586)?t:u+-1.5707963267948966)*40.74366543152521)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=G;return o|0}function iz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=Dn(a)|0;c[e+4>>2]=b;_l(0,91463,e)|0;l=d;return}function jz(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;g=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;i=c[(c[(ro(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(i|0)!=0;if(f){c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];$v(m,g,i*90|0);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];Fz(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];aw(n,g,i*90|0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function kz(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function lz(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function mz(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];aw(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function nz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+32|0;m=n;i=c[a+16>>2]|0;j=i+208|0;g=c[j>>2]|0;if(!g)k=(b[i+260>>1]&1)!=0;else k=1;e=d+16|0;d=c[e>>2]|0;f=c[d+12>>2]|0;if(f|0){if(k?(c[a+152>>2]&4|0)==0:0){wD(a,g,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);d=c[e>>2]|0}g=c[a+36>>2]|0;p=+h[d+24>>3]+ +(c[f+8>>2]|0);o=c[f>>2]|0;h[m>>3]=+h[d+16>>3]+ +(c[f+4>>2]|0);h[m+8>>3]=p;c[m+16>>2]=o;zL(g,91494,m)|0;g=c[e>>2]|0;m=(c[g+104>>2]|0)+56|0;g=g+16|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];pw(a,10,c[(c[e>>2]|0)+104>>2]|0);if(k){if(c[a+152>>2]&4|0)wD(a,c[j>>2]|0,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);xD(a)}}l=n;return}function oz(a){a=a|0;Ly(c[(c[a+16>>2]|0)+12>>2]|0);return}function pz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4144;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?91400:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=vz(i,f)|0;if(!j){if(hz(e,i+16|0,h,f,15,0)|0)iz(e,f)}else if(hz(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=Dn(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;_l(0,91402,k)|0}g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}l=m;return}function qz(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];aw(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function rz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(i>=j?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=v+j;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=v+s}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];bw(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=i*.5+j;c[g>>2]=1}while(0);l=u;return e|0}function sz(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=l;l=l+144|0;n=w+96|0;p=w+64|0;r=w;s=w+128|0;t=c[d+16>>2]|0;u=t+208|0;f=c[u>>2]|0;if(!f)v=(b[t+260>>1]&1)!=0;else v=1;m=e+16|0;q=c[m>>2]|0;o=c[q+12>>2]|0;j=o+16|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[p+20>>2]=c[j+20>>2];c[p+24>>2]=c[j+24>>2];c[p+28>>2]=c[j+28>>2];x=+h[q+16>>3];h[p>>3]=+h[p>>3]+x;k=+h[q+24>>3];q=p+8|0;h[q>>3]=+h[q>>3]+k;q=p+16|0;h[q>>3]=+h[q>>3]+x;j=p+24|0;h[j>>3]=+h[j>>3]+k;if(v?(c[d+152>>2]&4|0)==0:0)wD(d,f,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);f=Zy(d,e)|0;$y(d,e)|0;c[s>>2]=0;if(!(f&1))i=0;else{i=_y(e)|0;if(!((xv(i,s,n)|0)<<24>>24)){DD(d,i);i=1}else{DD(d,c[s>>2]|0);i=c[s+4>>2]|0;j=DA(e,c[42217]|0,0,0)|0;k=+g[n>>2];if(!i)ED(d,122106,j,k);else ED(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(xJ(j,91271)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[n+16>>2]=c[p+16>>2];c[n+20>>2]=c[p+20>>2];c[n+24>>2]=c[p+24>>2];c[n+28>>2]=c[p+28>>2];ID(d,n,i)}else{c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+32|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[r+16>>3]=+h[p>>3];h[r+24>>3]=+h[r+8>>3];h[r+48>>3]=+h[r>>3];h[r+56>>3]=+h[r+40>>3];yy(d,r,4,f,i)}tz(d,e,o);_I(c[s>>2]|0);if(v){if(c[d+152>>2]&4|0)wD(d,c[u>>2]|0,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);xD(d)}l=w;return}function tz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;g=u+96|0;i=u+80|0;s=u+64|0;t=u+48|0;j=e+52|0;f=c[j>>2]|0;if(!f)f=d+16|0;else{n=f+56|0;m=e+16|0;f=e+32|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];uz(g,o,p);f=d+16|0;m=(c[f>>2]|0)+16|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];bz(i,o,p);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];pw(b,10,c[j>>2]|0);$y(b,d)|0}k=(c[f>>2]|0)+16|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];k=e+48|0;m=e+64|0;n=q+16|0;j=e+56|0;e=q+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0))break;if((i|0)>0){f=(c[j>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[m>>0]|0)){g=g+32|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=n;g=0}else{g=g+16|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];h[e>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];bz(s,o,p);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];bz(t,o,p);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];KD(b,q,2)}tz(b,d,c[(c[j>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function vz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(xJ(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=vz(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function wz(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function xz(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+h[b>>3];f=k*.5;m=+h[b+8>>3];i=m*.5;h[a>>3]=f;e=m*.40909090909090906;h[a+8>>3]=e;h[a+16>>3]=f;g=m*.4592530909090909;h[a+24>>3]=g;j=k*.275892;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=k*-.275892;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m*-.40909090909090906;d=a+144|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];return}function yz(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;v=x+80|0;s=x+64|0;w=x+32|0;q=x+16|0;r=x;g=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(ro(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];aw(g,u,o);c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if(j|0){d=+h[w>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[w+8>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[42336]|0)){d=+h[20903];e=+h[20904];i=+h[20905]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[42337]=b;c[42338]=c[b+44>>2];c[42339]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(ro(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?167248:167256)>>3]=+h[o+96>>3]+ +h[o+88>>3];h[(n?167256:167248)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;f=+h[o+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{aB(u,b);i=+h[u+16>>3]-+h[u>>3];f=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(ro(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?167248:167256)>>3]=i;h[(o?167256:167248)>>3]=f}d=+h[20906];if(d==0.0){h[20906]=1.0;d=1.0}e=+h[20907];if(e==0.0){h[20907]=1.0;e=1.0}d=i/d;h[20903]=d;e=f/e;h[20904]=e;i=i*.5;h[20905]=i;h[20908]=f*.5;o=O((c[(c[42337]|0)+4>>2]|0)+-1|0,c[42339]|0)|0;c[42340]=(o|0)>0?o:0;c[42336]=k}f=+h[w>>3]*d;h[w>>3]=f;o=w+8|0;d=+h[o>>3]*e;h[o>>3]=d;if(!(+B(+f)>i)?(e=+B(+d),p=+h[20908],!(e>p)):0){o=c[42339]|0;if((o|0)<3){a=+QJ(f/i,d/p)<1.0;break}b=(c[42341]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[42338]|0;m=c[42340]|0;n=k+(m+b<<4)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];n=k+(m+a<<4)|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[41818];c[v+4>>2]=c[41819];c[v+8>>2]=c[41820];c[v+12>>2]=c[41821];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(gz(s,v,t,u)|0){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[u>>2]=c[41818];c[u+4>>2]=c[41819];c[u+8>>2]=c[41820];c[u+12>>2]=c[41821];n=(gz(s,v,t,u)|0)!=0;if(n?(c[s>>2]=c[w>>2],c[s+4>>2]=c[w+4>>2],c[s+8>>2]=c[w+8>>2],c[s+12>>2]=c[w+12>>2],c[v>>2]=c[r>>2],c[v+4>>2]=c[r+4>>2],c[v+8>>2]=c[r+8>>2],c[v+12>>2]=c[r+12>>2],c[t>>2]=c[41818],c[t+4>>2]=c[41819],c[t+8>>2]=c[41820],c[t+12>>2]=c[41821],c[u>>2]=c[q>>2],c[u+4>>2]=c[q+4>>2],c[u+8>>2]=c[q+8>>2],c[u+12>>2]=c[q+12>>2],(gz(s,v,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){g=a;a=(a+1|0)%(o|0)|0}else{g=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+g<<4)|0;r=k+(m+a<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[41818];c[v+4>>2]=c[41819];c[v+8>>2]=c[41820];c[v+12>>2]=c[41821];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!(gz(s,v,t,u)|0)){b=30;break}else{j=g;b=b+1|0}}if((b|0)==30){c[42341]=g;a=0;break}else if((b|0)==31){c[42341]=j;a=1;break}}else a=0}else a=0}else{c[42336]=0;a=0}while(0);l=x;return a&1|0}function zz(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];aw(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[42344]|0))d=+h[20911];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[20911]=d;c[42344]=a}if(+B(+g)>d|+B(+e)>d)a=0;else a=+QJ(g,e)<=d&1}else{c[42344]=0;a=0}l=j;return a|0}function Az(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0;t=l;l=l+16|0;j=t;r=c[e+16>>2]|0;s=r+208|0;g=c[s>>2]|0;if((g|0)==0?(b[r+260>>1]&1)==0:0)q=0;else if(!(c[e+152>>2]&4)){wD(e,g,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);q=1}else q=1;n=f+16|0;k=c[(c[n>>2]|0)+12>>2]|0;o=c[k+44>>2]|0;p=c[k+8>>2]|0;k=c[k+4>>2]|0;if((c[42342]|0)<(p|0)){g=p+2|0;c[42342]=g;i=c[42343]|0;if(!i)g=ww(g<<4)|0;else g=yw(i,g<<4)|0;c[42343]=g}dz(f,j)|0;if(!(c[j>>2]&32))FD(e,21040);else FD(e,21036);g=c[42216]|0;if(g|0)OD(e,+EA(f,g,1.0,0.0));g=d[(c[n>>2]|0)+117>>0]|0;do if(!(g&1)){if(g&2|0){BD(e,GA(f,0,91300)|0);g=GA(f,0,91308)|0;DD(e,g);break}if(g&8|0){BD(e,GA(f,0,91316)|0);g=GA(f,0,91324)|0;DD(e,g);break}if(!(g&4)){g=cz(f,122106)|0;DD(e,g);$y(e,f)|0;break}else{BD(e,GA(f,0,91332)|0);g=GA(f,0,91340)|0;DD(e,g);break}}else{BD(e,GA(f,0,91284)|0);g=GA(f,0,91292)|0;DD(e,g)}while(0);if(!k)if(!(a[g>>0]|0))i=1;else{BD(e,g);i=1}else i=k;j=1;f=0;while(1){if((f|0)>=(i|0))break;k=O(f,p)|0;m=c[42343]|0;g=0;while(1){if((g|0)>=(p|0))break;w=g+k|0;u=+h[o+(w<<4)+8>>3];v=c[n>>2]|0;h[m+(g<<4)>>3]=+h[v+16>>3]+ +h[o+(w<<4)>>3];h[m+(g<<4)+8>>3]=+h[v+24>>3]+u;g=g+1|0}GD(e,m,p,j);j=0;f=f+1|0}if(q){if(c[e+152>>2]&4|0)wD(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);xD(e)}l=t;return}function Bz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=Cz(b,e,f)|0;c[h+36>>2]=c[f+36>>2];hz(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function Cz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;g=z+24|0;k=z+16|0;x=c[(c[(c[(ro(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];Dz(g,y,x);w=(c[d+16>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];Dz(k,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;m=+h[w+88>>3];j=-m;n=x?j:A;i=x?m:B;m=x?B:m;j=x?A:j}else{n=+h[d>>3];i=+h[d+16>>3];m=+h[d+24>>3];j=+h[d+8>>3]}x=c[g>>2]|0;v=c[g+4>>2]|0;w=c[k>>2]|0;s=c[k+4>>2]|0;t=~~j;u=~~((i+n)*.5);r=~~i;q=~~((m+j)*.5);p=~~m;o=~~n;g=0;k=0;d=0;e=0;b=0;while(1){if((k|0)==4)break a;if(1<<k&y){switch(k|0){case 0:{e=u;b=t;break}case 1:{e=r;b=q;break}case 2:{e=u;b=p;break}case 3:{e=o;b=q;break}default:{}}e=x+e|0;b=v+b|0;f=e-w|0;C=b-s|0;f=(O(C,C)|0)+(O(f,f)|0)|0;if((d|0)==0|(f|0)<(g|0))d=c[21048+(k<<2)>>2]|0;else f=g}else f=g;g=f;k=k+1|0}}}while(0);l=z;return d|0}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;switch(d|0){case 0:{f=+h[b>>3];e=+h[b+8>>3];break}case 2:{f=+h[b>>3];e=-+h[b+8>>3];break}case 1:{f=-+h[b+8>>3];e=+h[b>>3];break}case 3:{f=+h[b+8>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function Ez(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];yz(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];zz(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];Wy(0,b)|0;l=a;return}function Fz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(f+g)*.5;PA(w,d,3,f,n,o);c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];a:do if(!((ab[b&63](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|0;c[j>>2]=c[A>>2];c[j+4>>2]=c[A+4>>2];c[j+8>>2]=c[A+8>>2];c[j+12>>2]=c[A+12>>2];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];e=e+1|0}}while(0);l=z;return}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;e=m;f=m+32|0;g=a+16|0;i=c[g>>2]|0;j=c[i+8>>2]|0;if(j|0?(k=j+4|0,c[(c[k>>2]|0)+12>>2]|0):0){c[f>>2]=a;c[f+4>>2]=0;n=+h[i+96>>3];h[e>>3]=+h[b>>3]-+h[i+16>>3];h[e+8>>3]=+h[b+8>>3]-+h[i+24>>3];k=c[(c[k>>2]|0)+12>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=ab[k&63](f,d)|0;h[(c[g>>2]|0)+96>>3]=n;Hz(f,a,b,k)}l=m;return}function Hz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;j=b+16|0;g=c[j>>2]|0;k=+h[g+96>>3];i=g+16|0;f=g+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[i>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}Fz(a,c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);b=0;while(1){if((b|0)==4)break;e=c[j>>2]|0;h[d+(b<<4)>>3]=+h[e+16>>3]+ +h[m+(b<<4)>>3];h[d+(b<<4)+8>>3]=+h[e+24>>3]+ +h[m+(b<<4)+8>>3];b=b+1|0}h[(c[j>>2]|0)+96>>3]=k;l=n;return}function Iz(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=vw(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;if(!e)b=ww(((c[b+4>>2]|0)*48|0)+48|0)|0;else b=yw(e,((c[b+4>>2]|0)*48|0)+48|0)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=vw(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function Jz(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;D=l;l=l+96|0;A=D+16|0;u=D;x=D+92|0;y=D+88|0;v=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=ro(m)|0;B=Iz(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;if((m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)){j=o+80|0;k=o+40|0;p=d[o+86>>0]|0;e=d[o+46>>0]|0}else{j=o+40|0;k=o+80|0;p=d[o+46>>0]|0;e=d[o+86>>0]|0}o=c[j>>2]|0;j=c[k>>2]|0;if(((e|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=m;c[v+4>>2]=j;j=g+-4|0;e=u+8|0;k=0;while(1){if((k|0)>=(j|0))break;n=k+3|0;q=c[r>>2]|0;h[u>>3]=+h[f+(n<<4)>>3]-+h[q+16>>3];h[e>>3]=+h[f+(n<<4)+8>>3]-+h[q+24>>3];q=c[(c[(c[q+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((ab[q&63](v,A)|0)<<24>>24))break;else k=n}c[x>>2]=k;Hz(v,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((p|0)!=0?(t=w+16|0,s=c[(c[t>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=w;c[v+4>>2]=o;m=g+-4|0;e=u+8|0;j=m;while(1){if((j|0)<=0)break;g=c[t>>2]|0;h[u>>3]=+h[f+(j<<4)>>3]-+h[g+16>>3];h[e>>3]=+h[f+(j<<4)+8>>3]-+h[g+24>>3];g=c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((ab[g&63](v,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;Hz(v,w,f+(j<<4)|0,0)}else{m=g+-4|0;c[y>>2]=m;j=m}while(1){if((k|0)>=(m|0))break;e=k+3|0;E=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];F=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(F*F+E*E<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;v=j+3|0;F=+h[f+(j<<4)>>3]-+h[f+(v<<4)>>3];E=+h[f+(j<<4)+8>>3]-+h[f+(v<<4)+8>>3];if(!(E*E+F*F<1.0e-06))break;j=j+-3|0}c[y>>2]=j;Kz(b,w,f,x,y,B,i);r=c[x>>2]|0;n=c[y>>2]|0;m=n+4|0;n=n+3|0;o=A+16|0;p=A+32|0;q=A+48|0;k=z+16|0;j=r;while(1){if((j|0)>=(m|0))break;z=(c[B>>2]|0)+(j-r<<4)|0;e=f+(j<<4)|0;c[z>>2]=c[e>>2];c[z+4>>2]=c[e+4>>2];c[z+8>>2]=c[e+8>>2];c[z+12>>2]=c[e+12>>2];c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];e=j+1|0;if((j|0)>=(n|0)){C=38;break}y=(c[B>>2]|0)+(e-r<<4)|0;z=f+(e<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[o>>2]=c[z>>2];c[o+4>>2]=c[z+4>>2];c[o+8>>2]=c[z+8>>2];c[o+12>>2]=c[z+12>>2];z=j+2|0;y=(c[B>>2]|0)+(z-r<<4)|0;z=f+(z<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[p>>2]=c[z>>2];c[p+4>>2]=c[z+4>>2];c[p+8>>2]=c[z+8>>2];c[p+12>>2]=c[z+12>>2];z=j+3|0;y=f+(z<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];eu((c[k>>2]|0)+16|0,A);j=z}c[B+4>>2]=m-r;l=D;return}function Kz(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))j=($a[c[i>>2]&31](o)|0)&255;else j=0;At(o,m,n);k=i+4|0;if(($a[c[k>>2]&31](d)|0)<<24>>24)c[n>>2]=0;if(($a[c[k>>2]&31](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24)c[m>>2]=0;if(j|0){d=c[m>>2]|0;c[m>>2]=c[n>>2];c[n>>2]=d}if(!(a[i+9>>0]|0)){j=c[m>>2]|0;if(j|0)c[f>>2]=Pt(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=Nt(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{k=c[n>>2]|0;j=c[m>>2]|0;if(j|k|0)Qt(o,e,c[f>>2]|0,c[g>>2]|0,h,j,k)}l=p;return}function Lz(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(a<<5)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2]}return}function Mz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=l;l=l+112|0;u=x+72|0;o=x+56|0;n=x+16|0;q=x;j=c[d>>2]&3;p=d+48|0;w=c[((j|0)==3?d:p)+40>>2]|0;t=d+16|0;r=c[t>>2]|0;i=r+16|0;if(a[r+47>>0]|0){Bz(n,w,c[((j|0)==2?d:d+-48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}r=w+16|0;j=c[r>>2]|0;i=c[j+8>>2]|0;if(!i)n=0;else n=c[(c[i+4>>2]|0)+16>>2]|0;i=j+16|0;j=(c[t>>2]|0)+16|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];Nz(q,o,u);c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[b+12>>2]=c[q+12>>2];if(!(g<<24>>24)){i=c[t>>2]|0;if(!(a[i+45>>0]|0))i=0;else{k=+h[i+32>>3];v=9}}else{k=+Oz(c[((c[d>>2]&3|0)==3?d:p)+40>>2]|0);v=9}if((v|0)==9){h[b+16>>3]=k;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;q=f+32|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];switch(e|0){case 1:{j=c[r>>2]|0;if((a[j+156>>0]|0)==0?(q=a[(c[t>>2]|0)+49>>0]|0,s=q&255,q<<24>>24!=0):0){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(s&4)){if(s&1|0){c[f+48>>2]=1;i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}i=f+48|0;if(!(s&8)){c[i>>2]=2;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{c[i>>2]=8;h[u+16>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{c[f+48>>2]=4;k=+h[u>>3];if(+h[b>>3]<+h[j+16>>3]){z=k+-1.0;y=+h[b+8>>3];b=u+16|0;k=+h[b>>3];m=+h[j+80>>3]*.5+ +h[j+24>>3];m=m+ +((c[(c[(ro(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[r>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[u+24>>3]=y;h[u+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[u>>3]=z;h[f+56>>3]=z;h[f+64>>3]=y;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{m=+h[b+8>>3];i=u+16|0;y=+h[i>>3]+1.0;z=+h[j+80>>3]*.5+ +h[j+24>>3];z=z+ +((c[(c[(ro(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+24>>3]=m;h[u+8>>3]=+h[b+24>>3]-+h[b+80>>3]*.5;h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{j=1;v=47}break}case 2:{s=a[(c[t>>2]|0)+49>>0]|0;j=s&255;if(!(s<<24>>24))v=46;else{c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){i=c[r>>2]|0;z=+h[i+24>>3]-+h[i+80>>3]*.5;i=u+16|0;y=+h[i>>3]+1.0;k=+h[b>>3];m=z-+((c[(c[(ro(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+8>>3]=z;h[u+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}k=+h[b>>3];if(!(j&8)){h[u>>3]=k;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3];i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0;i=u+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{i=u+16|0;h[i>>3]=k+1.0;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3]+-1.0;i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{i=u+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+8>>3]?u:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[f+48>>2]=j}break}default:v=46}if((v|0)==46){j=c[f+48>>2]|0;v=47}a:do if((v|0)==47){if(n){d=f+56|0;i=f+52|0;j=db[n&3](w,(c[t>>2]|0)+16|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{ma(123205,91558,569,91568);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+8>>3];break a}case 1:{h[f+80>>3]=+h[b+8>>3];c[f+48>>2]=1;break a}default:break a}}while(0);l=x;return}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Oz(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=+h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=+h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+b;a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+K(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((+K(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k))+f)*.5)}function Pz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+112|0;w=z+72|0;p=z+56|0;n=z+16|0;t=z;j=c[d>>2]&3;r=d+-48|0;y=c[((j|0)==2?d:r)+40>>2]|0;u=d+16|0;s=c[u>>2]|0;i=s+56|0;if(a[s+87>>0]|0){Bz(n,y,c[((j|0)==3?d:d+48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}s=y+16|0;j=c[s>>2]|0;i=c[j+8>>2]|0;if(!i)o=0;else o=c[(c[i+4>>2]|0)+16>>2]|0;n=b+40|0;i=j+16|0;j=(c[u>>2]|0)+56|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];Nz(t,p,w);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+85>>0]|0))q=0;else{h[b+56>>3]=+h[i+72>>3];q=1}}else{m=+Oz(c[((c[d>>2]&3|0)==2?d:r)+40>>2]|0)+3.141592653589793;h[b+56>>3]=m;if(m<6.283185307179586)q=1;else ma(91578,91558,606,91602)}a[b+69>>0]=q;t=f+32|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];switch(e|0){case 1:{j=c[s>>2]|0;if((a[j+156>>0]|0)==0?(t=a[(c[u>>2]|0)+89>>0]|0,v=t&255,t<<24>>24!=0):0){c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(v&4))if(!(v&1)){i=f+48|0;if(!(v&8)){c[i>>2]=2;h[w>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{c[i>>2]=8;h[w+16>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{c[f+48>>2]=1;k=+h[w>>3];if(+h[n>>3]<+h[j+16>>3]){B=k+-1.0;m=+h[b+48>>3];b=w+16|0;k=+h[b>>3];A=+h[j+80>>3]*-.5+ +h[j+24>>3];A=A-+((c[(c[(ro(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[w+8>>3]=m;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=B;h[f+56>>3]=B;h[f+64>>3]=A;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{B=+h[b+48>>3];i=w+16|0;A=+h[i>>3]+1.0;m=+h[j+80>>3]*-.5+ +h[j+24>>3];m=m-+((c[(c[(ro(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[s>>2]|0;h[w>>3]=+h[b+96>>3]+ +h[b+16>>3];h[w+8>>3]=B;h[w+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=A;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}}else{c[f+48>>2]=4;i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=v}else{j=4;x=47}break}case 2:{v=a[(c[u>>2]|0)+89>>0]|0;j=v&255;if(!(v<<24>>24))x=46;else{c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){k=+h[w>>3]+-1.0;i=c[s>>2]|0;B=+h[i+24>>3]-+h[i+80>>3]*.5;A=+h[n>>3];m=B-+((c[(c[(ro(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[w+16>>3]=+h[i+16>>3]+-2.0-+h[i+88>>3];h[w+8>>3]=B;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=k;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{i=w+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?w+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}k=+h[n>>3];if(!(j&8)){h[w>>3]=k+-1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3];i=w+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{i=w+16|0;h[i>>3]=k+1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=j}break}default:x=46}if((x|0)==46){j=c[f+48>>2]|0;x=47}a:do if((x|0)==47){if(o){d=f+56|0;i=f+52|0;j=db[o&3](y,(c[u>>2]|0)+56|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{ma(123205,91558,765,91602);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+48>>3];break a}case 1:{h[f+64>>3]=+h[b+48>>3];c[f+48>>2]=4;break a}default:break a}}while(0);l=z;return}function Qz(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(ro(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function Rz(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;if(!(k&8)){m=a[b+89>>0]|0;if((m&8)==0?((k&5|0)==0?1:j<<24>>24!=m<<24>>24):0){l=6;break}if(!(a[b+89>>0]&8)){if(k&4|0){Tz(d,e,f,g,h,i);break}if(!(k&1))ma(123205,91558,1231,91610);else{Vz(d,e,f,g,h,i);break}}}if((j&2)==0?(a[b+89>>0]&2)==0:0){Uz(d,e,f,g,h,i);break}Tz(d,e,f,g,h,i)}while(0);if((l|0)==6)Sz(d,e,f,g,h,i);return}function Sz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+96>>3];switch(Wz(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 65:case 32:{if(F==H)k=0-k|0;break}default:{}}Q=(p-m)*3.0;m=(p-i)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p<Q?p:Q;m=p<m?p:m;while(1){if((r|0)>=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;Xz(M,n*.3333333333333333+E,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=p+C;Xz(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];Xz(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;Xz(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];Xz(K,m*.3333333333333333+G,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ro(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*.5+p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;Jz(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function Tz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0;Q=l;l=l+16080|0;M=Q+80|0;N=Q+64|0;O=Q+48|0;P=Q+32|0;K=Q+16|0;L=Q;C=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;E=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;m=c[E>>2]|0;H=+h[m+16>>3];D=+h[m+24>>3];C=c[C+16>>2]|0;k=+h[C+16>>3];p=+h[C+24>>3];F=k+H;G=p+D;g=+h[C+56>>3];o=+h[C+64>>3];H=g+H;I=o+D;n=!(F>=H)?-1.0:1.0;s=+h[m+80>>3]*.5;switch(Wz(d[C+49>>0]|0,d[C+89>>0]|0)|0){case 15:{k=(q-g+ +h[m+96>>3])*n;break}case 38:{k=(g+q+ +h[m+88>>3])*n;break}case 41:{k=(q-k+ +h[m+96>>3])*n;break}case 48:{k=(q-k+ +h[m+96>>3])*n;break}case 58:case 57:case 51:case 47:case 37:case 14:{k=n*.3333333333333333*(k-g+ +h[m+88>>3]+ +h[m+96>>3]);break}case 73:{k=(k+q+ +h[m+88>>3])*n;break}case 83:{k=(+h[m+88>>3]+k)*n;break}case 84:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q)*n;break}case 85:case 75:case 74:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q*2.0)*n;break}default:k=0.0}p=(s-p)*3.0;o=(s-o)*3.0;q=n*q;w=M+8|0;x=M+16|0;y=M+32|0;z=M+48|0;A=(H+F)*.5;B=M+64|0;C=M+80|0;u=M+96|0;v=M+104|0;t=0;g=s;p=s<p?s:p;n=s<o?s:o;while(1){if((t|0)>=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;o=g+i;p=p+i;n=n+i;k=k+q;h[M>>3]=F;h[w>>3]=G;s=k+F;Xz(N,s,p*.3333333333333333+G);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];R=o+D;Xz(O,s,R);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Xz(P,A,R);c[z>>2]=c[P>>2];c[z+4>>2]=c[P+4>>2];c[z+8>>2]=c[P+8>>2];c[z+12>>2]=c[P+12>>2];s=H-k;Xz(K,s,R);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];Xz(L,s,n*.3333333333333333+I);c[C>>2]=c[L>>2];c[C+4>>2]=c[L+4>>2];c[C+8>>2]=c[L+8>>2];c[C+12>>2]=c[L+12>>2];h[u>>3]=H;h[v>>3]=I;m=e+16|0;if((c[(c[m>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ro(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,m=c[(c[m>>2]|0)+96>>2]|0,J=+h[(S?m+32|0:m+24|0)>>3],S=c[E>>2]|0,h[m+64>>3]=J*.5+o+ +h[S+24>>3],h[m+56>>3]=+h[S+16>>3],a[m+81>>0]=1,J>i):0)g=J+g;else g=o;Jz(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,M,7,j);e=r;t=t+1|0}l=Q;return}function Uz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+88>>3];switch(Wz(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 67:case 12:{if(F==H)k=0-k|0;break}default:{}}Q=(m+p)*3.0;m=(i+p)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p<Q?p:Q;m=p<m?p:m;while(1){if((r|0)>=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;Xz(M,E-n*.3333333333333333,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=C-p;Xz(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];Xz(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;Xz(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];Xz(K,G-m*.3333333333333333,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ro(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*-.5-p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;Jz(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function Vz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;C=c[b+(e<<2)>>2]|0;B=g*.5/+(f|0);w=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;D=c[w>>2]|0;z=+h[D+16>>3];v=+h[D+24>>3];C=c[C+16>>2]|0;m=+h[C+24>>3];x=+h[C+16>>3]+z;y=m+v;n=+h[C+64>>3];z=+h[C+56>>3]+z;A=n+v;u=!(x>=z)?-1:1;o=+h[D+80>>3]*.5;C=(Wz(d[C+49>>0]|0,d[C+89>>0]|0)|0)==67;m=(m+o)*3.0;n=(n+o)*3.0;B=(B>2.0?B:2.0)*+((C?0-u|0:u)|0);u=L+8|0;C=L+16|0;D=L+32|0;E=L+48|0;F=(z+x)*.5;G=L+64|0;H=L+80|0;s=L+96|0;t=L+104|0;g=o;k=0.0;m=o<m?o:m;n=o<n?o:n;q=0;while(1){if((q|0)>=(f|0))break;r=e+1|0;p=c[b+(e<<2)>>2]|0;o=g+i;m=m+i;n=n+i;k=k+B;h[L>>3]=x;h[u>>3]=y;Q=k+x;Xz(M,Q,y-m*.3333333333333333);c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];R=v-o;Xz(N,Q,R);c[D>>2]=c[N>>2];c[D+4>>2]=c[N+4>>2];c[D+8>>2]=c[N+8>>2];c[D+12>>2]=c[N+12>>2];Xz(O,F,R);c[E>>2]=c[O>>2];c[E+4>>2]=c[O+4>>2];c[E+8>>2]=c[O+8>>2];c[E+12>>2]=c[O+12>>2];Q=z-k;Xz(J,Q,R);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];Xz(K,Q,A-n*.3333333333333333);c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];h[s>>3]=z;h[t>>3]=A;e=p+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ro(c[((c[p>>2]&3|0)==3?p:p+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,I=+h[(S?e+32|0:e+24|0)>>3],S=c[w>>2]|0,h[e+64>>3]=I*-.5-o+ +h[S+24>>3],h[e+56>>3]=+h[S+16>>3],a[e+81>>0]=1,I>i):0)g=I+g;else g=o;Jz(p,c[((c[p>>2]&3|0)==2?p:p+-48|0)+40>>2]|0,L,7,j);e=r;q=q+1|0}l=P;return}function Wz(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[21064+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[21064+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[21096+(d<<5)+(b<<2)>>2]|0;return d|0}function Xz(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Yz(b){b=b|0;var d=0,e=0;if((c[42247]|0)!=0|(c[42246]|0)!=0){d=b+16|0;e=c[(c[d>>2]|0)+100>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?Zz(b,1)|0:0){e=ro(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;bB(e,c[(c[d>>2]|0)+100>>2]|0)}e=c[(c[d>>2]|0)+104>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?Zz(b,0)|0:0){e=ro(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;bB(e,c[(c[d>>2]|0)+104>>2]|0)}}return}function Zz(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;o=q+32|0;m=q+16|0;n=q;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[42247]|0;if(!((e|0)!=0?(a[(Jm(b,e)|0)>>0]|0)!=0:0)){e=c[42246]|0;if(!e){e=0;break}if(!(a[(Jm(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;p=c[i>>2]|0;p=c[(d?p+104|0:p+100|0)>>2]|0;e=_z(b)|0;if(e){k=c[e>>2]|0;do if(d){if(c[k+8>>2]|0){e=c[k>>2]|0;j=+h[e>>3];g=+h[k+16>>3];e=e+8|0;f=+h[k+24>>3];break}e=c[k>>2]|0;g=+h[e>>3];f=+h[e+8>>3];e=0;while(1){if((e|0)==4)break;n=o+(e<<4)|0;i=(c[k>>2]|0)+(e<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];e=e+1|0}PA(m,o,3,.1,0,0);j=+h[m>>3];e=m+8|0}else{d=(c[e+4>>2]|0)+-1|0;i=k+(d*48|0)|0;if(c[k+(d*48|0)+12>>2]|0){o=c[i>>2]|0;e=(c[k+(d*48|0)+4>>2]|0)+-1|0;j=+h[o+(e<<4)>>3];g=+h[k+(d*48|0)+32>>3];e=o+(e<<4)+8|0;f=+h[k+(d*48|0)+40>>3];break}m=c[i>>2]|0;d=k+(d*48|0)+4|0;e=(c[d>>2]|0)+-1|0;g=+h[m+(e<<4)>>3];f=+h[m+(e<<4)+8>>3];e=0;while(1){if((e|0)==4)break;m=o+(e<<4)|0;k=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];e=e+1|0}PA(n,o,3,.9,0,0);j=+h[n>>3];e=n+8|0}while(0);r=+K(+(+h[e>>3]-f),+(j-g));r=+EA(b,c[42247]|0,-25.0,-180.0)*.017453292519943295+r;j=+EA(b,c[42246]|0,1.0,0.0)*10.0;h[p+56>>3]=j*+E(+r)+g;h[p+64>>3]=+F(+r)*j+f;a[p+81>>0]=1;e=1}else e=0}else e=0;while(0);l=q;return e|0}function _z(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=Dn(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=Dn(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;_l(1,91623,f)|0;d=0}l=h;return d|0}function $z(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;aA(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];t=f-g;i=+h[p+8>>3];j=+h[q+8>>3];u=i-j;a:do if(u*u+t*t<1.0e-06){c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2]}else switch(k&14){case 4:case 10:{h[n>>3]=(g+f)*.5;h[n+8>>3]=(j+i)*.5;q=c[(c[d>>2]|0)+8>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];VA(r,q,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{bA(o,c[(c[d>>2]|0)+8>>2]|0,p,q);break a}}while(0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];l=s;return}function aA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}else{c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function bA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;q=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];p=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=+C(+(p*p+q*q))+g}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];q=m-n;s=p-o;q=+C(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(s*m+n*g)/q;h[a+8>>3]=(s*p+o*g)/q;return}else if((f|0)==15)ma(123523,91558,1316,91685)}function cA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Yz(b);return}function dA(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,G=0,H=0,I=0,J=0,K=0,L=0;J=eA(b)|0;I=c[J+4>>2]|0;K=c[J>>2]|0;H=I+-1|0;B=+h[K+(H<<6)+16>>3];C=+(I|0);D=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(I|0))break;b=~~+fA(+(n+-1|0),C);A=n+1|0;L=~~+fA(+(A|0),C);o=K+(n<<6)|0;m=+h[o>>3];z=K+(n<<6)+8|0;l=+h[z>>3];s=K+(n<<6)+16|0;t=+h[s>>3];u=K+(n<<6)+24|0;v=K+(n<<6)+32|0;w=K+(n<<6)+40|0;x=K+(n<<6)+48|0;y=K+(n<<6)+56|0;k=+gA(+h[K+(L<<6)+8>>3]-l,+h[K+(L<<6)>>3]-m);q=+gA(+h[K+(b<<6)+8>>3]-l,+h[K+(b<<6)>>3]-m);r=+Za[d&7](t,B,e);b=(n|0)==0;do if(b|(n|0)==(H|0))if(b){i=k+1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+k)*r;m=m-+E(+k)*r;break}else{i=q+-1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+q)*r;m=m-+E(+q)*r;break}else{p=k-q;p=1.5707963267948966-(p<0.0?p+6.283185307179586:p)*.5;j=+E(+p);j=j==0.0?0.0:r/j;i=k+1.5707963267948966;k=p+i;if(G|j>r*10.0){q=+fA(q+-1.5707963267948966,6.283185307179586);b=1;p=+fA(i,6.283185307179586);j=r;i=q}else{b=0;p=k;i=k}}while(0);h[o>>3]=m;h[z>>3]=l;h[s>>3]=t;a[u>>0]=108;h[v>>3]=i;h[w>>3]=j;c[x>>2]=b;h[y>>3]=p;n=A}o=vw(12)|0;b=0;while(1){if((b|0)>=(I|0))break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];i=+h[K+(b<<6)+32>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;k=+h[K+(b<<6)+56>>3];hA(o,+E(+i)*j+m,+F(+i)*j+l);if(L|0)iA(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)jA(o,m,l,j,i,k);else{hA(o,+E(+k)*j+m,+F(+k)*j+l);i=k}b=I+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;i=+h[K+(b<<6)+32>>3]+3.141592653589793;k=+h[K+(b<<6)+56>>3]+3.141592653589793;hA(o,+E(+k)*j+m,+F(+k)*j+l);if(L|0)iA(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)jA(o,k,l,j,i,i+3.141592653589793);kA(J);return o|0}function eA(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=lA()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];mA(o,i,0.0);g=m+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}PA(n,m,3,+(a|0)*.05,0,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=+nA(h,i)+b;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];mA(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}oA(o);l=q;return o|0}function fA(a,b){a=+a;b=+b;var c=0.0;c=a-+A(+(a/b))*b;return +(!(a<0.0)&!(a>=b)?a:c)}function gA(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+K(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function hA(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=c[a>>2]|0;f=a+4|0;if((e|0)<(c[f>>2]|0))f=c[a+8>>2]|0;else{c[f>>2]=2e3;e=a+8|0;f=yw(c[e>>2]|0,32e3)|0;c[e>>2]=f;e=c[a>>2]|0}c[a>>2]=e+1;h[f+(e<<4)>>3]=b;h[f+(e<<4)+8>>3]=d;return}function iA(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0;d=(d|0)==0;i=d?e:f;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){jA(h,a,b,c,e+i,i);break}else{hA(h,+E(+i)*c+a,+F(+i)*c+a);break}}else hA(h,+E(+i)*c+a,+F(+i)*c+a);while(0);return}function jA(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;hA(a,+E(+e)*d+b,+F(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f*.05263157894736842;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);hA(a,+E(+h)*d+b,+F(+h)*d+c);g=g+1|0}}while(0);return}function kA(a){a=a|0;_I(c[a>>2]|0);_I(a);return}function lA(){var a=0;a=vw(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=vw(128e3)|0;return a|0}function mA(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=yw(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function nA(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function oA(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=yw(c[a>>2]|0,b<<6)|0;return}function pA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;g=k+12|0;c[g>>2]=0;h=c[d+4>>2]|0;if(!h)ma(91702,91713,203,91724);e=c[h>>2]|0;if(!e)ma(91738,91713,206,91724);f=h+8|0;if(!(c[f>>2]|0))c[f>>2]=qA(e)|0;if(!0)e=0;else{e=(Dv(c[h>>2]|0)|0)==0;e=e?0:g}if(!((vE(b,d,e)|0)<<24>>24))rA(d,e);do if(e|0){f=c[g>>2]|0;b=c[13918]|0;e=c[h>>2]|0;if(!f){c[j>>2]=e;zL(b,91781,j)|0;break}else{c[i>>2]=e;c[i+4>>2]=f;zL(b,91749,i)|0;break}}while(0);j=d+32|0;c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=k;return}function qA(a){a=a|0;var b=0;b=c[42345]|0;if((b|0)!=0?(iK(b,a)|0)==0:0)a=c[42354]|0;else{_I(b);c[42345]=GL(a)|0;a=vM(169380,21352,35,36,29)|0;c[42354]=a}return a|0}function rA(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(pK(e,91815,4)|0)if((pK(e,91820,5)|0)!=0?(pK(e,91826,9)|0)!=0:0){g=4184;e=91836}else{g=8280;e=91872}else{g=6232;e=91853}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=f*i}return}function sA(a,b){a=a|0;b=b|0;return iK(c[a>>2]|0,c[b>>2]|0)|0}function tA(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=14;c[a+124>>2]=58;c[a+128>>2]=20;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Ql(b,c[4345]|0)|0;c[a+144>>2]=b;return b|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;d=$I(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=GL(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=GL(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;_I(c[b>>2]|0);_I(c[b+4>>2]|0);_I(b);return}function wA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=xJ(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=xJ(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(g<f)a=-1;else a=g>f&1}}while(0);return a|0}function xA(){Wa(169420)|0;return}function yA(){var a=0,b=0;b=l;l=l+16|0;a=b;Wa(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[42355]|0)-(c[42356]|0)|0)*.016666666666666666)}function zA(a){a=a|0;var b=0,d=0;b=vw(16)|0;a=(a|0)>2?a:2;d=vw(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function AA(a){a=a|0;_I(c[a>>2]|0);_I(a);return}function BA(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function CA(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function DA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=Jm(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=BL(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function EA(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=Jm(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+tM(h,g);e=(h|0)==(c[g>>2]|0)?e:j<f?f:j}l=i;return +e}function FA(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=Jm(a,b)|0;return c|0}function GA(b,c,d){b=b|0;c=c|0;d=d|0;b=FA(b,c,d)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)d=b;return d|0}function HA(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=IA(Jm(a,b)|0)|0;return a|0}function IA(a){a=a|0;return JA(a,0)|0}function JA(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((iK(b,122100)|0)!=0?(iK(b,92682)|0)!=0:0)if((iK(b,92685)|0)!=0?(iK(b,92690)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=(rM(b)|0)&255}else c=1;else c=0;return c|0}function KA(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function LA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=KA(a)|0;d=c[b+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=b;c[d+216>>2]=1}else{d=KA(b)|0;b=d;d=c[d+16>>2]|0}g=a+16|0;e=c[g>>2]|0;f=b+16|0;h=(c[e+120>>2]|0)>(c[d+120>>2]|0);a=h?b:a;c[(h?e:d)+220>>2]=a;e=(c[(h?f:g)>>2]|0)+216|0;c[e>>2]=(c[e>>2]|0)+(c[(c[(h?g:f)>>2]|0)+216>>2]|0)}return a|0}function MA(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function NA(a,b){a=a|0;b=b|0;if((KA(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else ma(92702,92694,194,92718)}function OA(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function PA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=+h[n+(k*96|0)+(p<<4)>>3]*e+ +h[n+(k*96|0)+(b<<4)>>3]*m;h[n+(i*96|0)+(b<<4)+8>>3]=+h[n+(k*96|0)+(p<<4)+8>>3]*e+ +h[n+(k*96|0)+(b<<4)+8>>3]*m;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];i=i+1|0}}while(0);p=n+(d*96|0)|0;c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];l=o;return}function QA(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[42359]|0;f=d+1024|0;if((d-e|0)<1024){c[42359]=f;f=yw(c[42360]|0,f)|0;c[42360]=f;d=c[42359]|0}else f=c[42360]|0;d=gL(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(rJ(d)|0)+e|0;d=c[42360]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[42360]|0;return ((e|0)>0?d:0)|0}function RA(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0)if(!0){d=c[42178]|0;e=c[42362]|0;if((c[42361]|0)==(d|0))d=e;else{if(e){_I(c[e>>2]|0);_I(c[42362]|0);c[42362]=0;d=c[42178]|0}c[42361]=d;if(!d)break;if(!(a[d>>0]|0))break;d=SA(d)|0;c[42362]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=TA(d,c[42363]|0,b)|0;break}else S();else b=0;while(0);l=f;return b|0}function SA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=GL(a)|0;d=0;while(1){b=DL(b,93017)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=ww(a)|0;else a=yw(d,a)|0;c[a+(g<<2)>>2]=b;f=rJ(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[42363]=e;return f|0}function TA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[42364]|0;c[42364]=aJ(h,b+2+(rJ(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[42364]|0;c[e>>2]=b;c[e+4>>2]=93015;c[e+8>>2]=d;pL(h,93008,e)|0;if(!($L(c[42364]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[42364]|0;l=g;return a|0}function UA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(xJ(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function VA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;q=+h[s+(r<<4)>>3]-+h[d>>3];p=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q<g;C=A?r:e;r=r+1|0;b=A?f:b;e=C;g=A?q:g}f=f+1|0}f=c[v+(b*48|0)>>2]|0;e=e+(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;C=b+e|0;h[x+(b<<4)>>3]=+h[f+(C<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(C<<4)+8>>3];b=b+1|0}q=+h[d>>3];k=+h[x>>3]-q;o=+h[w>>3];p=+h[x+8>>3]-o;j=+h[x+48>>3]-q;n=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(g+i)*.5;PA(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+B(+(k-j))<1.0)break;if(+B(+(g-i))<1.0e-05)break;C=k<j;m=m-q;n=n-o;n=n*n+m*m;g=C?p:g;i=C?i:p;j=C?n:j;k=C?k:n}h[a>>3]=m;h[a+8>>3]=n;l=z;return}function WA(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+EA(b,c[42190]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+EA(b,c[42189]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=Qy(GA(b,c[42191]|0,93019)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=Jm(b,c[42198]|0)|0;d=+EA(b,c[42194]|0,14.0,1.0);e=GA(b,c[42195]|0,93027)|0;f=GA(b,c[42196]|0,122106)|0;i=(cp(l)|0)!=0;k=(By(b)|0)==2;i=lw(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[42199]|0;if((i|0?(j=Jm(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(cp(j)|0)!=0;l=lw(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(ro(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(DA(b,c[42202]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;gb[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function XA(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=ro(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[42226]|0;if(((d|0)!=0?(e=Jm(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){YA(b,m);t=(cp(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=lw(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=IA(FA(b,c[42236]|0,122100)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[42227]|0;if((f|0?(j=Jm(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){YA(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(cp(j)|0)!=0;j=lw(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[42241]|0;if(((d|0)!=0?(k=Jm(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){ZA(b,m,n);j=(cp(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=lw(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[42242]|0;if((f|0?(q=Jm(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){ZA(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(cp(q)|0)!=0;q=lw(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=Im(b,96242)|0;d=d|0?d:174181;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;_A(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if(($A(b,c[42248]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=Im(b,96251)|0;d=d|0?d:174181;if(!(a[d>>0]|0))e=b+-48|0;else{e=b+-48|0;a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;_A(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if(($A(b,c[42249]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function YA(a,b){a=a|0;b=b|0;h[b>>3]=+EA(a,c[42223]|0,14.0,1.0);c[b+8>>2]=GA(a,c[42224]|0,93027)|0;c[b+12>>2]=GA(a,c[42225]|0,122106)|0;return}function ZA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))YA(a,b);h[d>>3]=+EA(a,c[42243]|0,+h[b>>3],1.0);c[d+8>>2]=GA(a,c[42244]|0,c[e>>2]|0)|0;c[d+12>>2]=GA(a,c[42245]|0,c[b+12>>2]|0)|0;return}function _A(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=WJ(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;kb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{kb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function $A(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=Jm(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(IA(d)|0)<<24>>24==0&1;else b=0;return b|0}function aB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((O((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]<o?i:m)>>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]<n?i:m)+8>>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|0}c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function bB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];cB(e,g,b,f);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];l=d;return}function cB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;g=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];m=(j?k:i)*.5;f=g-m;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=g+l;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function dB(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0;L=l;l=l+448|0;H=L+416|0;t=L+384|0;u=L+304|0;K=L+256|0;G=L+192|0;B=L+144|0;C=L+96|0;d=L+400|0;e=L+368|0;f=L+352|0;g=L+336|0;v=L+288|0;w=L+224|0;x=L+160|0;y=L+112|0;z=L+64|0;A=L+32|0;I=L;J=b+16|0;if((mn(b)|0)==0?(c[(c[J>>2]|0)+180>>2]|0)==0:0){eB(d,0.0,0.0);c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];K=K+16|0;eB(e,0.0,0.0);c[K>>2]=c[e>>2];c[K+4>>2]=c[e+4>>2];c[K+8>>2]=c[e+8>>2];c[K+12>>2]=c[e+12>>2]}else{eB(f,2147483647.0,2147483647.0);c[K>>2]=c[f>>2];c[K+4>>2]=c[f+4>>2];c[K+8>>2]=c[f+8>>2];c[K+12>>2]=c[f+12>>2];F=K+16|0;eB(g,-2147483647.0,-2147483647.0);c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];o=C+8|0;p=u+16|0;D=K+8|0;q=u+8|0;E=K+24|0;r=u+24|0;s=B+8|0;n=co(b)|0;while(1){if(!n)break;OA(B,n);d=n+16|0;m=c[d>>2]|0;h[C>>3]=(+h[m+96>>3]+ +h[m+88>>3])*.5;h[o>>3]=+h[m+80>>3]*.5;c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];fB(u,t,H);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];gB(v,t,H);c[p>>2]=c[v>>2];c[p+4>>2]=c[v+4>>2];c[p+8>>2]=c[v+8>>2];c[p+12>>2]=c[v+12>>2];h[K>>3]=+h[(+h[K>>3]<+h[u>>3]?K:u)>>3];h[D>>3]=+h[(+h[D>>3]<+h[q>>3]?K:u)+8>>3];h[F>>3]=+h[(+h[F>>3]>+h[p>>3]?K:u)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[r>>3]?K:u)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){m=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(w,H,d,m);c[K>>2]=c[w>>2];c[K+4>>2]=c[w+4>>2];c[K+8>>2]=c[w+8>>2];c[K+12>>2]=c[w+12>>2];c[K+16>>2]=c[w+16>>2];c[K+20>>2]=c[w+20>>2];c[K+24>>2]=c[w+24>>2];c[K+28>>2]=c[w+28>>2]}m=Pm(b,n)|0;while(1){if(!m)break;k=m+16|0;d=c[k>>2]|0;j=d+8|0;e=c[j>>2]|0;if(e|0){i=0;while(1){if((i|0)<(c[e+4>>2]|0))g=0;else break;while(1){f=c[e>>2]|0;if((g|0)>=(c[f+(i*48|0)+4>>2]|0))break;e=(c[f+(i*48|0)>>2]|0)+(g<<4)|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];N=+h[B>>3];h[K>>3]=+h[(+h[K>>3]<N?K:B)>>3];M=+h[s>>3];h[D>>3]=+h[(+h[D>>3]<M?K:B)+8>>3];h[F>>3]=+h[(+h[F>>3]>N?F:B)>>3];h[E>>3]=+h[(+h[E>>3]>M?F:B)+8>>3];g=g+1|0;e=c[j>>2]|0}i=i+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(x,H,e,d);c[K>>2]=c[x>>2];c[K+4>>2]=c[x+4>>2];c[K+8>>2]=c[x+8>>2];c[K+12>>2]=c[x+12>>2];c[K+16>>2]=c[x+16>>2];c[K+20>>2]=c[x+20>>2];c[K+24>>2]=c[x+24>>2];c[K+28>>2]=c[x+28>>2];d=c[k>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(y,H,e,d);c[K>>2]=c[y>>2];c[K+4>>2]=c[y+4>>2];c[K+8>>2]=c[y+8>>2];c[K+12>>2]=c[y+12>>2];c[K+16>>2]=c[y+16>>2];c[K+20>>2]=c[y+20>>2];c[K+24>>2]=c[y+24>>2];c[K+28>>2]=c[y+28>>2];d=c[k>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(z,H,e,d);c[K>>2]=c[z>>2];c[K+4>>2]=c[z+4>>2];c[K+8>>2]=c[z+8>>2];c[K+12>>2]=c[z+12>>2];c[K+16>>2]=c[z+16>>2];c[K+20>>2]=c[z+20>>2];c[K+24>>2]=c[z+24>>2];c[K+28>>2]=c[z+28>>2];d=c[k>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){k=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(A,H,d,k);c[K>>2]=c[A>>2];c[K+4>>2]=c[A+4>>2];c[K+8>>2]=c[A+8>>2];c[K+12>>2]=c[A+12>>2];c[K+16>>2]=c[A+16>>2];c[K+20>>2]=c[A+20>>2];c[K+24>>2]=c[A+24>>2];c[K+28>>2]=c[A+28>>2]}}m=Rm(b,m)|0}n=eo(b,n)|0}d=c[J>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=G+8|0;j=G+16|0;k=G+24|0;e=1;while(1){if((e|0)>(f|0))break;P=+h[(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+16>>3];h[G>>3]=P;C=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;O=+h[C+24>>3];h[i>>3]=O;M=+h[C+32>>3];h[j>>3]=M;N=+h[C+40>>3];h[k>>3]=N;h[K>>3]=+h[(+h[K>>3]<P?K:G)>>3];h[D>>3]=+h[(+h[D>>3]<O?K:G)+8>>3];h[F>>3]=+h[(+h[F>>3]>M?K:G)+16>>3];h[E>>3]=+h[(+h[E>>3]>N?K:G)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(I,H,e,d);c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[K+16>>2]=c[I+16>>2];c[K+20>>2]=c[I+20>>2];c[K+24>>2]=c[I+24>>2];c[K+28>>2]=c[I+28>>2];d=c[J>>2]|0}J=d+16|0;c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];c[J+16>>2]=c[K+16>>2];c[J+20>>2]=c[K+20>>2];c[J+24>>2]=c[K+24>>2];c[J+28>>2]=c[K+28>>2]}l=L;return}function eB(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function gB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function hB(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(pK(Dn(a)|0,93039,7)|0)==0&1;return a|0}function iB(a){a=a|0;var b=0;b=Ql(22612,c[4345]|0)|0;lB(a,b);return b|0}function jB(a,b){a=a|0;b=b|0;a=bb[c[a>>2]&31](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function kB(a,b,c){a=a|0;b=b|0;c=c|0;c=an(ro(b)|0,b,c,0,1)|0;No(c,122254,176,1)|0;Mm(a,c)|0;return c|0}function lB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=Dn(a)|0;if(!(bb[c[b>>2]&31](b,d,512)|0)){i=vw(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;bb[c[b>>2]&31](b,i,1)|0}else{c[g>>2]=d;_l(0,93062,g)|0}lB(a,b);e=e+1|0}l=h;return}function mB(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function nB(a){a=a|0;var b=0,c=0,d=0;d=Ip(a,93047,1)|0;No(d,122277,280,1)|0;b=co(a)|0;while(1){if(!b)break;c=Pm(a,b)|0;while(1){if(!c)break;oB(c,d);c=Rm(a,c)|0}b=eo(a,b)|0}b=co(d)|0;while(1){if(!b)break;c=eo(d,b)|0;pB(b);qo(a,b)|0;b=c}ln(d)|0;return}function oB(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=qB(f,d)|0;e=kB(b,f,qB(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;rB(b)}return}function pB(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){gb[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}ow(c[b+104>>2]|0);ow(c[(c[e>>2]|0)+108>>2]|0);Po(a,122241)|0;return}function qB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=ro(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){io(d,b,1)|0;b=WJ(Dn(b)|0,58)|0;if(!b)ma(96030,92694,1225,93114);d=b+1|0;b=no(f,d,0)|0;if(!b){b=no(f,d,1)|0;No(b,122241,304,1)|0;d=Dm(f,1,0)|0;while(1){if(!d)break a;g=Jm(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))Cm(b,d,e)|0;d=Dm(f,1,d)|0}}}while(0);return b|0}function rB(a){a=a|0;var b=0;b=a+16|0;_I(c[(c[b>>2]|0)+144>>2]|0);sB(a);ow(c[(c[b>>2]|0)+96>>2]|0);ow(c[(c[b>>2]|0)+108>>2]|0);ow(c[(c[b>>2]|0)+100>>2]|0);ow(c[(c[b>>2]|0)+104>>2]|0);Po(a,122254)|0;return}function sB(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;_I(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}_I(a);_I(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function tB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ym(a,b,c,0)|0;if(!e)e=ym(a,b,c,d)|0;return e|0}function uB(a,b){a=a|0;b=b|0;return xJ(c[a>>2]|0,c[b>>2]|0)|0}function vB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[42365]|0)!=(d|0)){c[42365]=d;a[174080]=0}cm(o,1024,q+40|0);p=o+4|0;n=o+8|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){f=xB(i)|0;if(!f)e=38;else{if(f>>>0<127){e=f&255;break}b=c[p>>2]|0;e=b>>>0>=(c[n>>2]|0)>>>0;if(f>>>0<2047){if(e){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6|192;e=(f&63|128)&255;break}if(e){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6&63|128;e=(f&63|128)&255}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[174080]|0)){c[j>>2]=Dn(d)|0;_l(0,94529,j)|0;a[174080]=1}h=-1;e=wB(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[174080]|0)){g=Dn(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;_l(0,94650,k)|0;a[174080]=1}e=wB(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){dm(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=GL(n)|0;gm(o);l=q;return p|0}function wB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=yB(g)|0;h=d+4|0;i=d+8|0;e=rJ(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){dm(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;_I(g);l=j;return k|0}function xB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;g=0;b:while(1){if((g|0)>=8){d=0;break a}f=a[e+g>>0]|0;switch(f<<24>>24){case 0:{d=0;break a}case 59:break b;default:{}}a[d>>0]=f;d=d+1|0;g=g+1|0}a[d>>0]=0;d=vM(h,22648,252,8,30)|0;if(!d)d=0;else{e=e+(g+1)|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;c:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break c}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break c}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break c;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break c;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function yB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1056|0;g=k;i=k+8|0;c[g>>2]=b;cm(i,1024,k+24|0);j=i+4|0;h=i+8|0;while(1){c[g>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=xB(g)|0;if(!b){b=38;f=6}else f=5}else f=5;do if((f|0)==5){f=0;if(b>>>0<127)f=6;else{d=c[j>>2]|0;e=d>>>0>=(c[h>>2]|0)>>>0;if(b>>>0<2047){if(e){dm(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6|192;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;d=c[j>>2]|0}b=b&63|128;break}if(e){dm(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>12|224;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6&63|128;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;d=c[j>>2]|0}b=b&63|128}}while(0);if((f|0)==6){d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;d=c[j>>2]|0}}c[j>>2]=d+1;a[d>>0]=b;b=c[g>>2]|0}b=c[j>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;b=c[j>>2]|0}a[b>>0]=0;h=c[i>>2]|0;c[j>>2]=h;j=GL(h)|0;gm(i);l=k;return j|0}function zB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+1040|0;g=i;cm(g,1024,i+16|0);h=g+4|0;f=g+8|0;while(1){d=b+1|0;e=a[b>>0]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){dm(g,1)|0;b=c[h>>2]|0}c[h>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[h>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0){dm(g,1)|0;d=c[h>>2]|0}c[h>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){dm(g,1)|0;b=c[h>>2]|0}a[b>>0]=0;f=c[g>>2]|0;c[h>>2]=f;h=GL(f)|0;gm(g);l=i;return h|0}function AB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];BB(g,d,e);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];fB(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=ab[d&63](f,e)|0}else d=0;l=n;return d|0}function BB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function CB(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];fB(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];gB(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function DB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(EB(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if(!((FB(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|0?(c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(CB(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0}\nfunction si(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=vw((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=co(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=Pm(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=Rm(a,f)|0}g=eo(a,g)|0}f=vw((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=vw((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}_I(i);return}function ti(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=ti(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((Vf(a)|0)!=(a|0)){VN(d|0,0,e<<2|0)|0;g=co(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=Pm(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=Rm(a,i)|0}g=eo(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=Ip(Vf(a)|0,79522,1)|0;g=no(f,0,1)|0;No(g,122241,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=vw(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=vw(20)|0;c[(c[l>>2]|0)+180>>2]=k;io(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function ui(a){a=a|0;var b=0,d=0;Kh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;ui(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function vi(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=wi(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17236+(d*12|0)+((wi(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=O(c[a>>2]|0,b)|0;return}function wi(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function xi(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){Yk(b);yi(b);if(a[174076]|0)kl(b);zi(b);if(Cl(b)|0)yi(b);Ai(b);if(gx(b,2,Bi(b)|0)|0?(Ci(b),gx(b,2,Bi(b)|0)|0):0)ma(79540,79568,134,79579);Di(b);Ei(b,d);Fi(b)}return}function yi(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]<j){h[q>>3]=j;h[p>>3]=j}if(+h[r>>3]<j){h[s>>3]=j;h[r>>3]=j}f=c[e+212>>2]|0;if(f|0){if((f|0)==(d|0))g=0;else{g=DA(f,c[42188]|0,8,0)|0;e=c[l>>2]|0}i=c[e+232>>2]|0;f=c[f+16>>2]|0;e=f+128|0;j=j+ +(g|0);if((i|0)==(b[f+236>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}e=f+120|0;if((i|0)==(b[f+238>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=ej(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(l<<6)+32>>3]+ +h[w+(e<<6)+40>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+8.0+ +h[w+(l<<6)+16>>3];j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+j;k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){fj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+k;f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function zi(a){a=a|0;var b=0,d=0,e=0;aj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){bj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{bj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Ai(a){a=a|0;Oi(a);Pi(a);Qi(a);Ri(a);Si(a);return}function Bi(a){a=a|0;var b=0,c=0.0;b=Im(a,79768)|0;if(!b)a=2147483647;else{c=+sM(b);a=~~(c*+(mn(a)|0))}return a|0}function Ci(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=fh(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;Mi(o,f,0.0,0)|0;Mi(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)ma(79676,79568,111,79679);else if((s|0)==19)return}function Di(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Ei(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;Gi(a,a);g=a+16|0;k=c[g>>2]|0;a:do if((b[k+238>>1]|0)>0?(j=c[k+8>>2]|0,e=c[j+84>>2]|0,e|0):0){o=~~(+h[k+32>>3]-+h[k+16>>3]);m=~~(+h[k+40>>3]-+h[k+24>>3]);p=(c[k+116>>2]&1|0)==0;n=p?m:o;m=p?o:m;if((e|0)==4){e=Hi(a)|0;k=c[g>>2]|0;j=c[k+8>>2]|0}else e=(e|0)==2&1;b:do if(!(e<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+h[k+32>>3];l=+h[j+72>>3]/+h[k+40>>3];f=i<l?i:l;if(i>1.0&l>1.0){l=f;break b}else break a}case 1:break;default:break a}i=+h[j+16>>3];f=+(n|0)/+(m|0);if(f<i){l=1.0;f=i/f;break}else{l=f/i;f=1.0;break}}else{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+(m|0);f=+h[j+72>>3]/+(n|0);if(i<1.0|f<1.0)if(i<f){l=1.0;f=f/i;break}else{l=i/f;f=1.0;break}else l=i}while(0);e=(c[k+116>>2]&1|0)==0;i=e?f:l;f=e?l:f;e=k+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;l=+h[p>>3]*f;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);p=e+24|0;l=+h[p>>3]*i;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);e=e+164|0}Ii(a,f,i)}while(0);if(d|0)Ji(a,d);return}function Fi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;_I(c[e+16>>2]|0);_I(e);d=d+1|0}if(f){_I(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){_I(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;_I(e);_I(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Gi(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}Li(a,b);return}function Hi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Ki(r,d,e),c[f>>2]=c[r>>2],c[f+4>>2]=c[r+4>>2],c[f+8>>2]=c[r+8>>2],c[f+12>>2]=c[r+12>>2],c[d>>2]=c[r>>2],c[d+4>>2]=c[r+4>>2],c[d+8>>2]=c[r+8>>2],c[d+12>>2]=c[r+12>>2],c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],Ki(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o<q?o:q;o=o>.5?o:.5;q=+N(+(o*k/p))*p/k;p=+N(+(o*j/n))*n/j*j;a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=q*k;a=1}else a=0;l=s;return a|0}function Ii(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Ii(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Ji(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+24|0;g=m+16|0;f=m;n=c[a+16>>2]|0;e=+h[n+32>>3]-+h[n+16>>3];d=+h[n+40>>3]-+h[n+24>>3];i=e/d;if(0){n=c[13918]|0;h[f>>3]=i;h[f+8>>3]=e*.0001*d;zL(n,79592,f)|0;c[g>>2]=kk(a)|0;zL(n,79617,g)|0}d=+h[b>>3];do if(!(i>d*1.1)){a=b+24|0;if(!(i<=d*.8)){c[a>>2]=0;k=9;break}c[a>>2]=-1;if(0){XL(79627,34,1,c[13918]|0)|0;k=9}}else{c[b+24>>2]=~~(d*+((c[b+20>>2]|0)-(c[b+16>>2]|0)|0)/i);k=9}while(0);if((k|0)==9?0:0){n=c[13918]|0;c[j>>2]=c[b+24>>2];zL(n,79662,j)|0}l=m;return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function Li(d,e){d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;s=(Vf(d)|0)==(d|0);v=d+16|0;w=c[v>>2]|0;a:do if(s){f=b[w+236>>1]|0;d=b[w+238>>1]|0;q=d<<16>>16;r=w+196|0;s=w+196|0;p=f<<16>>16;i=-2147483647.0;g=2147483647.0;while(1){if((p|0)>(q|0))break;j=c[r>>2]|0;o=c[j+(p<<6)>>2]|0;if((o|0)!=0?(t=c[j+(p<<6)+4>>2]|0,u=c[t>>2]|0,(u|0)!=0):0){l=1;j=u;while(1){j=c[j+16>>2]|0;k=a[j+156>>0]|0;if(!((l|0)<(o|0)&k<<24>>24!=0))break;j=c[t+(l<<2)>>2]|0;l=l+1|0}if(!(k<<24>>24)){m=+h[j+16>>3]-+h[j+88>>3];n=g<m;l=c[(c[s>>2]|0)+(p<<6)+4>>2]|0;k=o+-2|0;j=o+-1|0;while(1){j=c[(c[l+(j<<2)>>2]|0)+16>>2]|0;if(!(a[j+156>>0]|0))break;else{j=k;k=k+-1|0}}x=+h[j+96>>3]+ +h[j+16>>3];i=i>x?i:x;g=n?g:m}}p=p+1|0}k=c[w+180>>2]|0;l=w+184|0;j=1;while(1){if((j|0)>(k|0))break a;u=c[(c[(c[l>>2]|0)+(j<<2)>>2]|0)+16>>2]|0;x=+h[u+16>>3]+-8.0;m=+h[u+32>>3]+8.0;j=j+1|0;i=i>m?i:m;g=g<x?g:x}}else{i=+(c[(c[(c[w+260>>2]|0)+16>>2]|0)+232>>2]|0);g=+(c[(c[(c[w+256>>2]|0)+16>>2]|0)+232>>2]|0);f=b[w+236>>1]|0;d=b[w+238>>1]|0}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;m=+h[(c[(c[c[e+(d<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[w+120>>3];x=+h[w+128>>3]+ +h[(c[(c[c[e+(f<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];h[w+16>>3]=g;h[w+24>>3]=m;e=c[v>>2]|0;h[e+32>>3]=i;h[e+40>>3]=x;return}function Mi(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=vw(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=vw(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){Ni(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;Vg(i)|0;return i|0}function Ni(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;_l(1,79692,d)|0;l=b;return}function Oi(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=vw((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=vw(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function Pi(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);p=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;m=c[f+(k<<2)>>2]|0;u=m+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(Qz(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+h[q>>3]+ +(f|0);h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(f){o=f+16|0;i=i+t+ +h[(c[o>>2]|0)+88>>3];Mi(m,f,i,0)|0;d=~~(i+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((O(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!(_i(g,f)|0))Mi(f,g,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!(_i(d,f)|0)){Mi(f,d,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){k=q;continue a}m=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;k=c[m>>2]&3;g=c[((k|0)==3?m:m+48|0)+40>>2]|0;k=c[((k|0)==2?m:m+-48|0)+40>>2]|0;j=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[k+16>>2]|0)+236>>2]|0);f=j?g:k;g=j?k:g;i=+h[(c[g+16>>2]|0)+88>>3]+ +h[(c[f+16>>2]|0)+96>>3];k=m+16|0;j=~~(i+ +(O(c[(c[x>>2]|0)+248>>2]|0,e[(c[k>>2]|0)+170>>1]|0)|0));n=Sg(f,g)|0;if(!n){d=c[k>>2]|0;if(!(c[d+96>>2]|0))Mi(f,g,+(j|0),c[d+156>>2]|0)|0}else{A=+(j|0);d=c[k>>2]|0;B=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(B+(B>=0.0?.5:-.5))|0);f=~~(i<A?A:i);if((f|0)>65535){Ni(+(f|0));f=65535;d=c[k>>2]|0}k=c[n+16>>2]|0;j=k+170|0;g=e[j>>1]|0;b[j>>1]=(f|0)<(g|0)?g:f;k=k+156|0;c[k>>2]=c[(c[((c[k>>2]|0)>(c[d+156>>2]|0)?n:m)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function Qi(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=fh(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;Mi(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;Mi(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function Ri(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){Vi(a);Wi(a);Xi(a);Yi(a)}return}function Si(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(d*b<=1.0)):0){Ti(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;Mi(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function Ti(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=DA(a,c[42188]|0,8,0)|0;Ui(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=Dn(a)|0;c[m+4>>2]=e;_l(1,79776,m)|0;break}else{Mi(j,d,+h[(c[d+16>>2]|0)+88>>3]+f+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;Mi(d,k,+h[(c[d+16>>2]|0)+96>>3]+f+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function Ui(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=fh(Vf(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=fh(Vf(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(Vf(b)|0)!=(b|0):0)?(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;Mi(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function Vi(a){a=a|0;var b=0,d=0;do if((Vf(a)|0)!=(a|0)){Ti(a);a=a+16|0;b=c[a>>2]|0;b=Sg(c[b+256>>2]|0,c[b+260>>2]|0)|0;if(!b){d=c[a>>2]|0;Mi(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[b+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}else a=a+16|0;while(0);b=1;while(1){d=c[a>>2]|0;if((b|0)>(c[d+180>>2]|0))break;Vi(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function Wi(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=DA(d,c[42188]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(Zi(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;Mi(j,c[(c[o>>2]|0)+256>>2]|0,+h[e+96>>3]+m,0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(Zi(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}Mi(c[(c[o>>2]|0)+260>>2]|0,i,+h[e+88>>3]+m,0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;Wi(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function Xi(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=DA(a,c[42188]|0,8,0)|0;Ui(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;Ui(e);f=c[b>>2]|0;g=e+16|0;Mi(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,+h[f+96>>3]+d,0)|0;f=c[b>>2]|0;Mi(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,+h[f+64>>3]+d,0)|0;Xi(e);a=a+1|0}return}function Yi(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=DA(a,c[42188]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;Ui(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);Mi(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}Yi(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function Zi(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(Bo(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(Bo(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function _i(a,b){a=a|0;b=b|0;return $i(a,b)|0}function $i(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!($i(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function aj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(j<<6)>>2]|0;h=h+(j<<6)+4|0;i=0;f=0;while(1){if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=i;if((a[e+159>>0]|0)==6)e=c[e+216>>2]|0;else e=1;i=e+i|0;f=f+1|0}if((i|0)>(g|0)){d=c[h>>2]|0;if(!d)d=ww((i<<2)+4|0)|0;else d=yw(d,(i<<2)+4|0)|0;f=c[(c[k>>2]|0)+196>>2]|0;c[f+(j<<6)+4>>2]=d;e=c[f+(j<<6)>>2]|0;while(1){d=e+-1|0;if((e|0)<=0)break;h=c[f+(j<<6)+4>>2]|0;e=c[h+(d<<2)>>2]|0;c[h+(c[(c[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=d;f=c[(c[k>>2]|0)+196>>2]|0}c[f+(j<<6)>>2]=i;c[(c[f+(j<<6)+4>>2]|0)+(i<<2)>>2]=0;d=c[k>>2]|0}j=j+1|0}return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];cj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;d=c[e>>2]|0;if((c[d+184>>2]|0)>0){j=c[c[d+180>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;j=Sm(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(KA(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];dj(k,a,f,n,d);f=k;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;kh(i);g=i+-48|0;e=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;f=c[e+172>>2]|0;if(!f)e=ww((c[e+176>>2]<<2)+8|0)|0;else e=yw(f,(c[e+176>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=Tm(a,j)|0}}else{i=c[c[d+172>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;i=Pm(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(KA(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];dj(j,a,f,n,d);f=j;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;kh(i);g=i+48|0;e=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;f=c[e+180>>2]|0;if(!f)e=ww((c[e+184>>2]<<2)+8|0)|0;else e=yw(f,(c[e+184>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=Rm(a,i)|0}}}while(0);l=o;return}function cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;KB(b,c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+h[e+88>>3]+ +(c[d>>2]|0);h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(ro(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function dj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=Vf(b)|0;g=KA(d)|0;if((g|0)!=(d|0))ch(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];cj(a,d,h);l=i;return}function ej(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(Vf(a)|0)+16>>2]|0)+196>>2]|0;if((Vf(a)|0)==(a|0))j=8.0;else j=+(DA(a,c[42188]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=ej(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=+h[i+120>>3]+j;e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=+h[i+128>>3]+j;d=d>n?d:n}k=k+1|0}if((Vf(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(so(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=+h[k+56>>3]+e;d=+h[k+88>>3]+d}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((Vf(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function fj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(Vf(a)|0)+16>>2]|0)+196>>2]|0;if((Vf(a)|0)==(a|0))e=0;else e=DA(a,c[42188]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;fj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=+h[i+120>>3]+k;g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=+h[i+128>>3]+k;f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((Vf(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=-g-f+ +h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],p>0.0):0)gj(a,~~p,d);if((Vf(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function gj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0;k=c[(Vf(a)|0)+16>>2]|0;q=c[k+196>>2]|0;p=c[a+16>>2]|0;a=b[p+238>>1]|0;f=b[p+236>>1]|0;l=(d+1|0)/2|0;m=p+120|0;n=+h[m>>3];o=+(l|0);i=+(e|0);e=~~(o+i+n-+h[q+(a<<6)+16>>3]);if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[q+(a<<6)>>2]|0)>0){r=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[r>>3]=+h[r>>3]+g}a=a+-1|0}j=+h[p+128>>3];a=e;g=j+ +(d-l|0)}else{j=+h[p+128>>3];a=d-l|0;g=j}a=~~(+(a|0)+i+g-+h[q+(f<<6)+24>>3]);a:do if((a|0)>0){e=b[k+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[q+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=+h[f>>3]+g;f=a}}while(0);h[p+128>>3]=j+ +(d-l|0);h[m>>3]=n+o;return}function hj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0&1}else b=0;while(0);return b|0}function ij(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;h=co(a)|0;while(1){e=c[i>>2]|0;if(!h)break;f=e+238|0;g=c[(c[h+16>>2]|0)+232>>2]|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;e=e+236|0;if((g|0)<(b[e>>1]|0))b[e>>1]=g;if(!d)d=h;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?h:d;h=eo(a,h)|0}c[e+264>>2]=d;return}function jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=Im(a,79821)|0;if(!b)b=2147483647;else{g=+sM(b);b=~~(g*+(mn(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];gx(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function kj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!(Im(a,79830)|0))mj(a,d);else{g=(c[a+16>>2]|0)+136|0;b[g>>1]=b[g>>1]|16;lj(a,d)}if(0){g=c[13918]|0;a=c[a+16>>2]|0;d=b[a+236>>1]|0;c[e>>2]=b[a+238>>1];c[e+4>>2]=d;zL(g,79838,e)|0}l=f;return}function lj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;h=i;c[41933]=0;a[h>>0]=a[17644]|0;a[h+1>>0]=a[17645]|0;a[h+2>>0]=a[17646]|0;a[h+3>>0]=a[17647]|0;h=gn(80048,h,0)|0;No(h,80077,280,1)|0;zo(h,17332,17272);nj(b);e=Im(b,79821)|0;if(!e)f=2147483647;else{j=+sM(e);f=~~(j*+(mn(b)|0))}Dj(b,0);Ej(b,h);Fj(b,h);Gj(b,h,0,0);Hj(h);g=Ij(h)|0;Jj(h);if(d|0){xk(h);lk(h)}e=Im(b,87620)|0;if(!e)e=-1;else e=rM(e)|0;zw(h,1,f,e)|0;Kj(b,h,g);ln(h)|0;l=i;return}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;nj(a);do if(!b){oj(a,a);Ak(a);pj(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;tl(a,0);b=0}else{xk(a);lk(a);oj(a,a);Ak(a);pj(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;tl(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);ik(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(qj(a,f)|0)tl(a,0);if(!b)jj(a);else mk(a,b);rj(a,b);sj(a);l=g;return}function nj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=co(d)|0;while(1){if(!g)break;f=Pm(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=Rm(d,f)|0}g=eo(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function oj(a,b){a=a|0;b=b|0;var d=0;b=Jp(b)|0;while(1){if(!b)break;d=Aj(b)|0;do if(d)if((d|0)==7&(c[42179]|0)==100){wj(a,b);break}else{Bj(a,b,d);break}else oj(a,b);while(0);b=Kp(b)|0}return}function pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d+16|0;e=c[i>>2]|0;d=c[e+228>>2]|0;e=c[e+224>>2]|0;f=(e|0)==0;if(!d)if(f){j=0;k=0}else g=4;else if(f)g=5;else g=4;if((g|0)==4){d=KA(e)|0;e=c[i>>2]|0;c[e+224>>2]=d;d=c[e+228>>2]|0;if(!d){h=0;d=e;g=12}else g=5}do if((g|0)==5){d=KA(d)|0;e=c[i>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){g=11;break}h=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((h|0)!=(KA(h)|0)){g=9;break}hk(d);d=c[e>>2]|0}if((g|0)==9)ma(79941,79881,346,79973);else if((g|0)==11){h=f;d=c[i>>2]|0;g=12;break}}else{h=0;d=e;g=12}}while(0);a:do if((g|0)==12){d=c[d+224>>2]|0;if(!d){j=0;k=h}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){j=f;k=h;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(KA(i)|0))break;hk(d);d=c[e>>2]|0}ma(79986,79881,353,79973)}}while(0);c[b>>2]=j;c[b+4>>2]=k;return}function qj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=co(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(KA(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=ah(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=ah(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=eo(a,g)|0}}while(0);return (d|0)!=0|0}function rj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=co(d)|0;k=d+16|0;f=c[k>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;j=(e|0)==0;while(1){if(!g)break;f=KA(g)|0;i=c[g+16>>2]|0;e=c[i+232>>2]|0;do if((f|0)!=(g|0)){if(!j)if(!e)e=0;else break;e=e+(c[(c[f+16>>2]|0)+232>>2]|0)|0;c[i+232>>2]=e}while(0);f=c[k>>2]|0;h=f+238|0;if((e|0)>(b[h>>1]|0))b[h>>1]=e;f=f+236|0;if((e|0)<(b[f>>1]|0))b[f>>1]=e;switch(a[i+159>>0]|0){case 6:case 0:break;default:MA(g)}g=eo(d,g)|0}if((Vf(d)|0)==(d|0)){if((c[42179]|0)==100)e=1;else{vj(d);break}while(1){f=c[k>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;uj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function sj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;tj((c[i>>2]|0)+172|0);tj((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=co(b)|0;while(1){if(!i)break;h=Pm(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=co(b)|0;while(1){if(!d)break;e=Pm(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=Rm(b,e)|0}d=eo(b,d)|0}_I(c[k>>2]|0);_I(g);d=c[f>>2]|0}c[d+172>>2]=0;h=Rm(b,h)|0}i=eo(b,i)|0}_I(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function tj(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function uj(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=g+(e[a>>1]|0);a=f+238|0;b[a>>1]=g+(e[a>>1]|0);a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;uj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function vj(b){b=b|0;var d=0;d=Jp(Vf(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)wj(b,d);d=Kp(d)|0}return}function wj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,xj(a,b),co(b)|0):0){yj(a,b);if((c[42179]|0)==100){mj(b,0);zj(b);break}else{ij(b);break}}while(0);return}function xj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=co(d)|0;while(1){if(!g)break;i=eo(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{qo(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(Bo(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))qo(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=co(d)|0;while(1){if(!e)break;b=Pm(Vf(d)|0,e)|0;while(1){if(!b)break;if(Bo(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)en(d,b,1)|0;b=Rm(Vf(d)|0,b)|0}e=eo(d,e)|0}return}function yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=vw((a<<2)+8|0)|0;else a=xw(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;hw(b);return}function zj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)ma(79866,79881,238,79888);c[g+264>>2]=h;d=co(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}LA(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=eo(b,d)|0}if((d|0)==11)ma(79903,79881,242,79888);else if((d|0)==13)return}function Aj(b){b=b|0;var d=0;if(!(Cj(b)|0)){d=UA(Im(b,80018)|0,17284,17308)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Bj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=co(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=eo(d,f)|0;if(!f)break;LA(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}switch(e|0){case 3:case 2:{b=b+16|0;f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=LA(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{b=b+16|0;f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=LA(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Cj(a){a=a|0;return (VJ(Dn(a)|0,93039,7)|0)==0|0}function Dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(Yj(b)|0)){do if(hB(b)|0)if(!d){c[(c[b+16>>2]|0)+204>>2]=0;d=b;break}else{c[(c[b+16>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;Zj(b,d);d=b;break}while(0);e=Jp(b)|0;while(1){if(!e)break;Dj(e,d);e=Kp(e)|0}a:do if(hB(b)|0){e=co(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=eo(b,e)|0}}while(0);switch(_j(b)|0){case 3:{d=d+16|0;a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{d=d+16|0;k=19;break}case 5:{d=d+16|0;a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{d=d+16|0;k=21;break}case 1:{$j(b)|0;break}case 6:break;default:{e=Dn(b)|0;f=Im(b,80018)|0;c[g>>2]=e;c[g+4>>2]=f;_l(0,80201,g)|0}}if((k|0)==19){k=$j(b)|0;k=ak(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=$j(b)|0;k=ak(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((hB(b)|0?(h=b+16|0,i=c[h>>2]|0,j=c[i+208>>2]|0,j|0):0)?(j|0)==(c[i+212>>2]|0):0){j=$j(b)|0;k=c[h>>2]|0;c[k+208>>2]=j;c[k+212>>2]=j}}l=m;return}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0;c[41933]=0;d=co(a)|0;while(1){if(!d)break;if((Lj(d)|0)==(d|0)){e=Oj(b,Dn(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=eo(a,d)|0}d=co(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(Lj(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=eo(a,d)|0}return}function Fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=co(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=Pm(a,h)|0;while(1){if(!i)break;do if((Tj(i)|0)==0?(j=i+-48|0,k=c[(c[(Lj(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(Uj(i)|0)){if((Sj(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(Sj(f)|0)==0:0){Vj(b,d,k,i);break}Wj(b,d,k,i);break}else{f=Lj(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=Lj(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}Vj(b,d,e,i);break}}while(0);i=Rm(a,i)|0}h=eo(a,h)|0}return}function Gj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((hB(a)|0)!=0?(Sj(a)|0)!=0:0){g=co(a)|0;while(1){if(!g)break;if(!(Sm(a,g)|0)){f=c[(c[(Lj(g)|0)+16>>2]|0)+148>>2]|0;if(!d)d=Oj(b,80099)|0;an(b,d,f,0,1)|0}if(!(Pm(a,g)|0)){f=c[(c[(Lj(g)|0)+16>>2]|0)+148>>2]|0;if(!e)e=Oj(b,80104)|0;an(b,f,e,0,1)|0}g=eo(a,g)|0}if((e|0)!=0&(d|0)!=0){Rj(an(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=Jp(a)|0;while(1){if(!d)break;Gj(d,b,f,e);d=Kp(d)|0}return}function Hj(b){b=b|0;var d=0,e=0;d=co(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=eo(b,d)|0}d=co(b)|0;while(1){if(!d)break;Pj(b,d);d=eo(b,d)|0}return}function Ij(a){a=a|0;var b=0,d=0,e=0,f=0;b=co(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=eo(a,b)|0}b=0;e=co(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){Nj(a,e,d);b=d}e=eo(a,e)|0}a:do if((b|0)>1){f=Oj(a,80093)|0;d=1;e=co(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){an(a,f,e,0,1)|0;d=d+1|0}e=eo(a,e)|0}}while(0);return b|0}function Jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=co(a)|0;while(1){if(!g)break;h=g+16|0;f=Pm(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;if(!d)b=ww((c[b+184>>2]<<2)+8|0)|0;else b=yw(d,(c[b+184>>2]<<2)+8|0)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;b=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=ww((c[b+176>>2]<<2)+8|0)|0;else b=yw(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=Rm(a,f)|0}g=eo(a,g)|0}return}function Kj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+16|0;o=c[n>>2]|0;b[o+236>>1]=32767;b[o+238>>1]=-1;a:do if((f|0)>1){h=vw((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);i=(m|0)==0;h=co(a)|0;while(1){if(!h)break;j=c[(c[(c[(Lj(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;k=c[j+232>>2]|0;l=c[h+16>>2]|0;c[l+232>>2]=k;f=c[n>>2]|0;g=f+238|0;if((k|0)>(b[g>>1]|0))b[g>>1]=k;f=f+236|0;if((k|0)<(b[f>>1]|0))b[f>>1]=k;if(!i){j=c[j+128>>2]|0;c[l+128>>2]=j;l=m+(j<<2)|0;j=c[l>>2]|0;c[l>>2]=(j|0)<(k|0)?j:k}h=eo(a,h)|0}j=(m|0)!=0;b:do if(!j){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=co(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=eo(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=co(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=eo(a,f)|0}}while(0);Mj(a,f);i=co(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){_I(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)_I(f);i=eo(d,i)|0}_I(c[(c[(co(a)|0)+16>>2]|0)+112>>2]|0);f=co(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=eo(a,f)|0}if(j)_I(o);return}function Lj(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=Lj(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function Mj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=a+16|0;e=1;while(1){f=c[i>>2]|0;if((e|0)>(c[f+180>>2]|0))break;Mj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;h=co(a)|0;while(1){if(!h)break;g=c[(c[h+16>>2]|0)+232>>2]|0;d=c[i>>2]|0;f=d+238|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;d=d+236|0;if((g|0)<(b[d>>1]|0)){b[d>>1]=g;e=h}h=eo(a,h)|0}c[(c[i>>2]|0)+264>>2]=e}return}function Nj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=Pm(a,b)|0;while(1){if(!e)break;Nj(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=Rm(a,e)|0}e=Sm(a,b)|0;while(1){if(!e)break a;Nj(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=Tm(a,e)|0}}while(0);return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=no(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=vw(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=vw(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[41933]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[41933]=f;c[b+164>>2]=0;return f|0}function Pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=Pm(b,d)|0;while(1){if(!d)break;e=Rm(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){Qj(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}Pj(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function Qj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=an(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=an(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;Rj(d,e[g+170>>1]|0,c[g+156>>2]|0);qo(a,b)|0;return}function Rj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function Sj(a){a=a|0;return (JA(Im(a,80109)|0,0)|0)&255|0}function Tj(b){b=b|0;var d=0,e=0;d=c[42233]|0;if((((d|0)!=0?(e=Jm(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(IA(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Uj(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=Xj(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function Vj(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=an(a,b,d,0,0)|0;if(!g){g=an(a,d,b,0,0)|0;if(!g){g=an(a,b,d,0,1)|0;if(!g){b=Dn(b)|0;f=Dn(d)|0;c[h>>2]=b;c[h+4>>2]=f;_l(1,80126,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;Rj(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function Wj(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=Sm(a,d)|0;while(1){if(!h){k=6;break}n=Pm(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=Tm(a,h)|0}if((k|0)==6){n=c[41934]|0;c[41934]=n+1;c[j>>2]=n;pL(i,80117,j)|0;i=Oj(a,i)|0;n=an(a,i,d,0,1)|0;i=an(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function Xj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function Yj(a){a=a|0;return (co(a)|0)==0|0}function Zj(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;yj(b,a);xj(b,a);return}function _j(b){b=b|0;var c=0;b=Im(b,80018)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(xJ(b,80028)|0)if(xJ(b,80032)|0)if(xJ(b,80039)|0)if(xJ(b,80043)|0)if(!(xJ(b,80023)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function $j(a){a=a|0;var b=0,c=0;c=co(a)|0;a:do if(!c)b=0;else{b=Lj(c)|0;while(1){c=eo(a,c)|0;if(!c)break a;ak(b,c)|0}}while(0);return b|0}function ak(a,b){a=a|0;b=b|0;if(b){a=Lj(a)|0;c[(c[(Lj(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function bk(a,b,d){a=a|0;b=b|0;d=d|0;No(b,80077,c[d>>2]|0,1)|0;return}function ck(a,b,d){a=a|0;b=b|0;d=d|0;No(b,80244,c[d+4>>2]|0,1)|0;return}function dk(a,b,d){a=a|0;b=b|0;d=d|0;No(b,80229,c[d+8>>2]|0,1)|0;return}function ek(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[42237]=ym(b,2,80259,0)|0;k=ym(b,2,80268,0)|0;c[42238]=k;a:do if((k|0)!=0|(c[42237]|0)!=0){k=co(b)|0;while(1){if(!k)break a;j=0;d=0;i=Um(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[42237]|0;do if((f|0)==(k|0)&(g|0)!=0){f=Jm(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=fk(m,d,k,i,f)|0;break b}}while(0);f=c[42238]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=Jm(i,f)|0,(a[o>>0]|0)!=0):0)e=fk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=Vm(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)gk(k,e);e=c[e>>2]|0;if(e|0)_I(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)gk(k,d);d=c[d>>2]|0;if(d|0)_I(d);e=e+1|0}k=eo(b,k)|0}}while(0);l=p;return}function fk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;k=p;m=p+12|0;n=p+8|0;o=0;while(1){if((o|0)>=(d|0)){j=10;break}j=c[b+(o*24|0)>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(xJ(j,g)|0)==0:0){j=5;break}o=o+1|0}do if((j|0)==5){k=b+(o*24|0)+4|0;j=c[k>>2]|0;if(!j){j=b+(o*24|0)+8|0;g=j;j=ww((c[j>>2]<<2)+8|0)|0}else{q=b+(o*24|0)+8|0;g=q;j=yw(j,(c[q>>2]<<2)+8|0)|0}c[k>>2]=j;r=c[g>>2]|0;q=r+1|0;c[g>>2]=q;c[j+(r<<2)>>2]=f;c[(c[k>>2]|0)+(q<<2)>>2]=0;j=13}else if((j|0)==10)if((d|0)>4){r=Dn(e)|0;c[k>>2]=5;c[k+4>>2]=r;_l(1,80277,k)|0;break}else{s=b+(o*24|0)+8|0;c[s>>2]=0;k=vw(8)|0;r=b+(o*24|0)+4|0;c[r>>2]=k;q=c[s>>2]|0;j=q+1|0;c[s>>2]=j;c[k+(q<<2)>>2]=f;c[(c[r>>2]|0)+(j<<2)>>2]=0;c[b+(o*24|0)>>2]=g;c[b+(o*24|0)+12>>2]=0;h[b+(o*24|0)+16>>3]=0.0;d=d+1|0;j=13;break}while(0);if((j|0)==13){At(f,m,n);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[n>>2]|0:c[m>>2]|0;if(j){r=b+(o*24|0)+12|0;s=c[r>>2]|0;c[r>>2]=s+1;if(!s)i=+Et(f,j);else i=0.0;h[b+(o*24|0)+16>>3]=i}}l=p;return d|0}function gk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;r=x;v=d+4|0;n=c[v>>2]|0;w=b+16|0;i=0;p=0.0;q=0.0;while(1){if((i|0)>=(n|0))break;f=c[(c[d>>2]|0)+(i<<2)>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;g=c[e+16>>2]|0;s=c[w>>2]|0;k=+h[g+16>>3]-+h[s+16>>3];m=+h[g+24>>3]-+h[s+24>>3];o=+QJ(k,m);i=i+1|0;p=k/o+p;q=m/o+q}j=+QJ(p,q);s=c[w>>2]|0;k=+h[s+16>>3];m=+h[s+24>>3];y=+h[s+96>>3]+ +h[s+88>>3];o=+h[s+80>>3];s=y>o+ +(c[(c[(ro(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(s)o=+h[e+96>>3]+ +h[e+88>>3];else{o=+h[e+80>>3];o=o+ +(c[(c[(ro(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=+h[e+16>>3]+o*(p/j);j=+h[e+24>>3]+o*(q/j);h[r>>3]=k;n=r+8|0;h[n>>3]=m;h[r+16>>3]=(y+k*2.0)*.3333333333333333;h[r+24>>3]=(j+m*2.0)*.3333333333333333;h[r+32>>3]=(y*2.0+k)*.3333333333333333;h[r+40>>3]=(j*2.0+m)*.3333333333333333;h[r+48>>3]=y;h[r+56>>3]=j;Gz(b,r);s=c[w>>2]|0;j=+h[r>>3]-+h[s+16>>3];k=+h[n>>3]-+h[s+24>>3];j=+(~~(j+(j>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[s+88>>3];s=~~((y+j)*256.0/(+h[s+96>>3]+y))&255;r=0;while(1){if((r|0)>=(c[v>>2]|0))break;n=c[(c[d>>2]|0)+(r<<2)>>2]|0;At(n,t,u);while(1){if(!n)break;else g=n;while(1){if(!g){i=n;break}e=c[g>>2]|0;i=g+-48|0;if((c[((e&3|0)==2?g:i)+40>>2]|0)==(b|0)){e=c[g+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[g>>2]|0}f=g+16|0;if((c[((e&3|0)==3?g:g+48|0)+40>>2]|0)==(b|0)){e=c[f>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[f>>2]|0)+112>>0]|0)!=1){g=0;continue}e=c[(c[((c[g>>2]&3|0)==2?g:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){g=0;continue}if((c[e+184>>2]|0)!=1){g=0;continue}g=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[i+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;g=i+16|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[g>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[g>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}n=c[(c[n+16>>2]|0)+172>>2]|0}r=r+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function hk(a){a=a|0;var b=0,d=0,e=0;Xg(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=Sg(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;ah(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else ih(a,b);return}function ik(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;jk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function jk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))jk(d)}else{hk(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=co(a)|0;b=0;while(1){if(!e)break;d=Pm(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=Rm(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=eo(a,e)|0}return b|0}function lk(b){b=b|0;var d=0,e=0,f=0,g=0;e=co(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=eo(b,e)|0}return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;j=c[b+24>>2]|0;nk(a);k=(j|0)==-1;m=b+8|0;i=k^1;n=c[13918]|0;f=1797693134862315708145274.0e284;g=0;while(1){if(!(k|(g|0)<(j|0)))break;d=co(a)|0;while(1){if(!d)break;c[(c[d+16>>2]|0)+232>>2]=0;d=eo(a,d)|0}jj(a);e=+ok(a);h[m>>3]=e;if(0){h[o>>3]=e;zL(n,80329,o)|0;e=+h[m>>3]}if(!(!(e<=+h[b>>3])&(!(f<=e)|i))){p=9;break}pk(a);f=e;g=g+1|0}if((p|0)==9){p=b+20|0;c[b+16>>2]=c[p>>2];c[p>>2]=g}jj(a);qk(a);rk();h[m>>3]=+ok(a);l=q;return}function nk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;c[41938]=ww((mn(a)|0)*24|0)|0;c[41937]=0;b=co(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=eo(a,b)|0}i=co(a)|0;while(1){if(!i)break;j=i+16|0;do if(!(c[(c[j>>2]|0)+216>>2]|0)){f=vw(4)|0;g=c[41938]|0;k=c[41937]|0;c[g+(k*24|0)>>2]=f;c[f>>2]=i;c[g+(k*24|0)+4>>2]=1;j=c[j>>2]|0;h[g+(k*24|0)+8>>3]=+h[j+32>>3];h[g+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[41937]=k+1}else{g=KA(i)|0;k=g+16|0;b=c[k>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){g=c[41938]|0;f=c[g+(d*24|0)>>2]|0;e=g+(d*24|0)+4|0;k=c[e>>2]|0;c[e>>2]=k+1;c[f+(k<<2)>>2]=i;k=c[j>>2]|0;j=g+(d*24|0)+8|0;h[j>>3]=+h[j>>3]+ +h[k+32>>3];j=g+(d*24|0)+16|0;l=+h[j>>3];m=+h[k+40>>3];h[j>>3]=l<m?m:l;c[k+120>>2]=d;break}d=vw(c[b+216>>2]<<2)|0;e=c[41938]|0;f=c[41937]|0;b=e+(f*24|0)|0;c[b>>2]=d;c[d>>2]=g;if((g|0)==(i|0)){h[e+(f*24|0)+8>>3]=+h[(c[k>>2]|0)+32>>3];d=1;b=i}else{c[(c[b>>2]|0)+4>>2]=i;n=c[k>>2]|0;b=c[j>>2]|0;h[e+(f*24|0)+8>>3]=+h[b+32>>3]+ +h[n+32>>3];d=2;b=+h[n+40>>3]<+h[b+40>>3]?i:g}c[e+(f*24|0)+4>>2]=d;h[e+(f*24|0)+16>>3]=+h[(c[b+16>>2]|0)+40>>3];c[(c[k>>2]|0)+120>>2]=f;c[(c[j>>2]|0)+120>>2]=f;c[41937]=f+1}while(0);i=eo(a,i)|0}return}function ok(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;qk(a);g=c[41935]|0;e=c[a+16>>2]|0;b=+(O(c[e+252>>2]|0,g+-1|0)|0);f=c[41936]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(O(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=+h[f+(a*40|0)+32>>3]+b;a=a+1|0;b=j;d=d<i?i:d}return +(d/b)}function pk(a){a=a|0;var b=0;c[41939]=vw((mn(a)|0)<<2)|0;b=0;while(1){if((b|0)>=(mn(a)|0))break;c[(c[41939]|0)+(b<<2)>>2]=b;b=b+1|0}qk(a);sk(a);tk(a);return}function qk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0;c[41935]=0;b=c[41936]|0;if(b|0){e=0;while(1){if((e|0)>=(c[41937]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){_I(d);b=c[41936]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){_I(d);b=c[41936]|0}e=e+1|0}_I(b)}c[41936]=vw((c[41937]|0)*40|0)|0;b=0;while(1){d=c[41937]|0;if((b|0)>=(d|0))break;k=vw(d<<2)|0;c[(c[41936]|0)+(b*40|0)+4>>2]=k;k=vw(c[41937]<<2)|0;l=c[41936]|0;c[l+(b*40|0)+8>>2]=k;c[l+(b*40|0)>>2]=b;c[l+(b*40|0)+12>>2]=0;c[l+(b*40|0)+16>>2]=0;l=l+(b*40|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b=b+1|0}e=co(a)|0;while(1){if(!e)break;d=Pm(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[41936]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=Rm(a,d)|0}e=eo(a,e)|0}i=c[41937]|0;k=c[41938]|0;l=c[41936]|0;d=a+16|0;b=0;while(1){if((b|0)>=(i|0))break;e=(c[c[k+(b*24|0)>>2]>>2]|0)+16|0;f=c[(c[e>>2]|0)+232>>2]|0;if((f|0)>=(c[41935]|0))c[41935]=f+1;g=l+(f*40|0)+24|0;j=+h[g>>3];h[g>>3]=j+ +h[k+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0);g=l+(f*40|0)+32|0;j=+h[k+(b*24|0)+16>>3]*72.0;if(+h[g>>3]<j)h[g>>3]=j;c[(c[l+(f*40|0)+4>>2]|0)+(c[l+(f*40|0)+12>>2]<<2)>>2]=k+(b*24|0);a=l+((c[(c[e>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function rk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[41935]|0;l=c[41936]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;d=l+(j*40|0)|0;i=c[l+(j*40|0)+12>>2]|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function sk(a){a=a|0;var b=0;b=c[41939]|0;rL(b,mn(a)|0,4,15);return}function tk(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;j=c[41935]|0;k=c[41936]|0;g=c[41939]|0;i=0;while(1){if((i|0)>=(j|0)){e=0;d=0.0;break}e=c[g+(i<<2)>>2]|0;f=i+1|0;if((c[k+(e*40|0)+12>>2]|0)<2)i=f;else{l=4;break}}if((l|0)==4)if((j|0)>(f|0))d=+h[k+((c[g+(f<<2)>>2]|0)*40|0)+24>>3];else d=0.0;a:do if((i|0)!=(j|0)){rL(c[k+(e*40|0)+4>>2]|0,c[k+(e*40|0)+12>>2]|0,4,16);g=c[41936]|0;r=+h[g+(e*40|0)+24>>3];r=!(d<=r*.25)&!(d>=r*.75)?d:r*.5;s=c[g+(e*40|0)+12>>2]|0;q=b+16|0;n=0;o=0;d=0.0;f=0;p=0;while(1){if((p|0)>=(f+s|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]|0)){l=c[(c[g+(e*40|0)+4>>2]|0)+(p<<2)>>2]|0;b=l+8|0;m=+h[b>>3]*72.0+d+(d>0.0?+(c[(c[q>>2]|0)+248>>2]|0):0.0);i=(o|0)!=0;if(!(i&!(m<=r))){j=i?n:l;i=i?o:1;d=m;break}j=n+4|0;k=l+4|0;i=0;while(1){if((i|0)<(c[j>>2]|0))g=0;else break;while(1){if((g|0)>=(c[k>>2]|0))break;a[(c[(ah(c[(c[n>>2]|0)+(i<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}i=i+1|0}g=c[41936]|0;c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]=1;j=g+(e*40|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;j=g+(e*40|0)+16|0;c[j>>2]=(c[j>>2]|0)+1;j=g+(e*40|0)+24|0;h[j>>3]=+h[b>>3]*-72.0-+(c[(c[q>>2]|0)+248>>2]|0)+ +h[j>>3];j=n;i=o}else{j=n;i=o;f=f+1|0}while(0);n=j;o=i;p=p+1|0}}while(0);return}function uk(a,b){a=a|0;b=b|0;a=vk(c[a>>2]|0)|0;b=vk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function vk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=ro(e)|0;e=Pm(g,e)|0;while(1){if(!e)break;e=Rm(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function wk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[41936]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e<d&1)|0}function xk(a){a=a|0;var b=0;b=co(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+216>>2]=0;b=eo(a,b)|0}return}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=Im(a,84624)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(cM(a,80344,e)|0)>=1):0)_l(0,80351,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function zk(b){b=b|0;var d=0,e=0;d=c[42233]|0;if((((d|0)!=0?(e=Jm(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(IA(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;Vk(a);b=co(a)|0;while(1){if(!b)break;d=Pm(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(zk(d)|0)==0:0)?(e=d+48|0,f=KA(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=KA(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=Sg(f,h)|0;if(!i){ah(f,h,d)|0;break}else{ih(d,i);break}}i=c[d>>2]&3;Bk(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=Rm(a,d)|0}b=eo(a,b)|0}return}function Bk(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(c[h+232>>2]|0)|0;j=g+16|0;k=h+k+(e[(c[j>>2]|0)+170>>1]|0)|0;b=fh(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=KA(d)|0;d=KA(f)|0;f=Mi(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[(Mi(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Ck(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[d>>2]&3;i=(j|0)==3?d:d+48|0;j=(j|0)==2?d:d+-48|0;j=c[(c[(c[((c[(c[(c[i+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)?i:j)+40>>2]|0)+16>>2]|0)+232>>2]|0;i=d+16|0;d=(c[i>>2]|0)+172|0;if(c[d>>2]|0)ma(80440,80462,148,80471);c[d>>2]=f;h=(g|0)==0;do{d=c[i>>2]|0;if(h)g=c[f+16>>2]|0;else{g=c[f+16>>2]|0;k=g+168|0;b[k>>1]=(e[k>>1]|0)+(e[d+168>>1]|0)}k=g+154|0;b[k>>1]=(e[k>>1]|0)+(e[d+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[d+156>>2]|0);d=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)==(j|0))break;Dk(a,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((f|0)!=0);return}function Dk(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=+h[b>>3]+d;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(hj(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Fk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+16|0;d=c[r>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;Vk(b);d=1;while(1){e=c[r>>2]|0;if((d|0)>(c[e+180>>2]|0))break;Wk(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=co(b)|0;while(1){if(!h)break;g=Pm(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=Rm(b,g)|0}h=eo(b,h)|0}m=co(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(KA(m)|0):0){bh(b,m);l=(c[r>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=Pm(b,m)|0;while(1){if(!l)break;k=l+16|0;h=c[k>>2]|0;a:do if(!(c[h+172>>2]|0)){if(Gk(l)|0){if(!(Ek(d,l)|0)){Hk(b,l);d=l;break}e=c[(c[d+16>>2]|0)+172>>2]|0;if(e|0){Ck(b,l,e,0);Yg(l);break}k=c[l>>2]&3;if((c[(c[(c[((k|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((k|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;ih(l,d);Yg(l);break}if(d){i=c[l>>2]&3;e=l+48|0;f=c[((i|0)==3?l:e)+40>>2]|0;g=c[d>>2]&3;if((f|0)==(c[((g|0)==3?d:d+48|0)+40>>2]|0)?(n=c[((i|0)==2?l:l+-48|0)+40>>2]|0,(n|0)==(c[((g|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[f+16>>2]|0)+232>>2]|0)==(c[(c[n+16>>2]|0)+232>>2]|0)){ih(l,d);Yg(l);break}if(((c[h+96>>2]|0)==0?(o=d+16|0,(c[(c[o>>2]|0)+96>>2]|0)==0):0)?(hj(l,d)|0)!=0:0)if(!(a[174076]|0)){Ck(b,l,c[(c[o>>2]|0)+172>>2]|0,1);Yg(l);break}else{a[(c[k>>2]|0)+112>>0]=6;break}else i=e}else i=e}else i=l+48|0;h=c[l>>2]&3;e=c[((h|0)==3?l:i)+40>>2]|0;j=l+-48|0;if((e|0)==(c[((h|0)==2?l:j)+40>>2]|0)){Yg(l);d=l;break}e=KA(e)|0;f=KA(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:i)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:j)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){gh(b,l);d=l;break}if((h|0)>(g|0)){Ik(b,e,f,l);d=l;break}e=an(b,f,e,0,0)|0;do if(e|0?(p=c[e>>2]&3,q=c[((p|0)==2?e:e+-48|0)+40>>2]|0,(q|0)!=(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Ik(b,c[((p|0)==3?e:e+48|0)+40>>2]|0,q,e);if((c[(c[k>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(hj(l,e)|0))break;if(!(a[174076]|0)){Yg(l);Ck(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[k>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Ik(b,c[((d|0)==2?l:j)+40>>2]|0,c[((d|0)==3?l:i)+40>>2]|0,l);d=l}}else d=l;while(0);l=Rm(b,l)|0}m=eo(b,m)|0}if((Vf(b)|0)!=(b|0)){d=c[(c[r>>2]|0)+216>>2]|0;if(!d)d=ww(4)|0;else d=yw(d,4)|0;r=c[r>>2]|0;c[r+216>>2]=d;c[d>>2]=c[r+192>>2]}return}function Gk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return b|0}function Hk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=Lk(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=Lk(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=Sg(f,e)|0;if(h|0){Ck(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Ik(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);return}function Ik(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;if(!(c[f+96>>2]|0))j=-1;else j=((c[(c[d+16>>2]|0)+232>>2]|0)+(c[(c[b+16>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)ma(80483,80462,89,80508);i=d+16|0;h=c[(c[b+16>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[i>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(j|0))f=Jk(a,e)|0;else f=Kk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;vi(ah(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))ma(80519,80462,103,80508);else return}function Jk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=fh(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(so(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Kk(a){a=a|0;var b=0;b=fh(a)|0;Dk(a,b);return b|0}function Lk(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=KA(b)|0;return b|0}function Mk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=Vf(a)|0;h=co(a)|0;while(1){if(!h)break;b=Um(j,h)|0;i=0;while(1){if(!b)break;l=Vm(j,b,h)|0;if(Bo(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Ek(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Ck(a,k,b,0);Zg(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){Nk(b,e,k);b=l;i=k;continue}else{Nk(e,b,k);b=l;i=k;continue}b=Ug(b,e)|0;if(!b){gh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}Zg(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}ih(k,b);m=i;b=l;i=m}h=eo(a,h)|0}return}function Nk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ok(a)|0;e=Ok(b)|0;Pk(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function Ok(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function Pk(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;k=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;i=c[(c[o>>2]|0)+232>>2]|0;if((i|0)<=(k|0))ma(80544,80572,81,80582);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))l=5;a:do if((l|0)==5){if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[f+16>>2]|0)+172>>2]=0;if(((i-k|0)==1?(j=Sg(d,e)|0,j|0):0)?hj(f,j)|0:0){ih(f,j);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;Yg(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=Vf(d)|0;j=g+-48|0;i=Qk(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(ah(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((i-k|0)==1){g=Sg(d,e)|0;if(g|0?hj(f,g)|0:0){c[(c[f+16>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;Yg(f);break}c[(c[f+16>>2]|0)+172>>2]=0;g=ah(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);i=c[(c[o>>2]|0)+232>>2]|0;if((i-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)==(d|0))l=i;else{n=f+16|0;c[(c[n>>2]|0)+172>>2]=0;l=ah(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[n>>2]|0)+172>>2]=l;Xg(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(ah(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;Xg(g)}}}while(0);return}function Qk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;Rk(a,e,c[b+236>>2]|0,2);b=fh(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function Rk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function Sk(a){a=a|0;var b=0;Fk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];si(a);Zh(a,0);Tk(a);Mk(a);Uk(a);return}function Tk(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=Vf(d)|0;l=d+16|0;f=c[l>>2]|0;j=b[f+236>>1]|0;e=j<<16>>16;m=k+16|0;if(j<<16>>16>0)a[(c[(c[m>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;j=e;while(1){if((j|0)>(b[f+238>>1]|0))break;i=c[(c[(c[(c[f+268>>2]|0)+(j<<2)>>2]|0)+16>>2]|0)+236>>2]|0;Rk(k,j,i,c[(c[f+196>>2]|0)+(j<<6)>>2]|0);g=0;h=i;while(1){f=c[l>>2]|0;e=c[f+196>>2]|0;if((g|0)>=(c[e+(j<<6)>>2]|0))break;e=c[(c[e+(j<<6)+4>>2]|0)+(g<<2)>>2]|0;c[(c[(c[(c[m>>2]|0)+196>>2]|0)+(j<<6)+4>>2]|0)+(h<<2)>>2]=e;f=c[e+16>>2]|0;c[f+236>>2]=h;if((a[f+156>>0]|0)==1)c[e+24>>2]=so(k)|0;dh(d,e);bh(k,e);f=(c[m>>2]|0)+232|0;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;h=h+1|0}h=c[(c[m>>2]|0)+196>>2]|0;c[e+(j<<6)+4>>2]=(c[h+(j<<6)+4>>2]|0)+(i<<2);a[h+(j<<6)+49>>0]=0;j=j+1|0}e=c[m>>2]|0;if((j|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(j<<6)+49>>0]=0;a[f+272>>0]=1;return}function Uk(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;Xg(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;Xg(d);d=c[g>>2]|0}dh(Vf(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function Vk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=co(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){MA(f);d=c[e>>2]|0}c[d+212>>2]=0;f=eo(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=co(h)|0;a:while(1){if(!d)break;j=eo(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=Dn(d)|0;g=Dn(b)|0;c[n>>2]=f;c[n+4>>2]=g;_l(0,80591,n)|0;qo(h,d)|0;d=j;continue}NA(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=Pm(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Rm(h,g)|0}}k=k+1|0}l=o;return}function Wk(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=vw((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=fh(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(ah(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=co(e)|0;while(1){f=c[k>>2]|0;if(!j)break;h=(c[(c[f+268>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=Pm(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=Rm(e,f)|0}j=eo(e,j)|0}d=b[f+238>>1]|0;i=f+268|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function Xk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((j|0)!=(a[e+273>>0]|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;mi(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;ni(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function Yk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=co(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=Pm(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Rm(b,g)|0}h=eo(b,h)|0}Zk(b);return}function Zk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Zk(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=co(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=Pm(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=Rm(b,h)|0}i=eo(b,i)|0}return}function _k(a){a=a|0;var b=0,c=0,d=0;d=iB(a)|0;c=co(a)|0;while(1){if(!c)break;b=Pm(a,c)|0;while(1){if(!b)break;$k(b,d);b=Rm(a,b)|0}c=eo(a,c)|0}Kl(d)|0;return}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+320|0;H=M+296|0;G=M+280|0;x=M+136|0;w=M+120|0;n=M+104|0;i=M+88|0;f=M+80|0;E=M+16|0;z=M;j=M+264|0;k=M+248|0;m=M+232|0;o=M+216|0;A=M+200|0;B=M+184|0;y=M+168|0;D=M+152|0;g=al(Im(a,80645)|0,b)|0;q=al(Im(a,80651)|0,b)|0;r=(q|0)!=0;b=(g|0)!=0;do if(b|r?(L=a+16|0,e=c[(c[L>>2]|0)+8>>2]|0,e|0):0){if((c[e+4>>2]|0)>1){K=Dn(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)|0;L=Dn(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=K;c[f+4>>2]=L;_l(0,80657,f)|0;break}I=c[e>>2]|0;e=c[I+4>>2]|0;p=c[a>>2]&3;s=a+-48|0;t=c[((p|0)==2?a:s)+40>>2]|0;u=a+48|0;p=c[((p|0)==3?a:u)+40>>2]|0;J=ww(48)|0;v=I+12|0;c[J+12>>2]=c[v>>2];C=I+8|0;c[J+8>>2]=c[C>>2];do if(b){h=(c[g+16>>2]|0)+16|0;g=(c[t+16>>2]|0)+16|0;c[H>>2]=c[g>>2];c[H+4>>2]=c[g+4>>2];c[H+8>>2]=c[g+8>>2];c[H+12>>2]=c[g+12>>2];if(!(bl(H,h)|0)){o=Dn(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=Dn(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Im(a,80645)|0;c[i>>2]=o;c[i+4>>2]=F;c[i+8>>2]=K;_l(0,80698,i)|0;K=26;break}b=c[I>>2]|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(bl(H,h)|0){F=(c[p+16>>2]|0)+16|0;c[H>>2]=c[F>>2];c[H+4>>2]=c[F+4>>2];c[H+8>>2]=c[F+8>>2];c[H+12>>2]=c[F+12>>2];if(bl(H,h)|0){o=Dn(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=Dn(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Im(a,80645)|0;c[n>>2]=o;c[n+4>>2]=F;c[n+8>>2]=K;_l(0,80741,n)|0;K=26;break}if(!(c[C>>2]|0))ma(80783,80794,369,80805);o=I+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];cl(z,G,H,h);F=(c[I>>2]|0)+48|0;c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2];F=(c[I>>2]|0)+16|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];dl(j,G,H);c[F>>2]=c[j>>2];c[F+4>>2]=c[j+4>>2];c[F+8>>2]=c[j+8>>2];c[F+12>>2]=c[j+12>>2];F=c[I>>2]|0;b=F+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];dl(k,G,H);c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];F=c[I>>2]|0;b=F+32|0;F=F+16|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];dl(m,G,H);c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];b=c[v>>2]|0;if(!b){F=3;break}F=(Nt(a,c[I>>2]|0,0,0,J,b)|0)+3|0;break}g=e+-1|0;b=0;while(1){if((b|0)>=(g|0))break;if(el((c[I>>2]|0)+(b<<4)|0,h)|0)break;b=b+3|0}e=c[v>>2]|0;f=(e|0)!=0;if((b|0)==(g|0))if(f){F=J+32|0;m=I+32|0;n=(c[I>>2]|0)+(g<<4)|0;c[G>>2]=c[m>>2];c[G+4>>2]=c[m+4>>2];c[G+8>>2]=c[m+8>>2];c[G+12>>2]=c[m+12>>2];c[H>>2]=c[n>>2];c[H+4>>2]=c[n+4>>2];c[H+8>>2]=c[n+8>>2];c[H+12>>2]=c[n+12>>2];cl(o,G,H,h);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=g;break}else ma(80822,80794,387,80805);else{if(f)b=Nt(a,c[I>>2]|0,0,b,J,e)|0;F=b+3|0;break}}else K=26;while(0);if((K|0)==26){b=e+-1|0;if(!(c[v>>2]|0))F=b;else{F=J+32|0;o=I+32|0;c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=b}}do if(r){f=(c[q+16>>2]|0)+16|0;r=(c[p+16>>2]|0)+16|0;c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];if(!(bl(H,f)|0)){G=Dn(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=Dn(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Im(a,80651)|0;c[w>>2]=G;c[w+4>>2]=H;c[w+8>>2]=K;_l(0,80833,w)|0;K=52;break}b=(c[I>>2]|0)+(F<<4)|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(bl(H,f)|0){E=(c[t+16>>2]|0)+16|0;c[H>>2]=c[E>>2];c[H+4>>2]=c[E+4>>2];c[H+8>>2]=c[E+8>>2];c[H+12>>2]=c[E+12>>2];if(bl(H,f)|0){G=Dn(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=Dn(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Im(a,80651)|0;c[x>>2]=G;c[x+4>>2]=H;c[x+8>>2]=K;_l(0,80876,x)|0;K=52;break}if(!(c[v>>2]|0))ma(80822,80794,429,80805);x=J+32|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];cl(z,G,H,f);d=F+-3|0;E=(c[I>>2]|0)+(d<<4)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];E=F+-1|0;b=(c[I>>2]|0)+(E<<4)|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];dl(A,G,H);c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];b=c[I>>2]|0;D=b+(F<<4)|0;b=b+(E<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];dl(B,G,H);c[D>>2]=c[B>>2];c[D+4>>2]=c[B+4>>2];c[D+8>>2]=c[B+8>>2];c[D+12>>2]=c[B+12>>2];D=c[I>>2]|0;b=D+(F+-2<<4)|0;E=D+(E<<4)|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];dl(y,G,H);c[b>>2]=c[y>>2];c[b+4>>2]=c[y+4>>2];c[b+8>>2]=c[y+8>>2];c[b+12>>2]=c[y+12>>2];b=c[C>>2]|0;if(!b)break;d=Pt(a,c[I>>2]|0,d,d,J,b)|0;break}e=F;while(1){if((e|0)>0)b=0;else break;while(1){if((b|0)==4)break;B=E+(b<<4)|0;A=(c[I>>2]|0)+(e-b<<4)|0;c[B>>2]=c[A>>2];c[B+4>>2]=c[A+4>>2];c[B+8>>2]=c[A+8>>2];c[B+12>>2]=c[A+12>>2];b=b+1|0}if(el(E,f)|0){b=0;K=43;break}e=e+-3|0}a:do if((K|0)==43)while(1){K=0;if((b|0)==4)break a;K=(c[I>>2]|0)+(e-b<<4)|0;B=E+(b<<4)|0;c[K>>2]=c[B>>2];c[K+4>>2]=c[B+4>>2];c[K+8>>2]=c[B+8>>2];c[K+12>>2]=c[B+12>>2];b=b+1|0;K=43}while(0);if(e|0){d=e+-3|0;b=c[C>>2]|0;if(!b)break;d=Pt(a,c[I>>2]|0,d,F+-3|0,J,b)|0;break}if(!(c[C>>2]|0))ma(80783,80794,452,80805);else{d=J+16|0;E=I+16|0;a=c[I>>2]|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[a>>2];c[H+4>>2]=c[a+4>>2];c[H+8>>2]=c[a+8>>2];c[H+12>>2]=c[a+12>>2];cl(D,G,H,f);c[d>>2]=c[D>>2];c[d+4>>2]=c[D+4>>2];c[d+8>>2]=c[D+8>>2];c[d+12>>2]=c[D+12>>2];d=0;break}}else K=52;while(0);if((K|0)==52)if(!(c[C>>2]|0))d=0;else{d=J+16|0;K=I+16|0;c[d>>2]=c[K>>2];c[d+4>>2]=c[K+4>>2];c[d+8>>2]=c[K+8>>2];c[d+12>>2]=c[K+12>>2];d=0}b=F-d+1|0;e=J+4|0;c[e>>2]=b;c[J>>2]=ww(b<<4)|0;b=0;while(1){if((b|0)>=(c[e>>2]|0))break;K=(c[J>>2]|0)+(b<<4)|0;a=(c[I>>2]|0)+(d<<4)|0;c[K>>2]=c[a>>2];c[K+4>>2]=c[a+4>>2];c[K+8>>2]=c[a+8>>2];c[K+12>>2]=c[a+12>>2];d=d+1|0;b=b+1|0}_I(c[I>>2]|0);_I(I);c[c[(c[L>>2]|0)+8>>2]>>2]=J}while(0);l=M;return}function al(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=jB(d,b)|0;if(!d){c[e>>2]=b;_l(0,80996,e)|0;d=0}}else d=0;l=f;return d|0}function bl(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3]&1;else a=0;return a|0}function cl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0;C=l;l=l+464|0;n=C+48|0;B=C+32|0;u=C+16|0;v=C;w=C+364|0;x=C+264|0;z=C+164|0;A=C+64|0;q=+h[b>>3];r=+h[b+8>>3];s=+h[d>>3];t=+h[d+8>>3];c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2];e=e+16|0;c[v>>2]=c[e>>2];c[v+4>>2]=c[e+4>>2];c[v+8>>2]=c[e+8>>2];c[v+12>>2]=c[e+12>>2];k=+h[u>>3];if((s<k?(f=r+ +(~~((k-q)*(r-t)/(q-s))|0),f>=+h[u+8>>3]):0)?f<=+h[v+8>>3]:0){o=f;p=k}else i=4;do if((i|0)==4){j=+h[v>>3];if(s>j){g=r+ +(~~((j-q)*(r-t)/(q-s))|0);f=+h[u+8>>3];if(g>=f?g<=+h[v+8>>3]:0){o=g;p=j;break}}else f=+h[u+8>>3];if(t<f?(m=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(m>=k)|!(m<=j))):0){o=f;p=m;break}f=+h[v+8>>3];if(t>f?(y=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(y>=k)|!(y<=j))):0){o=f;p=y;break};c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];w=jl(n,w)|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];x=jl(n,x)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];z=jl(n,z)|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];A=jl(n,A)|0;c[B>>2]=w;c[B+4>>2]=x;c[B+8>>2]=z;c[B+12>>2]=A;_l(1,80918,B)|0;ma(123205,80794,78,80970)}while(0);h[a>>3]=p;h[a+8>>3]=o;l=C;return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function el(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+fl(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)PA(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+fl(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f<d){PA(k,j,3,f,a,0);d=f}f=+gl(a,0.0,d>1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){PA(k,j,3,f,a,0);d=f}f=+gl(a,0.0,d>1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){PA(k,j,3,f,a,0);d=f}l=m;return d<2.0|0}function fl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(il(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+48>>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}PA(i,a,3,.5,j,k);g=(c+b)*.5;b=+fl(j,b,g,d,e,f);if(!(b>=0.0))b=+fl(k,g,c,d,e,f)}while(0);l=m;return +b}function gl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(hl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}PA(i,a,3,.5,j,k);g=(c+b)*.5;b=+gl(j,b,g,d,e,f);if(!(b>=0.0))b=+gl(k,g,c,d,e,f)}while(0);l=m;return +b}function hl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=f<b?-1:f>b&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function il(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=f<b?-1:f>b&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;pL(b,80984,d)|0;l=c;return b|0}function kl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=ZI(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=_(18,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,u|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break b}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=$(17,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,t|0,u|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ka(6,a|0,m|0,k|0,i|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break b}}}e=c[r>>2]|0;k=k+1|0;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=_(19,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,u|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break c}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=$(18,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,t|0,u|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ka(6,a|0,m|0,k|0,i|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break c}}}k=k+1|0;d=c[r>>2]|0}m=m+-1|0;q=15}t=RN(167760,1,t|0,u|0)|0;u=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else d=0}while(0);d:while(1){if(d){o=0;aa(11,3,81024,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;fa(85,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue d}f=f+1|0}}}while(0);_I(t|0);l=v;return}function ll(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((ll(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(sl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(Wf(g,h)|0)==0&1}else a=0;l=i;return a|0}function nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=ah(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;ih(f,d);Xg(f)}Xg(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=ah(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;ih(f,d);Xg(f)}Xg(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}dh(a,o);l=l+1|0}if((r|0)==23)ma(81160,81204,115,81211);while(1){g=g+1|0;d=c[(c[t>>2]|0)+196>>2]|0;f=d+(b<<6)|0;if((g|0)>=(c[f>>2]|0))break;e=c[d+(b<<6)+4>>2]|0;r=c[e+(g<<2)>>2]|0;c[e+(s<<2)>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[f>>2]=s;c[(c[d+(b<<6)+4>>2]|0)+(s<<2)>>2]=0;return}function ol(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((ol(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(sl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(Wf(g,h)|0)==0&1}else a=0;l=i;return a|0}function ql(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}ij(d);j=co(d)|0;while(1){if(!j)break;rl(d,j);i=Pm(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;rl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=Rm(d,i)|0}j=eo(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(Bo(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(Bo(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(Bo(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=Dn(d)|0;c[p+4>>2]=i;_l(0,81124,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=Dn(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;_l(1,81066,o)|0;Ua(167760,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;ql(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function rl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function sl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(O((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;ul(j,k+512|0,k);e=(a[173894]|0)+1<<24>>24;a[173894]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=co(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(KA(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[173894]|0)):0){vl(b);wl(j,b,g);xl(b)}d=eo(b,d)|0}yl(j);l=k;return}function ul(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function vl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[41979]=0;return}function wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;zl(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Al(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[173894]|0))continue;Bl(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[173894]|0)?(e|0)==(KA(e)|0):0)zl(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function xl(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;b=c[d>>2]|0;f=b+220|0;e=c[f>>2]|0;a=e+1|0;c[f>>2]=a;b=c[b+216>>2]|0;if(!b)a=ww(a<<2)|0;else a=yw(b,a<<2)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function yl(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;_I(c[a>>2]|0);_I(a);a=b}return}function zl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=vw(16)|0;if(!f)_l(1,83988,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=vw(4e6)|0;c[f>>2]=b;if(!b){_l(1,81224,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[173894]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Al(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[173894]|0;b=c[41979]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[41979]=d;c[g+164>>2]=0;return}function Cl(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}Dl(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){Dl(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}El(b)}while(0);ui(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Fl(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Fl(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){nh(b);Bh(b)}return e|0}function Dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(Vf(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return}function El(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)ma(81281,81264,190,81300);d=(b[a+238>>1]|0)+3|0;a=c[a+196>>2]|0;if(!a)a=ww(d<<6)|0;else a=yw(a,d<<6)|0;d=a+64|0;a=c[g>>2]|0;c[a+196>>2]=d;a=b[a+238>>1]|0;while(1){if((a|0)<=-1)break;f=a+-1|0;e=d+(a<<6)|0;a=d+(f<<6)|0;d=e+64|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));a=f;d=c[(c[g>>2]|0)+196>>2]|0}c[d+(a<<6)+8>>2]=0;c[d+(a<<6)>>2]=0;e=vw(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Fl(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=Vf(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Gl(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[g+(d<<6)+24>>3]+ +h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Hl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=ah(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=ah(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]<f)h[e>>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]<f)h[d>>3]=f;c[g+112>>2]=b}return}function Gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Il(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Jl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Jl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;f=c[(c[g>>2]|0)+196>>2]|0;e=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;if(!f)f=ww((c[e>>2]<<2)+8|0)|0;else f=yw(f,(c[e>>2]<<2)+8|0)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=fh(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Il(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Jl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+4|0;g=m;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){k=c[b+236>>2]|0;if(c[b+176>>2]|0){i=c[b+180>>2]|0;b=0;g=0;h=0;while(1){j=c[i+(h<<2)>>2]|0;if(!j)break;n=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=(n|0)>(e|0);b=j?((n|0)<(f|0)?b:1):b;g=j?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=k+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[d+4>>2]=k+-1;break}if((c[b+184>>2]|0)!=2)ma(81244,81264,63,81271);i=c[b+180>>2]|0;n=c[i>>2]|0;i=c[i+4>>2]|0;Il(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,h,g);i=c[g>>2]|0;if((i|0)<=(e|0)){c[d>>2]=k;c[d+8>>2]=k;break}b=c[h>>2]|0;if((b|0)>=(f|0)){c[d+4>>2]=k;c[d+12>>2]=k;break}g=(b|0)<(e|0);h=(i|0)>(f|0);if(!(h&g)){if(!(!g?!((i|0)<(f|0)&(b|0)==(e|0)):0))c[d+8>>2]=k;if(!h?!((i|0)==(f|0)&(b|0)>(e|0)):0)break;c[d+12>>2]=k}}while(0);l=m;return}function Kl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=cb[b&31](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Wl(a,0)|0;f=(b|0)==0;if(f){bb[c[c[a+16>>2]>>2]&31](a,0,64)|0;if((Sl(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){e=a+12|0;cb[c[e>>2]&31](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}else e=a+12|0;cb[c[e>>2]&31](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(f&(b|0)==1)cb[c[a+12>>2]&31](a,a,0,h)|0}else _I(a);b=c[g>>2]|0;if(!b)b=0;else{cb[b&31](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function Ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;g=a+8|0;if(c[c[g>>2]>>2]&4096|0)Rl(a,0)|0;e=c[n+32>>2]|0;if(e|0?(cb[e&31](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[b+28>>2]|0;c[a+12>>2]=(e|0)==0?19:e;e=c[c[g>>2]>>2]|0;if(!(e&112)){do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(d&2|0){b=n;break a}while(0);h=Ol(a)|0;e=c[g>>2]|0;l=c[e>>2]|0;c[e>>2]=l&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(l&3|0){l=c[e+8>>2]|0;f=l+(c[e+12>>2]<<2)|0;e=l;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=(d&2|0)==0;j=b+8|0;k=b+4|0;l=b+24|0;while(1){if(!h){b=n;break a}d=c[h>>2]|0;if(i){e=c[j>>2]|0;if((e|0)<0)e=c[h+8>>2]|0;else e=h+(0-e)|0;g=c[k>>2]|0;e=e+(c[b>>2]|0)|0;if((g|0)<0)e=c[e>>2]|0;f=c[l>>2]|0;if(!f)e=Ul(0,e,g)|0;else e=bb[f&31](a,e,b)|0;c[h+4>>2]=e}bb[m&31](a,h,32)|0;h=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[b+28>>2]|0;c[a+12>>2]=(n|0)==0?19:n}while(0);return b|0}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=ZI(c)|0;else if(a){_I(b);a=0;break}else{a=aJ(b,c)|0;break}while(0);return a|0}function Nl(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=Ol(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function Ol(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;a=c[g>>2]|0;b=c[a>>2]|0;if(!(b&4096)){a:do if(!(b&3)){if(b&112|0){a=c[a+8>>2]|0;break}a=c[a+4>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a+8>>2]|0;f=e+(c[a+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[a+4>>2]|0;return a|0}function Pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=a+8|0;if(c[c[s>>2]>>2]&4096|0)Rl(a,0)|0;r=c[a+4>>2]|0;m=c[r>>2]|0;n=c[r+4>>2]|0;q=r+8|0;u=c[q>>2]|0;o=c[r+20>>2]|0;p=a+20|0;f=c[p>>2]&-32769;c[p>>2]=f;a:do if(!b){if(d&384|0){f=c[s>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}if(d&4098|0){e=c[s>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{h=e;t=84;break}}if(!(d&64))e=0;else{i=r+16|0;b:do if((c[i>>2]|0)!=0|(u|0)<0){j=a+12|0;k=(u|0)<0;f=0-u|0;e=c[(c[s>>2]|0)+8>>2]|0;while(1){if(!e)break b;g=c[e>>2]|0;h=c[i>>2]|0;if(h|0){if(k)b=c[e+8>>2]|0;else b=e+f|0;ib[h&127](a,b,r)}if((c[q>>2]|0)>=0){e=g;continue}cb[c[j>>2]&31](a,e,0,r)|0;e=g}}while(0);e=c[s>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[s>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=r+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=bb[e&31](a,b,r)|0;if(!e){e=0;break}else f=e}else f=b;do if((u|0)>-1)h=f+u|0;else{e=cb[c[a+12>>2]&31](a,0,12,r)|0;if(e|0){c[e+8>>2]=f;h=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[r+16>>2]|0;if(h|(e|0)==0){e=0;break a}ib[e&127](a,f,r);e=0;break a}while(0);g=c[s>>2]|0;e=c[g>>2]|0;do if(!(e&128)){if(!(e&16))if(!(e&32)){t=51;break}else{t=48;break}f=c[g+4>>2]|0;e=(f|0)!=0;if(!(d&8192)){if(!e){t=48;break}if((f|0)==(c[g+8>>2]|0)){t=48;break}r=f+4|0;a=c[r>>2]|0;c[h+4>>2]=a;c[a>>2]=h;c[h>>2]=f;c[r>>2]=h;break}else{if(!e){t=51;break}e=c[f>>2]|0;if(!e){t=51;break}c[h>>2]=e;c[e+4>>2]=h;c[h+4>>2]=f;c[f>>2]=h;break}}else if(!(d&8192))t=48;else t=51;while(0);if((t|0)==48){e=c[g+8>>2]|0;c[h>>2]=e;if(!e)e=h;else c[h+4>>2]=c[e+4>>2];c[e+4>>2]=h;c[(c[s>>2]|0)+8>>2]=h}else if((t|0)==51){f=g+8|0;e=c[f>>2]|0;if(!e){c[f>>2]=h;e=h}else{r=e+4|0;c[c[r>>2]>>2]=h;c[h+4>>2]=c[r>>2]}c[e+4>>2]=h;c[h>>2]=0}e=c[s>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=h;if((u|0)<0){e=c[h+8>>2]|0;break}else{e=h+(0-u)|0;break}}h=c[s>>2]|0;do if(!(d&512)){e=c[h+4>>2]|0;if(e|0){if((u|0)<0)g=c[e+8>>2]|0;else g=e+(0-u)|0;if((g|0)==(b|0))break}e=b+m|0;if((n|0)<0){b=c[e>>2]|0;t=68}else{b=e;t=68}}else t=68;while(0);if((t|0)==68){g=(u|0)<0;i=(n|0)<0;j=(o|0)==0;k=(n|0)<1;l=0-u|0;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(g)f=c[e+8>>2]|0;else f=e+l|0;f=f+m|0;if(i)f=c[f>>2]|0;do if(j)if(k){f=xJ(b,f)|0;break}else{f=dL(b,f,n)|0;break}else f=cb[o&31](a,b,f,r)|0;while(0)}while((f|0)!=0);f=c[p>>2]|0}c[p>>2]=f|32768;if(!(d&4098)){do if(!(d&8)){f=c[s>>2]|0;if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;t=108;break}}else{f=c[s>>2]|0;t=108}while(0);if((t|0)==108){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}else{h=e;t=84}}while(0);if((t|0)==84){e=c[h>>2]|0;if(e){c[e+4>>2]=c[h+4>>2];e=c[h>>2]|0}f=(c[s>>2]|0)+8|0;g=c[f>>2]|0;if((h|0)==(g|0)){c[f>>2]=e;e=c[(c[s>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h+4>>2]}else{f=h+4|0;c[c[f>>2]>>2]=e;e=g+4|0;if((h|0)==(c[e>>2]|0))c[e>>2]=c[f>>2]}e=c[s>>2]|0;f=e+4|0;if((h|0)==(c[f>>2]|0))g=c[h>>2]|0;else g=0;c[f>>2]=g;t=e+16|0;c[t>>2]=(c[t>>2]|0)+-1;if((u|0)<0)e=c[h+8>>2]|0;else e=h+(0-u)|0;f=c[r+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))ib[f&127](a,e,r);if((c[q>>2]|0)<0)cb[c[a+12>>2]&31](a,h,0,r)|0}return e|0}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if((a|0)!=0&(b|0)!=0?(f=ZI(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;Ll(f,a,0)|0;d=f+20|0;i=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[i>>2]|0;do if(d){c[g>>2]=0;d=cb[d&31](f,1,g,a)|0;if((d|0)>=0)if(d){e=c[g>>2]|0;if(e|0)if(!(c[b+4>>2]&c[e>>2])){d=f;h=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;h=12}else{_I(f);e=cb[c[d>>2]&31](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;Ll(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;h=11}}else{d=f;h=11}else{d=f;h=12}}else{d=f;h=11}while(0);if((h|0)==11){e=cb[c[d+12>>2]&31](d,0,28,a)|0;c[g>>2]=e;if(!e){d=f;h=12}else{c[e>>2]=c[b+4>>2];g=e+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0}}if((h|0)==12){_I(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[i>>2]|0;if(e)cb[e&31](d,5,f,a)|0}else d=0;while(0);l=j;return d|0}function Rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[c[a+16>>2]>>2]|0;j=a+8|0;g=c[j>>2]|0;h=c[g>>2]|0;d=h&4096;if(!b)if(!d)b=-1;else{e=d;b=c[g+4>>2]|0;i=5}else if(!(c[g+16>>2]|0)){e=0;i=5}else b=-1;a:do if((i|0)==5){c[g>>2]=h&-4097;if(!(h&3)){d=g+4|0;if(!(h&12)){c[d>>2]=0;d=g+8|0}c[d>>2]=b;if(e|0){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[g+4>>2]=0;if(!e){c[g+16>>2]=0;while(1){if(!b){b=0;break a}j=c[b>>2]|0;bb[f&31](a,b,32)|0;b=j}}e=c[g+8>>2]|0;a=e+(c[g+12>>2]<<2)|0;while(1){if(e>>>0>=a>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Sl(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Rl(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Tl(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Tl(a){a=a|0;var b=0;if(!a)return 0;else{b=Tl(c[a+4>>2]|0)|0;return b+1+(Tl(c[a>>2]|0)|0)|0}return 0}function Ul(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0<c>>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=O(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=O(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=O(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return O(b+c|0,17109811)|0}function Vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;z=G+120|0;r=G;F=a+8|0;e=c[F>>2]|0;if(c[e>>2]&4096){Rl(a,0)|0;e=c[F>>2]|0}E=c[a+4>>2]|0;A=c[E>>2]|0;B=c[E+4>>2]|0;x=E+8|0;D=c[x>>2]|0;C=c[E+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;a:do if(!b)if((d&448|0)==0|(h|0)==0)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-D)|0;break}}b=E+16|0;if((c[b>>2]|0)!=0|(D|0)<0){j=a+12|0;k=(D|0)<0;i=0-D|0;e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[b>>2]|0;if(f|0){if(k)g=c[h+8>>2]|0;else g=h+i|0;ib[f&127](a,g,E)}if((c[x>>2]|0)<0)cb[c[j>>2]&31](a,h,0,E)|0}while((e|0)!=0);e=c[F>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{y=a+16|0;u=(d&4098|0)==0;c:do if(u|(c[(c[y>>2]|0)+4>>2]|0)!=8)v=45;else{k=(B|0)<0;e=b+A|0;if(k)e=c[e>>2]|0;i=(C|0)==0;j=(B|0)<1;g=bb[c[a>>2]&31](a,b,4)|0;while(1){if(!g){v=45;break c}f=g+A|0;if(k)f=c[f>>2]|0;do if(i)if(j){f=xJ(e,f)|0;break}else{f=dL(e,f,B)|0;break}else f=cb[C&31](a,e,f,E)|0;while(0);if(f|0){v=45;break c}if((g|0)==(b|0))break;g=bb[c[a>>2]&31](a,g,8)|0}h=c[(c[F>>2]|0)+4>>2]|0;c[z>>2]=c[h+4>>2];c[z+4>>2]=c[h>>2];e=z;v=180}while(0);d:do if((v|0)==45){do if(!(d&2565)){if(d&32|0){if((D|0)<0)g=c[b+8>>2]|0;else g=b+(0-D)|0;e=g+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e;if(!h){e=b;f=z;h=z;v=198;break}else{e=b;s=f;j=b;v=64;break}}if(h){if((D|0)<0)e=c[h+8>>2]|0;else e=h+(0-D)|0;if((e|0)!=(b|0)){f=b+A|0;if((B|0)<0){g=b;e=0;s=c[f>>2]|0;j=0;v=64}else{g=b;e=0;s=f;j=0;v=64}}else{e=0;g=b;f=z;k=z;j=0;v=141}}else{e=0;g=b;f=z;h=z;v=198}}else{if(!(d&512)){e=b+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e}else f=b;if(!h){e=0;g=b;f=z;h=z;v=198}else{g=b;e=0;s=f;j=0;v=64}}while(0);e:do if((v|0)==64){f:do if((c[(c[y>>2]|0)+4>>2]|0)==4?(q=c[(c[F>>2]|0)+24>>2]|0,!((d&516|0)==0|(q|0)==0)):0){b=(D|0)<0;m=(B|0)<0;n=(C|0)==0;o=(B|0)<1;p=0-D|0;k=0;f=h;while(1){if((k|0)>=(q|0)){f=z;k=z;m=0;break}if(b)i=c[f+8>>2]|0;else i=f+p|0;i=i+A|0;if(m)i=c[i>>2]|0;do if(n)if(o){i=xJ(s,i)|0;break}else{i=dL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if(!i){v=80;break}c[r+(k<<2)>>2]=i;f=c[((i|0)<0?f+4|0:f)>>2]|0;if(!f){e=0;break a}else k=k+1|0}if((v|0)==80)if(b){e=c[f+8>>2]|0;break a}else{e=f+p|0;break a}while(1){if((m|0)>=(q|0))break f;do if((c[r+(m<<2)>>2]|0)<0){i=h+4|0;b=c[i>>2]|0;if((c[r+((m|1)<<2)>>2]|0)<0){c[i>>2]=c[b>>2];c[b>>2]=h;c[f+4>>2]=b;f=b;h=k;i=b+4|0;break}else{c[k>>2]=b;c[f+4>>2]=h;f=h;h=b;i=b;break}}else{i=c[h>>2]|0;if((c[r+((m|1)<<2)>>2]|0)>0){p=i+4|0;c[h>>2]=c[p>>2];c[p>>2]=h;c[k>>2]=i;h=i;break}else{c[f+4>>2]=i;c[k>>2]=h;f=i;i=i+4|0;break}}while(0);k=h;m=m+2|0;h=c[i>>2]|0}}else{f=z;k=z}while(0);n=(D|0)<0;o=(B|0)<0;p=(C|0)!=0;q=(B|0)<1;r=0-D|0;i=h;g:while(1){h=i;while(1){if(n)i=c[h+8>>2]|0;else i=h+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=xJ(s,i)|0;break}else{i=dL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if(!i){v=140;break g}if((i|0)>=0)break;b=h+4|0;m=c[b>>2]|0;if(!m){v=121;break g}if(n)i=c[m+8>>2]|0;else i=m+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=xJ(s,i)|0;break}else{i=dL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if((i|0)>=0){v=118;break}c[b>>2]=c[m>>2];c[m>>2]=h;c[f+4>>2]=m;h=c[m+4>>2]|0;if(!h){f=m;h=k;v=198;break e}else f=m}if((v|0)==118){v=0;if(!i){v=119;break}c[k>>2]=m;c[f+4>>2]=h;i=c[m>>2]|0;if(!i){f=h;h=m;v=198;break e}else{f=h;k=m;continue}}b=c[h>>2]|0;if(!b){v=139;break}if(n)i=c[b+8>>2]|0;else i=b+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=xJ(s,i)|0;break}else{i=dL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if((i|0)>0){i=b+4|0;c[h>>2]=c[i>>2];c[i>>2]=h;c[k>>2]=b;i=c[b>>2]|0;if(!i){h=b;v=198;break e}else{k=b;continue}}if(!i){v=137;break}c[f+4>>2]=b;c[k>>2]=h;i=c[b+4>>2]|0;if(!i){f=b;v=198;break e}else{f=b;k=h}}if((v|0)==119){c[f+4>>2]=h;f=h;h=m;v=141;break}else if((v|0)==121){c[f+4>>2]=h;f=h;h=k;v=198;break}else if((v|0)==137){c[k>>2]=h;k=h;h=b;v=141;break}else if((v|0)==139){c[k>>2]=h;v=198;break}else if((v|0)==140)if(!h){h=k;v=198;break}else{v=141;break}}while(0);do if((v|0)==141){c[t>>2]=c[t>>2]|32768;i=h+4|0;c[k>>2]=c[i>>2];c[f+4>>2]=c[h>>2];if(!(d&516)){if(d&8|0){c[i>>2]=c[z>>2];c[h>>2]=0;c[z>>2]=h;v=169;break}if(d&16|0){v=z+4|0;c[h>>2]=c[v>>2];c[i>>2]=0;c[v>>2]=h;v=175;break}if(!u){e=f;v=180;break d}if(d&2049|0){if(c[(c[y>>2]|0)+4>>2]&4|0){e=h;break}c[i>>2]=0;e=z+4|0;c[h>>2]=c[e>>2];c[e>>2]=h;e=h;v=205;break}if(!(d&32)){e=0;break a}if(!(c[(c[y>>2]|0)+4>>2]&4)){c[e+4>>2]=0;x=z+4|0;c[e>>2]=c[x>>2];c[x>>2]=j;e=(c[F>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[E+16>>2]|0;if(e|0)ib[e&127](a,g,E);if((c[x>>2]|0)<0){cb[c[a+12>>2]&31](a,j,0,E)|0;e=h}else e=h}else e=h}else if((v|0)==198){c[f+4>>2]=0;c[h>>2]=0;if(!(d&8))if(!(d&16)){if(d&516|0){e=f;break d}if(!(d&2049)){if(!(d&32)){g=0;e=f;break d}x=(c[F>>2]|0)+16|0;c[x>>2]=(c[x>>2]|0)+1}else{e=0;v=205}}else v=175;else v=169}while(0);if((v|0)==169){h=z+4|0;e=c[h>>2]|0;if(!e){e=f;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[h>>2]=c[e>>2]}else if((v|0)==175){e=c[z>>2]|0;if(!e){e=f;break}while(1){f=c[e>>2]|0;if(!f)break;x=f+4|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=f}c[z>>2]=c[e+4>>2]}else if((v|0)==205){i=E+12|0;h=c[i>>2]|0;j=(d&1|0)==0;if(!(j|(h|0)==0))g=bb[h&31](a,g,E)|0;do if(g){if((D|0)>-1){e=g+D|0;v=215;break}e=cb[c[a+12>>2]&31](a,0,12,E)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[E+16>>2]|0,!(j|(w|0)==0)):0){ib[w&127](a,g,E);v=215}else v=215}else v=215;while(0);if((v|0)==215)if(!e){e=f;break}f=(c[F>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[z>>2];c[e>>2]=c[z+4>>2];h:do if(!((d&516|0)==0?1:(c[(c[y>>2]|0)+4>>2]&8|0)==0)){m=(D|0)<0;if(m)f=c[e+8>>2]|0;else f=e+(0-D)|0;n=(B|0)<0;f=f+A|0;if(n)f=c[f>>2]|0;j=(C|0)==0;k=(B|0)<1;b=0-D|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;z=h+4|0;c[g>>2]=c[z>>2];c[z>>2]=g;g=h}c[i>>2]=g;if(m)h=c[g+8>>2]|0;else h=g+b|0;h=h+A|0;if(n)h=c[h>>2]|0;do if(j)if(k){h=xJ(f,h)|0;break}else{h=dL(f,h,B)|0;break}else h=cb[C&31](a,f,h,E)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break a}else{e=e+(0-D)|0;break a}}while(0);if((v|0)==180){if((D|0)<0)g=c[h+8>>2]|0;else g=h+(0-D)|0;f=c[E+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))ib[f&127](a,g,E);if((c[x>>2]|0)<0)cb[c[a+12>>2]&31](a,h,0,E)|0;a=(c[F>>2]|0)+16|0;E=c[a>>2]|0;c[a>>2]=(E|0)<1?-1:E+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[z>>2];c[(c[F>>2]|0)+4>>2]=c[z+4>>2];e=d&2|0?g:0}while(0);l=G;return e|0}function Wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[c[a+8>>2]>>2]&4096|0)Rl(a,0)|0;f=(b|0)!=0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Rl(b,0)|0;if((c[b+16>>2]|0)==(c[a+16>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){g=e+24|0;c[g>>2]=(c[g>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=12;g=b+24|0;c[g>>2]=(c[g>>2]|0)+1;break}else{c[a>>2]=c[c[a+16>>2]>>2];b=e;break}}while(0);return b|0}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(d&99)){if((d&516|0)==0?(e=c[(c[a+16>>2]|0)+4>>2]|0,!((d&384|0)!=0&(e&12|0)==0)):0){if(e&12|0){if(!(d&408)){e=0;break}o=(d&136|0)!=0;p=(d&272|0)!=0;l=0;f=0;e=0;n=a;while(1){if(!n)break;m=bb[c[c[n+16>>2]>>2]&31](n,b,d)|0;do if(!m)g=l;else{h=c[n+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=m+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=xJ(k,f)|0;break}else{g=dL(k,f,i)|0;break}else g=cb[j&31](n,k,f,h)|0;while(0);if(!(o&(g|0)<0|p&(g|0)>0)){g=l;break}}g=n;f=k;e=m}while(0);l=g;n=c[n+28>>2]|0}c[a+32>>2]=l;break}if(!(d&24)){e=0;break}j=a+32|0;f=c[j>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=bb[c[c[f+16>>2]>>2]&31](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[j>>2]=0;e=0;break a}else if((h|0)==36){c[j>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=bb[c[c[f+16>>2]>>2]&31](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(bb[c[c[g+16>>2]>>2]&31](g,e,4)|0)break;g=c[g+28>>2]|0}e=bb[c[c[h>>2]>>2]&31](f,e,d)|0}f=c[f+28>>2]|0;c[j>>2]=f;if(!f){e=0;break a}e=bb[c[c[f+16>>2]>>2]&31](f,0,i)|0}}else f=a;while(1){if(!f){f=0;e=0;break}e=bb[c[c[f+16>>2]>>2]&31](f,b,d)|0;if(e|0)break;f=c[f+28>>2]|0}c[a+32>>2]=f}else e=bb[c[c[a+16>>2]>>2]&31](a,b,d)|0;while(0);return e|0}function Yl(a){a=a|0;var b=0;b=c[41980]|0;c[41980]=a;return b|0}function Zl(a){a=a|0;var b=0;b=c[41981]|0;c[41981]=a;return b|0}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=$l(a,b,f)|0;l=e;return d|0}function $l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g;f=(a|0)==3;h=f?c[41983]|0:(a|0)==2?1:a;c[41983]=h;i=c[41984]|0;c[41984]=i>>>0>h>>>0?i:h;do if(h>>>0<(c[41981]|0)>>>0){a=c[41982]|0;if(!a){a=AN()|0;c[41982]=a;if(!a){a=1;break}}if(!f){DN(a)|0;a=c[41982]|0}MK(a,b,d)|0;a=0}else{if(c[41980]|0){am(a,b,d);a=0;break}if(f)a=c[13918]|0;else{i=c[13918]|0;c[e>>2]=(a|0)==1?81312:81318;zL(i,81326,e)|0;a=i}MK(a,b,d)|0;a=0}while(0);l=g;return a|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[41985]|0)==0?(f=ZI(c[4354]|0)|0,c[41985]=f,(f|0)==0):0)WL(81331,c[13918]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){$a[c[41980]&31]((a|0)==1?81312:81318)|0;$a[c[41980]&31](81990)|0}while(1){a=LK(c[41985]|0,c[4354]|0,b,d)|0;e=c[4354]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}e=e<<1;f=a+1|0;f=(e|0)>(f|0)?e:f;c[4354]=f;if(!(aJ(c[41985]|0,f)|0)){e=9;break}}if((e|0)==7){$a[c[41980]&31](c[41985]|0)|0;break}else if((e|0)==9){WL(81331,c[13918]|0)|0;break}}while(0);return}function bm(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;$l(1,a,e)|0;l=d;return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!e){e=(d|0)==0?1024:d;d=e;e=ZI(e)|0;f=1}else f=0;c[b+12>>2]=f;c[b>>2]=e;c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;f=c[a>>2]|0;g=(c[h>>2]|0)-f|0;e=g<<1;g=g+b|0;e=g>>>0>e>>>0?g:e;g=a+4|0;b=f;f=(c[g>>2]|0)-f|0;d=a+12|0;if(!(c[d>>2]|0)){i=ZI(e)|0;TN(i|0,b|0,f|0)|0;c[d>>2]=1;b=i}else b=aJ(b,e)|0;c[a>>2]=b;c[g>>2]=b+f;c[h>>2]=b+e;return 0}function em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){dm(a,d)|0;e=c[f>>2]|0}TN(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function fm(a,b){a=a|0;b=b|0;return em(a,b,rJ(b)|0)|0}function gm(a){a=a|0;if(c[a+12>>2]|0)_I(c[a>>2]|0);return}function hm(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function im(a,b,d){a=a|0;b=b|0;d=d|0;bp(c[41987]|0,c[b+8>>2]|0)|0;bp(c[41987]|0,c[b+12>>2]|0)|0;Zn(c[41987]|0,b);return}function jm(a,b){a=a|0;b=b|0;var c=0;c=Lo(a,81379,0)|0;if((b|0)!=0&(c|0)==0){km(a);c=Lo(a,81379,0)|0}return c|0}function km(a){a=a|0;var b=0,c=0,d=0;d=so(a)|0;wq(d,d,86,0,1)|0;c=co(d)|0;while(1){if(!c)break;mm(a,c);b=Pm(d,c)|0;while(1){if(!b)break;nm(a,b);b=Rm(d,b)|0}c=eo(d,c)|0}return}function lm(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;sm(b);c=Lp(b)|0;pm((c|0)==0?b:c,b);return}function mm(a,b){a=a|0;b=b|0;var d=0;d=om(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))pm(a,b);return}function nm(a,b){a=a|0;b=b|0;var d=0;d=om(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))pm(a,b);return}function om(a){a=a|0;return Lo(a,81367,0)|0}function pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=No(b,81367,16,0)|0;f=qm(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=so(a)|0;c[e>>2]=qm(a,c[b>>2]&3)|0;a=rm(b)|0;d=d+12|0;c[d>>2]=Yn(ro(b)|0,((a|0)>4?a:4)<<2)|0;a=bb[c[f>>2]&31](f,0,128)|0;while(1){if(!a)break a;e=ro(b)|0;e=$o(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=bb[c[f>>2]&31](f,a,8)|0}}while(0);return}function qm(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=jm(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;_l(1,81392,d)|0;a=0;break a}}while(0);l=e;return a|0}function rm(a){a=a|0;var b=0;b=so(ro(a)|0)|0;a=qm(b,c[a>>2]&3)|0;if(!a)a=0;else a=Sl(a)|0;return a|0}function sm(a){a=a|0;var b=0,d=0,e=0,f=0;d=No(a,81379,20,0)|0;e=d+8|0;c[e>>2]=Pp(a,17420,c[4353]|0)|0;f=d+12|0;c[f>>2]=Pp(a,17420,c[4353]|0)|0;d=d+16|0;c[d>>2]=Pp(a,17420,c[4353]|0)|0;b=Lp(a)|0;if(!b){b=c[41986]|0;if(!((b|0)==0|(b|0)==(a|0))){b=jm(b,0)|0;tm(c[b+8>>2]|0,c[e>>2]|0,a,1);tm(c[b+12>>2]|0,c[f>>2]|0,a,2);tm(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=jm(b,0)|0;Wl(c[e>>2]|0,c[a+8>>2]|0)|0;Wl(c[f>>2]|0,c[a+12>>2]|0)|0;Wl(c[d>>2]|0,c[a+16>>2]|0)|0}return}function tm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=bb[c[b>>2]&31](b,0,128)|0;while(1){if(!g)break;h=um(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;bb[c[d>>2]&31](d,h,1)|0;g=bb[c[b>>2]&31](b,g,8)|0}return}function um(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=Yn(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=$o(b,d)|0;c[h+12>>2]=$o(b,e)|0;c[h+16>>2]=f;return h|0}function vm(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=bb[c[a>>2]&31](a,e,4)|0;l=d;return b|0}function wm(a,b){a=a|0;b=b|0;var c=0;c=Wl(a,0)|0;b=vm(a,b)|0;Wl(a,c)|0;return b|0}function xm(a,b){a=a|0;b=b|0;a=om(a)|0;if(!a)a=0;else a=vm(c[a+8>>2]|0,b)|0;return a|0}function ym(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;if(!b){b=c[41986]|0;if(!b){a[g>>0]=a[17456]|0;a[g+1>>0]=a[17457]|0;a[g+2>>0]=a[17458]|0;a[g+3>>0]=a[17459]|0;b=gn(0,g,0)|0;c[41986]=b}}if(!f)b=Am(b,d,e)|0;else b=zm(b,d,e,f)|0;l=h;return b|0}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=so(a)|0;jm(a,1)|0;g=qm(a,b)|0;f=wm(g,d)|0;a:do if(!f){f=vm(g,d)|0;if(f|0){f=um(a,d,e,c[f+16>>2]|0,b)|0;bb[c[g>>2]&31](g,f,1)|0;h=16;break}g=qm(i,b)|0;f=um(a,d,e,Sl(g)|0,b)|0;bb[c[g>>2]&31](g,f,1)|0;switch(b|0){case 0:{wq(i,i,52,f,1)|0;h=16;break a}case 1:{d=co(i)|0;while(1){if(!d){h=16;break a}Bm(a,d,f);d=eo(i,d)|0}}case 2:case 3:{g=co(i)|0;while(1){if(!g){h=16;break a}d=Pm(i,g)|0;while(1){if(!d)break;Bm(a,d,f);d=Rm(i,d)|0}g=eo(i,g)|0}}default:break a}}else{h=f+12|0;bp(a,c[h>>2]|0)|0;c[h>>2]=$o(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)Cm(a,f,e)|0;vo(a,a,f);return f|0}function Am(a,b,c){a=a|0;b=b|0;c=c|0;a=qm(a,b)|0;if(!a)a=0;else a=vm(a,c)|0;return a|0}function Bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=om(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=cb[c[(c[g>>2]|0)+8>>2]&31](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=$o(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=ro(a)|0;g=(om(a)|0)+12|0;i=b+16|0;bp(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=$o(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(jm(h,0)|0)+16>>2]|0;f=b+8|0;g=wm(e,c[f>>2]|0)|0;if(!g){i=um(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;bb[c[e>>2]&31](e,i,1)|0;break}else{i=g+12|0;bp(h,c[i>>2]|0)|0;c[i>>2]=$o(h,d)|0;break}}while(0);vo(h,a,b);return 0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;a=qm(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=bb[b&31](a,0,128)|0;break}else{a=bb[b&31](a,d,8)|0;break}}else a=0;while(0);return a|0}function Em(a){a=a|0;var b=0;c[41987]=a;b=om(a)|0;if(b|0){Fm(a,b);Po(a,c[b>>2]|0)|0}b=jm(a,0)|0;if(b)if(((Rp(a,c[b+8>>2]|0)|0)==0?(Rp(a,c[b+12>>2]|0)|0)==0:0)?(Rp(a,c[b+16>>2]|0)|0)==0:0){Po(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ro(a)|0;e=rm(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;bp(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}Zn(f,d);return}function Gm(a){a=a|0;var b=0;b=om(a)|0;if(b|0){Fm(a,b);Po(a,81367)|0}return}function Hm(a){a=a|0;var b=0;b=om(a)|0;if(b|0){Fm(a,b);Po(a,81367)|0}return}function Im(a,b){a=a|0;b=b|0;b=xm(a,b)|0;if(!b)b=0;else{a=c[(om(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function Jm(a,b){a=a|0;b=b|0;a=c[(om(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function Km(a,b,c){a=a|0;b=b|0;c=c|0;b=xm(a,b)|0;if(!b)b=-1;else{Cm(a,b,c)|0;b=0}return b|0}function Lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=ro(a)|0;f=ym(f,c[a>>2]&3,b,0)|0;if(!f){f=ro(a)|0;f=ym(f,c[a>>2]&3,b,e)|0}Cm(a,f,d)|0;return 0}function Mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=ro(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=Dm(g,f&3,e)|0;if(!e)break a;d=xm(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=Jm(a,e)|0;Cm(b,d,f)|0;if(cp(f)|0)dp(Jm(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function Nm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function Om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0<f>>>0|(a|0)==(f|0)&g>>>0<e>>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0<i>>>0|(e|0)==(i|0)&a>>>0<h>>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function Pm(a,b){a=a|0;b=b|0;var d=0;b=Qm(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Rl(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=bb[c[b>>2]&31](b,0,128)|0;c[a>>2]=Nl(c[d>>2]|0)|0}return b|0}function Qm(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=bb[c[a>>2]&31](a,d,4)|0}l=e;return a|0}function Rm(a,b){a=a|0;b=b|0;var d=0,e=0;d=Qm(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Rl(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=bb[c[a>>2]&31](a,b,8)|0;c[d>>2]=Nl(c[e>>2]|0)|0}return a|0}function Sm(a,b){a=a|0;b=b|0;var d=0;b=Qm(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Rl(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=bb[c[b>>2]&31](b,0,128)|0;c[a>>2]=Nl(c[d>>2]|0)|0}return b|0}function Tm(a,b){a=a|0;b=b|0;var d=0,e=0;d=Qm(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Rl(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=bb[c[a>>2]&31](a,b,8)|0;c[d>>2]=Nl(c[e>>2]|0)|0}return a|0}function Um(a,b){a=a|0;b=b|0;var c=0;c=Pm(a,b)|0;if(!c)c=Sm(a,b)|0;return c|0}function Vm(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=Rm(a,b)|0;if(!b){b=0;do{if(!b)b=Sm(a,d)|0;else b=Tm(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=Tm(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function Wm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((sn(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>2]=0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],(_m(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function Xm(a,b){a=a|0;b=b|0;Zm(a,b);return}function Ym(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;io(b,d,1)|0;io(b,e,1)|0;h=Yn(b,96)|0;i=h+48|0;l=kn(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;Zm(b,h);if(a[b+24>>0]&64){No(h,81367,16,0)|0;nm(b,h)}to(b,h);return h|0}function Zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(_m(a,e,f,d)|0)break;j=Qm(a,e)|0;m=a+44|0;$m(c[m>>2]|0,j+32|0,g);k=a+48|0;$m(c[k>>2]|0,j+24|0,g);j=Qm(a,f)|0;$m(c[m>>2]|0,j+28|0,h);$m(c[k>>2]|0,j+20|0,h);a=Lp(a)|0}l=i;return}function _m(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==0)?(c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+40>>2]=b,g=Qm(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Rl(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=bb[c[a>>2]&31](a,f,4)|0;c[g>>2]=Nl(c[e>>2]|0)|0}else a=0;l=h;return a|0}function $m(a,b,d){a=a|0;b=b|0;d=d|0;Rl(a,c[b>>2]|0)|0;bb[c[a>>2]&31](a,d,1)|0;c[b>>2]=Nl(a)|0;return}function an(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;i=n+24|0;k=n+16|0;j=n;do if(!(An(a,2,e,k,0)|0))if(!e){if(f|0?(sn(a)|0)==0:0){m=18;break};c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;m=7}else m=17;else{o=j;c[o>>2]=0;c[o+4>>2]=0;o=k;g=c[o+4>>2]|0;m=j+8|0;c[m>>2]=c[o>>2];c[m+4>>2]=g;c[j>>2]=2;m=7}while(0);a:do if((m|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=_m(a,b,d,i)|0;b:do if(!g){if(rn(a)|0?(c[i>>2]=c[j>>2],c[i+4>>2]=c[j+4>>2],c[i+8>>2]=c[j+8>>2],c[i+12>>2]=c[j+12>>2],h=_m(a,d,b,i)|0,h|0):0){g=h;break}do if(f|0){g=so(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=_m(g,b,d,i)|0;if(!g){if(!(rn(a)|0))break;g=so(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=_m(g,d,b,i)|0;if(!g)break}Xm(a,g);break b}while(0);m=17;break a}while(0)}while(0);if((m|0)==17)if(!f)g=0;else m=18;if((m|0)==18)if((Wm(a,b,d)|0)!=0?(An(a,2,e,k,1)|0)!=0:0){g=k;g=Ym(a,b,d,c[g>>2]|0,c[g+4>>2]|0)|0;En(a,2,g)}else g=0;l=n;return g|0}function bn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=Qm(a,c[d+40>>2]|0)|0;f=a+44|0;cn(c[f>>2]|0,h+32|0,g);e=a+48|0;cn(c[e>>2]|0,h+24|0,g);b=Qm(a,b)|0;cn(c[f>>2]|0,b+28|0,d);cn(c[e>>2]|0,b+20|0,d);return}function cn(a,b,d){a=a|0;b=b|0;d=d|0;Rl(a,c[b>>2]|0)|0;bb[c[a>>2]&31](a,d,2)|0;c[b>>2]=Nl(a)|0;return}function dn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(_m(b,h,g,f)|0){if((so(b)|0)==(b|0)){if(a[b+24>>0]&64)Hm(d);xo(b,d);Vo(d);h=d+8|0;Cn(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(wq(b,d,53,0,0)|0))if((so(b)|0)==(b|0)){Zn(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function en(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=io(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=io(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=_m(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{Zm(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=IN(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=hn(e)|0;f=ab[c[(c[j>>2]|0)+4>>2]&63](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=ab[c[c[j+4>>2]>>2]&63](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(An(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=jn(f)|0;En(k,0,f);l=h;return k|0}function hn(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?17792:e}else e=17792;g=$a[c[e>>2]&31](b)|0;f=ab[c[e+4>>2]&63](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?17668:g;b=c[b+8>>2]|0;b=(b|0)==0?17768:b}else{c[f+4>>2]=17668;b=17768}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function jn(b){b=b|0;var d=0,e=0;c[b+36>>2]=Pp(b,17848,c[4353]|0)|0;c[b+40>>2]=Pp(b,17812,c[4353]|0)|0;d=(so(b)|0)==(b|0);c[b+44>>2]=Pp(b,d?17460:17496,c[4353]|0)|0;d=(so(b)|0)==(b|0);c[b+48>>2]=Pp(b,d?17532:17568,c[4353]|0)|0;c[b+52>>2]=Pp(b,17604,c[4353]|0)|0;d=Lp(b)|0;if(!((d|0)!=0?(e=kn(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,bb[c[e>>2]&31](e,b,1)|0,!(a[d+24>>0]&64)):0))lm(b);to(b,b);return b|0}function kn(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=HN(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=z;c[d>>2]=b;c[d+4>>2]=a;z=a;return b|0}function ln(b){b=b|0;var d=0,e=0,f=0,g=0;f=Lp(b)|0;g=(f|0)==0;if(g?(d=b+64|0,(c[(c[c[d>>2]>>2]|0)+16>>2]|0)!=0):0){xo(b,b);g=b+8|0;Cn(b,0,c[g>>2]|0,c[g+4>>2]|0);d=c[d>>2]|0;gb[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=Jp(b)|0;while(1){if(!d)break;e=Kp(d)|0;ln(d)|0;d=e}d=co(b)|0;while(1){if(!d)break;e=eo(b,d)|0;po(b,d)|0;d=e}Nn(b);xo(b,b);if(((((Rp(b,c[b+40>>2]|0)|0)==0?(Rp(b,c[b+36>>2]|0)|0)==0:0)?(Rp(b,c[b+48>>2]|0)|0)==0:0)?(Rp(b,c[b+44>>2]|0)|0)==0:0)?(Rp(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?Em(b)|0:0){d=-1;break}Vo(b);e=b+8|0;Cn(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){Mp(f,b)|0;Zn(f,b);d=0;break}d=b+64|0;while(1){e=c[d>>2]|0;f=c[e+48>>2]|0;if(!f)break;Ao(b,c[f>>2]|0)|0}gb[c[(c[e+4>>2]|0)+20>>2]&127](c[e+16>>2]|0);if(!(Wo(b)|0)){d=c[d>>2]|0;g=c[d+12>>2]|0;f=(c[d>>2]|0)+12|0;hb[c[f>>2]&31](g,b);hb[c[f>>2]&31](g,d);d=0}else d=-1}else d=-1}while(0);return d|0}function mn(a){a=a|0;return Sl(c[a+40>>2]|0)|0}function nn(a){a=a|0;var b=0,c=0,d=0;b=0;c=co(a)|0;while(1){if(!c)break;d=(on(a,c,0,1)|0)+b|0;b=d;c=eo(a,c)|0}return b|0}function on(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Qm(a,b)|0;if(f){if(!e)b=0;else b=pn(c[a+44>>2]|0,f+32|0)|0;if(d)b=(pn(c[a+44>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function pn(a,b){a=a|0;b=b|0;var d=0;Rl(a,c[b>>2]|0)|0;d=Sl(a)|0;c[b>>2]=Nl(a)|0;return d|0}function qn(b){b=b|0;return a[b+24>>0]&1|0}function rn(a){a=a|0;return (qn(a)|0)==0|0}function sn(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function tn(a,b){a=a|0;b=b|0;return a|0}function un(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1328;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=HN(d|0,f|0,2,0)|0;e=1328;c[e>>2]=f;c[e+4>>2]=z}else{if(!f)a=Yo(a,d)|0;else a=$o(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function vn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)bp(a,c)|0;return}function xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function yn(a){a=a|0;return}function zn(a,b,c){a=a|0;b=b|0;c=c|0;return}function An(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=(e|0)!=0;do if(i){if((a[e>>0]|0)!=37?(h=c[b+64>>2]|0,h=db[c[(c[h+4>>2]|0)+4>>2]&3](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=Fn(b,d,e,f)|0;if(!h)j=5}else j=5;while(0);if((j|0)==5)if(g){h=c[b+64>>2]|0;h=db[c[(c[h+4>>2]|0)+4>>2]&3](c[h+16>>2]|0,d,0,f,g)|0;if(i&(h|0)!=0){j=f;Gn(b,d,e,c[j>>2]|0,c[j+4>>2]|0)}}else h=0;return h|0}function Bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return cb[c[(c[a+4>>2]|0)+8>>2]&31](c[a+16>>2]|0,b,d,e)|0}function Cn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Ln(a,b,d,e)|0;a=c[a+64>>2]|0;kb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function Dn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=ro(a)|0;f=a+8|0;b=f;b=Jn(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=cb[d&31](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;pL(173895,81419,g)|0;b=173895}}while(0);l=h;return b|0}function En(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;ib[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=Yo(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=bb[c[b>>2]&31](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function Gn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=Yn(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=$o(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=Pp(a,17696,c[4353]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=Pp(a,17732,c[4353]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}bb[c[f>>2]&31](f,h,1)|0;bb[c[b>>2]&31](b,h,1)|0;return}function Hn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0)<<31>>31)|0}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function Jn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Kn(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function Kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=bb[c[a>>2]&31](a,f,4)|0}l=g;return a|0}function Ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=Kn(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;bb[c[d>>2]&31](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;bb[c[e>>2]&31](e,b,2)|0;bp(a,c[b+24>>2]|0)|0;Zn(a,b);b=1}return b|0}function Mn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[41987]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=bb[c[d>>2]&31](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=bb[c[e>>2]&31](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;Ln(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function Nn(a){a=a|0;c[41987]=a;a=a+64|0;On((c[a>>2]|0)+56|0);On((c[a>>2]|0)+68|0);return}function On(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){Kl(e)|0;c[d>>2]=0}b=b+1|0}return}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;if(!(gL(b,c,a)|0))a=0;else a=rJ(b)|0;return a|0}function Qn(a,b){a=a|0;b=b|0;return WL(b,a)|0}function Rn(a){a=a|0;return PL(a)|0}function Sn(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4446]=c[4443];c[4447]=c[4444];c[e>>2]=a;c[e+4>>2]=rJ(a)|0;c[e+8>>2]=0;c[d>>2]=17792;c[d+4>>2]=17668;c[d+8>>2]=17780;a=er(e,d)|0;fp(0);l=b;return a|0}function Tn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function Un(a){a=a|0;return 0}function Vn(a,b){a=a|0;b=b|0;a=ZI(b)|0;VN(a|0,0,b|0)|0;return a|0}function Wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=aJ(b,d)|0;if(d>>>0>c>>>0)VN(a+c|0,0,d-c|0)|0;return a|0}function Xn(a,b){a=a|0;b=b|0;_I(b);return}function Yn(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=ab[c[(c[a>>2]|0)+4>>2]&63](c[a+12>>2]|0,b)|0;if(!a)_l(1,81425,d)|0;l=d;return a|0}function Zn(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;hb[c[(c[a>>2]|0)+12>>2]&31](c[a+12>>2]|0,b)}return}function _n(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function $n(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))Zn(c[a+24>>2]|0,b);return}function ao(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0<e>>>0?-1:b>>>0>e>>>0&1)|0}function bo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=167040;c[e>>2]=b;c[e+4>>2]=d;c[41992]=167032;a=c[a+40>>2]|0;a=bb[c[a>>2]&31](a,167952,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function co(a){a=a|0;a=c[a+36>>2]|0;a=bb[c[a>>2]&31](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function eo(a,b){a=a|0;b=b|0;var d=0;b=Qm(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=bb[c[d>>2]&31](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function fo(a){a=a|0;a=c[a+36>>2]|0;a=bb[c[a>>2]&31](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function go(a,b){a=a|0;b=b|0;var d=0;b=Qm(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=bb[c[d>>2]&31](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=bo(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=so(a)|0;if((e|0)!=(a|0)?(f=bo(e,b,c)|0,f|0):0){io(a,f,1)|0;e=f;break}if(!(Bn(a,1,b,c)|0))e=0;else{e=kn(a,1)|0;e=jo(a,b,c,e,z)|0;ko(a,e);lo(a,e)}}while(0);return e|0}function io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=so(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=bo(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=Lp(a)|0;if(!e)e=0;else{d=io(e,b,d)|0;mo(a,d);return d|0}}}else e=0;return e|0}function jo(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=Yn(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=so(b)|0;if(a[(so(b)|0)+24>>0]&64)No(g,81367,16,0)|0;return g|0}function ko(a,b){a=a|0;b=b|0;do{mo(a,b);a=Lp(a)|0}while((a|0)!=0);return}function lo(b,c){b=b|0;c=c|0;if(a[(so(b)|0)+24>>0]&64)mm(b,c);to(b,c);return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Sl(c[e>>2]|0)|0;if((so(a)|0)==(a|0))d=b+28|0;else d=Yn(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;bb[c[e>>2]&31](e,d,1)|0;e=c[a+36>>2]|0;bb[c[e>>2]&31](e,d,1)|0;return}function no(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=so(a)|0;if(An(a,1,b,g,0)|0){e=g;e=bo(a,c[e>>2]|0,c[e+4>>2]|0)|0;if(!e)if(!((d|0)==0|(h|0)==(a|0))?(f=g,f=bo(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)e=io(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if((d|0)!=0?(An(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;e=kn(a,1)|0;e=jo(a,h,i,e,z)|0;ko(a,e);lo(a,e);En(a,1,e)}else e=0;l=j;return e|0}function oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[42001]=b;d=Um(a,b)|0;while(1){if(!d)break;e=Vm(a,d,b)|0;bn(a,d,0);d=e}e=c[a+40>>2]|0;bb[c[e>>2]&31](e,167988,2)|0;e=c[a+36>>2]|0;bb[c[e>>2]&31](e,167988,2)|0;return}function po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(bo(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((so(b)|0)==(b|0)){e=Um(b,d)|0;while(1){if(!e)break;g=Vm(b,e,d)|0;dn(b,e)|0;e=g}if(a[b+24>>0]&64)Gm(d);xo(b,d);Vo(d);g=f;Cn(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(wq(b,d,54,0,0)|0))if((so(b)|0)==(b|0)){Zn(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((Lp(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{_l(1,81451,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=po(a,b)|0;break a}case 2:case 3:{f=dn(a,b)|0;break a}case 0:{f=ln(b)|0;break a}default:{}}while(0);l=h;return f|0}function ro(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function so(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function to(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))Do(b,d,100,0);else uo(b,d,c[e+48>>2]|0);return}function uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){uo(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)ib[e&127](a,b,c[d+4>>2]|0)}while(0);return}function vo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))Do(b,d,101,e);else wo(b,d,e,c[f+48>>2]|0);return}function wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){wo(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)kb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function xo(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))Do(b,d,102,0);else yo(b,d,c[e+48>>2]|0);return}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){yo(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)ib[e&127](a,b,c[d+4>>2]|0)}while(0);return}function zo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Yn(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function Ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){if(!d){d=-1;break a}e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];Zn(a,d);d=0}while(0);return d|0}function Bo(a,b){a=a|0;b=b|0;var d=0;d=so(a)|0;a:do if((d|0)==(so(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=Lp(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(ho(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(en(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function Co(a){a=a|0;return c[a>>2]&3|0}function Do(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=No(a,81475,44,0)|0;switch(c|0){case 100:{e=Eo(f,b,100)|0;if(!(Fo(e,b)|0))Go(e,a,b,d)|0;break}case 101:{if(((Fo(Eo(f,b,100)|0,b)|0)==0?(Fo(Eo(f,b,102)|0,b)|0)==0:0)?(e=Eo(f,b,101)|0,(Fo(e,b)|0)==0):0)Go(e,a,b,d)|0;break}case 102:{Ho(Eo(f,b,100)|0,b);Ho(Eo(f,b,101)|0,b);e=Eo(f,b,102)|0;if(!(Fo(e,b)|0))Go(e,a,b,d)|0;break}default:_l(1,81487,g)|0}l=h;return}function Eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){_l(1,81521,e)|0;d=0}a=c[d>>2]|0;if(!a){a=ro(b)|0;a=Pp(a,17884,c[4353]|0)|0;c[d>>2]=a}l=g;return a|0}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=Io(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=z;b=bb[c[a>>2]&31](a,e,4)|0;l=d;return b|0}function Go(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Yn(ro(d)|0,32)|0;c[f+20>>2]=d;g=Io(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=z;c[f+16>>2]=b;if(e|0){g=Yn(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}bb[c[a>>2]&31](a,f,1)|0;return f|0}function Ho(a,b){a=a|0;b=b|0;b=Fo(a,b)|0;if(b|0)bb[c[a>>2]&31](a,b,2)|0;return}function Io(a){a=a|0;a=a+8|0;z=c[a+4>>2]|0;return c[a>>2]|0}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;Ko(b);Zn(c[b+16>>2]|0,b);return}function Ko(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;Zn(c[b>>2]|0,a);a=d}return}function Lo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(xJ(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}Mo(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else _l(1,81546,i)|0}while(0);l=k;return f|0}function Mo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=ro(a)|0;f=Lo(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=Yn(h,d)|0;c[d>>2]=$o(h,b)|0;switch(c[a>>2]&3){case 0:{Oo(a,d);g=d;break a}case 1:{Oo(a,d);g=d;break a}case 2:case 3:{Oo(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)Lo(a,b,1)|0;return g|0}function Oo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))Mo(a,b,0);return}function Po(a,b){a=a|0;b=b|0;var d=0,e=0;e=ro(a)|0;d=Lo(a,b,0)|0;if(!d)b=-1;else{Qo(a,d);if(!(c[a>>2]&3)){Ro(e,a,d);b=d}else{wq(so(e)|0,a,55,d,0)|0;b=d}bp(e,c[d>>2]|0)|0;Zn(e,b);b=0}return b|0}function Qo(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function Ro(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;Mo(b,(a|0)==(d|0)?0:a,0)}return}function So(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{No(a,c,g,e)|0;if(!f){b=Jp(a)|0;while(1){if(!b)break a;So(b,0,c,d,e);b=Kp(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=co(a)|0;while(1){if(!b)break a;b:do if(d)No(b,c,g,e)|0;else{f=Pm(a,b)|0;while(1){if(!f)break b;No(f,c,g,e)|0;f=Rm(a,f)|0}}while(0);b=eo(a,b)|0}}default:{}}while(0);return}function To(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{wq(a,a,56,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=co(a)|0;while(1){if(!d)break a;b:do if(e)Po(d,c)|0;else{b=Pm(a,d)|0;while(1){if(!b)break b;Po(b,c)|0;b=Rm(a,b)|0}}while(0);d=eo(a,d)|0}}default:{}}while(0);return}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;Po(b,c)|0;return}function Vo(a){a=a|0;var b=0,d=0,e=0;d=ro(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;bp(d,c[e>>2]|0)|0;Zn(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function Wo(a){a=a|0;return Rp(a,Xo(a)|0)|0}function Xo(a){a=a|0;var b=0,d=0;if(!a)d=168024;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=Pp(a,17920,c[4353]|0)|0;c[d>>2]=b;a=167096;c[a>>2]=-2147483648;c[a+4>>2]=0;a=167104;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function Yo(a,b){a=a|0;b=b|0;return Zo(Xo(a)|0,b)|0}function Zo(a,b){a=a|0;b=b|0;a=_o(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function _o(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=bb[c[a>>2]&31](a,e,4)|0;l=d;return b|0}function $o(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=Xo(a)|0;d=_o(e,b)|0;if(!d){d=(rJ(b)|0)+24|0;if(!a)d=ZI(d)|0;else d=Yn(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;xK(a,b)|0;c[d+16>>2]=a;bb[c[e>>2]&31](e,d,1)|0}else{e=d+8|0;b=e;b=HN(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=z}d=c[d+16>>2]|0}return d|0}function ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=Xo(a)|0;d=_o(e,b)|0;if(!d){d=(rJ(b)|0)+24|0;if(!a)d=ZI(d)|0;else d=Yn(a,d)|0;g=167096;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;xK(a,b)|0;c[d+16>>2]=a;bb[c[e>>2]&31](e,d,1)|0}else{g=d+8|0;f=g;f=HN(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=z}d=c[d+16>>2]|0}return d|0}function bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=Xo(a)|0,e=_o(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=HN(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=z,b,c[b>>2]=g,c[b+4>>2]=f,b=167104,(g|0)==0&(f|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0):0){Qp(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function cp(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=167096;a=c[b>>2]&c[a>>2]}return a|0}function dp(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=167096;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function ep(a){a=a|0;c[4489]=a;return}function fp(a){a=a|0;c[42011]=a;c[4489]=1;return}function gp(a,b){a=a|0;b=b|0;c[42012]=a;c[42013]=b;c[42014]=0;return}function hp(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[42015]|0)){c[42015]=1;if(!(c[42016]|0))c[42016]=1;if(!(c[42007]|0))c[42007]=c[13853];if(!(c[42008]|0))c[42008]=c[13885];k=c[42017]|0;if(!((k|0)!=0?(c[k>>2]|0)!=0:0)){ip();k=jp(c[42007]|0,16384)|0;c[c[42017]>>2]=k}kp()}a:while(1){j=c[42018]|0;a[j>>0]=a[173927]|0;e=(c[(c[c[42017]>>2]|0)+28>>2]|0)+(c[42016]|0)|0;f=j;b:while(1){h=f;while(1){f=c[17960+(d[h>>0]<<2)>>2]|0;if(b[56680+(e<<1)>>1]|0){c[42019]=e;c[42020]=h}c:while(1){g=f&255;do{f=g+(b[56866+(e<<1)>>1]|0)|0;if((e|0)==(b[57076+(f<<1)>>1]|0))break c;k=b[57612+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[18984+(g<<2)>>2]|0}e=b[57822+(f<<1)>>1]|0;f=h+1|0;if((b[56866+(e<<1)>>1]|0)==219)break;else h=f}d:while(1){k=j;e:while(1){e=b[56680+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[56680+(c[42019]<<1)>>1]|0;f=c[42020]|0}else e=e<<16>>16;c[42009]=j;i=f;c[42010]=i-k;a[173927]=a[f>>0]|0;a[f>>0]=0;c[42018]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}h=c[42009]|0;a[f>>0]=a[173927]|0;e=c[42017]|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[42022]=n;c[g>>2]=c[42007];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[42022]|0;if((c[42018]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(tp()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[42018]=c[42009];e=(((c[42016]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[173927]|0;f=c[42020]|0;e=c[42019]|0}if((m|0)==128){m=0;g=i-h|0;h=c[42009]|0;f=h+(g+-1)|0;c[42018]=f;e=rp()|0;i=sp(e)|0;j=c[42009]|0;if(!i)continue;else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[c[42017]>>2]|0)+4>>2]|0)+(c[42022]|0)|0;c[42018]=f;e=rp()|0;j=c[42009]|0;continue}}if((m|0)==129){m=0;f=h+g|0;c[42018]=f;e=i;continue}else if((m|0)==132){m=0;f=(c[42009]|0)+(i-h+-1)|0;c[42018]=f;e=rp()|0;j=c[42009]|0;continue}}switch(m|0){case 29:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[4489]=(c[4489]|0)+1;continue a}case 32:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=3;continue a}case 35:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=1;continue a}case 42:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;lp();continue a}case 47:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=5;np();continue a}case 89:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;pp(83714);continue a}case 92:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;pp(81579);continue a}case 95:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[4489]=(c[4489]|0)+1;continue a}case 98:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;pp(e);continue a}case 101:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=7;c[42021]=1;np();continue a}case 104:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;n=(c[42021]|0)+-1|0;c[42021]=n;if(!n){m=108;break a}pp(c[42009]|0);continue a}case 109:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[42021]=(c[42021]|0)+1;pp(e);continue a}case 112:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;pp(e);c[4489]=(c[4489]|0)+1;continue a}case 115:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;pp(e);continue a}case 121:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;XL(e,f,1,c[42008]|0)|0;continue a}}}switch(m|0){case 27:{e=c[42010]|0;if(!e)l=-1;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[42010]|0;if(!e)l=259;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[42010]|0;if(!e)l=260;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;if(!(c[42014]|0)){c[42014]=258;l=258}else l=258;break}case 61:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;if(!(c[42014]|0)){c[42014]=261;l=261}else l=261;break}case 65:{e=c[42010]|0;if(!e)l=263;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[42010]|0;if(!e)l=262;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=(c[42014]|0)==261?264:45;break}case 72:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=(c[42014]|0)==258?264:45;break}case 75:{f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[42037]=$o(c[41987]|0,e)|0;l=267;break}case 78:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;if(mp()|0){m=(c[42010]|0)+-1|0;a[f>>0]=a[173927]|0;n=j+m|0;c[42018]=n;c[42009]=j;c[42010]=m;a[173927]=a[n>>0]|0;a[n>>0]=0;c[42018]=n}c[42037]=$o(c[41987]|0,c[42009]|0)|0;l=267;break}case 86:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=1;op();l=268;break}case 108:{c[42016]=1;qp();l=268;break}case 118:{f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;l=a[e>>0]|0;break}case 134:{up(81582);break}}return l|0}function ip(){var a=0,b=0,d=0;b=c[42017]|0;do if(!b){a=Bp(4)|0;c[42017]=a;if(!a)up(81940);else{c[a>>2]=0;a=1;d=9;break}}else{a=c[42028]|0;if(0>=(a+-1|0)>>>0){a=a+8|0;b=vp(b,a<<2)|0;c[42017]=b;if(!b)up(81940);else{d=b+(c[42028]<<2)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;d=9;break}}}while(0);if((d|0)==9)c[42028]=a;return}function jp(a,b){a=a|0;b=b|0;var d=0;d=Bp(48)|0;if(!d)up(81895);c[d+12>>2]=b;b=Bp(b+2|0)|0;c[d+4>>2]=b;if(!b)up(81895);else{c[d+20>>2]=1;xp(d,a);return d|0}return 0}function kp(){var b=0,d=0;d=c[42017]|0;b=c[d>>2]|0;c[42022]=c[b+16>>2];b=c[b+8>>2]|0;c[42018]=b;c[42009]=b;c[42007]=c[c[d>>2]>>2];a[173927]=a[b>>0]|0;return}function lp(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[42009]|0;b=h+1|0;i=(VJ(b,81879,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=cM(b,81884,f)|0;if((f|0)>0?(c[4489]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;Ap(d,b-d|0)}}l=g;return}function mp(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[42009]|0)+((c[42010]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(zp()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[42011]|0;cm(h,1024,b);fm(h,81790)|0;fm(h,c[42009]|0)|0;c[f>>2]=c[4489];pL(d,81834,f)|0;fm(h,d)|0;fm(h,(k|0)==0?81784:k)|0;fm(h,81851)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){dm(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;_l(0,81876,i)|0;gm(h);b=1}l=j;return b|0}function np(){var b=0;b=c[42023]|0;if(!b){b=ZI(1024)|0;c[42023]=b;c[42025]=b+1024}c[42024]=b;a[b>>0]=0;return}function op(){c[42037]=$o(c[41987]|0,c[42023]|0)|0;a[c[42023]>>0]=0;return}function pp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[42024]|0;d=c[42023]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[42024]=e;f=c[42025]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0<f>>>0);c[42024]=e;f=d;i=g-f<<1;d=aJ(d,i)|0;c[42023]=d;c[42025]=d+i;e=d+(e-f)|0;f=3}c[42024]=e;return}function qp(){c[42037]=ap(c[41987]|0,c[42023]|0)|0;a[c[42023]>>0]=0;return}function rp(){var d=0,e=0,f=0,g=0,h=0;h=c[42018]|0;g=c[42009]|0;e=(c[(c[c[42017]>>2]|0)+28>>2]|0)+(c[42016]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[17960+((d&255)<<2)>>2]|0;if(b[56680+(e<<1)>>1]|0){c[42019]=e;c[42020]=g}a:while(1){f=d&255;do{d=f+(b[56866+(e<<1)>>1]|0)|0;if((e|0)==(b[57076+(d<<1)>>1]|0))break a;d=b[57612+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[18984+(f<<2)>>2]|0}g=g+1|0;e=b[57822+(d<<1)>>1]|0}return e|0}function sp(a){a=a|0;var d=0;if(b[56680+(a<<1)>>1]|0){d=c[42018]|0;c[42019]=a;c[42020]=d}while(1){d=(b[56866+(a<<1)>>1]|0)+1|0;if((a|0)==(b[57076+(d<<1)>>1]|0))break;a=b[57612+(a<<1)>>1]|0}d=b[57822+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function tp(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[42017]|0;g=c[j>>2]|0;i=c[g+4>>2]|0;f=c[42009]|0;l=c[42018]|0;k=l;if(l>>>0>(i+((c[42022]|0)+1)|0)>>>0)up(81637);h=k-f|0;if(!(c[g+40>>2]|0))b=(h|0)==1?1:2;else{l=h+-1|0;h=i;g=0;while(1){if((g|0)>=(l|0))break;a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0;g=g+1|0}f=c[j>>2]|0;do if((c[f+44>>2]|0)==2){c[42022]=0;c[f+16>>2]=0;e=f;m=17}else{while(1){i=f+12|0;h=c[i>>2]|0;g=h-l+-1|0;if(g|0){m=16;break}g=f+4|0;j=c[g>>2]|0;if(!(c[f+20>>2]|0)){m=12;break}f=h<<1;f=(f|0)==0?(h>>>3)+h|0:f;c[i>>2]=f;f=vp(j,f+2|0)|0;c[g>>2]=f;if(!f)break;j=f+(k-j)|0;c[42018]=j;f=c[c[42017]>>2]|0;k=j}if((m|0)==12)c[g>>2]=0;else if((m|0)==16){d=bb[c[c[(c[42012]|0)+8>>2]>>2]&31](c[42013]|0,(c[f+4>>2]|0)+l|0,g>>>0<8192?g:8192)|0;e=c[c[42017]>>2]|0;c[42022]=d;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;break}}up(81693)}while(0);do if((m|0)==17)if(!l){wp(c[42007]|0);b=1;d=c[42022]|0;e=c[c[42017]>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;break}while(0);f=d+l|0;do if(f>>>0>(c[e+12>>2]|0)>>>0){m=vp(c[e+4>>2]|0,f+(d>>>1)|0)|0;d=c[42017]|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)up(81737);else{n=c[42022]|0;o=d;break}}else{n=d;o=c[e+4>>2]|0}while(0);n=n+l|0;c[42022]=n;a[o+n>>0]=0;o=c[42017]|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[42022]|0)+1)>>0]=0;c[42009]=c[(c[o>>2]|0)+4>>2]}return b|0}function up(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[13918]|0;c[b>>2]=a;zL(d,81633,b)|0;Ma(2)}function vp(a,b){a=a|0;b=b|0;return aJ(a,b)|0}function wp(a){a=a|0;var b=0,d=0,e=0;d=c[42017]|0;if((d|0)!=0?(b=c[d>>2]|0,(b|0)!=0):0)e=4;else{ip();b=jp(c[42007]|0,16384)|0;d=c[42017]|0;c[d>>2]=b;if(!d)b=0;else e=4}xp(b,a);kp();return}function xp(a,b){a=a|0;b=b|0;var d=0;d=c[(jJ()|0)>>2]|0;yp(a);c[a>>2]=b;c[a+40>>2]=1;b=c[42017]|0;if(!b)b=0;else b=c[b>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(jJ()|0)>>2]=d;return}function yp(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[42017]|0;if(!d)d=0;else d=c[d>>2]|0;if((d|0)==(b|0))kp()}return}function zp(){var b=0,d=0;d=c[42009]|0;b=(c[42010]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function Ap(a,b){a=a|0;b=b|0;var d=0;d=c[42026]|0;if((d|0)<(b|0)){if(!d)d=ZI(b+1|0)|0;else d=aJ(c[42027]|0,b+1|0)|0;c[42027]=d;c[42026]=b}else d=c[42027]|0;xK(d,a)|0;c[42011]=c[42027];return}function Bp(a){a=a|0;return ZI(a)|0}function Cp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;cm(j,1024,m+1080|0);e=c[42011]|0;if(e|0){fm(j,e)|0;fm(j,81990)|0}fm(j,b)|0;c[f>>2]=c[4489];pL(d,81993,f)|0;fm(j,d)|0;a:do if(!(a[c[42009]>>0]|0))switch(((c[42016]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;pL(d,82013,g)|0;fm(j,d)|0;b=c[42023]|0;if(!(a[b>>0]|0))break a;i=rJ(b)|0;fm(j,82075)|0;b=c[42023]|0;if((i|0)>80)a[b+80>>0]=0;fm(j,b)|0;break a}case 3:{c[h>>2]=16384;pL(d,82094,h)|0;fm(j,d)|0;b=c[42023]|0;if(!(a[b>>0]|0))break a;i=rJ(b)|0;fm(j,82162)|0;b=c[42023]|0;if((i|0)>80)a[b+80>>0]=0;fm(j,b)|0;break a}case 1:{c[i>>2]=16384;pL(d,82181,i)|0;fm(j,d)|0;break a}default:break a}else{fm(j,82005)|0;fm(j,c[42009]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){dm(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){dm(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){dm(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;_l(1,81876,k)|0;gm(j);l=m;return}function Dp(){Ep(c[42009]|0);return}function Ep(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[42018]|0;a[j>>0]=a[173927]|0;i=c[42017]|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[42022]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[42022]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)up(82240);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[42009]=l;a[173927]=a[b>>0]|0;c[42018]=b;return}function Fp(){var a=0;a=c[42017]|0;if(!a)a=0;else a=c[a>>2]|0;yp(a);return}function Gp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;Sp(a,c[g>>2]|0,17604);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=bb[c[d>>2]&31](d,f,4)|0;l=e;return d|0}function Hp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Gp(b,d,e)|0;if(!f){f=Yn(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;jn(f)|0}return f|0}function Ip(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(An(a,0,b,f,0)|0)!=0:0)?(e=f,e=Gp(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(An(a,0,b,f,1)|0)!=0:0){e=f;e=Hp(a,c[e>>2]|0,c[e+4>>2]|0)|0;En(a,0,e)}else e=0;l=g;return e|0}function Jp(a){a=a|0;a=c[a+52>>2]|0;return bb[c[a>>2]&31](a,0,128)|0}function Kp(a){a=a|0;var b=0;b=Lp(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=bb[c[b>>2]&31](b,a,8)|0}return a|0}function Lp(a){a=a|0;return c[a+56>>2]|0}function Mp(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return bb[c[a>>2]&31](a,b,2)|0}function Np(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[42029]|0;e=(b|0)!=0;do if(!a)if(e){_I(b);a=0;break}else{a=ZI(d)|0;break}else if(e){Zn(a,b);a=0;break}else{a=Yn(a,d)|0;break}while(0);return a|0}function Op(a,b,d){a=a|0;b=b|0;d=d|0;a=c[42029]|0;if(!a)_I(b);else Zn(a,b);return}function Pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=2;c[42029]=a;d=Ql(b,d)|0;c[e>>2]=f;c[42029]=0;return d|0}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;c[42029]=a;return bb[c[b>>2]&31](b,d,2)|0}function Rp(a,b){a=a|0;b=b|0;var d=0,e=0;d=(Ll(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=2;c[42029]=a;if(!(Kl(b)|0)){c[d>>2]=e;c[42029]=0;a=0}else a=1;return a|0}function Sp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(Ll(b,0,0)|0)!=(c|0):0)Ll(b,c,0)|0;return}function Tp(a,b){a=a|0;b=b|0;if(!(cp(a)|0))b=Vp(a,b)|0;else Up(a,b)|0;return b|0}function Up(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;e=c;while(1){d=e+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;a[d>>0]=f;b=b+1|0;e=d}a[d>>0]=62;a[e+2>>0]=0;return c|0}function Vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;l=a[b>>0]|0;q=0;g=((l+-45&255)<2|((l&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){k=e;while(1){if(!(l<<24>>24))break b;e=l&255;c:do if(l<<24>>24==34){a[k>>0]=92;m=g;n=1;k=k+1|0}else{if(!g){n=l<<24>>24>-1&(l<<24>>24!=95&(gK(e)|0)==0);m=0;n=n?1:h;break}switch(l<<24>>24){case 45:{n=(j|0)==0;m=n?g:0;n=n?h:1;break c}case 46:{n=(i|0)==0;m=n?g:0;n=n?h:1;i=i+1|0;break c}default:{n=(e+-48|0)>>>0<10;m=n?g:0;n=n?h:1;break c}}}while(0);e=k+1|0;a[k>>0]=l;p=f+1|0;o=a[f>>0]|0;j=j+1|0;f=c[4795]|0;if(!f){g=m;h=n;k=e;f=p;l=o;continue}g=o&255;h=o<<24>>24!=0;if((q&h?!(l<<24>>24==92|l<<24>>24>-1&((l+-45&255)>1&(gK(l<<24>>24)|0)==0)^1):0)?!(o<<24>>24>-1&((o+-45&255)>1&(gK(g)|0)==0)):0)break;if((j|0)<(f|0)|h^1){g=m;h=n;k=e;f=p;l=o;continue}if(l<<24>>24==92|l<<24>>24>-1&((gK(l<<24>>24)|0)==0&(l+-45&255)>1)^1){q=1;g=m;h=n;l=o;f=p;continue b}if(o<<24>>24>-1&((o+-45&255)>1&(gK(g)|0)==0)){q=1;g=m;h=n;l=o;f=p;continue b}a[e>>0]=92;a[k+2>>0]=10;g=m;h=1;j=0;k=k+3|0;f=p;l=o}a[e>>0]=92;a[k+2>>0]=10;q=0;g=m;h=1;j=0;l=o;e=k+3|0;f=p}a[k>>0]=34;a[k+1>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=19184;while(1){f=c[e>>2]|0;if(!f)break a;if(!(iK(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=82272;while(0);return b|0}function Wp(a){a=a|0;return Tp(a,Xp(a)|0)|0}function Xp(a){a=a|0;var b=0;b=((rJ(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[42031]|0;if(b>>>0>(c[42030]|0)>>>0){if(!a)a=ZI(b)|0;else a=aJ(a,b)|0;c[42031]=a;c[42030]=b}return a|0}function Yp(a,b){a=a|0;b=b|0;a=Jp(a)|0;while(1){if(!a){a=0;break}if((Zp(a)|0)==0?io(a,b,0)|0:0){a=1;break}a=Kp(a)|0}return a|0}function Zp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=Dn(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=om(b)|0;b:do if(d|0?(f=om(Lp(b)|0)|0,f|0):0){h=Sl(c[(om(so(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?xJ(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=jm(b,0)|0;if(d)if((Sl(c[d+8>>2]|0)|0)>0)d=0;else return (Sl(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function _p(b,d){b=b|0;d=d|0;var e=0,f=0;c[42032]=0;e=Im(b,82282)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=BL(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[4795]=f;$p(b,1);if(((aq(b,d,1)|0)!=-1?(bq(b,d)|0)!=-1:0)?(cq(b,d)|0)!=-1:0){c[4795]=128;b=$a[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&31](d)|0}else b=-1;return b|0}function $p(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=Jp(a)|0;while(1){if(!d)break;$p(d,0);d=Kp(d)|0}a:do if(b|0){b=co(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Pm(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Rm(a,d)|0}b=eo(a,b)|0}}while(0);return}function aq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(Lp(b)|0)!=0:0){i=0;g=174181;k=94336}else{k=(a[b+24>>0]&1)==0?174181:82326;g=(sn(b)|0)==0;c[42033]=ym(b,2,96242,0)|0;c[42034]=ym(b,2,96251,0)|0;i=1;g=g?174181:82329}f=Dn(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=87638}else{h=0;j=174181;f=174181}do if((dq(b,d)|0)!=-1?(eq(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((eq(b,d,k)|0)==-1){f=-1;break}if((eq(b,d,87631)|0)==-1){f=-1;break}}if(!g?(pq(b,d,f)|0)==-1:0){f=-1;break}if(((eq(b,d,j)|0)!=-1?(eq(b,d,82337)|0)!=-1:0)?(c[42032]=(c[42032]|0)+1,(uq(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((fq(a,b)|0)==-1)d=-1;else{k=jm(so(a)|0,0)|0;i=(k|0)==0;j=k+12|0;k=k+8|0;h=co(a)|0;while(1){if(!h){d=0;break a}if(gq(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=0;else d=c[k>>2]|0;if((hq(h,b,d)|0)==-1){d=-1;break a}}g=Pm(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(gq(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=0;else d=c[k>>2]|0;if((hq(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(iq(a,g)|0){if(i)e=0;else e=c[j>>2]|0;if((jq(g,b,e)|0)==-1){d=-1;break a}}g=Rm(a,g)|0}h=eo(a,h)|0}}while(0);return d|0}function cq(a,b){a=a|0;b=b|0;c[42032]=(c[42032]|0)+-1;if((dq(a,b)|0)==-1)a=-1;else a=((eq(a,b,95830)|0)==-1)<<31>>31;return a|0}function dq(a,b){a=a|0;b=b|0;var d=0;d=c[42032]|0;while(1){if((d|0)<=0){d=0;break}if((eq(a,b,134899)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function eq(a,b,d){a=a|0;b=b|0;d=d|0;return ab[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&63](b,d)|0}function fq(a,b){a=a|0;b=b|0;a=Jp(a)|0;while(1){if(!a){a=0;break}if(!(Zp(a)|0)){if((aq(a,b,0)|0)==-1){a=-1;break}if((bq(a,b)|0)==-1){a=-1;break}if((cq(a,b)|0)==-1){a=-1;break}}else fq(a,b)|0;a=Kp(a)|0}return a|0}function gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((Yp(a,b)|0)==0?(rq(a,b,c,d)|0)!=0:0)if((sq(a,b)|0)==0?(tq(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ro(a)|0;do if((dq(d,b)|0)!=-1?(kq(a,b)|0)!=-1:0){if((mq(a)|0)==0?(nq(a,b,c)|0)==-1:0){a=-1;break}a=eq(d,b,82293)|0}else a=-1;while(0);return a|0}function iq(a,b){a=a|0;b=b|0;a=Jp(a)|0;while(1){if(!a){a=1;break}if((Zp(a)|0)==0?en(a,b,0)|0:0){a=0;break}a=Kp(a)|0}return a|0}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=ro(g)|0;do if((((((dq(f,b)|0)!=-1?(kq(g,b)|0)!=-1:0)?(lq(a,b,c[42033]|0)|0)!=-1:0)?(g=(qn(ro(g)|0)|0)!=0,(eq(f,b,g?85095:85100)|0)!=-1):0)?(kq(e,b)|0)!=-1:0)?(lq(a,b,c[42034]|0)|0)!=-1:0){if(!(mq(a)|0)){if((nq(a,b,d)|0)==-1){a=-1;break}}else if((oq(a,b,1)|0)==-1){a=-1;break}a=eq(f,b,82293)|0}else a=-1;while(0);return a|0}function kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=Dn(a)|0;f=ro(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;pL(d,82313,g)|0;if((eq(f,b,d)|0)==-1)a=-1;else h=4}else if((pq(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function lq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=ro(b)|0,f=Jm(b,d)|0,(a[f>>0]|0)!=0):0)if((eq(e,c,93017)|0)==-1)b=-1;else{do if(cp(f)|0){if((pq(e,c,f)|0)==-1){b=-1;break a}}else{b=WJ(f,58)|0;if(!b)if((qq(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((qq(e,c,f,0)|0)==-1){b=-1;break a}if((eq(e,c,93017)|0)==-1){b=-1;break a}if((qq(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function mq(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function nq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(oq(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=om(a)|0;j=ro(a)|0;c:do if(f){i=f+12|0;h=bb[c[d>>2]&31](d,0,128)|0;while(1){if(!h)break c;do if(c[a>>2]&2){g=c[42033]|0;if(g|0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0)break;g=c[42034]|0;if(!((g|0)!=0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;f=h+16|0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((eq(j,b,82308)|0)==-1){e=-1;break b}if((dq(j,b)|0)==-1){e=-1;break b}}else{if((dq(j,b)|0)==-1){e=-1;break b}if((eq(j,b,82305)|0)==-1){e=-1;break b}c[42032]=(c[42032]|0)+1}if((pq(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((eq(j,b,82311)|0)==-1){e=-1;break b}if((pq(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=bb[c[d>>2]&31](d,h,8)|0}}while(0);if((e|0)>0){if((eq(j,b,82303)|0)==-1){e=-1;break}c[42032]=(c[42032]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function oq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Dn(b)|0;b=ro(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((eq(b,c,82296)|0)!=-1?(pq(b,c,e)|0)!=-1:0)if((d|0)!=0?(eq(b,c,82303)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function pq(a,b,c){a=a|0;b=b|0;c=c|0;return qq(a,b,c,1)|0}function qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=Vp(c,Xp(c)|0)|0;else c=Wp(c)|0;return eq(a,b,c)|0}function rq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0<e>>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0<d>>>0:0))b=0;else{b=Sm(a,b)|0;while(1){if(!b){b=1;break a}if(0<e>>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0<d>>>0:0)){b=0;break a}b=Tm(a,b)|0}}while(0);return b|0}function sq(a,b){a=a|0;b=b|0;if(!(Sm(a,b)|0))a=(Pm(a,b)|0)==0&1;else a=0;return a|0}function tq(a){a=a|0;var b=0,d=0,e=0;a=om(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=bb[c[e>>2]&31](e,a,8)|0}}while(0);return a|0}function uq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=jm(a,0)|0;if(e)if(((vq(a,b,96286,c[e+16>>2]|0,d)|0)!=-1?(vq(a,b,96273,c[e+8>>2]|0,d)|0)!=-1:0)?(vq(a,b,96237,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function vq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Wl(f,0)|0;k=(l|0)==0;j=bb[c[f>>2]&31](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=bb[c[l>>2]&31](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((eq(b,d,82308)|0)==-1){g=-1;break}if((dq(b,d)|0)==-1){g=-1;break}}else{if((dq(b,d)|0)==-1){g=-1;break}if((eq(b,d,e)|0)==-1){g=-1;break}if((eq(b,d,82305)|0)==-1){g=-1;break}c[42032]=(c[42032]|0)+1}if((pq(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((eq(b,d,82311)|0)==-1){g=-1;break}if((pq(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=bb[c[f>>2]&31](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[42032]=(c[42032]|0)+-1;if((g|0)!=1){if((eq(b,d,134901)|0)==-1){g=-1;break}if((dq(b,d)|0)==-1){g=-1;break}}g=(eq(b,d,82340)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Wl(f,l)|0;g=0}while(0);return g|0}function wq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(c[b>>2]&3){case 0:{g=19;break}case 1:{g=20;break}case 3:case 2:{g=21;break}default:{}}b=ab[g&63](a,b)|0;if(!b)b=-1;else{Aq(a,b,d,e,g,f);b=0}return b|0}function xq(a,b){a=a|0;b=b|0;if((ro(b)|0)!=(a|0))b=en(a,b,0)|0;return b|0}function yq(a,b){a=a|0;b=b|0;if((ro(b)|0)!=(a|0))b=io(a,b,0)|0;return b|0}function zq(a,b){a=a|0;b=b|0;return a|0}function Aq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)ib[c&127](a,b,d);g=Jp(a)|0;while(1){if(!g)break;i=ab[e&63](g,b)|0;if(i|0)Aq(g,i,c,d,e,f);g=Kp(g)|0}if(!h)ib[c&127](a,b,d);return}function Bq(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[42035]=0;c[42036]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=75;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=ZI(k*6|3)|0;if(h){TN(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;TN(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{_I(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=76;break a}case 4:{s=75;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==6){e=0;s=76;break}e=a[82344+p>>0]|0;j=e<<24>>24;do if(e<<24>>24!=-18){h=c[42036]|0;if((h|0)==-2){h=hp()|0;c[42036]=h}if((h|0)>=1)if(h>>>0<269)i=d[82424+h>>0]|0;else i=2;else{c[42036]=0;i=0}h=i+j|0;if(h>>>0<=59?(i|0)==(d[82693+h>>0]|0):0){p=a[82753+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[42036]=-2;g=g+4|0;c[g>>2]=c[42037];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[82813+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[42036]|0;b:do switch(q|0){case 0:{c[42035]=(c[42035]|0)+1;Cp(125369);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=76;break a}else{h=o;break b}else{c[42036]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<24>>24==18)break;if((h|0)==(f|0)){e=1;s=76;break a}e=h+-2|0;g=g+-4|0;h=e;e=a[82344+(b[e>>1]|0)>>0]|0}g=g+4|0;c[g>>2]=c[42037];e=1;j=3}else s=23}do if((s|0)==23){s=0;i=d[82893+h>>0]|0;e=c[g+(1-i<<2)>>2]|0;c:do switch(h|0){case 2:{Cq();Dq();break}case 3:{if(c[42038]|0){Cq();Dq();ln(c[42038]|0)|0;c[41987]=0;c[42038]=0}break}case 6:{Eq(c[g>>2]|0,c[g+-4>>2]|0,c[g+-8>>2]|0);break}case 7:{e=c[g>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[g+-4>>2]|0)){Gq();break c}else{Fq();break c}case 24:{Hq();break}case 25:{Hq();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{Iq(c[g>>2]|0,0,0);break}case 31:{Iq(c[g+-8>>2]|0,c[g>>2]|0,0);break}case 32:{Iq(c[g+-16>>2]|0,c[g+-8>>2]|0,c[g>>2]|0);break}case 33:{Jq(c[g+-8>>2]|0,c[g+-4>>2]|0);break}case 34:{Jq(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[g+-4>>2]|0;break}case 39:{e=0;break}case 48:{Kq(c[g+-8>>2]|0,c[g>>2]|0);break}case 49:{Kq(c[g>>2]|0,0);break}case 51:{Lq(c[g>>2]|0);break}case 52:{Mq();break}case 53:{e=c[g>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[g>>2]|0;break}case 60:{e=c[g>>2]|0;break}case 61:{e=c[g>>2]|0;break}case 62:{e=Nq(c[g+-8>>2]|0,c[g>>2]|0)|0;break}default:{}}while(0);i=0-i|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[82956+h>>0]|0)+-24|0;p=b[i>>1]|0;h=p+(a[83019+e>>0]|0)|0;if(h>>>0<60?(d[82693+h>>0]|0)==(p|0):0){e=a[82753+h>>0]|0;j=q;h=i;break}e=a[83054+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==75){Cp(125382);e=2;s=76}if((s|0)==76)if((f|0)!=(r|0))_I(f);l=t;return e|0}function Cq(){var a=0,b=0;a=c[42039]|0;while(1){if(!a)break;Vq(a+8|0);Vq((c[42039]|0)+24|0);Vq((c[42039]|0)+16|0);b=Oq(c[42039]|0)|0;c[42039]=b;a=b}return}function Dq(){Dp();Mn(c[42038]|0);return}function Eq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[42038]|0;if(!f){a[168160]=d&1|(e&255)<<1&2|a[168160]&-12|8;f=c[42041]|0;a[g>>0]=a[168160]|0;a[g+1>>0]=a[168161]|0;a[g+2>>0]=a[168162]|0;a[g+3>>0]=a[168163]|0;f=gn(b,g,f)|0;c[42038]=f}c[41987]=f;c[42039]=Pq(c[42039]|0,f)|0;bp(0,b)|0;l=h;return}function Fq(){var b=0,d=0,e=0,f=0,g=0,h=0;Uq(2);e=c[42039]|0;f=a[83089]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(xJ(g,83089)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=co(e)|0;while(1){if(!d)continue a;g=io(c[c[42039]>>2]|0,d,0)|0;ar(g,0,c[b>>2]|0,h);d=eo(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;ar(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}Vq((c[42039]|0)+8|0);Vq((c[42039]|0)+16|0);Vq((c[42039]|0)+24|0);c[(c[42039]|0)+4>>2]=0;return}function Gq(){var a=0;Uq(1);a=(c[42039]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;$q(c[a+4>>2]|0);a=a+12|0}Vq((c[42039]|0)+8|0);Vq((c[42039]|0)+24|0);Vq((c[42039]|0)+16|0);c[(c[42039]|0)+4>>2]=0;return}function Hq(){var a=0,b=0;a=c[42039]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=_q(b)|0;a=c[42039]|0}c[a+4>>2]=0}else{b=Zq(b)|0;a=c[42039]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)Rq(a+16|0,b);return}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=Xq(b,d)|0;d=Yq(no(c[c[42039]>>2]|0,a,1)|0,b)|0;Rq((c[42039]|0)+8|0,d);bp(c[42038]|0,a)|0;return}function Jq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)Tq();d=(c[42039]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))Tq();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;Uq(g);b=c[42039]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[42038]|0))){d=ym(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[42039]|0;if((c[b>>2]|0)!=(c[42038]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}Vq(b+24|0);return}function Kq(a,b){a=a|0;b=b|0;b=Qq(a,b)|0;Rq((c[42039]|0)+24|0,b);return}function Lq(a){a=a|0;var b=0;b=c[42039]|0;c[42039]=Pq(b,Ip(c[b>>2]|0,a,1)|0)|0;bp(c[42038]|0,a)|0;return}function Mq(){var a=0,b=0;a=c[42039]|0;b=c[a>>2]|0;a=Oq(a)|0;c[42039]=a;c[a+4>>2]=b;return}function Nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=rJ(a)|0;d=d+1+(rJ(b)|0)|0;if(d>>>0<1025)d=f;else d=ZI(d)|0;xK(d,a)|0;IL(d,b)|0;e=$o(c[42038]|0,d)|0;bp(c[42038]|0,a)|0;bp(c[42038]|0,b)|0;if((d|0)!=(f|0))_I(d);l=g;return e|0}function Oq(a){a=a|0;var b=0;b=c[(c[42039]|0)+32>>2]|0;Zn(c[42038]|0,a);return b|0}function Pq(a,b){a=a|0;b=b|0;var d=0;d=Yn(c[42038]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function Qq(a,b){a=a|0;b=b|0;return Sq(267,a,b)|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function Sq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Yn(c[42038]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function Tq(){var a=0;a=l;l=l+16|0;_l(0,83093,a)|0;l=a;return}\nfunction DI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+112|0;E=H+80|0;D=H+64|0;C=H+48|0;G=4;F=ZI(40)|0;c[F>>2]=0;w=H+32|0;x=H+16|0;y=H;A=H+96|0;G=RN(169980,1,F|0,G|0)|0;F=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1)e=z;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;fa(94,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}c[42534]=0;c[42535]=0;o=0;fa(95,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}m=(c[42537]|0)/2|0;c[42538]=m;c[42539]=m+-1;m=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(m|0))break;I=+h[g+(e<<4)>>3];v=i>I;u=v?e:f;e=e+1|0;f=u;i=v?I:i}v=g+(f<<4)|0;c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];v=g+(((f|0)==0?m:f)+-1<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];v=g+(((f|0)==(m+-1|0)?0:f+1|0)<<4)|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];I=+h[x>>3];if((+h[w>>3]==I?I==+h[y>>3]:0)?+h[y+8>>3]>+h[x+8>>3]:0)v=15;else v=12;b:do if((v|0)==12){v=0;o=0;e=aa(17,w|0,x|0,y|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,G|0,F|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((e|0)==1){g=c[42541]|0;e=c[42542]|0;f=0;while(1){if((f|0)>=(m|0))break b;j=c[a>>2]|0;if(!(((f|0)>0?(B=f+-1|0,+h[j+(f<<4)>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){u=c[42534]|0;c[g+(u<<3)>>2]=j+(f<<4);c[g+(u<<3)+4>>2]=g+(((u|0)%(m|0)|0)<<3);c[e+(u<<2)>>2]=g+(u<<3);c[42534]=u+1}f=f+1|0}}else v=15}while(0);c:do if((v|0)==15){v=0;j=c[42541]|0;e=c[42542]|0;g=m;while(1){f=g+-1|0;if((g|0)<=0)break c;k=c[a>>2]|0;if(((g|0)<(m|0)?+h[k+(f<<4)>>3]==+h[k+(g<<4)>>3]:0)?+h[k+(f<<4)+8>>3]==+h[k+(g<<4)+8>>3]:0){g=f;continue}g=c[42534]|0;c[j+(g<<3)>>2]=k+(f<<4);c[j+(g<<3)+4>>2]=j+(((g|0)%(m|0)|0)<<3);c[e+(g<<2)>>2]=j+(g<<3);c[42534]=g+1;g=f}}while(0);o=0;ga(27,e|0,c[42534]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}j=0;e=c[42535]|0;d:while(1){if((j|0)>=(e|0)){s=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ga(28,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue a}g=g+1|0;e=c[42535]|0}}while(1){if((s|0)>=(e|0))break;o=0;f=$(39,s|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;s=s+1|0}if((s|0)==(e|0)){e=c[13918]|0;o=0;c[C>>2]=125503;c[C+4>>2]=192;c[C+8>>2]=125514;aa(13,e|0,125484,C|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=41;break}}u=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=$(39,k|0,u|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[13918]|0;o=0;c[D>>2]=125503;c[D+4>>2]=200;c[D+8>>2]=125547;aa(13,e|0,125484,D|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=48;break}}o=0;e=$(40,s|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,G|0,F|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}if(!e){e=c[13918]|0;o=0;c[E>>2]=125503;c[E+4>>2]=207;c[E+8>>2]=125585;aa(13,e|0,125484,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}o=0;fa(96,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=53;break}}if((s|0)==(k|0)){o=0;fa(96,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=56;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=u;c[A+12>>2]=0;o=0;ga(29,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}c[42540]=c[42538];q=s;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[42544]|0;c[r+(q*52|0)>>2]=2;e=0;while(1){if((e|0)>=3){v=65;break}v=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(v|0?(c[v>>2]|0)==1:0){v=68;break}e=e+1|0}if((v|0)==65){v=0;if((e|0)==3){e=c[42536]|0;k=c[e+(c[42539]<<2)>>2]|0;o=0;e=aa(17,u|0,c[c[e+(c[42538]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else v=68}if((v|0)==68){v=0;k=c[r+(q*52|0)+4+(e<<4)>>2]|0;m=c[r+(q*52|0)+4+(e<<4)+4>>2]|0;o=0;e=aa(17,c[k>>2]|0,c[c[r+(q*52|0)+4+(((e+1|0)%3|0)<<4)+4>>2]>>2]|0,c[m>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?k:m;j=j?m:k}do if((q|0)==(s|0)){o=0;ga(29,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(29,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}e=0}else{m=c[42536]|0;if((c[m+(c[42538]<<2)>>2]|0)!=(n|0)?(c[m+(c[42539]<<2)>>2]|0)!=(n|0):0){o=0;j=_(29,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(30,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(29,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((j|0)<=(c[42540]|0)){e=0;break}c[42540]=j;e=0;break}o=0;k=_(29,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(30,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(29,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((k|0)>=(c[42540]|0)){e=0;break}c[42540]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[42544]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;fa(96,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1)e=z;else{v=94;break}}if((v|0)==41)e=-1;else if((v|0)==48)e=-1;else if((v|0)==53){c[d+4>>2]=2;e=c[42543]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==56){c[d+4>>2]=2;e=c[42543]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==94){c[d+4>>2]=e;g=c[42543]|0;while(1){e=e+-1|0;if(!f)break;F=g+(e<<4)|0;E=c[f>>2]|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];f=c[f+4>>2]|0}c[d>>2]=g;e=0}_I(G|0);l=H;return e|0}function EI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;e=h+48|0;g=h+32|0;f=h+16|0;d=h;if((c[42547]|0)<(a|0)){b=c[42541]|0;if(!b){g=ZI(a<<3)|0;c[42541]=g;if(!g){g=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=523;c[d+8>>2]=125753;zL(g,125484,d)|0;Ua(169980,1)}g=ZI(a<<2)|0;c[42542]=g;if(!g){g=c[13918]|0;c[f>>2]=125503;c[f+4>>2]=527;c[f+8>>2]=125772;zL(g,125484,f)|0;Ua(169980,1)}}else{f=aJ(b,a<<3)|0;c[42541]=f;if(!f){f=c[13918]|0;c[g>>2]=125503;c[g+4>>2]=533;c[g+8>>2]=125792;zL(f,125484,g)|0;Ua(169980,1)}g=aJ(c[42542]|0,a<<2)|0;c[42542]=g;if(!g){g=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=539;c[e+8>>2]=125812;zL(g,125484,e)|0;Ua(169980,1)}}c[42547]=a}l=h;return}function FI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42537]|0)<(a|0)){b=c[42536]|0;if(!b){e=ZI(a<<2)|0;c[42536]=e;if(!e){e=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=573;c[d+8>>2]=125708;zL(e,125484,d)|0;Ua(169980,1)}}else{d=aJ(b,a<<2)|0;c[42536]=d;if(!d){d=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=580;c[e+8>>2]=125730;zL(d,125484,e)|0;Ua(169980,1)}}c[42537]=a}l=f;return}function GI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function HI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(PI(e,g,a,b)|0))e=f;else break}QI(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[13918]|0;c[h>>2]=125503;c[h+4>>2]=324;c[h+8>>2]=125648;zL(a,125484,h)|0}else if((b|0)==9)QI(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function II(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[42544]|0;j=i+(a*52|0)|0;k=i+(b*52|0)|0;g=0;while(1){if((g|0)==3)break;l=i+(a*52|0)+4+(g<<4)|0;m=i+(a*52|0)+4+(g<<4)+4|0;n=i+(a*52|0)+4+(g<<4)+12|0;f=0;while(1){if((f|0)==3)break;o=c[c[l>>2]>>2]|0;h=c[c[i+(b*52|0)+4+(f<<4)>>2]>>2]|0;if((o|0)==(h|0)){d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;if((c[c[m>>2]>>2]|0)==(d|0))e=10;else e=8}else{d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;e=8}if(((e|0)==8?(e=0,(o|0)==(d|0)):0)?(c[c[m>>2]>>2]|0)==(h|0):0)e=10;if((e|0)==10){c[n>>2]=k;c[i+(b*52|0)+4+(f<<4)+12>>2]=j}f=f+1|0}g=g+1|0}return}function JI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[42544]|0;d=0;e=0;while(1){if((e|0)==3)break;d=d+((GI(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function KI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[42544]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(KI((e-d|0)/52|0,b)|0){d=1;break a}d=c[42544]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function LI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42545]|0)<(a|0)){b=c[42543]|0;if(!b){e=ZI(a<<4)|0;c[42543]=e;if(!e){e=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=593;c[d+8>>2]=125611;zL(e,125484,d)|0;Ua(169980,1)}}else{d=aJ(b,a<<4)|0;c[42543]=d;if(!d){d=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=599;c[e+8>>2]=125629;zL(d,125484,e)|0;Ua(169980,1)}}c[42545]=a}l=f;return}function MI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[42539]|0;e=c[42538]|0;f=(d|0)>=(e|0);if((a|0)==1)if(f){c[b+4>>2]=c[(c[42536]|0)+(e<<2)>>2];a=170152;d=-1}else{a=170152;d=-1}else if(f){c[b+4>>2]=c[(c[42536]|0)+(d<<2)>>2];a=170156;d=1}else{a=170156;d=1}f=(c[a>>2]|0)+d|0;c[a>>2]=f;c[(c[42536]|0)+(f<<2)>>2]=b;return}function NI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[42540]|0;g=c[42536]|0;b=c[42538]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((GI(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[42539]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((GI(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function OI(a,b){a=a|0;b=b|0;c[((a|0)==1?170156:170152)>>2]=b;return}function PI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(GI(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((GI(i,j,f)|0)==1){f=GI(j,i,g)|0;g=1;h=5}else f=0;else{f=GI(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(SI(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function QI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[42535]|0;f=c[42546]|0;if((e|0)<(f|0))h=e;else{RI(f+20|0);h=c[42535]|0}g=c[42544]|0;c[42535]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function RI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42546]|0)<(a|0)){b=c[42544]|0;if(!b){e=ZI(a*52|0)|0;c[42544]=e;if(!e){e=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=552;c[d+8>>2]=125669;zL(e,125484,d)|0;Ua(169980,1)}}else{d=aJ(b,a*52|0)|0;c[42544]=d;if(!d){d=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=558;c[e+8>>2]=125688;zL(d,125484,e)|0;Ua(169980,1)}}c[42546]=a}l=f;return}function SI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=GI(a,b,c)|0;if((((f|0)!=3?(g=GI(a,b,d)|0,(g|0)!=3):0)?(h=GI(c,d,a)|0,(h|0)!=3):0)?(e=GI(c,d,b)|0,(e|0)!=3):0)return ((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1|0;if(((TI(a,b,c)|0)==0?(TI(a,b,d)|0)==0:0)?(TI(c,d,a)|0)==0:0)return (TI(c,d,b)|0)!=0|0;return 1}function TI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((GI(a,b,c)|0)==3?f*d+e*g>=0.0:0)a=f*f+e*e<=d*d+g*g&1;else a=0;return a|0}function UI(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=VI(a,b)|0;else{g=+h[a+16>>3]/(d*3.0);f=+h[a+8>>3]/d;e=g*g;d=g*2.0*e-g*f+ +h[a>>3]/d;e=f*.3333333333333333-e;e=e*e*4.0*e;f=d*d+e;if(!(f<0.0)){i=(+C(+f)-d)*.5;e=+JJ(i);d=+JJ(-d-i)+e;h[b>>3]=d;if(f>0.0)a=1;else{d=d*-.5;h[b+16>>3]=d;a=1;c=7}}else{i=+K(+(+C(+-f)),+-d);d=+JJ(+C(+-e)*.5)*2.0;h[b>>3]=d*+E(+(i*.3333333333333333));h[b+8>>3]=+E(+((i+6.283185307179586)*.3333333333333333))*d;d=+E(+((i+-6.283185307179586)*.3333333333333333))*d;a=2;c=7}if((c|0)==7){h[b+(a<<3)>>3]=d;a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-g;c=c+1|0}}while(0);return a|0}function VI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+C(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=WI(a,b)|0;while(0);return a|0}function WI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function XI(a){a=a|0;_I(c[a>>2]|0);_I(a);return}function YI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+4>>2]|0;i=(e*3|0)+-2|0;d=c[42549]|0;if((i|0)>(c[42548]|0)){if(!d)d=ZI(i<<4)|0;else d=aJ(d,i<<4)|0;c[42549]=d;c[42548]=i;h=d;g=d}else{h=d;g=d}f=c[a>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];UN(h+16|0,f|0,16)|0;e=e+-1|0;d=1;a=2;while(1){if((d|0)>=(e|0))break;j=h+(a+2<<4)|0;k=h+(a+1<<4)|0;m=h+(a<<4)|0;l=f+(d<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];UN(k|0,l|0,16)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];d=d+1|0;a=a+3|0}l=h+(a<<4)|0;m=f+(d<<4)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];UN(h+(a+1<<4)|0,m|0,16)|0;c[b+4>>2]=i;c[b>>2]=g;return}function ZI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;p=x;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;a=m>>>3;o=c[42550]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=170240+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[42550]=o&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}n=c[42552]|0;if(m>>>0>n>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=170240+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<<e);c[42550]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=o}w=e<<3;h=w-m|0;c[g+4>>2]=m|3;f=g+m|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(n|0){e=c[42555]|0;b=n>>>3;d=170240+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[42552]=h;c[42555]=f;w=i;l=x;return w|0}j=c[42551]|0;if(j){d=(j&0-j)+-1|0;i=d>>>12&16;d=d>>>i;h=d>>>5&8;d=d>>>h;k=d>>>2&4;d=d>>>k;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[170504+((h|i|k|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-m|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){k=a;h=d}else{do{i=(c[e+4>>2]&-8)-m|0;k=i>>>0<d>>>0;d=k?i:d;a=k?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);k=a;h=d}i=k+m|0;if(i>>>0>k>>>0){f=c[k+24>>2]|0;b=c[k+12>>2]|0;do if((b|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[k+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[k+28>>2]|0;a=170504+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[42551]=j&~(1<<b);break}}else{c[f+16+(((c[f+16>>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[k+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[k+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(h>>>0<16){w=h+m|0;c[k+4>>2]=w|3;w=k+w+4|0;c[w>>2]=c[w>>2]|1}else{c[k+4>>2]=m|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){e=c[42555]|0;b=n>>>3;d=170240+(b<<1<<2)|0;b=1<<b;if(!(o&b)){c[42550]=o|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[42552]=h;c[42555]=i}w=k+8|0;l=x;return w|0}else n=m}else n=m}else n=m}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;k=c[42551]|0;if(k){e=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;v=a<<o;n=(v+520192|0)>>>16&4;v=v<<n;j=(v+245760|0)>>>16&2;j=14-(n|o|j)+(v<<j>>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;d=c[170504+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;i=d;h=m<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[i+4>>2]&-8)-m|0;if(f>>>0<e>>>0)if(!f){e=0;d=i;a=i;v=61;break a}else{a=i;e=f}f=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(f|0)==0|(f|0)==(i|0)?d:f;f=(i|0)==0;if(f){v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<<j;a=k&(a|0-a);if(!a){n=m;break}o=(a&0-a)+-1|0;i=o>>>12&16;o=o>>>i;h=o>>>5&8;o=o>>>h;j=o>>>2&4;o=o>>>j;n=o>>>1&2;o=o>>>n;d=o>>>1&1;a=0;d=c[170504+((h|i|j|n|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else v=61}if((v|0)==61)while(1){v=0;n=(c[d+4>>2]&-8)-m|0;o=n>>>0<e>>>0;e=o?n:e;a=o?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){i=a;h=e;break}else v=61}if((i|0)!=0?h>>>0<((c[42552]|0)-m|0)>>>0:0){g=i+m|0;if(g>>>0<=i>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=170504+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=k&~(1<<a);c[42551]=e;break}}else{c[f+16+(((c[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=k;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=k}else e=k}else e=k;while(0);do if(h>>>0>=16){c[i+4>>2]=m|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=170240+(b<<1<<2)|0;a=c[42550]|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=170504+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(e&a)){c[42551]=e|a;c[d>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+m|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=m}else n=m}else n=-1;while(0);d=c[42552]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[42555]|0;if(b>>>0>15){w=a+n|0;c[42555]=w;c[42552]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[42552]=0;c[42555]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}i=c[42553]|0;if(i>>>0>n>>>0){u=i-n|0;c[42553]=u;w=c[42556]|0;v=w+n|0;c[42556]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[42668]|0)){c[42670]=4096;c[42669]=4096;c[42671]=-1;c[42672]=-1;c[42673]=0;c[42661]=0;c[42668]=p&-16^1431655768;a=4096}else a=c[42670]|0;j=n+48|0;k=n+47|0;h=a+k|0;f=0-a|0;m=h&f;if(m>>>0<=n>>>0){w=0;l=x;return w|0}a=c[42660]|0;if(a|0?(o=c[42658]|0,p=o+m|0,p>>>0<=o>>>0|p>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[42661]&4)){d=c[42556]|0;c:do if(d){e=170648;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(s=e+4|0,(a+(c[s>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=h-i&f;if(b>>>0<2147483647){a=WN(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[s>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=WN(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[42669]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+m|0,q=c[42658]|0,r=b+q|0,b>>>0>n>>>0&b>>>0<2147483647):0){s=c[42660]|0;if(s|0?r>>>0<=q>>>0|r>>>0>s>>>0:0){b=0;break}a=WN(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(j>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[42670]|0;a=k-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((WN(a|0)|0)==(-1|0)){WN(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[42661]=c[42661]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?m>>>0<2147483647:0)?(g=WN(m|0)|0,s=WN(0)|0,t=s-g|0,u=t>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0<s>>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=u?t:b;v=135}if((v|0)==135){b=(c[42658]|0)+h|0;c[42658]=b;if(b>>>0>(c[42659]|0)>>>0)c[42659]=b;j=c[42556]|0;do if(j){b=170648;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=143;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==143?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[42553]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[42556]=v;c[42553]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[42557]=c[42672];break}if(g>>>0<(c[42554]|0)>>>0)c[42554]=g;a=g+h|0;b=170648;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=170648;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[42555]|0)==(b|0)){w=(c[42552]|0)+i|0;c[42552]=w;c[42555]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[42550]=c[42550]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=170504+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[42551]=c[42551]&~(1<<d);break d}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=170240+(b<<1<<2)|0;a=c[42550]|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=170504+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[42551]|0;d=1<<b;if(!(a&d)){c[42551]=a|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[42553]|0)+i|0;c[42553]=w;c[42556]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=170648;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[42556]=v;c[42553]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[42557]=c[42672];d=a+4|0;c[d>>2]=27;c[b>>2]=c[42662];c[b+4>>2]=c[42663];c[b+8>>2]=c[42664];c[b+12>>2]=c[42665];c[42662]=g;c[42663]=h;c[42665]=0;c[42664]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=170240+(b<<1<<2)|0;a=c[42550]|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;d=(w+245760|0)>>>16&2;d=14-(u|v|d)+(w<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=170504+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[42551]|0;a=1<<d;if(!(b&a)){c[42551]=b|a;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[42554]|0;if((w|0)==0|g>>>0<w>>>0)c[42554]=g;c[42662]=g;c[42663]=h;c[42665]=0;c[42559]=c[42668];c[42558]=-1;c[42563]=170240;c[42562]=170240;c[42565]=170248;c[42564]=170248;c[42567]=170256;c[42566]=170256;c[42569]=170264;c[42568]=170264;c[42571]=170272;c[42570]=170272;c[42573]=170280;c[42572]=170280;c[42575]=170288;c[42574]=170288;c[42577]=170296;c[42576]=170296;c[42579]=170304;c[42578]=170304;c[42581]=170312;c[42580]=170312;c[42583]=170320;c[42582]=170320;c[42585]=170328;c[42584]=170328;c[42587]=170336;c[42586]=170336;c[42589]=170344;c[42588]=170344;c[42591]=170352;c[42590]=170352;c[42593]=170360;c[42592]=170360;c[42595]=170368;c[42594]=170368;c[42597]=170376;c[42596]=170376;c[42599]=170384;c[42598]=170384;c[42601]=170392;c[42600]=170392;c[42603]=170400;c[42602]=170400;c[42605]=170408;c[42604]=170408;c[42607]=170416;c[42606]=170416;c[42609]=170424;c[42608]=170424;c[42611]=170432;c[42610]=170432;c[42613]=170440;c[42612]=170440;c[42615]=170448;c[42614]=170448;c[42617]=170456;c[42616]=170456;c[42619]=170464;c[42618]=170464;c[42621]=170472;c[42620]=170472;c[42623]=170480;c[42622]=170480;c[42625]=170488;c[42624]=170488;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[42556]=v;c[42553]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[42557]=c[42672]}while(0);b=c[42553]|0;if(b>>>0>n>>>0){u=b-n|0;c[42553]=u;w=c[42556]|0;v=w+n|0;c[42556]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(jJ()|0)>>2]=12;w=0;l=x;return w|0}function _I(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[42554]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[42555]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[42552]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[42550]=c[42550]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=170504+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[42551]=c[42551]&~(1<<b);i=h;b=g;break}}else{c[f+16+(((c[f+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[42556]|0)==(j|0)){j=(c[42553]|0)+b|0;c[42553]=j;c[42556]=i;c[i+4>>2]=j|1;if((i|0)!=(c[42555]|0))return;c[42555]=0;c[42552]=0;return}if((c[42555]|0)==(j|0)){j=(c[42552]|0)+b|0;c[42552]=j;c[42555]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[42550]=c[42550]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=170504+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[42551]=c[42551]&~(1<<a);break}}else{c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[42555]|0)){c[42552]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=170240+(a<<1<<2)|0;b=c[42550]|0;a=1<<a;if(!(b&a)){c[42550]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;a=(j+245760|0)>>>16&2;a=14-(g|h|a)+(j<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=170504+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[42551]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[42551]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[42558]|0)+-1|0;c[42558]=j;if(!j)a=170656;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[42558]=-1;return}function $I(a,b){a=a|0;b=b|0;var d=0;if(a){d=O(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=ZI(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;VN(a|0,0,d|0)|0;return a|0}function aJ(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=ZI(b)|0;return b|0}if(b>>>0>4294967231){c[(jJ()|0)>>2]=12;b=0;return b|0}d=bJ(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=ZI(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;TN(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;_I(a);b=d;return b|0}function bJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[42670]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;cJ(k,d);return a|0}if((c[42556]|0)==(i|0)){k=(c[42553]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[42556]=e;c[42553]=d;return a|0}if((c[42555]|0)==(i|0)){e=(c[42552]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[42552]=d;c[42555]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[42550]=c[42550]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){f=i+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){f=0;break}else g=f}else g=e;while(1){f=d+20|0;e=c[f>>2]|0;if(e|0){d=e;g=f;continue}e=d+16|0;f=c[e>>2]|0;if(!f)break;else{d=f;g=e}}c[g>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=170504+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[42551]=c[42551]&~(1<<d);break}}else{c[h+16+(((c[h+16>>2]|0)!=(i|0)&1)<<2)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=j|m&1|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;cJ(i,k);return a|0}return 0}function cJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[42555]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[42552]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[42550]=c[42550]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){e=h+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=170504+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[42551]=c[42551]&~(1<<d);break}}else{c[g+16+(((c[g+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[42556]|0)==(i|0)){i=(c[42553]|0)+b|0;c[42553]=i;c[42556]=h;c[h+4>>2]=i|1;if((h|0)!=(c[42555]|0))return;c[42555]=0;c[42552]=0;return}if((c[42555]|0)==(i|0)){i=(c[42552]|0)+b|0;c[42552]=i;c[42555]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[42550]=c[42550]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){d=i+16|0;a=d+4|0;b=c[a>>2]|0;if(!b){b=c[d>>2]|0;if(!b){d=0;break}else a=d}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=170504+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[42551]=c[42551]&~(1<<b);break}}else{c[g+16+(((c[g+16>>2]|0)!=(i|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[42555]|0)){c[42552]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=170240+(b<<1<<2)|0;a=c[42550]|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)b=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;e=(i+520192|0)>>>16&4;i=i<<e;b=(i+245760|0)>>>16&2;b=14-(e|g|b)+(i<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=170504+(b<<2)|0;c[h+28>>2]=b;c[h+20>>2]=0;c[h+16>>2]=0;a=c[42551]|0;d=1<<b;if(!(a&d)){c[42551]=a|d;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;return}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){b=69;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){b=68;break}else{a=a<<1;d=b}}if((b|0)==68){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;return}else if((b|0)==69){g=d+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=d;c[h+24>>2]=0;return}}function dJ(a,b){a=a|0;b=b|0;if(a>>>0<9){b=ZI(b)|0;return b|0}else{b=eJ(a,b)|0;return b|0}return 0}function eJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0<a>>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(jJ()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=ZI(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;cJ(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;cJ(f,i)}i=b+8|0;return i|0}function fJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=kJ(c[a+60>>2]|0)|0;a=iJ(Da(6,d|0)|0)|0;l=b;return a|0}function gJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=iJ(ua(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function hJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((iJ(ta(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function iJ(a){a=a|0;if(a>>>0>4294963200){c[(jJ()|0)>>2]=0-a;a=-1}return a|0}function jJ(){return 170696}function kJ(a){a=a|0;return a|0}function lJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=9;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Ca(54,f|0)|0):0)a[b+75>>0]=-1;f=mJ(b,d,e)|0;l=g;return f|0}function mJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=iJ(va(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=iJ(va(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function nJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=iJ(Ea(91,e|0)|0)|0;l=d;return b|0}function oJ(){return}function pJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+32|0;h=i;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(jJ()|0)>>2]=12;a=-1;break}c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;a=iJ(wa(192,h|0)|0)|0}else{c[(jJ()|0)>>2]=22;a=-1}while(0);l=i;return a|0}function qJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(rJ(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=O(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function rJ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function sJ(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[125833+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=125921;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=125921;else{f=125921;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return tJ(f,c[e+20>>2]|0)|0}function tJ(a,b){a=a|0;b=b|0;return uJ(a,b)|0}function uJ(a,b){a=a|0;b=b|0;if(!b)b=0;else b=vJ(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function vJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=wJ(c[b+8>>2]|0,o)|0;f=wJ(c[b+12>>2]|0,o)|0;g=wJ(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=wJ(c[b+(g<<2)>>2]|0,o)|0;g=wJ(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=xJ(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=wJ(c[b+(f<<2)>>2]|0,o)|0;f=wJ(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function wJ(a,b){a=a|0;b=b|0;var c=0;c=QN(a|0)|0;return ((b|0)==0?a:c)|0}function xJ(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function yJ(a){a=a|0;return sJ(a,c[(zJ()|0)+188>>2]|0)|0}function zJ(){return AJ()|0}function AJ(){return 55800}function BJ(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function CJ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;g=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=m-a-k+i*(k+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=a*1.4426950407214463;k=+(e+(f>>>20)|0);i=l+k;a=i+(l+(k-i)+(g*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function DJ(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=NN(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+DJ(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function EJ(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function FJ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function GJ(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=NN(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=HJ(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;a=+h[n>>3];if(!o){h[b>>3]=a;h[b+8>>3]=+h[n+8>>3];break}else{h[b>>3]=-a;h[b+8>>3]=-+h[n+8>>3];d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=NN(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=NN(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|0}function HJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+560|0;C=H+480|0;z=H+320|0;G=H+160|0;E=H;D=c[56044+(f<<2)>>2]|0;p=e+-1|0;y=(d+-3|0)/24|0;y=(y|0)>0?y:0;B=O(y,-24)|0;j=d+-24+B|0;if((D+p|0)>=0){n=D+e|0;k=y-p|0;m=0;while(1){if((k|0)<0)g=0.0;else g=+(c[56060+(k<<2)>>2]|0);h[z+(m<<3)>>3]=g;m=m+1|0;if((m|0)==(n|0))break;else k=k+1|0}}o=(e|0)>0;n=0;while(1){if(o){m=n+p|0;g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(D|0))n=n+1|0;else break}t=(j|0)>0;u=24-j|0;v=23-j|0;w=(e|0)>0;x=(j|0)==0;k=D;a:while(1){g=+h[E+(k<<3)>>3];o=(k|0)>0;if(o){m=k;n=0;while(1){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(n<<2)>>2]=~~(g-i*16777216.0);s=m;m=m+-1|0;g=+h[E+(m<<3)>>3]+i;if((s|0)<=1)break;else n=n+1|0}}g=+IJ(g,j);g=g-+A(+(g*.125))*8.0;m=~~g;g=g-+(m|0);do if(!t)if(!x)if(!(g>=.5)){p=0;s=m;break}else{n=2;F=20;break}else{n=c[C+(k+-1<<2)>>2]>>23;F=19;break}else{s=C+(k+-1<<2)|0;n=c[s>>2]|0;F=n>>u;n=n-(F<<u)|0;c[s>>2]=n;n=n>>v;m=F+m|0;F=19}while(0);if((F|0)==19){F=0;if((n|0)>0)F=20;else{p=n;s=m}}if((F|0)==20){F=0;s=m+1|0;if(o){m=0;r=0;do{p=C+(r<<2)|0;q=c[p>>2]|0;if(!m)if(!q)m=0;else{m=1;o=16777216;F=23}else{o=16777215;F=23}if((F|0)==23){F=0;c[p>>2]=o-q}r=r+1|0}while((r|0)!=(k|0))}else m=0;b:do if(t){switch(j|0){case 1:{o=8388607;break}case 2:{o=4194303;break}default:break b}r=C+(k+-1<<2)|0;c[r>>2]=c[r>>2]&o}while(0);if((n|0)==2){g=1.0-g;if(!m)p=2;else{p=2;g=g-+IJ(1.0,j)}}else p=n}if(!(g==0.0)){F=42;break}if((k|0)>(D|0)){m=0;n=k;do{n=n+-1|0;m=c[C+(n<<2)>>2]|m}while((n|0)>(D|0));if(m){F=41;break}else m=1}else m=1;while(1)if(!(c[C+(D-m<<2)>>2]|0))m=m+1|0;else break;o=m+k|0;if((m|0)<=0){k=o;continue}while(1){n=k+1|0;m=k+e|0;h[z+(m<<3)>>3]=+(c[56060+(n+y<<2)>>2]|0);if(w){g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(o|0))k=n;else{k=o;continue a}}}if((F|0)==41)while(1){F=0;j=j+-24|0;k=k+-1|0;if(!(c[C+(k<<2)>>2]|0))F=41;else{o=k;break}}else if((F|0)==42){g=+IJ(g,0-j|0);if(g>=16777216.0){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(k<<2)>>2]=~~(g-i*16777216.0);j=B+d|0;k=k+1|0;g=i}c[C+(k<<2)>>2]=~~g;o=k}g=+IJ(1.0,j);n=(o|0)>-1;if(n){j=o;while(1){h[E+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(n){k=o;while(1){m=o-k|0;j=0;g=0.0;while(1){g=g+ +h[10840+(j<<3)>>3]*+h[E+(j+k<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(m|0))break;else j=j+1|0}h[G+(m<<3)>>3]=g;if((k|0)>0)k=k+-1|0;else break}}}switch(f|0){case 0:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(p|0)==0?g:-g;F=72;break}case 2:case 1:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;k=(p|0)==0;h[b>>3]=k?g:-g;g=+h[G>>3]-g;if((o|0)>=1){j=1;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)==(o|0))break;else j=j+1|0}}i=k?g:-g;b=b+8|0;F=72;break}case 3:{if((o|0)>0){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;i=+h[E>>3];I=g;g=i+g;h[G+(F<<3)>>3]=I+(i-g);h[E>>3]=g}while((F|0)>1);k=(o|0)>1;if(k){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;I=+h[E>>3];i=g;g=I+g;h[G+(F<<3)>>3]=i+(I-g);h[E>>3]=g}while((F|0)>2);if(k){j=o;i=0.0;while(1){i=i+ +h[G+(j<<3)>>3];if((j|0)>2)j=j+-1|0;else break}}else i=0.0}else i=0.0}else i=0.0;g=+h[G>>3];if(!p){h[b>>3]=g;g=+h[G+8>>3]}else{h[b>>3]=-g;i=-i;g=-+h[G+8>>3]}h[b+8>>3]=g;b=b+16|0;F=72;break}default:{}}if((F|0)==72)h[b>>3]=i;l=H;return s&7|0}function IJ(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=ON(b+1023|0,0,52)|0;e=z;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function JJ(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;f=+h[j>>3];g=f*f*(f/a);h[j>>3]=(g*(g*g)*(g*.14599619288661245+-.758397934778766)+(g*(g*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;d=HN(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=z;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=(a-f)/(f+f+a)*f+f}while(0);return +a}function KJ(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function LJ(a,b){a=+a;b=+b;return +(+KJ(a,b))}function MJ(a,b){a=+a;b=b|0;return +(+IJ(a,b))}function NJ(a,b){a=+a;b=+b;return +(+OJ(a,b))}function OJ(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=NN(i|0,l|0,52)|0;e=e&2047;m=NN(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=ON(n|0,o|0,1)|0;k=z;a:do if(!((g|0)==0&(k|0)==0)?(f=PJ(b)|0,d=z&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=ON(i|0,l|0,1)|0;f=z;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=ON(i|0,l|0,12)|0;f=z;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=ON(d|0,f|0,1)|0;f=z}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=ON(i|0,l|0,1-e|0)|0;g=z}else g=l&1048575|1048576;if(!m){f=ON(n|0,o|0,12)|0;k=z;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=ON(f|0,k|0,1)|0;k=z}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=ON(n|0,o|0,1-d|0)|0;m=d;l=z}else l=o&1048575|1048576;f=IN(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=ON(f|0,d|0,1)|0;g=z;e=e+-1|0;f=IN(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=ON(f|0,d|0,1)|0;d=z;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=HN(f|0,d|0,0,-1048576)|0;d=z;e=ON(e|0,0,52)|0;d=d|z;e=o|e}else{e=NN(f|0,d|0,1-e|0)|0;d=z}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function PJ(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function QJ(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0<f>>>0|(g|0)==(f|0)&t>>>0<e>>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=NN(s|0,r|0,52)|0;i=NN(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if((g|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=(i|0)<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}RJ(m,n,b);RJ(o,p,a);a=d*+C(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function RJ(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function SJ(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+BJ(a,0.0,0);h[d>>3]=+EJ(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=GJ(a,g)|0;m=g+8|0;e=+BJ(+h[g>>3],+h[m>>3],1);a=+EJ(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function TJ(a,b){a=+a;b=b|0;return +(+DJ(a,b))}function UJ(a){a=a|0;if(a>>>0<131072)a=(d[127725+((d[127725+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function VJ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function WJ(b,c){b=b|0;c=c|0;b=qJ(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function XJ(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function YJ(a,b,c){a=a|0;b=b|0;c=c|0;c=$J(a,b,c,-1,0)|0;return c|0}function ZJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=O(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function _J(a){a=a|0;return (a+-48|0)>>>0<10|0}function $J(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;aK(h,0);d=bK(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function bK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(jJ()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0}while((XJ(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=cK(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0;if((d[130894+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){aK(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if(e>>>0>(d[130894+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;aK(b,0);c[(jJ()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=cK(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=GN(i|0,f|0,10,0)|0;l=z;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=HN(e|0,l|0,k|0,m|0)|0;f=z;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=cK(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[131150+((e*23|0)>>>5&7)>>0]|0;f=a[130894+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k|i<<n;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=cK(b)|0;f=a[130894+j>>0]|0;k=f&255}while(i>>>0<134217728&e>>>0>k>>>0);k=0}else{j=i;k=0;i=0}l=NN(-1,-1,n|0)|0;m=z;if(e>>>0<=(f&255)>>>0|(m>>>0<k>>>0|(m|0)==(k|0)&l>>>0<i>>>0)){f=k;n=72;break}else j=k;while(1){i=ON(i|0,j|0,n|0)|0;k=z;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=cK(b)|0;f=a[130894+j>>0]|0;if(e>>>0<=(f&255)>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[130894+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k+(O(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=cK(b)|0;f=a[130894+j>>0]|0;k=f&255}while(i>>>0<119304647&e>>>0>k>>>0);k=0}else{j=i;i=0;k=0}if(e>>>0>(f&255)>>>0){n=LN(-1,-1,e|0,0)|0;o=z;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=GN(i|0,m|0,e|0,0)|0;l=z;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=HN(k|0,l|0,f|0,0)|0;k=z;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=cK(b)|0;f=a[130894+j>>0]|0;if(e>>>0<=(f&255)>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if(e>>>0>(d[130894+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0}while(e>>>0>(d[130894+i>>0]|0)>>>0);c[(jJ()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(jJ()|0)>>2]=34;g=HN(g|0,h|0,-1,-1)|0;h=z;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(jJ()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=IN(i^j|0,e^g|0,j|0,g|0)|0;h=z}while(0);z=h;return g|0}function cK(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;h=c[f>>2]|0;if((h|0)!=0?(c[b+108>>2]|0)>=(h|0):0)i=4;else{e=dK(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){j=c[f>>2]|0;h=c[b+4>>2]|0;f=g-(c[b+108>>2]|0)|0;g=j;if((j-h|0)<(f|0))f=g;else f=h+(f+-1)|0}else{g=c[f>>2]|0;f=g}c[b+100>>2]=f;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;j=b+108|0;c[j>>2]=g+1-f+(c[j>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else i=4}if((i|0)==4){c[b+100>>2]=0;e=-1}return e|0}function dK(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((eK(a)|0)==0?(bb[c[a+32>>2]&31](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function eK(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)bb[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function fK(a){a=a|0;return (a+-48|0)>>>0<10|0}function gK(a){a=a|0;if(!(hK(a)|0))a=(_J(a)|0)!=0&1;else a=1;return a|0}function hK(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function iK(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))b=0;else{g=b;b=e;f=e&255;while(1){e=a[c>>0]|0;if(!(e<<24>>24))break a;if(b<<24>>24!=e<<24>>24?(f=jK(f)|0,(f|0)!=(jK(d[c>>0]|0)|0)):0)break;b=g+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){b=0;break a}else{g=b;b=e;f=e&255}}b=a[g>>0]|0}while(0);g=jK(b&255)|0;return g-(jK(d[c>>0]|0)|0)|0}function jK(a){a=a|0;var b=0;b=(kK(a)|0)==0;return (b?a:a|32)|0}function kK(a){a=a|0;return (a+-65|0)>>>0<26|0}function lK(a){a=a|0;return mK(a,0)|0}function mK(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(nK(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[59170+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[59170+(g<<2)>>1]|0)|0;if((h-(l&j)|0)>>>0<(d[59170+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(O(k,j)|0)+c|0;break}i=1-f|0;g=b[58682+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[58682+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[58682+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function nK(a){a=a|0;if(a>>>0<131072)a=(d[131159+((d[131159+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function oK(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function pK(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)b=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))b=0;else{h=b;b=f;f=f&255;while(1){e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(b<<24>>24!=g<<24>>24?(g=jK(f)|0,(g|0)!=(jK(d[c>>0]|0)|0)):0)break;b=h+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){b=0;break a}else{h=b;b=f;f=f&255}}b=a[h>>0]|0}while(0);b=jK(b&255)|0;b=b-(jK(d[c>>0]|0)|0)|0}return b|0}function qK(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return (a&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function rK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?170764:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[(vK()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[55208+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(jJ()|0)>>2]=84;f=-1}l=k;return f|0}function sK(a,b){a=a|0;b=b|0;if(!a)a=0;else a=tK(a,b,0)|0;return a|0}function tK(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(uK()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(jJ()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(jJ()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function uK(){return AJ()|0}function vK(){return AJ()|0}function wK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Na(134135)|0;if(d|0?a[d>>0]|0:0)break;d=Na(134142+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Na(134214)|0;if(d|0?a[d>>0]|0:0)break;d=134219}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=134219;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((xJ(k,134219)|0)!=0?(xJ(k,134227)|0)!=0:0){d=c[42692]|0;if(d|0)do{if(!(xJ(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);pa(170772);d=c[42692]|0;c:do if(d|0){while(1){if(!(xJ(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}Fa(170772);break b}while(0);d:do if(((c[42677]|0)==0?(g=Na(134233)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=qJ(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0<i>>>0){TN(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;TN(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;f=qa(n|0,o|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=ZI(28)|0;if(!d){nJ(f,c[o>>2]|0)|0;m=41;break}else{c[d>>2]=f;c[d+4>>2]=c[o>>2];o=d+8|0;TN(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[42692];c[42692]=d;break}}else m=41;while(0);if((m|0)==41){d=ZI(28)|0;if(d){c[d>>2]=c[13790];c[d+4>>2]=c[13791];o=d+8|0;TN(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[42692];c[42692]=d}}Fa(170772);d=(b|0)==0&(d|0)==0?55160:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=55160;break}d=0}while(0);l=p;return d|0}function xK(a,b){a=a|0;b=b|0;yK(a,b)|0;return a|0}function yK(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function zK(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function AK(a){a=a|0;if(!a)a=0;else a=(BK(56324,a)|0)!=0&1;return a|0}function BK(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((oK(a)|0)<<2)|0;else{while(1){d=c[a>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else a=a+4|0}a=d|0?a:0}return a|0}function CK(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=DK(a)|0;break}case 2:{a=nK(a)|0;break}case 3:{a=EK(a)|0;break}case 4:{a=FK(a)|0;break}case 5:{a=fK(a)|0;break}case 6:{a=GK(a)|0;break}case 7:{a=HK(a)|0;break}case 8:{a=qK(a)|0;break}case 9:{a=UJ(a)|0;break}case 10:{a=AK(a)|0;break}case 11:{a=IK(a)|0;break}case 12:{a=JK(a)|0;break}default:a=0}while(0);return a|0}function DK(a){a=a|0;if(!(fK(a)|0))a=(nK(a)|0)!=0&1;else a=1;return a|0}function EK(a){a=a|0;return zK(a)|0}function FK(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function GK(a){a=a|0;if(!(AK(a)|0))a=(qK(a)|0)!=0&1;else a=0;return a|0}function HK(a){a=a|0;return (lK(a)|0)!=(a|0)|0}function IK(a){a=a|0;return (KK(a)|0)!=(a|0)|0}function JK(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function KK(a){a=a|0;return mK(a,1)|0}function LK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=56412;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(jJ()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=MK(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function MK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;p=s+80|0;q=s;r=s+136|0;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((NK(0,d,n,q,p)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=OK(b)|0;else o=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=NK(b,d,n,q,p)|0;if(h){bb[c[b+36>>2]&31](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=NK(b,d,n,q,p)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(o|0)PK(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function NK(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+64|0;D=I+16|0;E=I;A=I+24|0;G=I+8|0;H=I+20|0;c[D>>2]=e;w=(d|0)!=0;x=A+40|0;y=x;A=A+39|0;B=G+4|0;j=0;e=0;m=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(jJ()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[D>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){v=88;break}else k=r;b:while(1){switch(j<<24>>24){case 37:{j=k;v=9;break b}case 0:{j=k;break b}default:{}}u=k+1|0;c[D>>2]=u;j=a[u>>0]|0;k=u}c:do if((v|0)==9)while(1){v=0;if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[D>>2]=k;if((a[k>>0]|0)!=37)break;else v=9}while(0);j=j-r|0;if(w)QK(d,r,j);if(j|0)continue;u=(_J(a[(c[D>>2]|0)+1>>0]|0)|0)==0;k=c[D>>2]|0;if(!u?(a[k+2>>0]|0)==36:0){s=(a[k+1>>0]|0)+-48|0;n=1;j=3}else{s=-1;n=m;j=1}j=k+j|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0;if(u>>>0>31|(1<<u&75913|0)==0)m=0;else{m=0;do{m=1<<(k<<24>>24)+-32|m;j=j+1|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0}while(!(u>>>0>31|(1<<u&75913|0)==0))}if(k<<24>>24==42){if((_J(a[j+1>>0]|0)|0)!=0?(F=c[D>>2]|0,(a[F+2>>0]|0)==36):0){j=F+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;k=1;n=F+3|0}else{if(n|0){e=-1;break}if(w){u=(c[f>>2]|0)+(4-1)&~(4-1);j=c[u>>2]|0;c[f>>2]=u+4}else j=0;k=0;n=(c[D>>2]|0)+1|0}c[D>>2]=n;t=(j|0)<0;u=t?0-j|0:j;m=t?m|8192:m;t=k;j=n}else{j=RK(D)|0;if((j|0)<0){e=-1;break}u=j;t=n;j=c[D>>2]|0}do if((a[j>>0]|0)==46){if((a[j+1>>0]|0)!=42){c[D>>2]=j+1;p=RK(D)|0;j=c[D>>2]|0;break}if(_J(a[j+2>>0]|0)|0?(C=c[D>>2]|0,(a[C+3>>0]|0)==36):0){p=C+2|0;c[i+((a[p>>0]|0)+-48<<2)>>2]=10;p=c[g+((a[p>>0]|0)+-48<<3)>>2]|0;j=C+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;q=(c[D>>2]|0)+2|0;c[D>>2]=q;p=j;j=q}else p=-1;while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j;j=j+1|0;c[D>>2]=j;k=a[(a[k>>0]|0)+-65+(134246+(q*58|0))>>0]|0;n=k&255;if((n+-1|0)>>>0>=8)break;else q=n}if(!(k<<24>>24)){e=-1;break}o=(s|0)>-1;do if(k<<24>>24==19)if(o){e=-1;break a}else v=50;else{if(o){c[i+(s<<2)>>2]=n;o=g+(s<<3)|0;s=c[o+4>>2]|0;v=E;c[v>>2]=c[o>>2];c[v+4>>2]=s;v=50;break}if(!w){e=0;break a}SK(E,n,f);j=c[D>>2]|0}while(0);if((v|0)==50){v=0;if(!w){j=0;m=t;continue}}k=a[j+-1>>0]|0;k=(q|0)!=0&(k&15|0)==3?k&-33:k;j=m&-65537;s=(m&8192|0)==0?m:j;d:do switch(k|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 1:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 2:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}case 3:{b[c[E>>2]>>1]=e;j=0;m=t;continue a}case 4:{a[c[E>>2]>>0]=e;j=0;m=t;continue a}case 6:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 7:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}default:{j=0;m=t;continue a}}case 112:{k=120;j=p>>>0>8?p:8;m=s|8;v=62;break}case 88:case 120:{j=p;m=s;v=62;break}case 111:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;o=UK(j,k,x)|0;m=y-o|0;q=0;n=134710;p=(s&8|0)==0|(p|0)>(m|0)?p:m+1|0;m=s;v=68;break}case 105:case 100:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=IN(0,0,j|0,k|0)|0;k=z;m=E;c[m>>2]=j;c[m+4>>2]=k;m=1;n=134710;v=67;break d}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?134710:134712):134711;v=67;break d}}case 117:{k=E;m=0;n=134710;j=c[k>>2]|0;k=c[k+4>>2]|0;v=67;break}case 99:{a[A>>0]=c[E>>2];r=A;q=0;n=134710;o=x;k=1;break}case 109:{k=yJ(c[(jJ()|0)>>2]|0)|0;v=72;break}case 115:{k=c[E>>2]|0;k=k|0?k:134720;v=72;break}case 67:{c[G>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=G;p=-1;m=G;v=76;break}case 83:{j=c[E>>2]|0;if(!p){WK(d,32,u,0,s);j=0;v=85}else{m=j;v=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=XK(d,+h[E>>3],u,p,s,k)|0;m=t;continue a}default:{q=0;n=134710;o=x;k=p;j=s}}while(0);e:do if((v|0)==62){s=E;r=c[s>>2]|0;s=c[s+4>>2]|0;o=TK(r,s,x,k&32)|0;n=(m&8|0)==0|(r|0)==0&(s|0)==0;q=n?0:2;n=n?134710:134710+(k>>4)|0;p=j;j=r;k=s;v=68}else if((v|0)==67){o=VK(j,k,x)|0;q=m;m=s;v=68}else if((v|0)==72){v=0;s=ZJ(k,0,p)|0;m=(s|0)==0;r=k;q=0;n=134710;o=m?k+p|0:s;k=m?p:s-k|0}else if((v|0)==76){v=0;o=m;j=0;k=0;while(1){n=c[o>>2]|0;if(!n)break;k=sK(H,n)|0;if((k|0)<0|k>>>0>(p-j|0)>>>0)break;j=k+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((k|0)<0){e=-1;break a}WK(d,32,u,j,s);if(!j){j=0;v=85}else{n=0;while(1){k=c[m>>2]|0;if(!k){v=85;break e}k=sK(H,k)|0;n=k+n|0;if((n|0)>(j|0)){v=85;break e}QK(d,H,k);if(n>>>0>=j>>>0){v=85;break}else m=m+4|0}}}while(0);if((v|0)==68){v=0;k=(j|0)!=0|(k|0)!=0;j=(p|0)!=0|k;k=y-o+((k^1)&1)|0;r=j?o:x;o=x;k=j?((p|0)>(k|0)?p:k):p;j=(p|0)>-1?m&-65537:m}else if((v|0)==85){v=0;WK(d,32,u,j,s^8192);j=(u|0)>(j|0)?u:j;m=t;continue}p=o-r|0;o=(k|0)<(p|0)?p:k;s=o+q|0;m=(u|0)<(s|0)?s:u;WK(d,32,m,s,j);QK(d,n,q);WK(d,48,m,s,j^65536);WK(d,48,o,p,0);QK(d,r,p);WK(d,32,m,s,j^8192);j=m;m=t}f:do if((v|0)==88)if(!d)if(m){e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;SK(g+(e<<3)|0,j,f);j=e+1|0;if((e|0)<9)e=j;else{e=j;break}}if((e|0)<10)while(1){if(c[i+(e<<2)>>2]|0){e=-1;break f}if((e|0)<9)e=e+1|0;else{e=1;break}}else e=1}else e=0;while(0);l=I;return e|0}function OK(a){a=a|0;return 0}function PK(a){a=a|0;return}function QK(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))ZK(b,d,a)|0;return}function RK(b){b=b|0;var d=0,e=0;if(!(_J(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((_J(a[e>>0]|0)|0)!=0)}return d|0}function SK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function TK(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[134758+(b&15)>>0]|0|f;b=NN(b|0,c|0,4)|0;c=z}while(!((b|0)==0&(c|0)==0));return e|0}function UK(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=NN(b|0,c|0,3)|0;c=z}while(!((b|0)==0&(c|0)==0));return d|0}function VK(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=MN(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=LN(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=z}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function WK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;VN(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{QK(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}QK(a,f,e)}l=g;return}function XK(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;YK(e)|0;if((z|0)<0){e=-e;C=1;B=134727}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?134728:134733):134730}YK(e)|0;do if(0==0&(z&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;WK(b,32,f,j,h&-65537);QK(b,B,C);QK(b,e!=e|0.0!=0.0?(G?134895:134754):G?134746:134750,3);WK(b,32,f,j,h^8192)}else{r=+TJ(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){p=i&32;s=(p|0)==0?B:B+9|0;q=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=VK(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;m=(g|0)<1;n=(h&8|0)==0;j=G;do{D=~~e;k=j+1|0;a[j>>0]=p|d[134758+D>>0];e=(e-+(D|0))*16.0;if((k-F|0)==1?!(n&(m&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);if((g|0)!=0?(-2-F+j|0)<(g|0):0){k=j-F|0;j=g+2|0}else{j=j-F|0;k=j}E=E-o|0;F=E+q+j|0;WK(b,32,f,F,h);QK(b,s,q);WK(b,48,f,F,h^65536);QK(b,G,k);WK(b,48,j-k|0,0,0);QK(b,o,E);WK(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}D=(j|0)<0?m:m+288|0;m=D;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=D;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=ON(c[j>>2]|0,0,o|0)|0;x=HN(x|0,z|0,m|0,0)|0;y=z;v=MN(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=LN(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=D;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0<m>>>0){o=(1<<s)+-1|0;p=1e9>>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=O(y&o,p)|0;j=j+4|0}while(j>>>0<m>>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?D:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=D;if(j>>>0<g>>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=D+4+(((n|0)/9|0)+-1024<<2)|0;n=(n|0)%9|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0<x>>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(C){x=(a[B>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=k+((v^1)&1)|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=VK(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=C+1+k+p+j|0;WK(b,32,f,j,h);QK(b,B,C);WK(b,48,f,j,h^65536);if(q){o=x>>>0>D>>>0?D:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=VK(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){VN(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}QK(b,m,p-m|0);n=n+4|0}while(n>>>0<=D>>>0);if(t|0)QK(b,134774,1);if(n>>>0<w>>>0&(k|0)>0)while(1){m=VK(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){VN(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}QK(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<w>>>0&(k|0)>9)){k=m;break}else k=m}WK(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=VK(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;QK(b,m,1);if(s&(k|0)<1){m=n;break}QK(b,134774,1);m=n}else{if(m>>>0<=G>>>0)break;VN(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;QK(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<t>>>0&(k|0)>-1)}WK(b,48,k+18|0,18,0);QK(b,v,E-v|0)}WK(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function YK(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function ZK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(_K(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=bb[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=bb[c[e+36>>2]&31](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);TN(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function _K(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function $K(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;TN(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function aL(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=134776;f=97;while(1){if(e<<24>>24==f<<24>>24?(xJ(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function bL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{pa(170780);if((b|0)!=6){d=cL(b,d)|0;Fa(170780);break}if(!d){d=176254;b=0}else{b=g;e=134849;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=qJ(d,59)|0;e=b-d|0;if((e|0)<16){TN(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}cL(f,g)|0;f=f+1|0}while((f|0)!=6);d=176254;b=0}while(1){f=c[170740+(b<<2)>>2]|0;f=f|0?f+8|0:134865;e=rJ(f)|0;TN(d|0,f|0,e|0)|0;f=d+e|0;a[f>>0]=59;b=b+1|0;if((b|0)==6)break;else d=d+(e+1)|0}a[f>>0]=0;Fa(170780);d=176254}while(0);l=h;return d|0}function cL(a,b){a=a|0;b=b|0;if(!b)a=c[170740+(a<<2)>>2]|0;else{b=wK(a,b)|0;c[170740+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:134865)|0}function dL(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function eL(a){a=a|0;return fL(a)|0}function fL(a){a=a|0;return PN(a|0)|0}function gL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=OK(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)PK(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;i=ZJ(h,10,p)|0;j=(i|0)==0;i=j?p:1-o+i|0;i=i>>>0<g>>>0?i:g;TN(e|0,h|0,i|0)|0;h=(c[k>>2]|0)+i|0;c[k>>2]=h;e=e+i|0;i=g-i|0;if(!(j&(i|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=dK(f)|0;if((g|0)<0)break;else j=g}else{c[k>>2]=h+1;j=d[h>>0]|0}g=i+-1|0;h=e+1|0;a[e>>0]=j;if(!((g|0)!=0&(j&255|0)!=10)){e=h;n=17;break a}else e=h}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)PK(f)}return b|0}function hL(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=WJ(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=iL(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=jL(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=kL(b,c)|0;break}else{b=lL(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function iL(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24))break;f=f<<8&65280|e&255;if((f|0)==(g|0))break;else b=c}return (e<<24>>24?b:0)|0}function jL(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;if(!((b|0)==(f|0)|c<<24>>24==0))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8}while(!((b|0)==(f|0)|c<<24>>24==0));return (c<<24>>24?e+-2|0:0)|0}function kL(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;e=a[c>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|e&255;if(!(e<<24>>24==0|(b|0)==(f|0)))do{c=c+1|0;e=a[c>>0]|0;b=b<<8|e&255}while(!(e<<24>>24==0|(b|0)==(f|0)));return (e<<24>>24?c+-3|0:0)|0}function lL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;do{if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((e&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(e&31);s=s+1|0;c[u+((e&255)<<2)>>2]=s;e=a[d+s>>0]|0}while(e<<24>>24!=0);m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){i=n;g=m;h=26;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){i=n;f=1;h=26;break}else{h=g+1|0;m=g}}}else{i=n;f=1;g=-1;h=26}}else{i=1;e=-1;f=1;g=-1;h=26}}else{i=1;e=-1;s=0;f=1;g=-1;h=26}while(0);e:do if((h|0)==26){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:i;q=q?g:e;r=q+1|0;if(!(dL(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0<s>>>0){i=ZJ(g,0,k)|0;if(i)if((i-h|0)>>>0<s>>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0<f>>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function mL(a,b,c){a=a|0;b=b|0;c=c|0;nL(a,b,c)|0;return a|0}function nL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else e=0}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);VN(b|0,0,e|0)|0;return b|0}function oL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function pL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=qL(a,b,f)|0;l=e;return d|0}function qL(a,b,c){a=a|0;b=b|0;c=c|0;return LK(a,2147483647,b,c)|0}function rL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=O(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)sL(a,d,e,f,j);else uL(a,d,e,k,f,0,j);if((f|0)==1){vL(k,1);f=0;break}else{vL(k,b);f=1;break}}else{sL(a,d,e,f,j);tL(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}uL(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){vL(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;tL(k,1);uL(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);vL(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;uL(h,d,e,k,n,1,j);a=h;f=n;continue}b=wL(k)|0;tL(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function sL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((ab[d&63](a,g)|0)>-1?(ab[d&63](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((ab[d&63](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);yL(b,m,e);l=n;return}function tL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function uL(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(ab[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((ab[d&63](g,j)|0)>-1){i=10;break a}if((ab[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=wL(n)|0;tL(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((ab[d&63](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){yL(b,o,e);sL(a,b,d,f,h)}l=p;return}function vL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function wL(a){a=a|0;var b=0;b=xL((c[a>>2]|0)+-1|0)|0;if(!b){b=xL(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function xL(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function yL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;TN(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;TN(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function zL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=MK(a,b,f)|0;l=e;return d|0}function AL(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;oa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function BL(a,b,c){a=a|0;b=b|0;c=c|0;c=$J(a,b,c,-2147483648,0)|0;return c|0}function CL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){VN(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=qJ(b,e<<24>>24)|0;l=h;return e-b|0}function DL(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[42697]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(oL(b,d)|0)|0;if(!(a[b>>0]|0)){c[42697]=0;b=0;break}d=b+(CL(b,d)|0)|0;c[42697]=d;if(!(a[d>>0]|0)){c[42697]=0;break}else{c[42697]=d+1;a[d>>0]=0;break}}while(0);return b|0}function EL(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function FL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(oL(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(CL(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function GL(a){a=a|0;var b=0,c=0;b=(rJ(a)|0)+1|0;c=ZI(b)|0;if(!c)a=0;else a=TN(c|0,a|0,b|0)|0;return a|0}function HL(a,b){a=a|0;b=b|0;return EL(a,b,(rJ(a)|0)+1|0)|0}function IL(a,b){a=a|0;b=b|0;xK(a+(rJ(a)|0)|0,b)|0;return a|0}function JL(b,c){b=b|0;c=c|0;c=b+(CL(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function KL(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(OK(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function LL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=OK(a)|0;else f=0;ML(a);g=(c[a>>2]&1|0)!=0;if(!g){e=NL()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;OL()}b=PL(a)|0;b=$a[c[a+12>>2]&31](a)|0|b;d=c[a+92>>2]|0;if(d|0)_I(d);if(g){if(f|0)PK(a)}else _I(a);return b|0}function ML(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(RL()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function NL(){pa(170792);return 170800}function OL(){Fa(170792);return}function PL(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=QL(a)|0;break}d=(OK(a)|0)==0;b=QL(a)|0;if(!d)PK(a)}else{if(!(c[13917]|0))b=0;else b=PL(c[13917]|0)|0;a=c[(NL()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=OK(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=QL(a)|0|b;if(d|0)PK(a);a=c[a+56>>2]|0}while((a|0)!=0);OL()}while(0);return b|0}function QL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(bb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)bb[c[a+40>>2]&31](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function RL(){return AJ()|0}function SL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;j=k+40|0;h=k+24|0;g=k+16|0;f=k;i=k+56|0;if(WJ(134882,a[d>>0]|0)|0){e=ZI(1156)|0;if(!e)e=0;else{VN(e|0,0,124)|0;if(!(WJ(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if(WJ(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;za(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=za(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;za(221,h|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(Ca(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=6;c[e+36>>2]=9;c[e+40>>2]=7;c[e+12>>2]=15;if(!(c[42676]|0))c[e+76>>2]=-1;TL(e)|0}}else{c[(jJ()|0)>>2]=22;e=0}l=k;return e|0}function TL(a){a=a|0;var b=0,d=0;b=NL()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;OL();return a|0}function UL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(VL()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[55208+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(jJ()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function VL(){return AJ()|0}function WL(a,b){a=a|0;b=b|0;var c=0;c=rJ(a)|0;return ((XL(a,1,c,b)|0)!=(c|0))<<31>>31|0}function XL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=O(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(OK(e)|0)==0;a=ZK(a,f,e)|0;if(!g)PK(e)}else a=ZK(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function YL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(_K(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((bb[c[b+36>>2]&31](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function ZL(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=134867;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function _L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=ya(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(za(221,e|0)|0)>=0):0){ZL(e,a);c[f>>2]=e;c[f+4>>2]=b;b=iJ(xa(195,f|0)|0)|0}else b=iJ(d)|0;l=g;return b|0}function $L(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=iJ(Aa(33,e|0)|0)|0;l=d;return b|0}function aM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(WJ(134882,a[d>>0]|0)|0){f=bM(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=iJ(Ba(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;za(221,g|0)|0}b=SL(e,d)|0;if(!b){c[h>>2]=e;Da(6,h|0)|0;b=0}}else b=0}else{c[(jJ()|0)>>2]=22;b=0}l=i;return b|0}function bM(b){b=b|0;var c=0,d=0,e=0;d=(WJ(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(WJ(b,120)|0)==0;d=e?d:d|128;b=(WJ(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function cM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=dM(a,b,f)|0;l=e;return d|0}function dM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=18;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=fM(e,b,d)|0;l=g;return h|0}function eM(a,b,c){a=a|0;b=b|0;c=c|0;return nM(a,b,c)|0}function fM(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+288|0;F=L+8|0;G=L+17|0;H=L;I=L+16|0;if((c[b+76>>2]|0)>-1)K=OK(b)|0;else K=0;i=a[e>>0]|0;a:do if(i<<24>>24){y=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;D=G+10|0;E=G+33|0;x=F+4|0;p=e;u=0;e=0;j=0;k=i;i=0;b:while(1){c:do if(!(XJ(k&255)|0)){k=(a[p>>0]|0)==37;d:do if(k){m=p+1|0;n=a[m>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{w=0;m=p+2|0;break}default:{if(_J(n&255)|0?(a[p+2>>0]|0)==36:0){w=gM(f,(d[m>>0]|0)+-48|0)|0;m=p+3|0;break e}v=(c[f>>2]|0)+(4-1)&~(4-1);w=c[v>>2]|0;c[f>>2]=v+4}}while(0);if(!(_J(d[m>>0]|0)|0))s=0;else{k=0;do{k=(k*10|0)+-48+(d[m>>0]|0)|0;m=m+1|0}while((_J(d[m>>0]|0)|0)!=0);s=k}p=a[m>>0]|0;n=m+1|0;if(p<<24>>24==109){k=(w|0)!=0&1;j=0;m=n;p=a[n>>0]|0;i=0}else k=0;n=m+1|0;switch(p<<24>>24){case 104:{v=(a[n>>0]|0)==104;p=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;p=v?3:1;m=v?m+2|0:n;break}case 106:{p=3;m=n;break}case 116:case 122:{p=1;m=n;break}case 76:{p=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{p=0;break}default:{J=136;break b}}r=d[m>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:p;q=r&255;switch(q<<24>>24){case 99:{s=(s|0)>1?s:1;break}case 91:break;case 110:{hM(w,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{aK(b,0);do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=cK(b)|0}while((XJ(n)|0)!=0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}aK(b,s);p=c[y>>2]|0;n=c[A>>2]|0;if(p>>>0<n>>>0)c[y>>2]=p+1;else{if((cK(b)|0)<0){J=136;break b}n=c[A>>2]|0}if(n|0)c[y>>2]=(c[y>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{v=(r|0)==99;g:do if((r|16|0)==115){VN(G|0,-1,257)|0;a[G>>0]=0;if((r|0)==115){a[E>>0]=0;a[D>>0]=0;a[D+1>>0]=0;a[D+2>>0]=0;a[D+3>>0]=0;a[D+4>>0]=0}}else{n=m+1|0;q=(a[n>>0]|0)==94;r=q&1;m=q?m+2|0:n;VN(G|0,r|0,257)|0;a[G>>0]=0;n=a[m>>0]|0;switch(n<<24>>24){case 45:{n=46;J=65;break}case 93:{n=94;J=65;break}default:{}}while(1){if((J|0)==65){J=0;a[G+n>>0]=r^1;n=m+1|0;m=n;n=a[n>>0]|0}h:do switch(n<<24>>24){case 0:{J=136;break b}case 93:break g;case 45:{q=m+1|0;n=a[q>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){p=(r^1)&255;m=m&255;do{m=m+1|0;a[G+m>>0]=p;n=a[q>>0]|0}while((m|0)<(n&255|0));m=q}else m=q;break}default:{}}while(0);n=(n&255)+1|0;J=65}}while(0);n=v?s+1|0:31;r=(t|0)==1;t=(k|0)!=0;i:do if(r){if(t){i=ZI(n<<2)|0;if(!i){j=0;i=0;J=136;break b}}else i=w;c[F>>2]=0;c[x>>2]=0;q=n;j=0;j:while(1){p=(i|0)==0;do{k:while(1){n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=cK(b)|0;if(!(a[G+(n+1)>>0]|0))break j;a[I>>0]=n;switch(rK(H,I,1,F)|0){case -1:{j=0;J=136;break b}case -2:break;default:break k}}if(!p){c[i+(j<<2)>>2]=c[H>>2];j=j+1|0}}while(!(t&(j|0)==(q|0)));j=q<<1|1;n=aJ(i,j<<2)|0;if(!n){j=0;J=136;break b}else{p=q;q=j;i=n;j=p}}if(!(iM(F)|0)){j=0;J=136;break b}else{q=j;j=0;p=i}}else{if(t){j=ZI(n)|0;if(!j){j=0;i=0;J=136;break b}else{p=n;i=0}while(1){do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=cK(b)|0;if(!(a[G+(n+1)>>0]|0)){q=i;p=0;i=0;break i}a[j+i>>0]=n;i=i+1|0}while((i|0)!=(p|0));i=p<<1|1;n=aJ(j,i)|0;if(!n){i=0;J=136;break b}else{q=p;p=i;j=n;i=q}}}if(!w)while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0;if(!(a[G+(i+1)>>0]|0)){q=0;j=0;p=0;i=0;break i}}else j=0;while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0;if(!(a[G+(i+1)>>0]|0)){q=j;j=w;p=0;i=0;break i}a[w+j>>0]=i;j=j+1|0}}while(0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}n=n-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!n)break b;if(!((n|0)==(s|0)|v^1))break b;do if(t)if(r){c[w>>2]=p;break}else{c[w>>2]=j;break}while(0);if(!v){if(p|0)c[p+(q<<2)>>2]=0;if(!j){j=0;break f}a[j+q>>0]=0}break}case 120:case 88:case 112:{n=16;J=124;break}case 111:{n=8;J=124;break}case 117:case 100:{n=10;J=124;break}case 105:{n=0;J=124;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+jM(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if(w)switch(t|0){case 0:{g[w>>2]=o;break f}case 1:{h[w>>3]=o;break f}case 2:{h[w>>3]=o;break f}default:break f}break}default:{}}while(0);do if((J|0)==124){J=0;n=bK(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if((w|0)!=0&(r|0)==112){c[w>>2]=n;break}else{hM(w,t,n,z);break}}while(0);e=e+((w|0)!=0&1)|0;n=(c[B>>2]|0)+u+(c[y>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=p+(k&1)|0;aK(b,0);k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=cK(b)|0;if((k|0)!=(d[m>>0]|0)){J=22;break b}n=u+1|0}else{m=p;while(1){k=m+1|0;if(!(XJ(d[k>>0]|0)|0))break;else m=k}aK(b,0);do{k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=cK(b)|0}while((XJ(k)|0)!=0);if(!(c[A>>2]|0))k=c[y>>2]|0;else{k=(c[y>>2]|0)+-1|0;c[y>>2]=k}n=(c[B>>2]|0)+u+k-(c[C>>2]|0)|0}while(0);p=m+1|0;k=a[p>>0]|0;if(!(k<<24>>24))break a;else u=n}if((J|0)==22){if(c[A>>2]|0)c[y>>2]=(c[y>>2]|0)+-1;if((e|0)!=0|(k|0)>-1)break;else{e=0;J=137}}else if((J|0)==136)if(!e){e=k;J=137}if((J|0)==137){k=e;e=-1}if(k){_I(j);_I(i)}}else e=0;while(0);if(K|0)PK(b);l=L;return e|0}function gM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function hM(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function iM(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function jM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=cK(b)|0}while((XJ(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=cK(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[134886+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=cK(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[134895+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=cK(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=cK(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=cK(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(jJ()|0)>>2]=22;aK(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=cK(b)|0;if((e|32|0)==120){g=+kM(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+lM(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(jJ()|0)>>2]=22;aK(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function kM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=0}else{j=cK(a)|0;l=0}a:while(1){switch(j|0){case 46:{w=8;break a}case 48:break;default:{s=0;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=1;continue}else{j=cK(a)|0;l=1;continue}}if((w|0)==8){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0}else j=cK(a)|0;if((j|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;m=d[i>>0]|0}else m=cK(a)|0;l=HN(l|0,j|0,-1,-1)|0;j=z}while((m|0)==48);s=1;n=0;o=1.0;h=0.0;i=0;t=1;v=0;u=0}else{s=1;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0}}while(1){q=m+-48|0;p=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=o;r=t;l=u;j=v;q=u;p=v}else{m=46;break}else w=20}else w=20;if((w|0)==20){w=0;m=(m|0)>57?p+-87|0:q;do if(!((v|0)<0|(v|0)==0&u>>>0<8))if((v|0)<0|(v|0)==0&u>>>0<14){o=o*.0625;k=o;h=h+o*+(m|0);break}else{t=(n|0)!=0|(m|0)==0;n=t?n:1;k=o;h=t?h:h+o*.5;break}else{k=o;i=m+(i<<4)|0}while(0);q=HN(u|0,v|0,1,0)|0;r=1;p=z}m=c[y>>2]|0;if(m>>>0<(c[x>>2]|0)>>>0){c[y>>2]=m+1;o=k;m=d[m>>0]|0;t=r;v=p;u=q;continue}else{o=k;m=cK(a)|0;t=r;v=p;u=q;continue}}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(!((s|0)==0|i))c[y>>2]=(c[y>>2]|0)+-1}else aK(a,0);h=+(f|0)*0.0}else{p=(s|0)==0;q=p?u:l;p=p?v:j;if((v|0)<0|(v|0)==0&u>>>0<8){l=u;j=v;while(1){i=i<<4;w=l;l=HN(l|0,j|0,1,0)|0;if(!((j|0)<0|(j|0)==0&w>>>0<7)){n=i;break}else j=z}}else n=i;if((m|32|0)==112){j=mM(a,g)|0;i=z;if((j|0)==0&(i|0)==-2147483648){if(!g){aK(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=ON(q|0,p|0,2)|0;l=HN(l|0,z|0,-32,-1)|0;l=HN(l|0,z|0,j|0,i|0)|0;i=z;if(!n){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(jJ()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){c[(jJ()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((n|0)>-1){j=n;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=HN(l|0,i|0,-1,-1)|0;i=z}while((j|0)>-1);o=h;m=j}else{o=h;m=n}y=((b|0)<0)<<31>>31;e=IN(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=HN(e|0,z|0,l|0,i|0)|0;e=z;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0<b>>>0)if((i|0)>0)w=59;else{j=0;i=84;w=61}else{i=b;w=59}if((w|0)==59)if((i|0)<53){j=i;i=84-i|0;w=61}else{k=0.0;h=+(f|0)}if((w|0)==61){h=+(f|0);k=+LJ(+IJ(1.0,i),h);i=j}f=(m&1|0)==0&(o!=0.0&(i|0)<32);h=(f?0.0:o)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(jJ()|0)>>2]=34;h=+MJ(h,l)}while(0);return +h}function lM(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;D=a+4|0;E=a+100|0;k=0;a:while(1){switch(b|0){case 46:{A=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=cK(a)|0;k=1;continue}}if((A|0)==6){b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=cK(a)|0;if((b|0)==48){k=0;b=0;while(1){k=HN(k|0,b|0,-1,-1)|0;o=z;b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=cK(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){C=G+496|0;w=0;k=0;u=0;x=v;y=p;A=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=HN(p|0,n|0,1,0)|0;n=z;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[C>>2]=c[C>>2]|1;break}m=G+(k<<2)|0;if(!w)b=A;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=k+(y&1)|0;u=v?p:u;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=cK(a)|0;A=b+-48|0;m=(b|0)==46;if(!(m|A>>>0<10)){v=x;m=y;A=29;break b}}b=w;m=(y|0)!=0;A=37}else{w=0;k=0;u=0;m=p;p=0;n=0;A=29}while(0);do if((A|0)==29){C=(v|0)==0;q=C?p:q;o=C?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;A=37;break}else{b=w;A=39;break}m=mM(a,h)|0;b=z;if((m|0)==0&(b|0)==-2147483648){if(!h){aK(a,0);i=0.0;break}if(!(c[E>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}y=HN(m|0,b|0,q|0,o|0)|0;b=w;o=z;A=41}while(0);if((A|0)==37)if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m){y=q;A=41}else A=40}else A=39;if((A|0)==39)if(m){y=q;A=41}else A=40;do if((A|0)==40){c[(jJ()|0)>>2]=22;aK(a,0);i=0.0}else if((A|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&y>>>0>a>>>0){c[(jJ()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&y>>>0<a>>>0){c[(jJ()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){if((y|0)==9){i=+(g|0)*+((c[G>>2]|0)>>>0);break}if((y|0)<9){i=+(g|0)*+((c[G>>2]|0)>>>0)/+(c[56536+(8-y<<2)>>2]|0);break}a=e+27+(O(y,-3)|0)|0;b=c[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[56536+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[56536+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{D=G+(b<<2)|0;E=c[D>>2]|0;a=((E>>>0)/(p>>>0)|0)+n|0;c[D>>2]=a;n=O(q,(E>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=ON(c[p>>2]|0,0,29)|0;k=HN(k|0,z|0,m|0,0)|0;m=z;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=LN(k|0,m|0,1e9,0)|0;k=MN(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){p=0;while(1){n=p+y&127;if((n|0)==(k|0)){F=2;A=88;break}n=c[G+(n<<2)>>2]|0;o=c[56568+(p<<2)>>2]|0;if(n>>>0<o>>>0){F=2;A=88;break}if(n>>>0>o>>>0)break;n=p+1|0;if((p|0)<1)p=n;else{F=n;A=88;break}}if((A|0)==88?(A=0,q&(F|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<<v)+-1|0;u=1e9>>>v;p=0;n=y;o=y;do{D=G+(o<<2)|0;E=c[D>>2]|0;a=(E>>>v)+p|0;c[D>>2]=a;p=O(E&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=i*t;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+LJ(+IJ(1.0,105-n|0),j);r=+NJ(j,+IJ(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+NJ(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+B(+i)>=9007199254740992.0);b=b+((H^1)&1)|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(jJ()|0)>>2]=34}while(0);i=+MJ(i,b)}while(0);l=J;return +i}function mM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;e=c[h>>2]|0;i=a+100|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[i>>2]|0)!=0:0)c[h>>2]=(c[h>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[i>>2]|0)){f=-2147483648;e=0}else{c[h>>2]=(c[h>>2]|0)+-1;f=-2147483648;e=0}else{g=0;do{g=e+-48+(g*10|0)|0;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10)do{b=GN(g|0,b|0,10,0)|0;g=z;e=HN(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=HN(e|0,z|0,b|0,g|0)|0;b=z;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));if((e+-48|0)>>>0<10)do{e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0}while((e+-48|0)>>>0<10);if(c[i>>2]|0)c[h>>2]=(c[h>>2]|0)+-1;i=(f|0)!=0;e=IN(0,0,g|0,b|0)|0;f=i?z:b;e=i?e:g}z=f;return e|0}function nM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=ZJ(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;TN(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function oM(a,b,c){a=a|0;b=b|0;c=c|0;return pM(a,b,c)|0}function pM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(OK(a)|0)==0;b=qM(a,b,d)|0;if(!e)PK(a)}else b=qM(a,b,d)|0;return b|0}function qM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(bb[c[a+36>>2]&31](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((bb[c[a+40>>2]&31](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function rM(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(XJ(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(_J(b<<24>>24)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((_J(a[c>>0]|0)|0)!=0)}return (g|0?b:0-b|0)|0}function sM(a){a=a|0;return +(+tM(a,0))}function tM(a,b){a=a|0;b=b|0;return +(+uM(a,b,1))}function uM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;aK(h,0);e=+jM(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function vM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(O(g,d)|0)|0;f=ab[e&63](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function wM(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=GN((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=HN(d|0,z|0,e[c+6>>1]|0|0,0)|0;d=z;b[a>>1]=c;a=NN(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;z=d&65535;return c|0}function xM(a){a=a|0;TN(173876,58668,6)|0;TN(58668,a|0,6)|0;return 173876}function yM(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;xM(d)|0;l=c;return}function zM(a){a=a|0;var b=0;b=wM(a,58674)|0;b=ON(b|0,z|0,4)|0;a=z|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function AM(){return +(+zM(58668))}function BM(a,b){a=a|0;b=b|0;if(!a)b=$I(1,24)|0;else VN(b|0,0,24)|0;return b|0}function CM(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{_I(c[b>>2]|0);d=b;b=c[b+4>>2]|0;_I(d)}while((b|0)!=0);_I(a);return}function DM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=a+16|0;a:do if(!(c[h>>2]|0)){k=a+12|0;g=c[k>>2]|0;if(g>>>0<f>>>0){do if(b)if(!d){c[h>>2]=1;b=0;break a}else{h=a+8|0;c[h>>2]=d;g=1024;b=d;break}else{g=f<<3;g=g>>>0>1024?g:1024;j=ZI(8)|0;if(!j){c[h>>2]=1;b=0;break a}b=ZI(g)|0;c[j>>2]=b;d=b;if(!b){_I(j);c[h>>2]=1;b=0;break a}c[j+4>>2]=0;h=a+4|0;i=c[h>>2]|0;if(i|0)c[i+4>>2]=j;if(!(c[a>>2]|0))c[a>>2]=j;c[h>>2]=j;h=a+8|0;c[h>>2]=d}while(0);c[k>>2]=g}else{h=a+8|0;b=c[h>>2]|0;d=b}d=d+f&3;d=((d|0)==0?0:4-d|0)+f|0;c[h>>2]=b+d;c[k>>2]=g-d;if(e)VN(b|0,0,d|0)|0}else b=0;while(0);return b|0}function EM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;h=v;t=FM()|0;a:do if(!t)b=12;else{u=BM(0,0)|0;if(!u){GM(t);b=12;break}VN(h|0,0,36)|0;c[h>>2]=u;c[h+4>>2]=t;c[h+16>>2]=b;c[h+32>>2]=d;e=h+28|0;c[e>>2]=-1;b=HM(h)|0;b:do if(!b){g=h+20|0;r=c[g>>2]|0;c[a>>2]=r+-1;i=c[h+8>>2]|0;if((c[e>>2]|0)<(r|0)){r=$I(1,68)|0;if(r){q=(c[e>>2]|0)>>>31^1;c[r+60>>2]=q;c[r+64>>2]=0;c[r+28>>2]=c[g>>2];if((d&8|0)==0|(q|0)!=0){b=IM(0,t,i,r)|0;if(b|0){g=r;h=0;i=0;f=0;e=0;break}e=r+40|0;b=c[e>>2]|0;if((b|0)>0){b=ZI((b<<2)+4|0)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+32>>2]=b;VN(b|0,-1,(c[e>>2]<<2)+4|0)|0;f=b;b=c[e>>2]|0}else f=0;q=$I(b<<1|1,4)|0;c[r+36>>2]=q;if(!q){g=r;h=0;i=0;b=12;f=0;e=0;break}b=$I(c[g>>2]|0,12)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+16>>2]=b;b=IM(u,t,i,r)|0;if(!b)b=f;else{g=r;h=0;i=0;f=0;e=0;break}}else b=0;p=h+24|0;b=JM(u,t,i,p,b)|0;if(!b){b=c[p>>2]|0;c[p>>2]=b+1;b=KM(u,0,0,b)|0;if((b|0)!=0?(s=LM(u,i,b)|0,(s|0)!=0):0){b=MM(u,t,s)|0;if(!b){o=ZI(c[p>>2]<<2)|0;if(o){q=ZI(c[p>>2]<<2)|0;if(q){b=c[p>>2]|0;if((b|0)>0)VN(o|0,0,b<<2|0)|0;NM(s,0,o,0)|0;f=c[p>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;n=o+(e<<2)|0;b=b+1+(c[n>>2]|0)|0;c[n>>2]=0;e=e+1|0}while((e|0)<(f|0));k=b}else k=0;m=$I(k+1|0,32)|0;if(m){c[r>>2]=m;n=r+4|0;c[n>>2]=k;b=NM(s,m,o,q)|0;if(!b){c[r+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}j=$I(e,32)|0;if(!j){g=r;h=o;i=q;b=12;f=o;e=q}else{c[r+8>>2]=j;f=c[f>>2]|0;e=c[f>>2]|0;if((e|0)>-1){b=0;do{c[j+(b<<5)+8>>2]=m+(c[q+(e<<2)>>2]<<5);c[j+(b<<5)+12>>2]=e;h=j+(b<<5)+16|0;c[h>>2]=0;i=f+12|0;g=c[i>>2]|0;if(g|0){e=0;do{w=e;e=e+1|0}while((c[g+(w<<2)>>2]|0)>-1);e=e<<2;g=ZI(e)|0;c[h>>2]=g;if(!g){g=r;h=o;i=q;b=12;f=o;e=q;break b}TN(g|0,c[i>>2]|0,e|0)|0}c[j+(b<<5)+20>>2]=c[f+16>>2];b=b+1|0;f=f+32|0;e=c[f>>2]|0}while((e|0)>-1)}else b=0;c[j+(b<<5)+8>>2]=0;c[n>>2]=k;c[r+12>>2]=m+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[r+52>>2]=c[p>>2];c[r+56>>2]=d;CM(u);GM(t);_I(o);_I(q);c[a+4>>2]=r;b=0;break a}}else{g=r;h=o;i=q;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=0}}else{g=r;h=o;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);CM(u);GM(t);if(h|0)_I(f);if(i|0)_I(e);c[a+4>>2]=g;OM(a)}while(0);l=v;return b|0}function FM(){var a=0,b=0;a=ZI(20)|0;do if(a){b=ZI(2048)|0;c[a+16>>2]=b;if(!b){_I(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function GM(a){a=a|0;_I(c[a+16>>2]|0);_I(a);return}function HM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;p=u+4|0;q=u;r=c[b+32>>2]&1;s=b+16|0;e=c[s>>2]|0;t=c[b+4>>2]|0;d=SM(t,0)|0;a:do if(!d){m=(r|0)!=0;n=b+8|0;o=b+12|0;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(m){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=KM(c[b>>2]|0,-1,-1,-1)|0;c[n>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=fN(b,e)|0;if(d|0)break a;i=f;e=c[o>>2]|0}d:while(1){e:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!m)break e;switch(d<<24>>24){case 123:case 63:case 43:break;default:break e}}}d=d<<24>>24==92;if(m&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break e}e=d?f:e;if((!m?(e|0)==((c[s>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=gN(e+1|0,r,p,q)|0;if(!e){j=28;break b}d=c[q>>2]|0;f=c[b>>2]|0;if(!d)d=KM(f,-1,-1,-1)|0;else j=36}else{c[p>>2]=0;c[q>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[p>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[q>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=aN(f,c[n>>2]|0,c[p>>2]|0,d,0)|0}c[n>>2]=d;if(!d){d=12;break a}}d=LM(c[b>>2]|0,g,c[n>>2]|0)|0;f=a[e>>0]|0;f:do if(m){if(f<<24>>24==124){j=40;break d}if((h|0)!=0&f<<24>>24==41|f<<24>>24==0)j=47;else{g=d;f=i;continue c}}else{switch(f<<24>>24){case 0:{j=47;break f}case 92:break;default:{g=d;f=i;continue c}}switch(a[e+1>>0]|0){case 124:case 41:break;default:{g=d;f=i;continue c}}d=bN(c[b>>2]|0,i,d)|0;if((a[e+1>>0]|0)==124){f=2;break d}if(!h){d=8;break a}e=e+2|0;f=92}while(0);if((j|0)==47){j=0;d=bN(c[b>>2]|0,i,d)|0;e=f<<24>>24==41?e+1|0:e}d=hN(b,d,TM(t)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=50;break b}if(f|d){d=8;break a}g=UM(t)|0;h=h+-1|0;i=UM(t)|0}if((j|0)==40){f=1;d=bN(c[b>>2]|0,i,d)|0}g=0;e=e+f|0;f=d}d=RM(t,f)|0;if(d|0)break a;d=RM(t,g)|0;if(d|0)break a;d=SM(t,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=m?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==50){c[b+20>>2]=k;d=0;break}}while(0);l=u;return d|0}function IM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;x=QM(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}g=f+28|0;z=ZI((c[g>>2]<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=ZI((c[g>>2]<<2)+4|0)|0;if(!A){_I(z);g=12;break}c[A>>2]=-1;B=ZI((c[g>>2]<<3)+8|0)|0;if(!B){_I(z);_I(A);g=12;break}h=c[g>>2]|0;g=0;do{c[B+(g<<3)>>2]=-1;g=g+1|0}while(g>>>0<=h>>>0);RM(d,e)|0;g=SM(d,0)|0;a:do if((g|0)!=0|(QM(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(TM(d)|0){case 6:{i=TM(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=UM(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[(c[w>>2]|0)+(j*12|0)+8>>2]=0;if((g|0)>0){g=ZI((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[(c[w>>2]|0)+(j*12|0)+8>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=SM(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=SM(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=cN(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}dN(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=RM(d,q)|0;if(!g){g=SM(d,5)|0;if(!g){g=RM(d,j)|0;if(!g){g=SM(d,0)|0;if(!g){i=k+20|0;g=SM(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=t+(i&1)|0}else{g=-1;i=t}g=SM(d,g)|0;if(!g){g=SM(d,4)|0;if(!g){g=RM(d,k)|0;if(!g){p=i;g=SM(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=SM(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=SM(d,m)|0;if(g|0){p=t;o=s;break c}g=SM(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=RM(d,q)|0;if(!g){g=SM(d,1)|0;if(!g){g=RM(d,c[i>>2]|0)|0;if(!g){g=SM(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=cN(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}dN(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=SM(d,i?p:t)|0;if(!g){g=SM(d,i?t:m)|0;if(!g){g=RM(d,e)|0;if(!g){g=SM(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=RM(d,q)|0;if(!g){g=RM(d,j)|0;if(!g){g=RM(d,k)|0;if(!g){g=SM(d,3)|0;if(!g){g=RM(d,j)|0;if(!g){g=SM(d,0)|0;if(g|0){p=t;o=s;break c}g=SM(d,2)|0;if(g|0){p=t;o=s;break c}g=RM(d,k)|0;if(g|0){p=t;o=s;break c}g=SM(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=cN(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}dN(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=UM(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(TM(d)|0)+i;i=0;l=-1}else{q=TM(d)|0;r=TM(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=TM(d)|0;j=TM(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=UM(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=UM(d)|0;o=UM(d)|0;g=UM(d)|0;e=TM(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=UM(d)|0;i=TM(d)|0;k=TM(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=eN(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=eN(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(QM(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(dN(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;_I(z);_I(A);_I(B)}while(0);return g|0}function JM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;x=y+8|0;u=y+4|0;v=y;w=QM(b)|0;c[t>>2]=0;c[x>>2]=0;d=RM(b,d)|0;a:do if(!d){d=SM(b,0)|0;if(!d){b:do if((QM(b)|0)>(w|0)){g=0;i=0;j=0;c:while(1){q=TM(b)|0;r=UM(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[x>>2]|0)){d=j;break d}c[x>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=RM(b,c[h+4>>2]|0)|0;if(d|0)break b;d=SM(b,0)|0;if(d|0)break b;d=RM(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=RM(b,c[h+4>>2]|0)|0;if(d|0)break b;d=SM(b,0)|0;if(d|0)break b;d=RM(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=SM(b,j)|0;if(d|0)break b;d=RM(b,r)|0;if(d|0)break b;d=SM(b,1)|0;if(d|0)break b;d=RM(b,c[h>>2]|0)|0;if(d|0)break b;d=SM(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=SM(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=TM(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[u>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[u>>2]=0;s=30}e:do if((s|0)==30){d=$M(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,v,x)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[v>>2]|0;if(!h)h=d;else h=LM(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=$M(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,v,x)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=$M(a,b,c[o>>2]|0,0,t,0,u,x)|0;if(d|0)break c;j=aN(a,c[u>>2]|0,0,-1,0)|0;c[u>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;while(1){m=c[t>>2]|0;d=$M(a,b,c[o>>2]|0,0,t,0,v,x)|0;if(d|0){s=49;break c}if(!j){d=c[v>>2]|0;c[u>>2]=d}else{d=LM(a,c[v>>2]|0,j)|0;c[u>>2]=d}if(!d){d=12;s=49;break c}j=KM(a,-1,-1,-1)|0;if(!j){d=12;s=49;break c}j=bN(a,j,d)|0;c[u>>2]=j;if(!j){d=12;s=49;break c}k=k+1|0;if((k|0)>=(c[n>>2]|0)){d=m;break}}}else j=0;c[t>>2]=d;if(h){if(j){h=LM(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((QM(b)|0)>(w|0))j=d;else{d=0;break b}}break a}else{d=0;g=0}while(0);w=(c[e>>2]|0)+g|0;x=c[x>>2]|0;c[e>>2]=(x|0)>(w|0)?x:w}}while(0);l=y;return d|0}function KM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=DM(a,0,0,1,20)|0;a=_M(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function LM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=DM(a,0,0,1,8)|0;a=_M(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function MM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=QM(b)|0;d=RM(b,d)|0;a:do if(!d){d=SM(b,0)|0;if(!d)if((QM(b)|0)>(m|0)){b:while(1){h=TM(b)|0;i=UM(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=VM(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=VM(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=WM(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=WM(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=VM(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=VM(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=RM(b,i)|0;if(d|0)break a;d=SM(b,1)|0;if(d|0)break a;e=i+4|0;d=RM(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(d|0)break a;d=RM(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(!d)break c;else break a}case 1:{d=RM(b,i)|0;if(d|0)break a;d=SM(b,2)|0;if(d|0)break a;e=i+4|0;d=RM(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(d|0)break a;d=RM(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(!d)break c;else break a}case 2:{d=RM(b,i)|0;if(d|0)break a;d=SM(b,3)|0;if(d|0)break a;d=RM(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=XM(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=XM(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=YM(b,d,0,0,j)|0;if(d|0)break b;e=ZI((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=YM(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=XM(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;_I(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=YM(b,d,0,0,j)|0;if(d|0)break b;e=ZI((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=YM(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=XM(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;_I(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((QM(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)_I(e);else if((n|0)==52)_I(e)}else d=0}while(0);l=o;return d|0}function NM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=PM(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=NM(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=PM(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=NM(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function OM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h|0){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){_I(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){_I(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)_I(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)_I(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}_I(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){_I(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0<b>>>0)}_I(a)}a=c[h+32>>2]|0;if(a|0)_I(a);a=c[h+20>>2]|0;if(a|0)_I(a);a=c[h+36>>2]|0;if(a|0)_I(a);_I(h)}return}function PM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}l=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=l+8|0;if(!(c[h>>2]|0))break;else l=l+32|0}c[l+40>>2]=0;c[l>>2]=c[p>>2];c[l+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[l+12>>2]=o;h=c[s>>2]|0;e=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(c[t>>2]|0?8:0);i=l+20|0;c[i>>2]=e;j=c[u>>2]|0;if((j|0)>-1){c[i>>2]=e|256;h=j}c[l+24>>2]=h;e=c[t>>2]|0;if(!e)c[l+28>>2]=0;else{h=0;do{n=h;h=h+1|0}while((c[e+(n<<2)>>2]|0)!=0);h=ZI(h<<2)|0;c[l+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=l+16|0;i=c[j>>2]|0;if(i|0)_I(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=ZI((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}e=c[v>>2]|0;if((e|0)!=0?(w=c[e>>2]|0,(w|0)>-1):0){h=0;i=w;do{c[n+(h<<2)>>2]=i;h=h+1|0;i=c[e+(h<<2)>>2]|0}while((i|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=39;break}}}else y=39;while(0);if((y|0)==39){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function QM(a){a=a|0;return c[a+12>>2]|0}function RM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=ZM(a,e)|0;l=d;return b|0}function SM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=ZM(a,e)|0;l=d;return b|0}function TM(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function UM(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function VM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=DM(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function WM(a){a=a|0;a=DM(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function XM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)==0;if(o)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=DM(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;j=c[l>>2]|0;h=(j|0)==0;if(o&h)h=0;else{if(h)k=0;else{h=0;while(1)if((c[j+(h<<2)>>2]|0)>-1)h=h+1|0;else{k=h;break}}h=DM(a,0,0,0,(k+n<<2)+4|0)|0;if(!h){g=0;break a}if((k|0)>0){l=c[l>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else k=0;if(m){j=0;do{c[h+(j+k<<2)>>2]=c[e+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0));j=n}else j=0;c[h+(j+k<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];j=d+(m<<5)+12|0;h=c[j>>2]|0;if(!h)h=0;else{i=0;while(1)if((c[h+(i<<2)>>2]|0)>-1)i=i+1|0;else break;h=DM(a,0,0,0,(i<<2)+4|0)|0;if(!h){g=0;break a}if((i|0)>0){k=c[j>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function YM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=QM(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=RM(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((QM(a)|0)>(o|0))while(1){b=UM(a)|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=RM(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=RM(a,k)|0,g|0):0)break a;if((QM(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function ZM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=aJ(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];ZM(a,g)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}l=k;return d|0}function _M(a,b,d){a=a|0;b=b|0;d=d|0;a=DM(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function $M(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=QM(d)|0;RM(d,e)|0;e=SM(d,0)|0;a:do if(!e){q=(f&1|0)==0;p=(f&2|0)!=0;o=0;l=1;e=i;while(1){if((QM(d)|0)>(r|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(TM(d)|0){case 1:{i=7;break c}case 0:{e=UM(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((QM(d)|0)<=(r|0)){f=o;e=0;break a}}if((i|0)==7)e=UM(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=RM(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=SM(d,0)|0;if(e|0){f=o;break a}e=aN(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((QM(d)|0)>(r|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;i=c[m+8>>2]|0;f=c[m>>2]|0;e=c[m+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(q|(f|0)!=-3)if((f|0)==-3)if(p&(l|0)!=0){c[h+(e<<2)>>2]=1;f=-3;k=o;l=0}else{f=-3;k=o}else k=o;else{e=-1;f=-1;i=-1;k=o}else{i=(c[g>>2]|0)+i|0;k=o+1|0}e=KM(b,f,e,i)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((i|0)>(c[j>>2]|0)){c[j>>2]=i;f=n}else f=n}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=bN(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=RM(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=SM(d,0)|0;if(e|0){f=o;break a}e=RM(d,m+4|0)|0;if(e|0){f=o;break a}e=SM(d,1)|0;if(e|0){f=o;break a}e=RM(d,c[i>>2]|0)|0;if(e|0){f=o;break a}k=o;f=m;e=SM(d,0)|0}else if((i|0)==26){m=c[e+4>>2]|0;i=m+4|0;e=LM(b,c[m>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=RM(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=SM(d,0)|0;if(e|0){f=o;break a}e=RM(d,k)|0;if(e|0){f=o;break a}e=SM(d,1)|0;if(e|0){f=o;break a}e=RM(d,c[m>>2]|0)|0;if(e|0){f=o;break a}k=o;e=SM(d,0)|0}if(!e){o=k;e=f}else{f=k;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function aN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=DM(b,0,0,1,16)|0;b=_M(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function bN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=DM(a,0,0,1,8)|0;a=_M(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function cN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=DM(a,0,0,0,8)|0;if(((e|0)!=0?(d=KM(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=DM(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function dN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function eN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=DM(a,0,0,0,8)|0;if(((e|0)!=0?(d=KM(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=DM(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function fN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=jN(b,d+1|0)|0;break}case 92:{e=d+1|0;f=kN(e)|0;if(f|0){e=fN(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=KM(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=KM(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=KM(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=KM(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=lN(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=KM(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=KM(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=KM(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{e=c[b>>2]|0;g=b+24|0;f=c[g>>2]|0;c[g>>2]=f+1;if(h&4){f=KM(e,0,9,f)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=KM(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=bN(c[b>>2]|0,f,e)|0;else e=0}else e=KM(e,0,1114111,f)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=KM(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=KM(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=KM(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=UL(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((IK(c[j>>2]|0)|0)==0?(HK(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=lK(c[j>>2]|0)|0;g=lK(c[j>>2]|0)|0;f=b+24|0;g=KM(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=KK(c[j>>2]|0)|0;d=KK(c[j>>2]|0)|0;d=KM(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=bN(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=KM(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function gN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;b=iN(b,i)|0;if((a[b>>0]|0)==44){b=iN(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function hN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=KM(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=LM(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function iN(b,d){b=b|0;d=d|0;var e=0;c[d>>2]=-1;a:do if(_J(a[b>>0]|0)|0){c[d>>2]=0;e=0;do{c[d>>2]=(e*10|0)+-48+(a[b>>0]|0);b=b+1|0;if(!(_J(a[b>>0]|0)|0))break a;e=c[d>>2]|0}while((e|0)<=255)}while(0);return b|0}function jN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=ZI(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=mN(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){rL(c[r>>2]|0,c[h>>2]|0,4,41);d=oN(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=DM(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}TN(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){j=c[n+(k<<2)>>2]|0;g=c[j>>2]|0;h=j+4|0;i=c[h>>2]|0;do if(!p)if((g|0)>(d|0)){c[j>>2]=d;c[h>>2]=g+-1;d=i+1|0;q=14;break}else{j=i+1|0;d=(j|0)>=(d|0)?j:d;break}else q=14;while(0);if((q|0)==14){q=0;c[j+8>>2]=c[o>>2];c[j+16>>2]=f;j=_M(c[b>>2]|0,0,j)|0;e=bN(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);_I(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function kN(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[56576+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[56576+(b<<3)+4>>2]|0}function lN(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function mN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=UL(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}if((g|0)<13)g=g+1|0;else{s=16;break b}}TN(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=aL(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=UL(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=oN(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?(pN(e,m,g)|0)!=0:0){g=12;break a}}j=UL(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function nN(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function oN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=aJ(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=DM(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function pN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(HK(b)|0)){if(!(IK(b)|0)){b=b+1|0;break}f=KK(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((KK(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=lK(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((lK(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=oN(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function qN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=ZI(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=sN(i,b,g,f,k)|0;else a=rN(i,b,g,f,k)|0;if(!a)tN(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)_I(d)}l=n;return a|0}function rN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=l;l=l+16|0;T=V;c[T>>2]=0;o=e&1;R=e&2;S=a+56|0;n=c[S>>2]&4;U=BM(0,0)|0;a:do if(U){p=DM(U,0,0,0,32)|0;if(!p){CM(U);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;Q=a+40|0;e=c[Q>>2]|0;if(e){e=ZI(e<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=ZI(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}P=a+52|0;e=c[P>>2]|0;if(e){e=ZI(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}K=a+8|0;L=a+12|0;M=(d|0)==0;N=(d|0)!=0;O=a+32|0;J=(n|0)!=0;I=(o|0)==0;r=b;e=1;q=-1;v=-1;B=0;c:while(1){n=c[Q>>2]|0;if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!M){c[d+(o<<2)>>2]=-1;n=c[Q>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[P>>2]|0;if((n|0)>0)VN(g|0,0,n<<2|0)|0;G=e+q|0;e=UL(T,r,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=r+e|0;H=c[T>>2]|0;n=c[K>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[T>>2]|0,!((E|R|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(DK(B)|0){q=t;break d}o=c[T>>2]|0;if((o|0)==95)break;if(!(DK(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[T>>2]|0;if((o|0)==95){q=t;break}}else{E=(DK(B)|0)==0;o=c[T>>2]|0;if(E|(o|0)==95){q=t;break}}if(DK(o)|0){q=t;break}o=c[r>>2]|0}q=c[T>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x)o=1;else{o=(DK(B)|0)!=0;q=c[T>>2]|0}if((q|0)==95)if(o){q=t;break d}else break;else if(o^(DK(q)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[T>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(DK(B)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(DK(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=DM(U,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=DM(U,0,0,0,c[Q>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[Q>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=171;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=171}e:while(1){if((C|0)==79){if((w|0)==(c[L>>2]|0)){if((v|0)>=(s|0)){if(!(N&(v|0)==(s|0))){n=x;C=171;continue}n=c[Q>>2]|0;if(!(vN(n,c[O>>2]|0,j,d)|0)){n=x;C=171;continue}}else{if(M){v=s;n=x;C=171;continue}n=c[Q>>2]|0}if((n|0)>0)n=0;else{v=s;n=x;C=171;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[Q>>2]|0)){v=s;n=x;C=171;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;tN(o+1|0,m,c[S>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(VJ(b+E|0,r+-1|0,o)|0){n=x;C=171;continue}E=(o|0)==0;n=E&1;q=c[w+12>>2]|0;if(E?c[k+(q<<2)>>2]|0:0){n=x;C=171;continue}c[k+(q<<2)>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[T>>2]|0;n=UL(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[T>>2]|0;if(!q){n=x;C=171;continue}n=UL(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=171;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&I;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0<q>>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[T>>2]|0,!((x|R|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(DK(q)|0)break f;e=c[T>>2]|0;if((e|0)==95)break;if(!(DK(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[T>>2]|0;if((e|0)==95)break f}else{x=(DK(q)|0)==0;e=c[T>>2]|0;if(x|(e|0)==95)break f}if(DK(e)|0)break f;e=c[r>>2]|0}o=c[T>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(DK(q)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(DK(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[T>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(DK(q)|0)!=0;e=c[T>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(DK(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[S>>2]&2|0)break;if(!(CK(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[S>>2]&2))break;x=KK(q)|0;e=w+24|0;if(CK(x,c[e>>2]|0)|0)break;x=lK(q)|0;if(!(CK(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(uN(c[w+28>>2]|0,q,c[S>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=DM(U,0,0,0,32)|0;if(!e){C=145;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=DM(U,0,0,0,c[Q>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=152;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[Q>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=171;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==171){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[T>>2]=c[p+16>>2];q=c[Q>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[T>>2]|0)==0){C=180;break}c[T>>2]=H;r=F;q=G;B=H}if((C|0)==53){CM(U);if(j|0)_I(i);if(m|0)_I(h);if(!k){e=12;break a}_I(g);e=12;break a}else if((C|0)==60){CM(U);if(j|0)_I(i);if(m|0)_I(h);if(!k){e=12;break a}_I(g);e=12;break a}else if((C|0)==145){CM(U);if(j|0)_I(i);if(m|0)_I(h);if(!k){e=12;break a}_I(g);e=12;break a}else if((C|0)==152){CM(U);if(j|0)_I(i);if(m|0)_I(h);if(!k){e=12;break a}_I(g);e=12;break a}else if((C|0)==180){c[f>>2]=v;e=(n^1)&1;break}}while(0);CM(U);if(j|0)_I(i);if(m|0)_I(h);if(k)_I(g)}else e=12;while(0);l=V;return e|0}\nfunction sN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;T=W;c[T>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)N=0;else N=c[a+40>>2]|0;P=N<<2;i=a+52|0;e=c[i>>2]|0;h=e<<3;g=h+8|0;e=P+12+h+(g+(O(P,e)|0)<<1)|0;U=ZI(e)|0;if(!U)e=12;else{VN(U|0,0,e|0)|0;e=U+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;M=e&3;M=e+((M|0)==0?0:4-M|0)|0;e=M+h|0;g=e&3;i=c[i>>2]|0;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[M+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=UL(T,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;V=11}else{i=e;V=11}a:do if((V|0)==11){L=a+8|0;K=(j|0)!=0;E=(k|0)==0;F=(N|0)>0;G=a+12|0;H=(N|0)<1;I=a+44|0;J=a+32|0;C=a+36|0;D=(N|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=U;x=m;w=n;while(1){if((e|0)<0){a=c[L>>2]|0;k=a+8|0;b:do if(c[k>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=K&(h|0)==10;s=(u|0)<1&E;while(1){c:while(1){o=a+12|0;if((c[M+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=a+20|0;b=c[n>>2]|0;if(!b){V=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[T>>2]|0,!((B|Q|0)==0|K&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(DK(h)|0)break d;b=c[T>>2]|0;if((b|0)==95)break;if(!(DK(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[T>>2]|0;if((b|0)==95)break}else{B=(DK(h)|0)==0;b=c[T>>2]|0;if(B|(b|0)==95)break}if(DK(b)|0)break;b=c[n>>2]|0}m=c[T>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(DK(h)|0)!=0;m=c[T>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(DK(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){V=46;break c}b=c[T>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(DK(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(m){V=46;break c}else break;else if(m^(DK(b)|0)!=0)break;else{V=46;break c}}while(0);k=a+40|0;if(!(c[k>>2]|0))break b;else a=a+32|0}if((V|0)==46){V=0;c[g>>2]=c[k>>2];if(F)VN(c[g+4>>2]|0,-1,P|0)|0;k=c[a+16>>2]|0;if(k|0?(S=c[k>>2]|0,(S|0)>-1):0){m=g+4|0;b=S;do{if((b|0)<(N|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}k=(c[g>>2]|0)!=(c[G>>2]|0);if(k|H){j=k?j:1;e=k?e:u;k=g+4|0}else{k=g+4|0;j=c[k>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(N|0));j=1;e=u}B=c[o>>2]|0;c[M+(B<<3)>>2]=u;c[M+(B<<3)+4>>2]=k;g=g+8|0}k=a+40|0;if(!(c[k>>2]|0))break;else a=a+32|0}}while(0);c[g>>2]=0;g=c[T>>2]|0;if(!g)break;else h=g}else{if(D)break;h=c[T>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=UL(T,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[I>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[C>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){k=0;b=p;do{a=c[o+((k|1)<<2)>>2]|0;if((b|0)>=(N|0))break e;j=c[m>>2]|0;if((c[j+(a<<2)>>2]|0)==(c[d+(a<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;k=k+2|0;b=c[o+(k<<2)>>2]|0}while((b|0)>-1);k=m;V=75}else{k=m;j=c[m>>2]|0;V=75}while(0);if((V|0)==75){V=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[k>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}k=c[w>>2]|0;if(!k){k=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=K&(h|0)==10;u=(B|0)<1&E;q=w;a=A;g=y;while(1){b=k+8|0;if(c[b>>2]|0){p=q+4|0;o=a;n=b;while(1){f:do if((c[k>>2]|0)>>>0<=h>>>0?(c[k+4>>2]|0)>>>0>=h>>>0:0){m=k+20|0;a=c[m>>2]|0;do if(a|0){if(!((a&1|0)==0|u|v)){a=o;break f}if(a&2|0?(A=c[T>>2]|0,!((A|Q|0)==0|K&(A|0)==10)):0){a=o;break f}do if(a&16|0){if(s){a=o;break f}if(DK(h)|0){a=o;break f}a=c[T>>2]|0;if((a|0)==95)break;if(!(DK(a)|0)){a=o;break f}}while(0);a=c[m>>2]|0;if(a&32){if(s){a=c[T>>2]|0;if((a|0)==95){a=o;break f}}else{A=(DK(h)|0)==0;a=c[T>>2]|0;if(A|(a|0)==95){a=o;break f}}if(DK(a)|0){a=o;break f}a=c[m>>2]|0}b=c[T>>2]|0;do if((b|0)!=0&(r&(a&64|0)!=0)){if(s)a=1;else{a=(DK(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(a){a=o;break f}else break;else if(a^(DK(b)|0)!=0)break;else{a=o;break f}}while(0);do if(c[m>>2]&128|0){a=c[T>>2]|0;if(t|(a|0)==0){a=o;break f}if(s)b=1;else{b=(DK(h)|0)!=0;a=c[T>>2]|0}if((a|0)==95)if(b)break;else{a=o;break f}else if(b^(DK(a)|0)!=0){a=o;break f}else break}while(0);a=c[m>>2]|0;do if(a&4){if(c[R>>2]&2|0)break;if(!(CK(h,c[k+24>>2]|0)|0)){a=o;break f}a=c[m>>2]|0}while(0);do if(a&4|0){if(!(c[R>>2]&2))break;A=KK(h)|0;a=k+24|0;if(CK(A,c[a>>2]|0)|0)break;A=lK(h)|0;if(!(CK(A,c[a>>2]|0)|0)){a=o;break f}}while(0);if(!(c[m>>2]&8))break;if(uN(c[k+28>>2]|0,h,c[R>>2]&2)|0){a=o;break f}}while(0);if(F){b=c[p>>2]|0;a=0;do{c[o+(a<<2)>>2]=c[b+(a<<2)>>2];a=a+1|0}while((a|0)!=(N|0))}a=c[k+16>>2]|0;do if(a|0){b=c[a>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(N|0))c[o+(b<<2)>>2]=B;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}while(0);a=c[k+12>>2]|0;b=M+(a<<3)|0;if((c[b>>2]|0)>=(B|0)){a=c[M+(a<<3)+4>>2]|0;b=c[a>>2]|0;if(!(vN(N,c[J>>2]|0,o,b)|0)){a=o;break}c[a>>2]=o;if((c[n>>2]|0)!=(c[G>>2]|0)){a=b;break}if(F)e=0;else{j=1;a=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(N|0)){j=1;a=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[M+(a<<3)+4>>2]=x;do if((c[G>>2]|0)==(A|0)){if((e|0)==-1)if(F)e=0;else{e=B;j=1;break}else{if(!F)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(N|0));e=B;j=1}while(0);a=m;g=g+8|0}else a=o;while(0);n=k+40|0;if(!(c[n>>2]|0))break;else{k=k+32|0;o=a}}}q=q+8|0;k=c[q>>2]|0;if(!k){k=a;break}}}c[g>>2]=0;v=z;u=B;A=k;x=y}c[f>>2]=e;e=e>>>31}while(0);_I(U)}l=W;return e|0}function tN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0<a>>>0&j>>>0<n>>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0<a>>>0&d>>>0<n>>>0)}else d=0}else d=0;if(d>>>0<a>>>0)VN(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function uN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(CK(b,d)|0){d=1;break a}}else{e=lK(b)|0;if(CK(e,c[a>>2]|0)|0){d=1;break a}e=KK(b)|0;if(CK(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function vN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function wN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=O(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=OK(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0<k>>>0?i:k;TN(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(eK(f)|0)break;h=bb[c[i>>2]&31](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)PK(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)PK(f);return e|0}function xN(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(OK(a)|0)==0;a=yN(a)|0}else a=yN(a)|0;return a|0}function yN(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=bb[c[a+40>>2]&31](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function zN(a){a=a|0;(c[a+76>>2]|0)>-1?OK(a)|0:0;return c[a+60>>2]|0}function AN(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=134988;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){AL(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=iJ(Ba(5,g|0)|0)|0;if((f|0)>-1){j=4;break}if((b|0)<99)b=b+1|0;else{b=0;break}}if((j|0)==4){c[h>>2]=d;sa(10,h|0)|0;b=SL(f,135008)|0;if(!b){c[i>>2]=f;Da(6,i|0)|0;b=0}}l=k;return b|0}function BN(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(OK(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=dK(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=dK(a)|0;break}}while(0);return b|0}function CN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(OK(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=YL(d,b)|0;PK(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=YL(d,b)|0}while(0);return e|0}function DN(a){a=a|0;return xN(a)|0}function EN(){}function FN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=O(e,f)|0;d=a>>>16;a=(c>>>16)+(O(e,d)|0)|0;e=b>>>16;b=O(e,f)|0;return (z=(a>>>16)+(O(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function GN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=FN(e,f)|0;a=z;return (z=(O(b,f)|0)+(O(d,e)|0)+a|a&0,c|0|0)|0}function HN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function IN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function JN(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function KN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (z=n,f)|0}else{if(!g){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z=n,f)|0}g=h-1|0;if(g&h|0){i=(R(h|0)|0)+33-(R(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (z=o,p)|0}else{p=JN(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (z=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (z=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((JN(i|0)|0)>>>0);return (z=o,p)|0}g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (z=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=HN(m|0,l|0,-1,-1)|0;d=z;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;IN(k|0,d|0,e|0,n|0)|0;p=z;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=IN(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (z=o,p)|0}function LN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return KN(a,b,c,d,0)|0}function MN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;KN(a,b,d,e,f)|0;l=g;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function NN(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}z=0;return b>>>c-32|0}function ON(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}z=a<<c-32;return 0}function PN(a){a=a|0;return (a&255)<<8|a>>8&255|0}function QN(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function RN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;z=e;return d|0}f=f+1|0}e=e*2|0;d=aJ(d|0,8*(e+1|0)|0)|0;d=RN(a|0,b|0,d|0,e|0)|0;z=e;return d|0}function SN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function TN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return La(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function UN(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else TN(b,c,d)|0;return b|0}function VN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function WN(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){W()|0;ra(12);return -1}c[i>>2]=b;if((b|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=d;ra(12);return -1}return d|0}function XN(a){a=a|0;return +Ya[a&1]()}function YN(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +Za[a&7](+b,+c,+d)}function ZN(a){a=a|0;return _a[a&3]()|0}function _N(a,b){a=a|0;b=b|0;return $a[a&31](b|0)|0}function $N(a,b,c){a=a|0;b=b|0;c=c|0;return ab[a&63](b|0,c|0)|0}function aO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bb[a&31](b|0,c|0,d|0)|0}function bO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return cb[a&31](b|0,c|0,d|0,e|0)|0}function cO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return db[a&3](b|0,c|0,d|0,e|0,f|0)|0}function dO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return eb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function eO(a){a=a|0;fb[a&15]()}function fO(a,b){a=a|0;b=b|0;gb[a&127](b|0)}function gO(a,b,c){a=a|0;b=b|0;c=c|0;hb[a&31](b|0,c|0)}function hO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ib[a&127](b|0,c|0,d|0)}function iO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;jb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function jO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;kb[a&31](b|0,c|0,d|0,e|0)}function kO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;lb[a&7](b|0,c|0,d|0,e|0,f|0)}function lO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;mb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function mO(){S(0);return 0.0}function nO(a,b,c){a=+a;b=+b;c=+c;S(1);return 0.0}function oO(){S(2);return 0}function pO(a){a=a|0;S(3);return 0}function qO(a,b){a=a|0;b=b|0;S(4);return 0}function rO(a,b,c){a=a|0;b=b|0;c=c|0;S(5);return 0}function sO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(6);return 0}function tO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(7);return 0}function uO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(8);return 0}function vO(){S(9)}function wO(a){a=a|0;S(10)}function xO(a,b){a=a|0;b=b|0;S(11)}function yO(a,b,c){a=a|0;b=b|0;c=c|0;S(12)}function zO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;S(13)}function AO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(14)}function BO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(15)}function CO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(16)}\n\n// EMSCRIPTEN_END_FUNCS\nvar Ya=[mO,yA];var Za=[nO,Uu,Tu,Vu,Wu,nO,nO,nO];var _a=[oO,Fw,wx,oO];var $a=[pO,Rg,kg,Rn,Un,$B,aC,RD,SD,TD,UD,VD,WD,XD,YD,fJ,ub,or,ll,ol,Bw,Gw,nn,ww,co,NB,vw,SB,TB,NI,pO,pO];var ab=[qO,tn,Qn,Vn,yz,zz,qz,mz,Wy,mr,ag,Qg,rh,Vh,li,wk,uk,ml,pl,zq,yq,xq,Ds,Ts,Os,Ps,Ot,WL,CN,sA,uB,Im,wG,Pm,Rm,eo,OB,xJ,XE,JI,KI,nN,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO];var bb=[rO,Pl,Vl,Pn,Tn,gG,gJ,hJ,lJ,mJ,$K,_l,Xl,zL,uA,Ex,$C,GI,eM,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO];var cb=[sO,Nm,Np,Om,fn,vn,xn,In,Hn,Wn,_n,ao,yx,CC,AC,wE,iG,EG,DG,Ml,wA,sO,sO,sO,sO,sO,sO,sO,sO,sO,sO,sO];var db=[tO,un,Xy,rz];var eb=[uO,kI];var fb=[vO,xA,Cw,Dw,Ew,Iw,Jw,Kw,mG,vO,vO,vO,vO,vO,vO,vO];var gb=[wO,zb,Ab,Eb,Fb,Gb,_b,$b,xc,yc,zc,Ac,Bc,Cc,Dc,Pc,Qc,Tc,Uc,Vc,Wc,Xc,Yc,Zc,jd,kd,ld,nd,od,pd,qd,rd,sd,td,ud,Fd,Gd,Hd,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Td,ee,fe,ge,he,se,te,ue,we,Je,Ke,Le,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,cf,df,ef,ff,Jf,Ef,yn,Cy,Uy,Ey,Dy,oz,ay,dy,ZD,cE,xf,ql,lm,lG,UC,VB,zx,_I,FG,jI,EI,FI,LI,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO];var hb=[xO,Fc,Kc,$c,ed,Bd,Zd,ne,Ce,$e,mf,Xn,Yy,Az,sz,nz,Sy,Ty,wz,xz,aE,eE,bm,rs,Hw,MB,iI,HI,II,MI,OI,xO];var ib=[yO,Hb,Ib,Lb,wc,Ec,Gc,Jc,_c,ad,dd,wd,xd,Ad,Ud,Vd,Yd,ie,je,me,xe,ye,Be,We,Xe,_e,gf,hf,lf,bk,ck,dk,im,zn,$n,Jo,Op,js,Ev,xx,cy,mB,BC,zC,_D,$D,bE,dE,fE,hG,WH,VH,Bm,bn,oo,Ro,Uo,Aw,vA,Cx,QB,UB,XH,ZH,_H,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO];var jb=[zO,Ft,Gt,Ht,It,Jt,Kt,Lt,Mt,zO,zO,zO,zO,zO,zO,zO];var kb=[AO,Jb,Hc,bd,md,yd,Id,Wd,ke,ze,Me,Ye,jf,Af,zf,yf,wf,vf,uf,Zb,tf,sf,wn,Vy,pz,rL,PB,RB,AO,AO,AO,AO];var lb=[BO,Rc,vd,Cd,Sd,ve,nl,WB];var mb=[CO,Kb,Ic,cd,zd,Xd,le,Ae,Ze,kf,XB,CO,CO,CO,CO,CO];return{___errno_location:jJ,___muldi3:GN,___udivdi3:LN,___uremdi3:MN,_bitshift64Lshr:NN,_bitshift64Shl:ON,_dtdisc:Ll,_dtextract:Nl,_dtopen:Ql,_free:_I,_htons:eL,_i64Add:HN,_i64Subtract:IN,_llvm_bswap_i16:PN,_llvm_bswap_i32:QN,_malloc:ZI,_memalign:dJ,_memcpy:TN,_memmove:UN,_memset:VN,_realloc:aJ,_saveSetjmp:RN,_sbrk:WN,_testSetjmp:SN,_vizCreateFile:wb,_vizLastErrorMessage:vb,_vizRenderFromString:yb,_vizSetY_invert:xb,dynCall_d:XN,dynCall_dddd:YN,dynCall_i:ZN,dynCall_ii:_N,dynCall_iii:$N,dynCall_iiii:aO,dynCall_iiiii:bO,dynCall_iiiiii:cO,dynCall_iiiiiii:dO,dynCall_v:eO,dynCall_vi:fO,dynCall_vii:gO,dynCall_viii:hO,dynCall_viiiddi:iO,dynCall_viiii:jO,dynCall_viiiii:kO,dynCall_viiiiii:lO,establishStackSpace:qb,getTempRet0:tb,runPostSets:EN,setTempRet0:sb,setThrew:rb,stackAlloc:nb,stackRestore:pb,stackSave:ob}})\n\n\n// EMSCRIPTEN_END_ASM\n(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___errno_location=Module[\"___errno_location\"]=asm[\"___errno_location\"];var ___muldi3=Module[\"___muldi3\"]=asm[\"___muldi3\"];var ___udivdi3=Module[\"___udivdi3\"]=asm[\"___udivdi3\"];var ___uremdi3=Module[\"___uremdi3\"]=asm[\"___uremdi3\"];var _bitshift64Lshr=Module[\"_bitshift64Lshr\"]=asm[\"_bitshift64Lshr\"];var _bitshift64Shl=Module[\"_bitshift64Shl\"]=asm[\"_bitshift64Shl\"];var _dtdisc=Module[\"_dtdisc\"]=asm[\"_dtdisc\"];var _dtextract=Module[\"_dtextract\"]=asm[\"_dtextract\"];var _dtopen=Module[\"_dtopen\"]=asm[\"_dtopen\"];var _free=Module[\"_free\"]=asm[\"_free\"];var _htons=Module[\"_htons\"]=asm[\"_htons\"];var _i64Add=Module[\"_i64Add\"]=asm[\"_i64Add\"];var _i64Subtract=Module[\"_i64Subtract\"]=asm[\"_i64Subtract\"];var _llvm_bswap_i16=Module[\"_llvm_bswap_i16\"]=asm[\"_llvm_bswap_i16\"];var _llvm_bswap_i32=Module[\"_llvm_bswap_i32\"]=asm[\"_llvm_bswap_i32\"];var _malloc=Module[\"_malloc\"]=asm[\"_malloc\"];var _memalign=Module[\"_memalign\"]=asm[\"_memalign\"];var _memcpy=Module[\"_memcpy\"]=asm[\"_memcpy\"];var _memmove=Module[\"_memmove\"]=asm[\"_memmove\"];var _memset=Module[\"_memset\"]=asm[\"_memset\"];var _realloc=Module[\"_realloc\"]=asm[\"_realloc\"];var _saveSetjmp=Module[\"_saveSetjmp\"]=asm[\"_saveSetjmp\"];var _sbrk=Module[\"_sbrk\"]=asm[\"_sbrk\"];var _testSetjmp=Module[\"_testSetjmp\"]=asm[\"_testSetjmp\"];var _vizCreateFile=Module[\"_vizCreateFile\"]=asm[\"_vizCreateFile\"];var _vizLastErrorMessage=Module[\"_vizLastErrorMessage\"]=asm[\"_vizLastErrorMessage\"];var _vizRenderFromString=Module[\"_vizRenderFromString\"]=asm[\"_vizRenderFromString\"];var _vizSetY_invert=Module[\"_vizSetY_invert\"]=asm[\"_vizSetY_invert\"];var establishStackSpace=Module[\"establishStackSpace\"]=asm[\"establishStackSpace\"];var getTempRet0=Module[\"getTempRet0\"]=asm[\"getTempRet0\"];var runPostSets=Module[\"runPostSets\"]=asm[\"runPostSets\"];var setTempRet0=Module[\"setTempRet0\"]=asm[\"setTempRet0\"];var setThrew=Module[\"setThrew\"]=asm[\"setThrew\"];var stackAlloc=Module[\"stackAlloc\"]=asm[\"stackAlloc\"];var stackRestore=Module[\"stackRestore\"]=asm[\"stackRestore\"];var stackSave=Module[\"stackSave\"]=asm[\"stackSave\"];var dynCall_d=Module[\"dynCall_d\"]=asm[\"dynCall_d\"];var dynCall_dddd=Module[\"dynCall_dddd\"]=asm[\"dynCall_dddd\"];var dynCall_i=Module[\"dynCall_i\"]=asm[\"dynCall_i\"];var dynCall_ii=Module[\"dynCall_ii\"]=asm[\"dynCall_ii\"];var dynCall_iii=Module[\"dynCall_iii\"]=asm[\"dynCall_iii\"];var dynCall_iiii=Module[\"dynCall_iiii\"]=asm[\"dynCall_iiii\"];var dynCall_iiiii=Module[\"dynCall_iiiii\"]=asm[\"dynCall_iiiii\"];var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=asm[\"dynCall_iiiiii\"];var dynCall_iiiiiii=Module[\"dynCall_iiiiiii\"]=asm[\"dynCall_iiiiiii\"];var dynCall_v=Module[\"dynCall_v\"]=asm[\"dynCall_v\"];var dynCall_vi=Module[\"dynCall_vi\"]=asm[\"dynCall_vi\"];var dynCall_vii=Module[\"dynCall_vii\"]=asm[\"dynCall_vii\"];var dynCall_viii=Module[\"dynCall_viii\"]=asm[\"dynCall_viii\"];var dynCall_viiiddi=Module[\"dynCall_viiiddi\"]=asm[\"dynCall_viiiddi\"];var dynCall_viiii=Module[\"dynCall_viiii\"]=asm[\"dynCall_viiii\"];var dynCall_viiiii=Module[\"dynCall_viiiii\"]=asm[\"dynCall_viiiii\"];var dynCall_viiiiii=Module[\"dynCall_viiiiii\"]=asm[\"dynCall_viiiiii\"];Module[\"asm\"]=asm;Module[\"ccall\"]=ccall;Module[\"Pointer_stringify\"]=Pointer_stringify;Module[\"UTF8ToString\"]=UTF8ToString;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module[\"locateFile\"]===\"function\"){memoryInitializer=Module[\"locateFile\"](memoryInitializer)}else if(Module[\"memoryInitializerPrefixURL\"]){memoryInitializer=Module[\"memoryInitializerPrefixURL\"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module[\"readBinary\"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency(\"memory initializer\");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module[\"memoryInitializerRequest\"])delete Module[\"memoryInitializerRequest\"].response;removeRunDependency(\"memory initializer\")});function doBrowserLoad(){Module[\"readAsync\"](memoryInitializer,applyMemoryInitializer,(function(){throw\"could not load memory initializer \"+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module[\"memoryInitializerRequest\"]){function useRequest(){var request=Module[\"memoryInitializerRequest\"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module[\"memoryInitializerRequestURL\"]);if(data){response=data.buffer}else{console.warn(\"a problem seems to have happened with Module.memoryInitializerRequest, status: \"+request.status+\", retrying \"+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module[\"memoryInitializerRequest\"].response){setTimeout(useRequest,0)}else{Module[\"memoryInitializerRequest\"].addEventListener(\"load\",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};function run(args){args=args||Module[\"arguments\"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]&&status===0){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}if(ENVIRONMENT_IS_NODE){process[\"exit\"](status)}Module[\"quit\"](status,new ExitStatus(status))}Module[\"exit\"]=exit;function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;throw\"abort(\"+what+\"). Build with -s ASSERTIONS=1 for more info.\"}Module[\"abort\"]=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}Module[\"noExitRuntime\"]=true;run()\n\n\n\n\n  return Module;\n};\n\nfunction render(instance, src, options) {\n  var i;\n  for (i = 0; i < options.files.length; i++) {\n    instance['ccall']('vizCreateFile', 'number', ['string', 'string'], [options.files[i].path, options.files[i].data]);\n  }\n\n  instance['ccall']('vizSetY_invert', 'number', ['number'], [options.yInvert ? 1 : 0]);\n  \n  var resultPointer = instance['ccall']('vizRenderFromString', 'number', ['string', 'string', 'string'], [src, options.format, options.engine]);\n  var resultString = instance['Pointer_stringify'](resultPointer);\n  instance['ccall']('free', 'number', ['number'], [resultPointer]);\n\n  var errorMessagePointer = instance['ccall']('vizLastErrorMessage', 'number', [], []);\n  var errorMessageString = instance['Pointer_stringify'](errorMessagePointer);\n  instance['ccall']('free', 'number', ['number'], [errorMessagePointer]);\n\n  if (errorMessageString != '') {\n    throw new Error(errorMessageString);\n  }\n  \n  return resultString;\n}\n\nif (typeof importScripts === \"function\") {\n  var instance = Module();\n  \n  onmessage = function(event) {\n    var id = event.data.id;\n    var src = event.data.src;\n    var options = event.data.options;\n  \n    try {\n      var result = render(instance, src, options);\n      postMessage({ id: id, result: result });\n    } catch (error) {\n      postMessage({ id: id, error: { message: error.message, fileName: error.fileName, lineNumber: error.lineNumber } });\n    }\n  }\n}\n\nif (typeof exports === 'object' && typeof module !== 'undefined') {\n  module.exports = { render: render, Module: Module };\n} else if (typeof define === 'function' && define.amd) {\n  define(function() { return { render: render, Module: Module }; });\n}\n\nif (typeof global.Viz !== 'undefined') {\n  global.Viz.render = render;\n  global.Viz.Module = Module;\n}\n\n})(typeof self !== 'undefined' ? self : this);\n",
            "type": "application/javascript",
            "title": "$:/plugins/chanilino/viz/lite.render.js",
            "module-type": "library",
            "modifier": "chan",
            "modified": "20180705095419090",
            "creator": "chan",
            "created": "20180705095327496"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/gt6796c/mermaid-tw5/example": {
            "title": "$:/plugins/gt6796c/mermaid-tw5/example",
            "text": "See full examples from https://knsv.github.io/mermaid\n\nNotation\n\n```\ngraph LR;\n    A[a node with text]-->B(a node with rounded corners);\n    A--no links---C((a circle));\n    B-->D{a diamond};\n    C==>|arrow and text|D;\n    C-. back to.->A;\n```\nResults\n\n<$mermaid text=\"\ngraph LR;\n    A[a node with text]-->B(a node with rounded corners);\n    A--no links---C((a circle));\n    B-->D{a diamond};\n    C==>|arrow and text|D;\n    C-. back to.->A;\">\n</$mermaid>\n\nMore advanced usage is possible if you use the mermaid parser rather than the ``<$mermaid>``. Below are two more examples from the [[mermaid.js website|https://knsv.github.io/mermaid/#mermaid]]\n\n* [[Gant Chart |$:/plugins/gt6796c/mermaid-tw5/gant]]\n* [[Sequence Diagram |$:/plugins/gt6796c/mermaid-tw5/seq]]\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/mermaidAPI.js": {
            "type": "application/javascript",
            "title": "$:/plugins/gt6796c/mermaid-tw5/mermaidAPI.js",
            "module-type": "library",
            "text": "(function(document) {\n!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var n;\"undefined\"!=typeof window?n=window:\"undefined\"!=typeof global?n=global:\"undefined\"!=typeof self&&(n=self),n.mermaidAPI=t()}}(function(){var define,module,exports;return function t(n,e,r){function i(u,o){if(!e[u]){if(!n[u]){var s=\"function\"==typeof require&&require;if(!o&&s)return s(u,!0);if(a)return a(u,!0);var c=new Error(\"Cannot find module '\"+u+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var l=e[u]={exports:{}};n[u][0].call(l.exports,function(t){var e=n[u][1][t];return i(e?e:t)},l,l.exports,t,n,e,r)}return e[u].exports}for(var a=\"function\"==typeof require&&require,u=0;u<r.length;u++)i(r[u]);return i}({1:[function(){},{}],2:[function(t,n){!function(){function t(t){return t&&(t.ownerDocument||t.document||t).documentElement}function e(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function r(t,n){return n>t?-1:t>n?1:t>=n?0:0/0}function i(t){return null===t?0/0:+t}function a(t){return!isNaN(t)}function u(t){return{left:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);i>r;){var a=r+i>>>1;t(n[a],e)<0?r=a+1:i=a}return r},right:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);i>r;){var a=r+i>>>1;t(n[a],e)>0?i=a:r=a+1}return r}}}function o(t){return t.length}function s(t){for(var n=1;t*n%1;)n*=10;return n}function c(t,n){for(var e in n)Object.defineProperty(t.prototype,e,{value:n[e],enumerable:!1})}function l(){this._=Object.create(null)}function h(t){return(t+=\"\")===gu||t[0]===yu?yu+t:t}function f(t){return(t+=\"\")[0]===yu?t.slice(1):t}function d(t){return h(t)in this._}function p(t){return(t=h(t))in this._&&delete this._[t]}function g(){var t=[];for(var n in this._)t.push(f(n));return t}function y(){var t=0;for(var n in this._)++t;return t}function m(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function _(t){return t}function b(t,n,e){return function(){var r=e.apply(n,arguments);return r===n?t:r}}function x(t,n){if(n in t)return n;n=n.charAt(0).toUpperCase()+n.slice(1);for(var e=0,r=mu.length;r>e;++e){var i=mu[e]+n;if(i in t)return i}}function w(){}function A(){}function k(t){function n(){for(var n,r=e,i=-1,a=r.length;++i<a;)(n=r[i].on)&&n.apply(this,arguments);return t}var e=[],r=new l;return n.on=function(n,i){var a,u=r.get(n);return arguments.length<2?u&&u.on:(u&&(u.on=null,e=e.slice(0,a=e.indexOf(u)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function E(){eu.event.preventDefault()}function M(){for(var t,n=eu.event;t=n.sourceEvent;)n=t;return n}function S(t){for(var n=new A,e=0,r=arguments.length;++e<r;)n[arguments[e]]=k(n);return n.of=function(e,r){return function(i){try{var a=i.sourceEvent=eu.event;i.target=t,eu.event=i,n[i.type].apply(e,r)}finally{eu.event=a}}},n}function D(t){return _u(t,Au),t}function C(t){return\"function\"==typeof t?t:function(){return bu(t,this)}}function T(t){return\"function\"==typeof t?t:function(){return xu(t,this)}}function F(t,n){function e(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,n)}function a(){this.setAttributeNS(t.space,t.local,n)}function u(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}function o(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}return t=eu.ns.qualify(t),null==n?t.local?r:e:\"function\"==typeof n?t.local?o:u:t.local?a:i}function O(t){return t.trim().replace(/\\s+/g,\" \")}function L(t){return new RegExp(\"(?:^|\\\\s+)\"+eu.requote(t)+\"(?:\\\\s+|$)\",\"g\")}function I(t){return(t+\"\").trim().split(/^|\\s+/)}function B(t,n){function e(){for(var e=-1;++e<i;)t[e](this,n)}function r(){for(var e=-1,r=n.apply(this,arguments);++e<i;)t[e](this,r)}t=I(t).map(N);var i=t.length;return\"function\"==typeof n?r:e}function N(t){var n=L(t);return function(e,r){if(i=e.classList)return r?i.add(t):i.remove(t);var i=e.getAttribute(\"class\")||\"\";r?(n.lastIndex=0,n.test(i)||e.setAttribute(\"class\",O(i+\" \"+t))):e.setAttribute(\"class\",O(i.replace(n,\" \")))}}function P(t,n,e){function r(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,n,e)}function a(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}return null==n?r:\"function\"==typeof n?a:i}function R(t,n){function e(){delete this[t]}function r(){this[t]=n}function i(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}return null==n?e:\"function\"==typeof n?i:r}function j(t){function n(){var n=this.ownerDocument,e=this.namespaceURI;return e?n.createElementNS(e,t):n.createElement(t)}function e(){return this.ownerDocument.createElementNS(t.space,t.local)}return\"function\"==typeof t?t:(t=eu.ns.qualify(t)).local?e:n}function Y(){var t=this.parentNode;t&&t.removeChild(this)}function U(t){return{__data__:t}}function $(t){return function(){return wu(this,t)}}function W(t){return arguments.length||(t=r),function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}}function z(t,n){for(var e=0,r=t.length;r>e;e++)for(var i,a=t[e],u=0,o=a.length;o>u;u++)(i=a[u])&&n(i,u,e);return t}function q(t){return _u(t,Eu),t}function G(t){var n,e;return function(r,i,a){var u,o=t[a].update,s=o.length;for(a!=e&&(e=a,n=0),i>=n&&(n=i+1);!(u=o[n])&&++n<s;);return u}}function H(t,n,e){function r(){var n=this[u];n&&(this.removeEventListener(t,n,n.$),delete this[u])}function i(){var i=s(n,iu(arguments));r.call(this),this.addEventListener(t,this[u]=i,i.$=e),i._=n}function a(){var n,e=new RegExp(\"^__on([^.]+)\"+eu.requote(t)+\"$\");for(var r in this)if(n=r.match(e)){var i=this[r];this.removeEventListener(n[1],i,i.$),delete this[r]}}var u=\"__on\"+t,o=t.indexOf(\".\"),s=V;o>0&&(t=t.slice(0,o));var c=Mu.get(t);return c&&(t=c,s=Z),o?n?i:r:n?w:a}function V(t,n){return function(e){var r=eu.event;eu.event=e,n[0]=this.__data__;try{t.apply(this,n)}finally{eu.event=r}}}function Z(t,n){var e=V(t,n);return function(t){var n=this,r=t.relatedTarget;r&&(r===n||8&r.compareDocumentPosition(n))||e.call(n,t)}}function X(n){var r=\".dragsuppress-\"+ ++Du,i=\"click\"+r,a=eu.select(e(n)).on(\"touchmove\"+r,E).on(\"dragstart\"+r,E).on(\"selectstart\"+r,E);if(null==Su&&(Su=\"onselectstart\"in n?!1:x(n.style,\"userSelect\")),Su){var u=t(n).style,o=u[Su];u[Su]=\"none\"}return function(t){if(a.on(r,null),Su&&(u[Su]=o),t){var n=function(){a.on(i,null)};a.on(i,function(){E(),n()},!0),setTimeout(n,0)}}}function K(t,n){n.changedTouches&&(n=n.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Cu){var a=e(t);if(a.scrollX||a.scrollY){r=eu.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var u=r[0][0].getScreenCTM();Cu=!(u.f||u.e),r.remove()}}return Cu?(i.x=n.pageX,i.y=n.pageY):(i.x=n.clientX,i.y=n.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var o=t.getBoundingClientRect();return[n.clientX-o.left-t.clientLeft,n.clientY-o.top-t.clientTop]}function Q(){return eu.event.changedTouches[0].identifier}function J(t){return t>0?1:0>t?-1:0}function tt(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function nt(t){return t>1?0:-1>t?Ou:Math.acos(t)}function et(t){return t>1?Bu:-1>t?-Bu:Math.asin(t)}function rt(t){return((t=Math.exp(t))-1/t)/2}function it(t){return((t=Math.exp(t))+1/t)/2}function at(t){return((t=Math.exp(2*t))-1)/(t+1)}function ut(t){return(t=Math.sin(t/2))*t}function ot(){}function st(t,n,e){return this instanceof st?(this.h=+t,this.s=+n,void(this.l=+e)):arguments.length<2?t instanceof st?new st(t.h,t.s,t.l):wt(\"\"+t,At,st):new st(t,n,e)}function ct(t,n,e){function r(t){return t>360?t-=360:0>t&&(t+=360),60>t?a+(u-a)*t/60:180>t?u:240>t?a+(u-a)*(240-t)/60:a}function i(t){return Math.round(255*r(t))}var a,u;return t=isNaN(t)?0:(t%=360)<0?t+360:t,n=isNaN(n)?0:0>n?0:n>1?1:n,e=0>e?0:e>1?1:e,u=.5>=e?e*(1+n):e+n-e*n,a=2*e-u,new vt(i(t+120),i(t),i(t-120))}function lt(t,n,e){return this instanceof lt?(this.h=+t,this.c=+n,void(this.l=+e)):arguments.length<2?t instanceof lt?new lt(t.h,t.c,t.l):t instanceof ft?pt(t.l,t.a,t.b):pt((t=kt((t=eu.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new lt(t,n,e)}function ht(t,n,e){return isNaN(t)&&(t=0),isNaN(n)&&(n=0),new ft(e,Math.cos(t*=Nu)*n,Math.sin(t)*n)}function ft(t,n,e){return this instanceof ft?(this.l=+t,this.a=+n,void(this.b=+e)):arguments.length<2?t instanceof ft?new ft(t.l,t.a,t.b):t instanceof lt?ht(t.h,t.c,t.l):kt((t=vt(t)).r,t.g,t.b):new ft(t,n,e)}function dt(t,n,e){var r=(t+16)/116,i=r+n/500,a=r-e/200;return i=gt(i)*Hu,r=gt(r)*Vu,a=gt(a)*Zu,new vt(mt(3.2404542*i-1.5371385*r-.4985314*a),mt(-.969266*i+1.8760108*r+.041556*a),mt(.0556434*i-.2040259*r+1.0572252*a))}function pt(t,n,e){return t>0?new lt(Math.atan2(e,n)*Pu,Math.sqrt(n*n+e*e),t):new lt(0/0,0/0,t)}function gt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function yt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function mt(t){return Math.round(255*(.00304>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function vt(t,n,e){return this instanceof vt?(this.r=~~t,this.g=~~n,void(this.b=~~e)):arguments.length<2?t instanceof vt?new vt(t.r,t.g,t.b):wt(\"\"+t,vt,ct):new vt(t,n,e)}function _t(t){return new vt(t>>16,t>>8&255,255&t)}function bt(t){return _t(t)+\"\"}function xt(t){return 16>t?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function wt(t,n,e){t=t.toLowerCase();var r,i,a,u=0,o=0,s=0;if(r=/([a-z]+)\\((.*)\\)/.exec(t))switch(i=r[2].split(\",\"),r[1]){case\"hsl\":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return n(Mt(i[0]),Mt(i[1]),Mt(i[2]))}return(a=Qu.get(t))?n(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(u=(3840&a)>>4,u=u>>4|u,o=240&a,o=o>>4|o,s=15&a,s=s<<4|s):7===t.length&&(u=(16711680&a)>>16,o=(65280&a)>>8,s=255&a)),n(u,o,s))}function At(t,n,e){var r,i,a=Math.min(t/=255,n/=255,e/=255),u=Math.max(t,n,e),o=u-a,s=(u+a)/2;return o?(i=.5>s?o/(u+a):o/(2-u-a),r=t==u?(n-e)/o+(e>n?6:0):n==u?(e-t)/o+2:(t-n)/o+4,r*=60):(r=0/0,i=s>0&&1>s?0:r),new st(r,i,s)}function kt(t,n,e){t=Et(t),n=Et(n),e=Et(e);var r=yt((.4124564*t+.3575761*n+.1804375*e)/Hu),i=yt((.2126729*t+.7151522*n+.072175*e)/Vu),a=yt((.0193339*t+.119192*n+.9503041*e)/Zu);return ft(116*i-16,500*(r-i),200*(i-a))}function Et(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Mt(t){var n=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*n):n}function St(t){return\"function\"==typeof t?t:function(){return t}}function Dt(t){return function(n,e,r){return 2===arguments.length&&\"function\"==typeof e&&(r=e,e=null),Ct(n,e,t,r)}}function Ct(t,n,e,r){function i(){var t,n=s.status;if(!n&&Ft(s)||n>=200&&300>n||304===n){try{t=e.call(a,s)}catch(r){return void u.error.call(a,r)}u.load.call(a,t)}else u.error.call(a,s)}var a={},u=eu.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),o={},s=new XMLHttpRequest,c=null;return!this.XDomainRequest||\"withCredentials\"in s||!/^(http(s)?:)?\\/\\//.test(t)||(s=new XDomainRequest),\"onload\"in s?s.onload=s.onerror=i:s.onreadystatechange=function(){s.readyState>3&&i()},s.onprogress=function(t){var n=eu.event;eu.event=t;try{u.progress.call(a,s)}finally{eu.event=n}},a.header=function(t,n){return t=(t+\"\").toLowerCase(),arguments.length<2?o[t]:(null==n?delete o[t]:o[t]=n+\"\",a)},a.mimeType=function(t){return arguments.length?(n=null==t?null:t+\"\",a):n},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return e=t,a},[\"get\",\"post\"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(iu(arguments)))}}),a.send=function(e,r,i){if(2===arguments.length&&\"function\"==typeof r&&(i=r,r=null),s.open(e,t,!0),null==n||\"accept\"in o||(o.accept=n+\",*/*\"),s.setRequestHeader)for(var l in o)s.setRequestHeader(l,o[l]);return null!=n&&s.overrideMimeType&&s.overrideMimeType(n),null!=c&&(s.responseType=c),null!=i&&a.on(\"error\",i).on(\"load\",function(t){i(null,t)}),u.beforesend.call(a,s),s.send(null==r?null:r),a},a.abort=function(){return s.abort(),a},eu.rebind(a,u,\"on\"),null==r?a:a.get(Tt(r))}function Tt(t){return 1===t.length?function(n,e){t(null==n?e:null)}:t}function Ft(t){var n=t.responseType;return n&&\"text\"!==n?t.response:t.responseText}function Ot(){var t=Lt(),n=It()-t;n>24?(isFinite(n)&&(clearTimeout(eo),eo=setTimeout(Ot,n)),no=0):(no=1,io(Ot))}function Lt(){var t=Date.now();for(ro=Ju;ro;)t>=ro.t&&(ro.f=ro.c(t-ro.t)),ro=ro.n;return t}function It(){for(var t,n=Ju,e=1/0;n;)n.f?n=t?t.n=n.n:Ju=n.n:(n.t<e&&(e=n.t),n=(t=n).n);return to=t,e}function Bt(t,n){return n-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Nt(t,n){var e=Math.pow(10,3*pu(8-n));return{scale:n>8?function(t){return t/e}:function(t){return t*e},symbol:t}}function Pt(t){var n=t.decimal,e=t.thousands,r=t.grouping,i=t.currency,a=r&&e?function(t,n){for(var i=t.length,a=[],u=0,o=r[0],s=0;i>0&&o>0&&(s+o+1>n&&(o=Math.max(1,n-s)),a.push(t.substring(i-=o,i+o)),!((s+=o+1)>n));)o=r[u=(u+1)%r.length];return a.reverse().join(e)}:_;return function(t){var e=uo.exec(t),r=e[1]||\" \",u=e[2]||\">\",o=e[3]||\"-\",s=e[4]||\"\",c=e[5],l=+e[6],h=e[7],f=e[8],d=e[9],p=1,g=\"\",y=\"\",m=!1,v=!0;switch(f&&(f=+f.substring(1)),(c||\"0\"===r&&\"=\"===u)&&(c=r=\"0\",u=\"=\"),d){case\"n\":h=!0,d=\"g\";break;case\"%\":p=100,y=\"%\",d=\"f\";break;case\"p\":p=100,y=\"%\",d=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===s&&(g=\"0\"+d.toLowerCase());case\"c\":v=!1;case\"d\":m=!0,f=0;break;case\"s\":p=-1,d=\"r\"}\"$\"===s&&(g=i[0],y=i[1]),\"r\"!=d||f||(d=\"g\"),null!=f&&(\"g\"==d?f=Math.max(1,Math.min(21,f)):(\"e\"==d||\"f\"==d)&&(f=Math.max(0,Math.min(20,f)))),d=oo.get(d)||Rt;var _=c&&h;return function(t){var e=y;if(m&&t%1)return\"\";var i=0>t||0===t&&0>1/t?(t=-t,\"-\"):\"-\"===o?\"\":o;if(0>p){var s=eu.formatPrefix(t,f);t=s.scale(t),e=s.symbol+y}else t*=p;t=d(t,f);var b,x,w=t.lastIndexOf(\".\");if(0>w){var A=v?t.lastIndexOf(\"e\"):-1;0>A?(b=t,x=\"\"):(b=t.substring(0,A),x=t.substring(A))}else b=t.substring(0,w),x=n+t.substring(w+1);!c&&h&&(b=a(b,1/0));var k=g.length+b.length+x.length+(_?0:i.length),E=l>k?new Array(k=l-k+1).join(r):\"\";return _&&(b=a(E+b,E.length?l-x.length:1/0)),i+=g,t=b+x,(\"<\"===u?i+t+E:\">\"===u?E+i+t:\"^\"===u?E.substring(0,k>>=1)+i+t+E.substring(k):i+(_?t:E+t))+e}}}function Rt(t){return t+\"\"}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Yt(t,n,e){function r(n){var e=t(n),r=a(e,1);return r-n>n-e?e:r}function i(e){return n(e=t(new co(e-1)),1),e}function a(t,e){return n(t=new co(+t),e),t}function u(t,r,a){var u=i(t),o=[];if(a>1)for(;r>u;)e(u)%a||o.push(new Date(+u)),n(u,1);else for(;r>u;)o.push(new Date(+u)),n(u,1);return o}function o(t,n,e){try{co=jt;var r=new jt;return r._=t,u(r,n,e)}finally{co=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=a,t.range=u;var s=t.utc=Ut(t);return s.floor=s,s.round=Ut(r),s.ceil=Ut(i),s.offset=Ut(a),s.range=o,t}function Ut(t){return function(n,e){try{co=jt;var r=new jt;return r._=n,t(r,e)._}finally{co=Date}}}function $t(t){function n(t){function n(n){for(var e,i,a,u=[],o=-1,s=0;++o<r;)37===t.charCodeAt(o)&&(u.push(t.slice(s,o)),null!=(i=ho[e=t.charAt(++o)])&&(e=t.charAt(++o)),(a=D[e])&&(e=a(n,null==i?\"e\"===e?\" \":\"0\":i)),u.push(e),s=o+1);return u.push(t.slice(s,o)),u.join(\"\")}var r=t.length;return n.parse=function(n){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=e(r,t,n,0);if(i!=n.length)return null;\"p\"in r&&(r.H=r.H%12+12*r.p);var a=null!=r.Z&&co!==jt,u=new(a?jt:co);return\"j\"in r?u.setFullYear(r.y,0,r.j):\"w\"in r&&(\"W\"in r||\"U\"in r)?(u.setFullYear(r.y,0,1),u.setFullYear(r.y,0,\"W\"in r?(r.w+6)%7+7*r.W-(u.getDay()+5)%7:r.w+7*r.U-(u.getDay()+6)%7)):u.setFullYear(r.y,r.m,r.d),u.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),a?u._:u},n.toString=function(){return t},n}function e(t,n,e,r){for(var i,a,u,o=0,s=n.length,c=e.length;s>o;){if(r>=c)return-1;if(i=n.charCodeAt(o++),37===i){if(u=n.charAt(o++),a=C[u in ho?n.charAt(o++):u],!a||(r=a(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(t,n,e){w.lastIndex=0;var r=w.exec(n.slice(e));return r?(t.w=A.get(r[0].toLowerCase()),e+r[0].length):-1}function i(t,n,e){b.lastIndex=0;var r=b.exec(n.slice(e));return r?(t.w=x.get(r[0].toLowerCase()),e+r[0].length):-1}function a(t,n,e){M.lastIndex=0;var r=M.exec(n.slice(e));return r?(t.m=S.get(r[0].toLowerCase()),e+r[0].length):-1}function u(t,n,e){k.lastIndex=0;var r=k.exec(n.slice(e));return r?(t.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function o(t,n,r){return e(t,D.c.toString(),n,r)}function s(t,n,r){return e(t,D.x.toString(),n,r)}function c(t,n,r){return e(t,D.X.toString(),n,r)}function l(t,n,e){var r=_.get(n.slice(e,e+=2).toLowerCase());return null==r?-1:(t.p=r,e)}var h=t.dateTime,f=t.date,d=t.time,p=t.periods,g=t.days,y=t.shortDays,m=t.months,v=t.shortMonths;n.utc=function(t){function e(t){try{co=jt;var n=new co;return n._=t,r(n)}finally{co=Date}}var r=n(t);return e.parse=function(t){try{co=jt;var n=r.parse(t);return n&&n._}finally{co=Date}},e.toString=r.toString,e},n.multi=n.utc.multi=cn;var _=eu.map(),b=zt(g),x=qt(g),w=zt(y),A=qt(y),k=zt(m),E=qt(m),M=zt(v),S=qt(v);p.forEach(function(t,n){_.set(t.toLowerCase(),n)});var D={a:function(t){return y[t.getDay()]},A:function(t){return g[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:n(h),d:function(t,n){return Wt(t.getDate(),n,2)},e:function(t,n){return Wt(t.getDate(),n,2)},H:function(t,n){return Wt(t.getHours(),n,2)},I:function(t,n){return Wt(t.getHours()%12||12,n,2)},j:function(t,n){return Wt(1+so.dayOfYear(t),n,3)},L:function(t,n){return Wt(t.getMilliseconds(),n,3)},m:function(t,n){return Wt(t.getMonth()+1,n,2)},M:function(t,n){return Wt(t.getMinutes(),n,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,n){return Wt(t.getSeconds(),n,2)},U:function(t,n){return Wt(so.sundayOfYear(t),n,2)},w:function(t){return t.getDay()},W:function(t,n){return Wt(so.mondayOfYear(t),n,2)},x:n(f),X:n(d),y:function(t,n){return Wt(t.getFullYear()%100,n,2)},Y:function(t,n){return Wt(t.getFullYear()%1e4,n,4)},Z:on,\"%\":function(){return\"%\"}},C={a:r,A:i,b:a,B:u,c:o,d:tn,e:tn,H:en,I:en,j:nn,L:un,m:Jt,M:rn,p:l,S:an,U:Ht,w:Gt,W:Vt,x:s,X:c,y:Xt,Y:Zt,Z:Kt,\"%\":sn};return n}function Wt(t,n,e){var r=0>t?\"-\":\"\",i=(r?-t:t)+\"\",a=i.length;return r+(e>a?new Array(e-a+1).join(n)+i:i)}function zt(t){return new RegExp(\"^(?:\"+t.map(eu.requote).join(\"|\")+\")\",\"i\")}function qt(t){for(var n=new l,e=-1,r=t.length;++e<r;)n.set(t[e].toLowerCase(),e);return n}function Gt(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function Ht(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e));return r?(t.U=+r[0],e+r[0].length):-1}function Vt(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e));return r?(t.W=+r[0],e+r[0].length):-1}function Zt(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Xt(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+2));return r?(t.y=Qt(+r[0]),e+r[0].length):-1}function Kt(t,n,e){return/^[+-]\\d{4}$/.test(n=n.slice(e,e+5))?(t.Z=-n,e+5):-1}function Qt(t){return t+(t>68?1900:2e3)}function Jt(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function tn(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function nn(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+3));return r?(t.j=+r[0],e+r[0].length):-1}function en(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function rn(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function an(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function un(t,n,e){fo.lastIndex=0;var r=fo.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function on(t){var n=t.getTimezoneOffset(),e=n>0?\"-\":\"+\",r=pu(n)/60|0,i=pu(n)%60;return e+Wt(r,\"0\",2)+Wt(i,\"0\",2)}function sn(t,n,e){po.lastIndex=0;var r=po.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function cn(t){for(var n=t.length,e=-1;++e<n;)t[e][0]=this(t[e][0]);return function(n){for(var e=0,r=t[e];!r[1](n);)r=t[++e];return r[0](n)}}function ln(){}function hn(t,n,e){var r=e.s=t+n,i=r-t,a=r-i;e.t=t-a+(n-i)}function fn(t,n){t&&vo.hasOwnProperty(t.type)&&vo[t.type](t,n)}function dn(t,n,e){var r,i=-1,a=t.length-e;for(n.lineStart();++i<a;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function pn(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)dn(t[e],n,1);n.polygonEnd()}function gn(){function t(t,n){t*=Nu,n=n*Nu/2+Ou/4;var e=t-r,u=e>=0?1:-1,o=u*e,s=Math.cos(n),c=Math.sin(n),l=a*c,h=i*s+l*Math.cos(o),f=l*u*Math.sin(o);bo.add(Math.atan2(f,h)),r=t,i=s,a=c}var n,e,r,i,a;xo.point=function(u,o){xo.point=t,r=(n=u)*Nu,i=Math.cos(o=(e=o)*Nu/2+Ou/4),a=Math.sin(o)},xo.lineEnd=function(){t(n,e)}}function yn(t){var n=t[0],e=t[1],r=Math.cos(e);return[r*Math.cos(n),r*Math.sin(n),Math.sin(e)]}function mn(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function vn(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function _n(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function bn(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function xn(t){var n=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function wn(t){return[Math.atan2(t[1],t[0]),et(t[2])]}function An(t,n){return pu(t[0]-n[0])<Tu&&pu(t[1]-n[1])<Tu}function kn(t,n){t*=Nu;var e=Math.cos(n*=Nu);En(e*Math.cos(t),e*Math.sin(t),Math.sin(n))}function En(t,n,e){++wo,ko+=(t-ko)/wo,Eo+=(n-Eo)/wo,Mo+=(e-Mo)/wo}function Mn(){function t(t,i){t*=Nu;var a=Math.cos(i*=Nu),u=a*Math.cos(t),o=a*Math.sin(t),s=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*s-r*o)*c+(c=r*u-n*s)*c+(c=n*o-e*u)*c),n*u+e*o+r*s);Ao+=c,So+=c*(n+(n=u)),Do+=c*(e+(e=o)),Co+=c*(r+(r=s)),En(n,e,r)}var n,e,r;Lo.point=function(i,a){i*=Nu;var u=Math.cos(a*=Nu);n=u*Math.cos(i),e=u*Math.sin(i),r=Math.sin(a),Lo.point=t,En(n,e,r)}}function Sn(){Lo.point=kn}function Dn(){function t(t,n){t*=Nu;var e=Math.cos(n*=Nu),u=e*Math.cos(t),o=e*Math.sin(t),s=Math.sin(n),c=i*s-a*o,l=a*u-r*s,h=r*o-i*u,f=Math.sqrt(c*c+l*l+h*h),d=r*u+i*o+a*s,p=f&&-nt(d)/f,g=Math.atan2(f,d);To+=p*c,Fo+=p*l,Oo+=p*h,Ao+=g,So+=g*(r+(r=u)),Do+=g*(i+(i=o)),Co+=g*(a+(a=s)),En(r,i,a)}var n,e,r,i,a;Lo.point=function(u,o){n=u,e=o,Lo.point=t,u*=Nu;var s=Math.cos(o*=Nu);r=s*Math.cos(u),i=s*Math.sin(u),a=Math.sin(o),En(r,i,a)},Lo.lineEnd=function(){t(n,e),Lo.lineEnd=Sn,Lo.point=kn}}function Cn(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return e=n.invert(e,r),e&&t.invert(e[0],e[1])}),e}function Tn(){return!0}function Fn(t,n,e,r,i){var a=[],u=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e=t[0],r=t[n];if(An(e,r)){i.lineStart();for(var o=0;n>o;++o)i.point((e=t[o])[0],e[1]);return void i.lineEnd()}var s=new Ln(e,t,null,!0),c=new Ln(e,null,s,!1);s.o=c,a.push(s),u.push(c),s=new Ln(r,t,null,!1),c=new Ln(r,null,s,!0),s.o=c,a.push(s),u.push(c)}}),u.sort(n),On(a),On(u),a.length){for(var o=0,s=e,c=u.length;c>o;++o)u[o].e=s=!s;for(var l,h,f=a[0];;){for(var d=f,p=!0;d.v;)if((d=d.n)===f)return;l=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(var o=0,c=l.length;c>o;++o)i.point((h=l[o])[0],h[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(p){l=d.p.z;for(var o=l.length-1;o>=0;--o)i.point((h=l[o])[0],h[1])}else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,l=d.z,p=!p}while(!d.v);i.lineEnd()}}}function On(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function Ln(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function In(t,n,e,r){return function(i,a){function u(n,e){var r=i(n,e);t(n=r[0],e=r[1])&&a.point(n,e)}function o(t,n){var e=i(t,n);y.point(e[0],e[1])}function s(){v.point=o,y.lineStart()}function c(){v.point=u,y.lineEnd()}function l(t,n){g.push([t,n]);var e=i(t,n);b.point(e[0],e[1])}function h(){b.lineStart(),g=[]}function f(){l(g[0][0],g[0][1]),b.lineEnd();var t,n=b.clean(),e=_.buffer(),r=e.length;if(g.pop(),p.push(g),g=null,r)if(1&n){t=e[0];var i,r=t.length-1,u=-1;if(r>0){for(x||(a.polygonStart(),x=!0),a.lineStart();++u<r;)a.point((i=t[u])[0],i[1]);a.lineEnd()}}else r>1&&2&n&&e.push(e.pop().concat(e.shift())),d.push(e.filter(Bn))}var d,p,g,y=n(a),m=i.invert(r[0],r[1]),v={point:u,lineStart:s,lineEnd:c,polygonStart:function(){v.point=l,v.lineStart=h,v.lineEnd=f,d=[],p=[]},polygonEnd:function(){v.point=u,v.lineStart=s,v.lineEnd=c,d=eu.merge(d);var t=Un(m,p);d.length?(x||(a.polygonStart(),x=!0),Fn(d,Pn,t,e,a)):t&&(x||(a.polygonStart(),x=!0),a.lineStart(),e(null,null,1,a),a.lineEnd()),x&&(a.polygonEnd(),x=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),e(null,null,1,a),a.lineEnd(),a.polygonEnd()}},_=Nn(),b=n(_),x=!1;return v}}function Bn(t){return t.length>1}function Nn(){var t,n=[];return{lineStart:function(){n.push(t=[])},point:function(n,e){t.push([n,e])},lineEnd:w,buffer:function(){var e=n;return n=[],t=null,e},rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))}}}function Pn(t,n){return((t=t.x)[0]<0?t[1]-Bu-Tu:Bu-t[1])-((n=n.x)[0]<0?n[1]-Bu-Tu:Bu-n[1])}function Rn(t){var n,e=0/0,r=0/0,i=0/0;return{lineStart:function(){t.lineStart(),n=1},point:function(a,u){var o=a>0?Ou:-Ou,s=pu(a-e);pu(s-Ou)<Tu?(t.point(e,r=(r+u)/2>0?Bu:-Bu),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),t.point(a,r),n=0):i!==o&&s>=Ou&&(pu(e-i)<Tu&&(e-=i*Tu),pu(a-o)<Tu&&(a-=o*Tu),r=jn(e,r,a,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),n=0),t.point(e=a,r=u),i=o},lineEnd:function(){t.lineEnd(),e=r=0/0},clean:function(){return 2-n}}}function jn(t,n,e,r){var i,a,u=Math.sin(t-e);return pu(u)>Tu?Math.atan((Math.sin(n)*(a=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(n))*Math.sin(t))/(i*a*u)):(n+r)/2}function Yn(t,n,e,r){var i;if(null==t)i=e*Bu,r.point(-Ou,i),r.point(0,i),r.point(Ou,i),r.point(Ou,0),r.point(Ou,-i),r.point(0,-i),r.point(-Ou,-i),r.point(-Ou,0),r.point(-Ou,i);else if(pu(t[0]-n[0])>Tu){var a=t[0]<n[0]?Ou:-Ou;i=e*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(n[0],n[1])}function Un(t,n){var e=t[0],r=t[1],i=[Math.sin(e),-Math.cos(e),0],a=0,u=0;bo.reset();for(var o=0,s=n.length;s>o;++o){var c=n[o],l=c.length;if(l)for(var h=c[0],f=h[0],d=h[1]/2+Ou/4,p=Math.sin(d),g=Math.cos(d),y=1;;){y===l&&(y=0),t=c[y];var m=t[0],v=t[1]/2+Ou/4,_=Math.sin(v),b=Math.cos(v),x=m-f,w=x>=0?1:-1,A=w*x,k=A>Ou,E=p*_;if(bo.add(Math.atan2(E*w*Math.sin(A),g*b+E*Math.cos(A))),a+=k?x+w*Lu:x,k^f>=e^m>=e){var M=vn(yn(h),yn(t));xn(M);var S=vn(i,M);xn(S);var D=(k^x>=0?-1:1)*et(S[2]);(r>D||r===D&&(M[0]||M[1]))&&(u+=k^x>=0?1:-1)}if(!y++)break;f=m,p=_,g=b,h=t}}return(-Tu>a||Tu>a&&0>bo)^1&u}function $n(t){function n(t,n){return Math.cos(t)*Math.cos(n)>a}function e(t){var e,a,s,c,l;return{lineStart:function(){c=s=!1,l=1},point:function(h,f){var d,p=[h,f],g=n(h,f),y=u?g?0:i(h,f):g?i(h+(0>h?Ou:-Ou),f):0;if(!e&&(c=s=g)&&t.lineStart(),g!==s&&(d=r(e,p),(An(e,d)||An(p,d))&&(p[0]+=Tu,p[1]+=Tu,g=n(p[0],p[1]))),g!==s)l=0,g?(t.lineStart(),d=r(p,e),t.point(d[0],d[1])):(d=r(e,p),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(o&&e&&u^g){var m;y&a||!(m=r(p,e,!0))||(l=0,u?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&An(e,p)||t.point(p[0],p[1]),e=p,s=g,a=y},lineEnd:function(){s&&t.lineEnd(),e=null},clean:function(){return l|(c&&s)<<1}}}function r(t,n,e){var r=yn(t),i=yn(n),u=[1,0,0],o=vn(r,i),s=mn(o,o),c=o[0],l=s-c*c;if(!l)return!e&&t;var h=a*s/l,f=-a*c/l,d=vn(u,o),p=bn(u,h),g=bn(o,f);_n(p,g);var y=d,m=mn(p,y),v=mn(y,y),_=m*m-v*(mn(p,p)-1);if(!(0>_)){var b=Math.sqrt(_),x=bn(y,(-m-b)/v);if(_n(x,p),x=wn(x),!e)return x;var w,A=t[0],k=n[0],E=t[1],M=n[1];A>k&&(w=A,A=k,k=w);var S=k-A,D=pu(S-Ou)<Tu,C=D||Tu>S;if(!D&&E>M&&(w=E,E=M,M=w),C?D?E+M>0^x[1]<(pu(x[0]-A)<Tu?E:M):E<=x[1]&&x[1]<=M:S>Ou^(A<=x[0]&&x[0]<=k)){var T=bn(y,(-m+b)/v);return _n(T,p),[x,wn(T)]}}}function i(n,e){var r=u?t:Ou-t,i=0;return-r>n?i|=1:n>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var a=Math.cos(t),u=a>0,o=pu(a)>Tu,s=ge(t,6*Nu);return In(n,e,s,u?[0,-t]:[-Ou,t-Ou])}function Wn(t,n,e,r){return function(i){var a,u=i.a,o=i.b,s=u.x,c=u.y,l=o.x,h=o.y,f=0,d=1,p=l-s,g=h-c;if(a=t-s,p||!(a>0)){if(a/=p,0>p){if(f>a)return;d>a&&(d=a)}else if(p>0){if(a>d)return;a>f&&(f=a)}if(a=e-s,p||!(0>a)){if(a/=p,0>p){if(a>d)return;a>f&&(f=a)}else if(p>0){if(f>a)return;d>a&&(d=a)}if(a=n-c,g||!(a>0)){if(a/=g,0>g){if(f>a)return;d>a&&(d=a)}else if(g>0){if(a>d)return;a>f&&(f=a)}if(a=r-c,g||!(0>a)){if(a/=g,0>g){if(a>d)return;a>f&&(f=a)}else if(g>0){if(f>a)return;d>a&&(d=a)}return f>0&&(i.a={x:s+f*p,y:c+f*g}),1>d&&(i.b={x:s+d*p,y:c+d*g}),i}}}}}}function zn(t,n,e,r){function i(r,i){return pu(r[0]-t)<Tu?i>0?0:3:pu(r[0]-e)<Tu?i>0?2:1:pu(r[1]-n)<Tu?i>0?1:0:i>0?3:2}function a(t,n){return u(t.x,n.x)}function u(t,n){var e=i(t,1),r=i(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(o){function s(t){for(var n=0,e=y.length,r=t[1],i=0;e>i;++i)for(var a,u=1,o=y[i],s=o.length,c=o[0];s>u;++u)a=o[u],c[1]<=r?a[1]>r&&tt(c,a,t)>0&&++n:a[1]<=r&&tt(c,a,t)<0&&--n,c=a;return 0!==n}function c(a,o,s,c){var l=0,h=0;if(null==a||(l=i(a,s))!==(h=i(o,s))||u(a,o)<0^s>0){do c.point(0===l||3===l?t:e,l>1?r:n);while((l=(l+s+4)%4)!==h)}else c.point(o[0],o[1])}function l(i,a){return i>=t&&e>=i&&a>=n&&r>=a}function h(t,n){l(t,n)&&o.point(t,n)}function f(){C.point=p,y&&y.push(m=[]),k=!0,A=!1,x=w=0/0}function d(){g&&(p(v,_),b&&A&&S.rejoin(),g.push(S.buffer())),C.point=h,A&&o.lineEnd()}function p(t,n){t=Math.max(-Bo,Math.min(Bo,t)),n=Math.max(-Bo,Math.min(Bo,n));var e=l(t,n);if(y&&m.push([t,n]),k)v=t,_=n,b=e,k=!1,e&&(o.lineStart(),o.point(t,n));else if(e&&A)o.point(t,n);else{var r={a:{x:x,y:w},b:{x:t,y:n}};D(r)?(A||(o.lineStart(),o.point(r.a.x,r.a.y)),o.point(r.b.x,r.b.y),e||o.lineEnd(),E=!1):e&&(o.lineStart(),o.point(t,n),E=!1)}x=t,w=n,A=e}var g,y,m,v,_,b,x,w,A,k,E,M=o,S=Nn(),D=Wn(t,n,e,r),C={point:h,lineStart:f,lineEnd:d,polygonStart:function(){o=S,g=[],y=[],E=!0},polygonEnd:function(){o=M,g=eu.merge(g);var n=s([t,r]),e=E&&n,i=g.length;(e||i)&&(o.polygonStart(),e&&(o.lineStart(),c(null,null,1,o),o.lineEnd()),i&&Fn(g,a,n,c,o),o.polygonEnd()),g=y=m=null}};return C}}function qn(t){var n=0,e=Ou/3,r=oe(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Ou/180,e=t[1]*Ou/180):[n/Ou*180,e/Ou*180]},i}function Gn(t,n){function e(t,n){var e=Math.sqrt(a-2*i*Math.sin(n))/i;return[e*Math.sin(t*=i),u-e*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(n))/2,a=1+r*(2*i-r),u=Math.sqrt(a)/i;return e.invert=function(t,n){var e=u-n;return[Math.atan2(t,e)/i,et((a-(t*t+e*e)*i*i)/(2*i))]},e}function Hn(){function t(t,n){Po+=i*t-r*n,r=t,i=n}var n,e,r,i;$o.point=function(a,u){$o.point=t,n=r=a,e=i=u},$o.lineEnd=function(){t(n,e)}}function Vn(t,n){Ro>t&&(Ro=t),t>Yo&&(Yo=t),jo>n&&(jo=n),n>Uo&&(Uo=n)}function Zn(){function t(t,n){u.push(\"M\",t,\",\",n,a)}function n(t,n){u.push(\"M\",t,\",\",n),o.point=e}function e(t,n){u.push(\"L\",t,\",\",n)}function r(){o.point=t}function i(){u.push(\"Z\")}var a=Xn(4.5),u=[],o={point:t,lineStart:function(){o.point=n},lineEnd:r,polygonStart:function(){o.lineEnd=i},polygonEnd:function(){o.lineEnd=r,o.point=t},pointRadius:function(t){return a=Xn(t),o},result:function(){if(u.length){var t=u.join(\"\");return u=[],t}}};return o}function Xn(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}function Kn(t,n){ko+=t,Eo+=n,++Mo}function Qn(){function t(t,r){var i=t-n,a=r-e,u=Math.sqrt(i*i+a*a);So+=u*(n+t)/2,Do+=u*(e+r)/2,Co+=u,Kn(n=t,e=r)}var n,e;zo.point=function(r,i){zo.point=t,Kn(n=r,e=i)}}function Jn(){zo.point=Kn}function te(){function t(t,n){var e=t-r,a=n-i,u=Math.sqrt(e*e+a*a);So+=u*(r+t)/2,Do+=u*(i+n)/2,Co+=u,u=i*t-r*n,To+=u*(r+t),Fo+=u*(i+n),Oo+=3*u,Kn(r=t,i=n)}var n,e,r,i;zo.point=function(a,u){zo.point=t,Kn(n=r=a,e=i=u)},zo.lineEnd=function(){t(n,e)}}function ne(t){function n(n,e){t.moveTo(n+u,e),t.arc(n,e,u,0,Lu)}function e(n,e){t.moveTo(n,e),o.point=r}function r(n,e){t.lineTo(n,e)}function i(){o.point=n}function a(){\nt.closePath()}var u=4.5,o={point:n,lineStart:function(){o.point=e},lineEnd:i,polygonStart:function(){o.lineEnd=a},polygonEnd:function(){o.lineEnd=i,o.point=n},pointRadius:function(t){return u=t,o},result:w};return o}function ee(t){function n(t){return(o?r:e)(t)}function e(n){return ae(n,function(e,r){e=t(e,r),n.point(e[0],e[1])})}function r(n){function e(e,r){e=t(e,r),n.point(e[0],e[1])}function r(){_=0/0,k.point=a,n.lineStart()}function a(e,r){var a=yn([e,r]),u=t(e,r);i(_,b,v,x,w,A,_=u[0],b=u[1],v=e,x=a[0],w=a[1],A=a[2],o,n),n.point(_,b)}function u(){k.point=e,n.lineEnd()}function s(){r(),k.point=c,k.lineEnd=l}function c(t,n){a(h=t,f=n),d=_,p=b,g=x,y=w,m=A,k.point=a}function l(){i(_,b,v,x,w,A,d,p,h,g,y,m,o,n),k.lineEnd=u,u()}var h,f,d,p,g,y,m,v,_,b,x,w,A,k={point:e,lineStart:r,lineEnd:u,polygonStart:function(){n.polygonStart(),k.lineStart=s},polygonEnd:function(){n.polygonEnd(),k.lineStart=r}};return k}function i(n,e,r,o,s,c,l,h,f,d,p,g,y,m){var v=l-n,_=h-e,b=v*v+_*_;if(b>4*a&&y--){var x=o+d,w=s+p,A=c+g,k=Math.sqrt(x*x+w*w+A*A),E=Math.asin(A/=k),M=pu(pu(A)-1)<Tu||pu(r-f)<Tu?(r+f)/2:Math.atan2(w,x),S=t(M,E),D=S[0],C=S[1],T=D-n,F=C-e,O=_*T-v*F;(O*O/b>a||pu((v*T+_*F)/b-.5)>.3||u>o*d+s*p+c*g)&&(i(n,e,r,o,s,c,D,C,M,x/=k,w/=k,A,y,m),m.point(D,C),i(D,C,M,x,w,A,l,h,f,d,p,g,y,m))}}var a=.5,u=Math.cos(30*Nu),o=16;return n.precision=function(t){return arguments.length?(o=(a=t*t)>0&&16,n):Math.sqrt(a)},n}function re(t){var n=ee(function(n,e){return t([n*Pu,e*Pu])});return function(t){return se(n(t))}}function ie(t){this.stream=t}function ae(t,n){return{point:n,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function ue(t){return oe(function(){return t})()}function oe(t){function n(t){return t=o(t[0]*Nu,t[1]*Nu),[t[0]*f+s,c-t[1]*f]}function e(t){return t=o.invert((t[0]-s)/f,(c-t[1])/f),t&&[t[0]*Pu,t[1]*Pu]}function r(){o=Cn(u=he(m,v,b),a);var t=a(g,y);return s=d-t[0]*f,c=p+t[1]*f,i()}function i(){return l&&(l.valid=!1,l=null),n}var a,u,o,s,c,l,h=ee(function(t,n){return t=a(t,n),[t[0]*f+s,c-t[1]*f]}),f=150,d=480,p=250,g=0,y=0,m=0,v=0,b=0,x=Io,w=_,A=null,k=null;return n.stream=function(t){return l&&(l.valid=!1),l=se(x(u,h(w(t)))),l.valid=!0,l},n.clipAngle=function(t){return arguments.length?(x=null==t?(A=t,Io):$n((A=+t)*Nu),i()):A},n.clipExtent=function(t){return arguments.length?(k=t,w=t?zn(t[0][0],t[0][1],t[1][0],t[1][1]):_,i()):k},n.scale=function(t){return arguments.length?(f=+t,r()):f},n.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],r()):[d,p]},n.center=function(t){return arguments.length?(g=t[0]%360*Nu,y=t[1]%360*Nu,r()):[g*Pu,y*Pu]},n.rotate=function(t){return arguments.length?(m=t[0]%360*Nu,v=t[1]%360*Nu,b=t.length>2?t[2]%360*Nu:0,r()):[m*Pu,v*Pu,b*Pu]},eu.rebind(n,h,\"precision\"),function(){return a=t.apply(this,arguments),n.invert=a.invert&&e,r()}}function se(t){return ae(t,function(n,e){t.point(n*Nu,e*Nu)})}function ce(t,n){return[t,n]}function le(t,n){return[t>Ou?t-Lu:-Ou>t?t+Lu:t,n]}function he(t,n,e){return t?n||e?Cn(de(t),pe(n,e)):de(t):n||e?pe(n,e):le}function fe(t){return function(n,e){return n+=t,[n>Ou?n-Lu:-Ou>n?n+Lu:n,e]}}function de(t){var n=fe(t);return n.invert=fe(-t),n}function pe(t,n){function e(t,n){var e=Math.cos(n),o=Math.cos(t)*e,s=Math.sin(t)*e,c=Math.sin(n),l=c*r+o*i;return[Math.atan2(s*a-l*u,o*r-c*i),et(l*a+s*u)]}var r=Math.cos(t),i=Math.sin(t),a=Math.cos(n),u=Math.sin(n);return e.invert=function(t,n){var e=Math.cos(n),o=Math.cos(t)*e,s=Math.sin(t)*e,c=Math.sin(n),l=c*a-s*u;return[Math.atan2(s*a+c*u,o*r+l*i),et(l*r-o*i)]},e}function ge(t,n){var e=Math.cos(t),r=Math.sin(t);return function(i,a,u,o){var s=u*n;null!=i?(i=ye(e,i),a=ye(e,a),(u>0?a>i:i>a)&&(i+=u*Lu)):(i=t+u*Lu,a=t-.5*s);for(var c,l=i;u>0?l>a:a>l;l-=s)o.point((c=wn([e,-r*Math.cos(l),-r*Math.sin(l)]))[0],c[1])}}function ye(t,n){var e=yn(n);e[0]-=t,xn(e);var r=nt(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Tu)%(2*Math.PI)}function me(t,n,e){var r=eu.range(t,n-Tu,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function ve(t,n,e){var r=eu.range(t,n-Tu,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function _e(t){return t.source}function be(t){return t.target}function xe(t,n,e,r){var i=Math.cos(n),a=Math.sin(n),u=Math.cos(r),o=Math.sin(r),s=i*Math.cos(t),c=i*Math.sin(t),l=u*Math.cos(e),h=u*Math.sin(e),f=2*Math.asin(Math.sqrt(ut(r-n)+i*u*ut(e-t))),d=1/Math.sin(f),p=f?function(t){var n=Math.sin(t*=f)*d,e=Math.sin(f-t)*d,r=e*s+n*l,i=e*c+n*h,u=e*a+n*o;return[Math.atan2(i,r)*Pu,Math.atan2(u,Math.sqrt(r*r+i*i))*Pu]}:function(){return[t*Pu,n*Pu]};return p.distance=f,p}function we(){function t(t,i){var a=Math.sin(i*=Nu),u=Math.cos(i),o=pu((t*=Nu)-n),s=Math.cos(o);qo+=Math.atan2(Math.sqrt((o=u*Math.sin(o))*o+(o=r*a-e*u*s)*o),e*a+r*u*s),n=t,e=a,r=u}var n,e,r;Go.point=function(i,a){n=i*Nu,e=Math.sin(a*=Nu),r=Math.cos(a),Go.point=t},Go.lineEnd=function(){Go.point=Go.lineEnd=w}}function Ae(t,n){function e(n,e){var r=Math.cos(n),i=Math.cos(e),a=t(r*i);return[a*i*Math.sin(n),a*Math.sin(e)]}return e.invert=function(t,e){var r=Math.sqrt(t*t+e*e),i=n(r),a=Math.sin(i),u=Math.cos(i);return[Math.atan2(t*a,r*u),Math.asin(r&&e*a/r)]},e}function ke(t,n){function e(t,n){u>0?-Bu+Tu>n&&(n=-Bu+Tu):n>Bu-Tu&&(n=Bu-Tu);var e=u/Math.pow(i(n),a);return[e*Math.sin(a*t),u-e*Math.cos(a*t)]}var r=Math.cos(t),i=function(t){return Math.tan(Ou/4+t/2)},a=t===n?Math.sin(t):Math.log(r/Math.cos(n))/Math.log(i(n)/i(t)),u=r*Math.pow(i(t),a)/a;return a?(e.invert=function(t,n){var e=u-n,r=J(a)*Math.sqrt(t*t+e*e);return[Math.atan2(t,e)/a,2*Math.atan(Math.pow(u/r,1/a))-Bu]},e):Me}function Ee(t,n){function e(t,n){var e=a-n;return[e*Math.sin(i*t),a-e*Math.cos(i*t)]}var r=Math.cos(t),i=t===n?Math.sin(t):(r-Math.cos(n))/(n-t),a=r/i+t;return pu(i)<Tu?ce:(e.invert=function(t,n){var e=a-n;return[Math.atan2(t,e)/i,a-J(i)*Math.sqrt(t*t+e*e)]},e)}function Me(t,n){return[t,Math.log(Math.tan(Ou/4+n/2))]}function Se(t){var n,e=ue(t),r=e.scale,i=e.translate,a=e.clipExtent;return e.scale=function(){var t=r.apply(e,arguments);return t===e?n?e.clipExtent(null):e:t},e.translate=function(){var t=i.apply(e,arguments);return t===e?n?e.clipExtent(null):e:t},e.clipExtent=function(t){var u=a.apply(e,arguments);if(u===e){if(n=null==t){var o=Ou*r(),s=i();a([[s[0]-o,s[1]-o],[s[0]+o,s[1]+o]])}}else n&&(u=null);return u},e.clipExtent(null)}function De(t,n){return[Math.log(Math.tan(Ou/4+n/2)),-t]}function Ce(t){return t[0]}function Te(t){return t[1]}function Fe(t){for(var n=t.length,e=[0,1],r=2,i=2;n>i;i++){for(;r>1&&tt(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function Oe(t,n){return t[0]-n[0]||t[1]-n[1]}function Le(t,n,e){return(e[0]-n[0])*(t[1]-n[1])<(e[1]-n[1])*(t[0]-n[0])}function Ie(t,n,e,r){var i=t[0],a=e[0],u=n[0]-i,o=r[0]-a,s=t[1],c=e[1],l=n[1]-s,h=r[1]-c,f=(o*(s-c)-h*(i-a))/(h*u-o*l);return[i+f*u,s+f*l]}function Be(t){var n=t[0],e=t[t.length-1];return!(n[0]-e[0]||n[1]-e[1])}function Ne(){rr(this),this.edge=this.site=this.circle=null}function Pe(t){var n=is.pop()||new Ne;return n.site=t,n}function Re(t){Ve(t),ns.remove(t),is.push(t),rr(t)}function je(t){var n=t.circle,e=n.x,r=n.cy,i={x:e,y:r},a=t.P,u=t.N,o=[t];Re(t);for(var s=a;s.circle&&pu(e-s.circle.x)<Tu&&pu(r-s.circle.cy)<Tu;)a=s.P,o.unshift(s),Re(s),s=a;o.unshift(s),Ve(s);for(var c=u;c.circle&&pu(e-c.circle.x)<Tu&&pu(r-c.circle.cy)<Tu;)u=c.N,o.push(c),Re(c),c=u;o.push(c),Ve(c);var l,h=o.length;for(l=1;h>l;++l)c=o[l],s=o[l-1],tr(c.edge,s.site,c.site,i);s=o[0],c=o[h-1],c.edge=Qe(s.site,c.site,null,i),He(s),He(c)}function Ye(t){for(var n,e,r,i,a=t.x,u=t.y,o=ns._;o;)if(r=Ue(o,u)-a,r>Tu)o=o.L;else{if(i=a-$e(o,u),!(i>Tu)){r>-Tu?(n=o.P,e=o):i>-Tu?(n=o,e=o.N):n=e=o;break}if(!o.R){n=o;break}o=o.R}var s=Pe(t);if(ns.insert(n,s),n||e){if(n===e)return Ve(n),e=Pe(n.site),ns.insert(s,e),s.edge=e.edge=Qe(n.site,s.site),He(n),void He(e);if(!e)return void(s.edge=Qe(n.site,s.site));Ve(n),Ve(e);var c=n.site,l=c.x,h=c.y,f=t.x-l,d=t.y-h,p=e.site,g=p.x-l,y=p.y-h,m=2*(f*y-d*g),v=f*f+d*d,_=g*g+y*y,b={x:(y*v-d*_)/m+l,y:(f*_-g*v)/m+h};tr(e.edge,c,p,b),s.edge=Qe(c,t,null,b),e.edge=Qe(t,p,null,b),He(n),He(e)}}function Ue(t,n){var e=t.site,r=e.x,i=e.y,a=i-n;if(!a)return r;var u=t.P;if(!u)return-(1/0);e=u.site;var o=e.x,s=e.y,c=s-n;if(!c)return o;var l=o-r,h=1/a-1/c,f=l/c;return h?(-f+Math.sqrt(f*f-2*h*(l*l/(-2*c)-s+c/2+i-a/2)))/h+r:(r+o)/2}function $e(t,n){var e=t.N;if(e)return Ue(e,n);var r=t.site;return r.y===n?r.x:1/0}function We(t){this.site=t,this.edges=[]}function ze(t){for(var n,e,r,i,a,u,o,s,c,l,h=t[0][0],f=t[1][0],d=t[0][1],p=t[1][1],g=ts,y=g.length;y--;)if(a=g[y],a&&a.prepare())for(o=a.edges,s=o.length,u=0;s>u;)l=o[u].end(),r=l.x,i=l.y,c=o[++u%s].start(),n=c.x,e=c.y,(pu(r-n)>Tu||pu(i-e)>Tu)&&(o.splice(u,0,new nr(Je(a.site,l,pu(r-h)<Tu&&p-i>Tu?{x:h,y:pu(n-h)<Tu?e:p}:pu(i-p)<Tu&&f-r>Tu?{x:pu(e-p)<Tu?n:f,y:p}:pu(r-f)<Tu&&i-d>Tu?{x:f,y:pu(n-f)<Tu?e:d}:pu(i-d)<Tu&&r-h>Tu?{x:pu(e-d)<Tu?n:h,y:d}:null),a.site,null)),++s)}function qe(t,n){return n.angle-t.angle}function Ge(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function He(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,a=e.site;if(r!==a){var u=i.x,o=i.y,s=r.x-u,c=r.y-o,l=a.x-u,h=a.y-o,f=2*(s*h-c*l);if(!(f>=-Fu)){var d=s*s+c*c,p=l*l+h*h,g=(h*d-c*p)/f,y=(s*p-l*d)/f,h=y+o,m=as.pop()||new Ge;m.arc=t,m.site=i,m.x=g+u,m.y=h+Math.sqrt(g*g+y*y),m.cy=h,t.circle=m;for(var v=null,_=rs._;_;)if(m.y<_.y||m.y===_.y&&m.x<=_.x){if(!_.L){v=_.P;break}_=_.L}else{if(!_.R){v=_;break}_=_.R}rs.insert(v,m),v||(es=m)}}}}function Ve(t){var n=t.circle;n&&(n.P||(es=n.N),rs.remove(n),as.push(n),rr(n),t.circle=null)}function Ze(t){for(var n,e=Jo,r=Wn(t[0][0],t[0][1],t[1][0],t[1][1]),i=e.length;i--;)n=e[i],(!Xe(n,t)||!r(n)||pu(n.a.x-n.b.x)<Tu&&pu(n.a.y-n.b.y)<Tu)&&(n.a=n.b=null,e.splice(i,1))}function Xe(t,n){var e=t.b;if(e)return!0;var r,i,a=t.a,u=n[0][0],o=n[1][0],s=n[0][1],c=n[1][1],l=t.l,h=t.r,f=l.x,d=l.y,p=h.x,g=h.y,y=(f+p)/2,m=(d+g)/2;if(g===d){if(u>y||y>=o)return;if(f>p){if(a){if(a.y>=c)return}else a={x:y,y:s};e={x:y,y:c}}else{if(a){if(a.y<s)return}else a={x:y,y:c};e={x:y,y:s}}}else if(r=(f-p)/(g-d),i=m-r*y,-1>r||r>1)if(f>p){if(a){if(a.y>=c)return}else a={x:(s-i)/r,y:s};e={x:(c-i)/r,y:c}}else{if(a){if(a.y<s)return}else a={x:(c-i)/r,y:c};e={x:(s-i)/r,y:s}}else if(g>d){if(a){if(a.x>=o)return}else a={x:u,y:r*u+i};e={x:o,y:r*o+i}}else{if(a){if(a.x<u)return}else a={x:o,y:r*o+i};e={x:u,y:r*u+i}}return t.a=a,t.b=e,!0}function Ke(t,n){this.l=t,this.r=n,this.a=this.b=null}function Qe(t,n,e,r){var i=new Ke(t,n);return Jo.push(i),e&&tr(i,t,n,e),r&&tr(i,n,t,r),ts[t.i].edges.push(new nr(i,t,n)),ts[n.i].edges.push(new nr(i,n,t)),i}function Je(t,n,e){var r=new Ke(t,null);return r.a=n,r.b=e,Jo.push(r),r}function tr(t,n,e,r){t.a||t.b?t.l===e?t.b=r:t.a=r:(t.a=r,t.l=n,t.r=e)}function nr(t,n,e){var r=t.a,i=t.b;this.edge=t,this.site=n,this.angle=e?Math.atan2(e.y-n.y,e.x-n.x):t.l===n?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function er(){this._=null}function rr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function ir(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function ar(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function ur(t){for(;t.L;)t=t.L;return t}function or(t,n){var e,r,i,a=t.sort(sr).pop();for(Jo=[],ts=new Array(t.length),ns=new er,rs=new er;;)if(i=es,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))(a.x!==e||a.y!==r)&&(ts[a.i]=new We(a),Ye(a),e=a.x,r=a.y),a=t.pop();else{if(!i)break;je(i.arc)}n&&(Ze(n),ze(n));var u={cells:ts,edges:Jo};return ns=rs=Jo=ts=null,u}function sr(t,n){return n.y-t.y||n.x-t.x}function cr(t,n,e){return(t.x-e.x)*(n.y-t.y)-(t.x-n.x)*(e.y-t.y)}function lr(t){return t.x}function hr(t){return t.y}function fr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function dr(t,n,e,r,i,a){if(!t(n,e,r,i,a)){var u=.5*(e+i),o=.5*(r+a),s=n.nodes;s[0]&&dr(t,s[0],e,r,u,o),s[1]&&dr(t,s[1],u,r,i,o),s[2]&&dr(t,s[2],e,o,u,a),s[3]&&dr(t,s[3],u,o,i,a)}}function pr(t,n,e,r,i,a,u){var o,s=1/0;return function c(t,l,h,f,d){if(!(l>a||h>u||r>f||i>d)){if(p=t.point){var p,g=n-t.x,y=e-t.y,m=g*g+y*y;if(s>m){var v=Math.sqrt(s=m);r=n-v,i=e-v,a=n+v,u=e+v,o=p}}for(var _=t.nodes,b=.5*(l+f),x=.5*(h+d),w=n>=b,A=e>=x,k=A<<1|w,E=k+4;E>k;++k)if(t=_[3&k])switch(3&k){case 0:c(t,l,h,b,x);break;case 1:c(t,b,h,f,x);break;case 2:c(t,l,x,b,d);break;case 3:c(t,b,x,f,d)}}}(t,r,i,a,u),o}function gr(t,n){t=eu.rgb(t),n=eu.rgb(n);var e=t.r,r=t.g,i=t.b,a=n.r-e,u=n.g-r,o=n.b-i;return function(t){return\"#\"+xt(Math.round(e+a*t))+xt(Math.round(r+u*t))+xt(Math.round(i+o*t))}}function yr(t,n){var e,r={},i={};for(e in t)e in n?r[e]=_r(t[e],n[e]):i[e]=t[e];for(e in n)e in t||(i[e]=n[e]);return function(t){for(e in r)i[e]=r[e](t);return i}}function mr(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function vr(t,n){var e,r,i,a=os.lastIndex=ss.lastIndex=0,u=-1,o=[],s=[];for(t+=\"\",n+=\"\";(e=os.exec(t))&&(r=ss.exec(n));)(i=r.index)>a&&(i=n.slice(a,i),o[u]?o[u]+=i:o[++u]=i),(e=e[0])===(r=r[0])?o[u]?o[u]+=r:o[++u]=r:(o[++u]=null,s.push({i:u,x:mr(e,r)})),a=ss.lastIndex;return a<n.length&&(i=n.slice(a),o[u]?o[u]+=i:o[++u]=i),o.length<2?s[0]?(n=s[0].x,function(t){return n(t)+\"\"}):function(){return n}:(n=s.length,function(t){for(var e,r=0;n>r;++r)o[(e=s[r]).i]=e.x(t);return o.join(\"\")})}function _r(t,n){for(var e,r=eu.interpolators.length;--r>=0&&!(e=eu.interpolators[r](t,n)););return e}function br(t,n){var e,r=[],i=[],a=t.length,u=n.length,o=Math.min(t.length,n.length);for(e=0;o>e;++e)r.push(_r(t[e],n[e]));for(;a>e;++e)i[e]=t[e];for(;u>e;++e)i[e]=n[e];return function(t){for(e=0;o>e;++e)i[e]=r[e](t);return i}}function xr(t){return function(n){return 0>=n?0:n>=1?1:t(n)}}function wr(t){return function(n){return 1-t(1-n)}}function Ar(t){return function(n){return.5*(.5>n?t(2*n):2-t(2-2*n))}}function kr(t){return t*t}function Er(t){return t*t*t}function Mr(t){if(0>=t)return 0;if(t>=1)return 1;var n=t*t,e=n*t;return 4*(.5>t?e:3*(t-n)+e-.75)}function Sr(t){return function(n){return Math.pow(n,t)}}function Dr(t){return 1-Math.cos(t*Bu)}function Cr(t){return Math.pow(2,10*(t-1))}function Tr(t){return 1-Math.sqrt(1-t*t)}function Fr(t,n){var e;return arguments.length<2&&(n=.45),arguments.length?e=n/Lu*Math.asin(1/t):(t=1,e=n/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-e)*Lu/n)}}function Or(t){return t||(t=1.70158),function(n){return n*n*((t+1)*n-t)}}function Lr(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Ir(t,n){t=eu.hcl(t),n=eu.hcl(n);var e=t.h,r=t.c,i=t.l,a=n.h-e,u=n.c-r,o=n.l-i;return isNaN(u)&&(u=0,r=isNaN(r)?n.c:r),isNaN(a)?(a=0,e=isNaN(e)?n.h:e):a>180?a-=360:-180>a&&(a+=360),function(t){return ht(e+a*t,r+u*t,i+o*t)+\"\"}}function Br(t,n){t=eu.hsl(t),n=eu.hsl(n);var e=t.h,r=t.s,i=t.l,a=n.h-e,u=n.s-r,o=n.l-i;return isNaN(u)&&(u=0,r=isNaN(r)?n.s:r),isNaN(a)?(a=0,e=isNaN(e)?n.h:e):a>180?a-=360:-180>a&&(a+=360),function(t){return ct(e+a*t,r+u*t,i+o*t)+\"\"}}function Nr(t,n){t=eu.lab(t),n=eu.lab(n);var e=t.l,r=t.a,i=t.b,a=n.l-e,u=n.a-r,o=n.b-i;return function(t){return dt(e+a*t,r+u*t,i+o*t)+\"\"}}function Pr(t,n){return n-=t,function(e){return Math.round(t+n*e)}}function Rr(t){var n=[t.a,t.b],e=[t.c,t.d],r=Yr(n),i=jr(n,e),a=Yr(Ur(e,n,-i))||0;n[0]*e[1]<e[0]*n[1]&&(n[0]*=-1,n[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(n[1],n[0]):Math.atan2(-e[0],e[1]))*Pu,this.translate=[t.e,t.f],this.scale=[r,a],this.skew=a?Math.atan2(i,a)*Pu:0}function jr(t,n){return t[0]*n[0]+t[1]*n[1]}function Yr(t){var n=Math.sqrt(jr(t,t));return n&&(t[0]/=n,t[1]/=n),n}function Ur(t,n,e){return t[0]+=e*n[0],t[1]+=e*n[1],t}function $r(t,n){var e,r=[],i=[],a=eu.transform(t),u=eu.transform(n),o=a.translate,s=u.translate,c=a.rotate,l=u.rotate,h=a.skew,f=u.skew,d=a.scale,p=u.scale;return o[0]!=s[0]||o[1]!=s[1]?(r.push(\"translate(\",null,\",\",null,\")\"),i.push({i:1,x:mr(o[0],s[0])},{i:3,x:mr(o[1],s[1])})):r.push(s[0]||s[1]?\"translate(\"+s+\")\":\"\"),c!=l?(c-l>180?l+=360:l-c>180&&(c+=360),i.push({i:r.push(r.pop()+\"rotate(\",null,\")\")-2,x:mr(c,l)})):l&&r.push(r.pop()+\"rotate(\"+l+\")\"),h!=f?i.push({i:r.push(r.pop()+\"skewX(\",null,\")\")-2,x:mr(h,f)}):f&&r.push(r.pop()+\"skewX(\"+f+\")\"),d[0]!=p[0]||d[1]!=p[1]?(e=r.push(r.pop()+\"scale(\",null,\",\",null,\")\"),i.push({i:e-4,x:mr(d[0],p[0])},{i:e-2,x:mr(d[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+\"scale(\"+p+\")\"),e=i.length,function(t){for(var n,a=-1;++a<e;)r[(n=i[a]).i]=n.x(t);return r.join(\"\")}}function Wr(t,n){return n=(n-=t=+t)||1/n,function(e){return(e-t)/n}}function zr(t,n){return n=(n-=t=+t)||1/n,function(e){return Math.max(0,Math.min(1,(e-t)/n))}}function qr(t){for(var n=t.source,e=t.target,r=Hr(n,e),i=[n];n!==r;)n=n.parent,i.push(n);for(var a=i.length;e!==r;)i.splice(a,0,e),e=e.parent;return i}function Gr(t){for(var n=[],e=t.parent;null!=e;)n.push(t),t=e,e=e.parent;return n.push(t),n}function Hr(t,n){if(t===n)return t;for(var e=Gr(t),r=Gr(n),i=e.pop(),a=r.pop(),u=null;i===a;)u=i,i=e.pop(),a=r.pop();return u}function Vr(t){t.fixed|=2}function Zr(t){t.fixed&=-7}function Xr(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Kr(t){t.fixed&=-5}function Qr(t,n,e){var r=0,i=0;if(t.charge=0,!t.leaf)for(var a,u=t.nodes,o=u.length,s=-1;++s<o;)a=u[s],null!=a&&(Qr(a,n,e),t.charge+=a.charge,r+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var c=n*e[t.point.index];t.charge+=t.pointCharge=c,r+=c*t.point.x,i+=c*t.point.y}t.cx=r/t.charge,t.cy=i/t.charge}function Jr(t,n){return eu.rebind(t,n,\"sort\",\"children\",\"value\"),t.nodes=t,t.links=ai,t}function ti(t,n){for(var e=[t];null!=(t=e.pop());)if(n(t),(i=t.children)&&(r=i.length))for(var r,i;--r>=0;)e.push(i[r])}function ni(t,n){for(var e=[t],r=[];null!=(t=e.pop());)if(r.push(t),(a=t.children)&&(i=a.length))for(var i,a,u=-1;++u<i;)e.push(a[u]);for(;null!=(t=r.pop());)n(t)}function ei(t){return t.children}function ri(t){return t.value}function ii(t,n){return n.value-t.value}function ai(t){return eu.merge(t.map(function(t){return(t.children||[]).map(function(n){return{source:t,target:n}})}))}function ui(t){return t.x}function oi(t){return t.y}function si(t,n,e){t.y0=n,t.y=e}function ci(t){return eu.range(t.length)}function li(t){for(var n=-1,e=t[0].length,r=[];++n<e;)r[n]=0;return r}function hi(t){for(var n,e=1,r=0,i=t[0][1],a=t.length;a>e;++e)(n=t[e][1])>i&&(r=e,i=n);return r}function fi(t){return t.reduce(di,0)}function di(t,n){return t+n[1]}function pi(t,n){return gi(t,Math.ceil(Math.log(n.length)/Math.LN2+1))}function gi(t,n){for(var e=-1,r=+t[0],i=(t[1]-r)/n,a=[];++e<=n;)a[e]=i*e+r;return a}function yi(t){return[eu.min(t),eu.max(t)]}function mi(t,n){return t.value-n.value}function vi(t,n){var e=t._pack_next;t._pack_next=n,n._pack_prev=t,n._pack_next=e,e._pack_prev=n}function _i(t,n){t._pack_next=n,n._pack_prev=t}function bi(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return.999*i*i>e*e+r*r}function xi(t){function n(t){l=Math.min(t.x-t.r,l),h=Math.max(t.x+t.r,h),f=Math.min(t.y-t.r,f),d=Math.max(t.y+t.r,d)}if((e=t.children)&&(c=e.length)){var e,r,i,a,u,o,s,c,l=1/0,h=-(1/0),f=1/0,d=-(1/0);if(e.forEach(wi),r=e[0],r.x=-r.r,r.y=0,n(r),c>1&&(i=e[1],i.x=i.r,i.y=0,n(i),c>2))for(a=e[2],Ei(r,i,a),n(a),vi(r,a),r._pack_prev=a,vi(a,i),i=r._pack_next,u=3;c>u;u++){Ei(r,i,a=e[u]);var p=0,g=1,y=1;for(o=i._pack_next;o!==i;o=o._pack_next,g++)if(bi(o,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!bi(s,a);s=s._pack_prev,y++);p?(y>g||g==y&&i.r<r.r?_i(r,i=o):_i(r=s,i),u--):(vi(r,a),i=a,n(a))}var m=(l+h)/2,v=(f+d)/2,_=0;for(u=0;c>u;u++)a=e[u],a.x-=m,a.y-=v,_=Math.max(_,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=_,e.forEach(Ai)}}function wi(t){t._pack_next=t._pack_prev=t}function Ai(t){delete t._pack_next,delete t._pack_prev}function ki(t,n,e,r){var i=t.children;if(t.x=n+=r*t.x,t.y=e+=r*t.y,t.r*=r,i)for(var a=-1,u=i.length;++a<u;)ki(i[a],n,e,r)}function Ei(t,n,e){var r=t.r+e.r,i=n.x-t.x,a=n.y-t.y;if(r&&(i||a)){var u=n.r+e.r,o=i*i+a*a;u*=u,r*=r;var s=.5+(r-u)/(2*o),c=Math.sqrt(Math.max(0,2*u*(r+o)-(r-=o)*r-u*u))/(2*o);e.x=t.x+s*i+c*a,e.y=t.y+s*a-c*i}else e.x=t.x+r,e.y=t.y}function Mi(t,n){return t.parent==n.parent?1:2}function Si(t){var n=t.children;return n.length?n[0]:t.t}function Di(t){var n,e=t.children;return(n=e.length)?e[n-1]:t.t}function Ci(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function Ti(t){for(var n,e=0,r=0,i=t.children,a=i.length;--a>=0;)n=i[a],n.z+=e,n.m+=e,e+=n.s+(r+=n.c)}function Fi(t,n,e){return t.a.parent===n.parent?t.a:e}function Oi(t){return 1+eu.max(t,function(t){return t.y})}function Li(t){return t.reduce(function(t,n){return t+n.x},0)/t.length}function Ii(t){var n=t.children;return n&&n.length?Ii(n[0]):t}function Bi(t){var n,e=t.children;return e&&(n=e.length)?Bi(e[n-1]):t}function Ni(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Pi(t,n){var e=t.x+n[3],r=t.y+n[0],i=t.dx-n[1]-n[3],a=t.dy-n[0]-n[2];return 0>i&&(e+=i/2,i=0),0>a&&(r+=a/2,a=0),{x:e,y:r,dx:i,dy:a}}function Ri(t){var n=t[0],e=t[t.length-1];return e>n?[n,e]:[e,n]}function ji(t){return t.rangeExtent?t.rangeExtent():Ri(t.range())}function Yi(t,n,e,r){var i=e(t[0],t[1]),a=r(n[0],n[1]);return function(t){return a(i(t))}}function Ui(t,n){var e,r=0,i=t.length-1,a=t[r],u=t[i];return a>u&&(e=r,r=i,i=e,e=a,a=u,u=e),t[r]=n.floor(a),t[i]=n.ceil(u),t}function $i(t){return t?{floor:function(n){return Math.floor(n/t)*t},ceil:function(n){return Math.ceil(n/t)*t}}:_s}function Wi(t,n,e,r){var i=[],a=[],u=0,o=Math.min(t.length,n.length)-1;for(t[o]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++u<=o;)i.push(e(t[u-1],t[u])),a.push(r(n[u-1],n[u]));return function(n){var e=eu.bisect(t,n,1,o)-1;return a[e](i[e](n))}}function zi(t,n,e,r){function i(){var i=Math.min(t.length,n.length)>2?Wi:Yi,s=r?zr:Wr;return u=i(t,n,s,e),o=i(n,t,s,_r),a}function a(t){return u(t)}var u,o;return a.invert=function(t){return o(t)},a.domain=function(n){return arguments.length?(t=n.map(Number),i()):t},a.range=function(t){return arguments.length?(n=t,i()):n},a.rangeRound=function(t){return a.range(t).interpolate(Pr)},a.clamp=function(t){return arguments.length?(r=t,i()):r},a.interpolate=function(t){return arguments.length?(e=t,i()):e},a.ticks=function(n){return Vi(t,n)},a.tickFormat=function(n,e){return Zi(t,n,e)},a.nice=function(n){return Gi(t,n),i()},a.copy=function(){return zi(t,n,e,r)},i()}function qi(t,n){return eu.rebind(t,n,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Gi(t,n){return Ui(t,$i(Hi(t,n)[2]))}function Hi(t,n){null==n&&(n=10);var e=Ri(t),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/n)/Math.LN10)),a=n/r*i;return.15>=a?i*=10:.35>=a?i*=5:.75>=a&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Vi(t,n){return eu.range.apply(eu,Hi(t,n))}function Zi(t,n,e){var r=Hi(t,n);if(e){var i=uo.exec(e);if(i.shift(),\"s\"===i[8]){var a=eu.formatPrefix(Math.max(pu(r[0]),pu(r[1])));return i[7]||(i[7]=\".\"+Xi(a.scale(r[2]))),i[8]=\"f\",e=eu.format(i.join(\"\")),function(t){return e(a.scale(t))+a.symbol}}i[7]||(i[7]=\".\"+Ki(i[8],r)),e=i.join(\"\")}else e=\",.\"+Xi(r[2])+\"f\";return eu.format(e)}function Xi(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function Ki(t,n){var e=Xi(n[2]);return t in bs?Math.abs(e-Xi(Math.max(pu(n[0]),pu(n[1]))))+ +(\"e\"!==t):e-2*(\"%\"===t)}function Qi(t,n,e,r){function i(t){return(e?Math.log(0>t?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function a(t){return e?Math.pow(n,t):-Math.pow(n,-t)}function u(n){return t(i(n))}return u.invert=function(n){return a(t.invert(n))},u.domain=function(n){return arguments.length?(e=n[0]>=0,t.domain((r=n.map(Number)).map(i)),u):r},u.base=function(e){return arguments.length?(n=+e,t.domain(r.map(i)),u):n},u.nice=function(){var n=Ui(r.map(i),e?Math:ws);return t.domain(n),r=n.map(a),u},u.ticks=function(){var t=Ri(r),u=[],o=t[0],s=t[1],c=Math.floor(i(o)),l=Math.ceil(i(s)),h=n%1?2:n;if(isFinite(l-c)){if(e){for(;l>c;c++)for(var f=1;h>f;f++)u.push(a(c)*f);u.push(a(c))}else for(u.push(a(c));c++<l;)for(var f=h-1;f>0;f--)u.push(a(c)*f);for(c=0;u[c]<o;c++);for(l=u.length;u[l-1]>s;l--);u=u.slice(c,l)}return u},u.tickFormat=function(t,n){if(!arguments.length)return xs;arguments.length<2?n=xs:\"function\"!=typeof n&&(n=eu.format(n));var r,o=Math.max(.1,t/u.ticks().length),s=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(t){return t/a(s(i(t)+r))<=o?n(t):\"\"}},u.copy=function(){return Qi(t.copy(),n,e,r)},qi(u,t)}function Ji(t,n,e){function r(n){return t(i(n))}var i=ta(n),a=ta(1/n);return r.invert=function(n){return a(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain((e=n.map(Number)).map(i)),r):e},r.ticks=function(t){return Vi(e,t)},r.tickFormat=function(t,n){return Zi(e,t,n)},r.nice=function(t){return r.domain(Gi(e,t))},r.exponent=function(u){return arguments.length?(i=ta(n=u),a=ta(1/n),t.domain(e.map(i)),r):n},r.copy=function(){return Ji(t.copy(),n,e)},qi(r,t)}function ta(t){return function(n){return 0>n?-Math.pow(-n,t):Math.pow(n,t)}}function na(t,n){function e(e){return a[((i.get(e)||(\"range\"===n.t?i.set(e,t.push(e)):0/0))-1)%a.length]}function r(n,e){return eu.range(t.length).map(function(t){return n+e*t})}var i,a,u;return e.domain=function(r){if(!arguments.length)return t;t=[],i=new l;for(var a,u=-1,o=r.length;++u<o;)i.has(a=r[u])||i.set(a,t.push(a));return e[n.t].apply(e,n.a)},e.range=function(t){return arguments.length?(a=t,u=0,n={t:\"range\",a:arguments},e):a},e.rangePoints=function(i,o){arguments.length<2&&(o=0);var s=i[0],c=i[1],l=t.length<2?(s=(s+c)/2,0):(c-s)/(t.length-1+o);return a=r(s+l*o/2,l),u=0,n={t:\"rangePoints\",a:arguments},e},e.rangeRoundPoints=function(i,o){arguments.length<2&&(o=0);var s=i[0],c=i[1],l=t.length<2?(s=c=Math.round((s+c)/2),0):(c-s)/(t.length-1+o)|0;return a=r(s+Math.round(l*o/2+(c-s-(t.length-1+o)*l)/2),l),u=0,n={t:\"rangeRoundPoints\",a:arguments},e},e.rangeBands=function(i,o,s){arguments.length<2&&(o=0),arguments.length<3&&(s=o);var c=i[1]<i[0],l=i[c-0],h=i[1-c],f=(h-l)/(t.length-o+2*s);return a=r(l+f*s,f),c&&a.reverse(),u=f*(1-o),n={t:\"rangeBands\",a:arguments},e},e.rangeRoundBands=function(i,o,s){arguments.length<2&&(o=0),arguments.length<3&&(s=o);var c=i[1]<i[0],l=i[c-0],h=i[1-c],f=Math.floor((h-l)/(t.length-o+2*s));return a=r(l+Math.round((h-l-(t.length-o)*f)/2),f),c&&a.reverse(),u=Math.round(f*(1-o)),n={t:\"rangeRoundBands\",a:arguments},e},e.rangeBand=function(){return u},e.rangeExtent=function(){return Ri(n.a[0])},e.copy=function(){return na(t,n)},e.domain(t)}function ea(t,n){function e(){var e=0,r=n.length;for(o=[];++e<r;)o[e-1]=eu.quantile(t,e/r);return u}function u(t){return isNaN(t=+t)?void 0:n[eu.bisect(o,t)]}var o;return u.domain=function(n){return arguments.length?(t=n.map(i).filter(a).sort(r),e()):t},u.range=function(t){return arguments.length?(n=t,e()):n},u.quantiles=function(){return o},u.invertExtent=function(e){return e=n.indexOf(e),0>e?[0/0,0/0]:[e>0?o[e-1]:t[0],e<o.length?o[e]:t[t.length-1]]},u.copy=function(){return ea(t,n)},e()}function ra(t,n,e){function r(n){return e[Math.max(0,Math.min(u,Math.floor(a*(n-t))))]}function i(){return a=e.length/(n-t),u=e.length-1,r}var a,u;return r.domain=function(e){return arguments.length?(t=+e[0],n=+e[e.length-1],i()):[t,n]},r.range=function(t){return arguments.length?(e=t,i()):e},r.invertExtent=function(n){return n=e.indexOf(n),n=0>n?0/0:n/a+t,[n,n+1/a]},r.copy=function(){return ra(t,n,e)},i()}function ia(t,n){function e(e){return e>=e?n[eu.bisect(t,e)]:void 0}return e.domain=function(n){return arguments.length?(t=n,e):t},e.range=function(t){return arguments.length?(n=t,e):n},e.invertExtent=function(e){return e=n.indexOf(e),[t[e-1],t[e]]},e.copy=function(){return ia(t,n)},e}function aa(t){function n(t){return+t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=e.map(n),n):t},n.ticks=function(n){return Vi(t,n)},n.tickFormat=function(n,e){return Zi(t,n,e)},n.copy=function(){return aa(t)},n}function ua(){return 0}function oa(t){return t.innerRadius}function sa(t){return t.outerRadius}function ca(t){return t.startAngle}function la(t){return t.endAngle}function ha(t){return t&&t.padAngle}function fa(t,n,e,r){return(t-e)*n-(n-r)*t>0?0:1}function da(t,n,e,r,i){var a=t[0]-n[0],u=t[1]-n[1],o=(i?r:-r)/Math.sqrt(a*a+u*u),s=o*u,c=-o*a,l=t[0]+s,h=t[1]+c,f=n[0]+s,d=n[1]+c,p=(l+f)/2,g=(h+d)/2,y=f-l,m=d-h,v=y*y+m*m,_=e-r,b=l*d-f*h,x=(0>m?-1:1)*Math.sqrt(_*_*v-b*b),w=(b*m-y*x)/v,A=(-b*y-m*x)/v,k=(b*m+y*x)/v,E=(-b*y+m*x)/v,M=w-p,S=A-g,D=k-p,C=E-g;return M*M+S*S>D*D+C*C&&(w=k,A=E),[[w-s,A-c],[w*e/_,A*e/_]]}function pa(t){function n(n){function u(){c.push(\"M\",a(t(l),o))}for(var s,c=[],l=[],h=-1,f=n.length,d=St(e),p=St(r);++h<f;)i.call(this,s=n[h],h)?l.push([+d.call(this,s,h),+p.call(this,s,h)]):l.length&&(u(),l=[]);return l.length&&u(),c.length?c.join(\"\"):null}var e=Ce,r=Te,i=Tn,a=ga,u=a.key,o=.7;return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n.defined=function(t){return arguments.length?(i=t,n):i},n.interpolate=function(t){return arguments.length?(u=\"function\"==typeof t?a=t:(a=Ds.get(t)||ga).key,n):u},n.tension=function(t){return arguments.length?(o=t,n):o},n}function ga(t){return t.join(\"L\")}function ya(t){return ga(t)+\"Z\"}function ma(t){for(var n=0,e=t.length,r=t[0],i=[r[0],\",\",r[1]];++n<e;)i.push(\"H\",(r[0]+(r=t[n])[0])/2,\"V\",r[1]);return e>1&&i.push(\"H\",r[0]),i.join(\"\")}function va(t){for(var n=0,e=t.length,r=t[0],i=[r[0],\",\",r[1]];++n<e;)i.push(\"V\",(r=t[n])[1],\"H\",r[0]);return i.join(\"\")}function _a(t){for(var n=0,e=t.length,r=t[0],i=[r[0],\",\",r[1]];++n<e;)i.push(\"H\",(r=t[n])[0],\"V\",r[1]);return i.join(\"\")}function ba(t,n){return t.length<4?ga(t):t[1]+Aa(t.slice(1,-1),ka(t,n))}function xa(t,n){return t.length<3?ga(t):t[0]+Aa((t.push(t[0]),t),ka([t[t.length-2]].concat(t,[t[1]]),n))}function wa(t,n){return t.length<3?ga(t):t[0]+Aa(t,ka(t,n))}function Aa(t,n){if(n.length<1||t.length!=n.length&&t.length!=n.length+2)return ga(t);var e=t.length!=n.length,r=\"\",i=t[0],a=t[1],u=n[0],o=u,s=1;if(e&&(r+=\"Q\"+(a[0]-2*u[0]/3)+\",\"+(a[1]-2*u[1]/3)+\",\"+a[0]+\",\"+a[1],i=t[1],s=2),n.length>1){o=n[1],a=t[s],s++,r+=\"C\"+(i[0]+u[0])+\",\"+(i[1]+u[1])+\",\"+(a[0]-o[0])+\",\"+(a[1]-o[1])+\",\"+a[0]+\",\"+a[1];for(var c=2;c<n.length;c++,s++)a=t[s],o=n[c],r+=\"S\"+(a[0]-o[0])+\",\"+(a[1]-o[1])+\",\"+a[0]+\",\"+a[1]}if(e){var l=t[s];r+=\"Q\"+(a[0]+2*o[0]/3)+\",\"+(a[1]+2*o[1]/3)+\",\"+l[0]+\",\"+l[1]}return r}function ka(t,n){for(var e,r=[],i=(1-n)/2,a=t[0],u=t[1],o=1,s=t.length;++o<s;)e=a,a=u,u=t[o],r.push([i*(u[0]-e[0]),i*(u[1]-e[1])]);return r}function Ea(t){if(t.length<3)return ga(t);var n=1,e=t.length,r=t[0],i=r[0],a=r[1],u=[i,i,i,(r=t[1])[0]],o=[a,a,a,r[1]],s=[i,\",\",a,\"L\",Ca(Fs,u),\",\",Ca(Fs,o)];for(t.push(t[e-1]);++n<=e;)r=t[n],u.shift(),u.push(r[0]),o.shift(),o.push(r[1]),Ta(s,u,o);return t.pop(),s.push(\"L\",r),s.join(\"\")}function Ma(t){if(t.length<4)return ga(t);for(var n,e=[],r=-1,i=t.length,a=[0],u=[0];++r<3;)n=t[r],a.push(n[0]),u.push(n[1]);for(e.push(Ca(Fs,a)+\",\"+Ca(Fs,u)),--r;++r<i;)n=t[r],a.shift(),a.push(n[0]),u.shift(),u.push(n[1]),Ta(e,a,u);return e.join(\"\")}function Sa(t){for(var n,e,r=-1,i=t.length,a=i+4,u=[],o=[];++r<4;)e=t[r%i],u.push(e[0]),o.push(e[1]);for(n=[Ca(Fs,u),\",\",Ca(Fs,o)],--r;++r<a;)e=t[r%i],u.shift(),u.push(e[0]),o.shift(),o.push(e[1]),Ta(n,u,o);return n.join(\"\")}function Da(t,n){var e=t.length-1;if(e)for(var r,i,a=t[0][0],u=t[0][1],o=t[e][0]-a,s=t[e][1]-u,c=-1;++c<=e;)r=t[c],i=c/e,r[0]=n*r[0]+(1-n)*(a+i*o),r[1]=n*r[1]+(1-n)*(u+i*s);return Ea(t)}function Ca(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function Ta(t,n,e){t.push(\"C\",Ca(Cs,n),\",\",Ca(Cs,e),\",\",Ca(Ts,n),\",\",Ca(Ts,e),\",\",Ca(Fs,n),\",\",Ca(Fs,e))}function Fa(t,n){return(n[1]-t[1])/(n[0]-t[0])}function Oa(t){for(var n=0,e=t.length-1,r=[],i=t[0],a=t[1],u=r[0]=Fa(i,a);++n<e;)r[n]=(u+(u=Fa(i=a,a=t[n+1])))/2;return r[n]=u,r}function La(t){for(var n,e,r,i,a=[],u=Oa(t),o=-1,s=t.length-1;++o<s;)n=Fa(t[o],t[o+1]),pu(n)<Tu?u[o]=u[o+1]=0:(e=u[o]/n,r=u[o+1]/n,i=e*e+r*r,i>9&&(i=3*n/Math.sqrt(i),u[o]=i*e,u[o+1]=i*r));for(o=-1;++o<=s;)i=(t[Math.min(s,o+1)][0]-t[Math.max(0,o-1)][0])/(6*(1+u[o]*u[o])),\na.push([i||0,u[o]*i||0]);return a}function Ia(t){return t.length<3?ga(t):t[0]+Aa(t,La(t))}function Ba(t){for(var n,e,r,i=-1,a=t.length;++i<a;)n=t[i],e=n[0],r=n[1]-Bu,n[0]=e*Math.cos(r),n[1]=e*Math.sin(r);return t}function Na(t){function n(n){function s(){g.push(\"M\",o(t(m),h),l,c(t(y.reverse()),h),\"Z\")}for(var f,d,p,g=[],y=[],m=[],v=-1,_=n.length,b=St(e),x=St(i),w=e===r?function(){return d}:St(r),A=i===a?function(){return p}:St(a);++v<_;)u.call(this,f=n[v],v)?(y.push([d=+b.call(this,f,v),p=+x.call(this,f,v)]),m.push([+w.call(this,f,v),+A.call(this,f,v)])):y.length&&(s(),y=[],m=[]);return y.length&&s(),g.length?g.join(\"\"):null}var e=Ce,r=Ce,i=0,a=Te,u=Tn,o=ga,s=o.key,c=o,l=\"L\",h=.7;return n.x=function(t){return arguments.length?(e=r=t,n):r},n.x0=function(t){return arguments.length?(e=t,n):e},n.x1=function(t){return arguments.length?(r=t,n):r},n.y=function(t){return arguments.length?(i=a=t,n):a},n.y0=function(t){return arguments.length?(i=t,n):i},n.y1=function(t){return arguments.length?(a=t,n):a},n.defined=function(t){return arguments.length?(u=t,n):u},n.interpolate=function(t){return arguments.length?(s=\"function\"==typeof t?o=t:(o=Ds.get(t)||ga).key,c=o.reverse||o,l=o.closed?\"M\":\"L\",n):s},n.tension=function(t){return arguments.length?(h=t,n):h},n}function Pa(t){return t.radius}function Ra(t){return[t.x,t.y]}function ja(t){return function(){var n=t.apply(this,arguments),e=n[0],r=n[1]-Bu;return[e*Math.cos(r),e*Math.sin(r)]}}function Ya(){return 64}function Ua(){return\"circle\"}function $a(t){var n=Math.sqrt(t/Ou);return\"M0,\"+n+\"A\"+n+\",\"+n+\" 0 1,1 0,\"+-n+\"A\"+n+\",\"+n+\" 0 1,1 0,\"+n+\"Z\"}function Wa(t){return function(){var n,e;(n=this[t])&&(e=n[n.active])&&(--n.count?delete n[n.active]:delete this[t],n.active+=.5,e.event&&e.event.interrupt.call(this,this.__data__,e.index))}}function za(t,n,e){return _u(t,Rs),t.namespace=n,t.id=e,t}function qa(t,n,e,r){var i=t.id,a=t.namespace;return z(t,\"function\"==typeof e?function(t,u,o){t[a][i].tween.set(n,r(e.call(t,t.__data__,u,o)))}:(e=r(e),function(t){t[a][i].tween.set(n,e)}))}function Ga(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function Ha(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function Va(t,n,e,r,i){var a=t[e]||(t[e]={active:0,count:0}),u=a[r];if(!u){var o=i.time;u=a[r]={tween:new l,time:o,delay:i.delay,duration:i.duration,ease:i.ease,index:n},i=null,++a.count,eu.timer(function(i){function s(e){if(a.active>r)return l();var i=a[a.active];i&&(--a.count,delete a[a.active],i.event&&i.event.interrupt.call(t,t.__data__,i.index)),a.active=r,u.event&&u.event.start.call(t,t.__data__,n),u.tween.forEach(function(e,r){(r=r.call(t,t.__data__,n))&&g.push(r)}),f=u.ease,h=u.duration,eu.timer(function(){return p.c=c(e||1)?Tn:c,1},0,o)}function c(e){if(a.active!==r)return 1;for(var i=e/h,o=f(i),s=g.length;s>0;)g[--s].call(t,o);return i>=1?(u.event&&u.event.end.call(t,t.__data__,n),l()):void 0}function l(){return--a.count?delete a[r]:delete t[e],1}var h,f,d=u.delay,p=ro,g=[];return p.t=d+o,i>=d?s(i-d):void(p.c=s)},0,o)}}function Za(t,n,e){t.attr(\"transform\",function(t){var r=n(t);return\"translate(\"+(isFinite(r)?r:e(t))+\",0)\"})}function Xa(t,n,e){t.attr(\"transform\",function(t){var r=n(t);return\"translate(0,\"+(isFinite(r)?r:e(t))+\")\"})}function Ka(t){return t.toISOString()}function Qa(t,n,e){function r(n){return t(n)}function i(t,e){var r=t[1]-t[0],i=r/e,a=eu.bisect(Hs,i);return a==Hs.length?[n.year,Hi(t.map(function(t){return t/31536e6}),e)[2]]:a?n[i/Hs[a-1]<Hs[a]/i?a-1:a]:[Xs,Hi(t,e)[2]]}return r.invert=function(n){return Ja(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain(n),r):t.domain().map(Ja)},r.nice=function(t,n){function e(e){return!isNaN(e)&&!t.range(e,Ja(+e+1),n).length}var a=r.domain(),u=Ri(a),o=null==t?i(u,10):\"number\"==typeof t&&i(u,t);return o&&(t=o[0],n=o[1]),r.domain(Ui(a,n>1?{floor:function(n){for(;e(n=t.floor(n));)n=Ja(n-1);return n},ceil:function(n){for(;e(n=t.ceil(n));)n=Ja(+n+1);return n}}:t))},r.ticks=function(t,n){var e=Ri(r.domain()),a=null==t?i(e,10):\"number\"==typeof t?i(e,t):!t.range&&[{range:t},n];return a&&(t=a[0],n=a[1]),t.range(e[0],Ja(+e[1]+1),1>n?1:n)},r.tickFormat=function(){return e},r.copy=function(){return Qa(t.copy(),n,e)},qi(r,t)}function Ja(t){return new Date(t)}function tu(t){return JSON.parse(t.responseText)}function nu(t){var n=au.createRange();return n.selectNode(au.body),n.createContextualFragment(t.responseText)}var eu={version:\"3.5.6\"},ru=[].slice,iu=function(t){return ru.call(t)},au=this.document;if(au)try{iu(au.documentElement.childNodes)[0].nodeType}catch(uu){iu=function(t){for(var n=t.length,e=new Array(n);n--;)e[n]=t[n];return e}}if(Date.now||(Date.now=function(){return+new Date}),au)try{au.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(ou){var su=this.Element.prototype,cu=su.setAttribute,lu=su.setAttributeNS,hu=this.CSSStyleDeclaration.prototype,fu=hu.setProperty;su.setAttribute=function(t,n){cu.call(this,t,n+\"\")},su.setAttributeNS=function(t,n,e){lu.call(this,t,n,e+\"\")},hu.setProperty=function(t,n,e){fu.call(this,t,n+\"\",e)}}eu.ascending=r,eu.descending=function(t,n){return t>n?-1:n>t?1:n>=t?0:0/0},eu.min=function(t,n){var e,r,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<a;)null!=(r=t[i])&&e>r&&(e=r)}else{for(;++i<a;)if(null!=(r=n.call(t,t[i],i))&&r>=r){e=r;break}for(;++i<a;)null!=(r=n.call(t,t[i],i))&&e>r&&(e=r)}return e},eu.max=function(t,n){var e,r,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<a;)null!=(r=t[i])&&r>e&&(e=r)}else{for(;++i<a;)if(null!=(r=n.call(t,t[i],i))&&r>=r){e=r;break}for(;++i<a;)null!=(r=n.call(t,t[i],i))&&r>e&&(e=r)}return e},eu.extent=function(t,n){var e,r,i,a=-1,u=t.length;if(1===arguments.length){for(;++a<u;)if(null!=(r=t[a])&&r>=r){e=i=r;break}for(;++a<u;)null!=(r=t[a])&&(e>r&&(e=r),r>i&&(i=r))}else{for(;++a<u;)if(null!=(r=n.call(t,t[a],a))&&r>=r){e=i=r;break}for(;++a<u;)null!=(r=n.call(t,t[a],a))&&(e>r&&(e=r),r>i&&(i=r))}return[e,i]},eu.sum=function(t,n){var e,r=0,i=t.length,u=-1;if(1===arguments.length)for(;++u<i;)a(e=+t[u])&&(r+=e);else for(;++u<i;)a(e=+n.call(t,t[u],u))&&(r+=e);return r},eu.mean=function(t,n){var e,r=0,u=t.length,o=-1,s=u;if(1===arguments.length)for(;++o<u;)a(e=i(t[o]))?r+=e:--s;else for(;++o<u;)a(e=i(n.call(t,t[o],o)))?r+=e:--s;return s?r/s:void 0},eu.quantile=function(t,n){var e=(t.length-1)*n+1,r=Math.floor(e),i=+t[r-1],a=e-r;return a?i+a*(t[r]-i):i},eu.median=function(t,n){var e,u=[],o=t.length,s=-1;if(1===arguments.length)for(;++s<o;)a(e=i(t[s]))&&u.push(e);else for(;++s<o;)a(e=i(n.call(t,t[s],s)))&&u.push(e);return u.length?eu.quantile(u.sort(r),.5):void 0},eu.variance=function(t,n){var e,r,u=t.length,o=0,s=0,c=-1,l=0;if(1===arguments.length)for(;++c<u;)a(e=i(t[c]))&&(r=e-o,o+=r/++l,s+=r*(e-o));else for(;++c<u;)a(e=i(n.call(t,t[c],c)))&&(r=e-o,o+=r/++l,s+=r*(e-o));return l>1?s/(l-1):void 0},eu.deviation=function(){var t=eu.variance.apply(this,arguments);return t?Math.sqrt(t):t};var du=u(r);eu.bisectLeft=du.left,eu.bisect=eu.bisectRight=du.right,eu.bisector=function(t){return u(1===t.length?function(n,e){return r(t(n),e)}:t)},eu.shuffle=function(t,n,e){(a=arguments.length)<3&&(e=t.length,2>a&&(n=0));for(var r,i,a=e-n;a;)i=Math.random()*a--|0,r=t[a+n],t[a+n]=t[i+n],t[i+n]=r;return t},eu.permute=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},eu.pairs=function(t){for(var n,e=0,r=t.length-1,i=t[0],a=new Array(0>r?0:r);r>e;)a[e]=[n=i,i=t[++e]];return a},eu.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,n=eu.min(arguments,o),e=new Array(n);++t<n;)for(var r,i=-1,a=e[t]=new Array(r);++i<r;)a[i]=arguments[i][t];return e},eu.transpose=function(t){return eu.zip.apply(eu,t)},eu.keys=function(t){var n=[];for(var e in t)n.push(e);return n},eu.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},eu.entries=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},eu.merge=function(t){for(var n,e,r,i=t.length,a=-1,u=0;++a<i;)u+=t[a].length;for(e=new Array(u);--i>=0;)for(r=t[i],n=r.length;--n>=0;)e[--u]=r[n];return e};var pu=Math.abs;eu.range=function(t,n,e){if(arguments.length<3&&(e=1,arguments.length<2&&(n=t,t=0)),(n-t)/e===1/0)throw new Error(\"infinite range\");var r,i=[],a=s(pu(e)),u=-1;if(t*=a,n*=a,e*=a,0>e)for(;(r=t+e*++u)>n;)i.push(r/a);else for(;(r=t+e*++u)<n;)i.push(r/a);return i},eu.map=function(t,n){var e=new l;if(t instanceof l)t.forEach(function(t,n){e.set(t,n)});else if(Array.isArray(t)){var r,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)e.set(i,t[i]);else for(;++i<a;)e.set(n.call(t,r=t[i],i),r)}else for(var u in t)e.set(u,t[u]);return e};var gu=\"__proto__\",yu=\"\\x00\";c(l,{has:d,get:function(t){return this._[h(t)]},set:function(t,n){return this._[h(t)]=n},remove:p,keys:g,values:function(){var t=[];for(var n in this._)t.push(this._[n]);return t},entries:function(){var t=[];for(var n in this._)t.push({key:f(n),value:this._[n]});return t},size:y,empty:m,forEach:function(t){for(var n in this._)t.call(this,f(n),this._[n])}}),eu.nest=function(){function t(n,u,o){if(o>=a.length)return r?r.call(i,u):e?u.sort(e):u;for(var s,c,h,f,d=-1,p=u.length,g=a[o++],y=new l;++d<p;)(f=y.get(s=g(c=u[d])))?f.push(c):y.set(s,[c]);return n?(c=n(),h=function(e,r){c.set(e,t(n,r,o))}):(c={},h=function(e,r){c[e]=t(n,r,o)}),y.forEach(h),c}function n(t,e){if(e>=a.length)return t;var r=[],i=u[e++];return t.forEach(function(t,i){r.push({key:t,values:n(i,e)})}),i?r.sort(function(t,n){return i(t.key,n.key)}):r}var e,r,i={},a=[],u=[];return i.map=function(n,e){return t(e,n,0)},i.entries=function(e){return n(t(eu.map,e,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return u[a.length-1]=t,i},i.sortValues=function(t){return e=t,i},i.rollup=function(t){return r=t,i},i},eu.set=function(t){var n=new v;if(t)for(var e=0,r=t.length;r>e;++e)n.add(t[e]);return n},c(v,{has:d,add:function(t){return this._[h(t+=\"\")]=!0,t},remove:p,values:g,size:y,empty:m,forEach:function(t){for(var n in this._)t.call(this,f(n))}}),eu.behavior={},eu.rebind=function(t,n){for(var e,r=1,i=arguments.length;++r<i;)t[e=arguments[r]]=b(t,n,n[e]);return t};var mu=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];eu.dispatch=function(){for(var t=new A,n=-1,e=arguments.length;++n<e;)t[arguments[n]]=k(t);return t},A.prototype.on=function(t,n){var e=t.indexOf(\".\"),r=\"\";if(e>=0&&(r=t.slice(e+1),t=t.slice(0,e)),t)return arguments.length<2?this[t].on(r):this[t].on(r,n);if(2===arguments.length){if(null==n)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},eu.event=null,eu.requote=function(t){return t.replace(vu,\"\\\\$&\")};var vu=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,_u={}.__proto__?function(t,n){t.__proto__=n}:function(t,n){for(var e in n)t[e]=n[e]},bu=function(t,n){return n.querySelector(t)},xu=function(t,n){return n.querySelectorAll(t)},wu=function(t,n){var e=t.matches||t[x(t,\"matchesSelector\")];return(wu=function(t,n){return e.call(t,n)})(t,n)};\"function\"==typeof Sizzle&&(bu=function(t,n){return Sizzle(t,n)[0]||null},xu=Sizzle,wu=Sizzle.matchesSelector),eu.selection=function(){return eu.select(au.documentElement)};var Au=eu.selection.prototype=[];Au.select=function(t){var n,e,r,i,a=[];t=C(t);for(var u=-1,o=this.length;++u<o;){a.push(n=[]),n.parentNode=(r=this[u]).parentNode;for(var s=-1,c=r.length;++s<c;)(i=r[s])?(n.push(e=t.call(i,i.__data__,s,u)),e&&\"__data__\"in i&&(e.__data__=i.__data__)):n.push(null)}return D(a)},Au.selectAll=function(t){var n,e,r=[];t=T(t);for(var i=-1,a=this.length;++i<a;)for(var u=this[i],o=-1,s=u.length;++o<s;)(e=u[o])&&(r.push(n=iu(t.call(e,e.__data__,o,i))),n.parentNode=e);return D(r)};var ku={svg:\"http://www.w3.org/2000/svg\",xhtml:\"http://www.w3.org/1999/xhtml\",xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};eu.ns={prefix:ku,qualify:function(t){var n=t.indexOf(\":\"),e=t;return n>=0&&(e=t.slice(0,n),t=t.slice(n+1)),ku.hasOwnProperty(e)?{space:ku[e],local:t}:t}},Au.attr=function(t,n){if(arguments.length<2){if(\"string\"==typeof t){var e=this.node();return t=eu.ns.qualify(t),t.local?e.getAttributeNS(t.space,t.local):e.getAttribute(t)}for(n in t)this.each(F(n,t[n]));return this}return this.each(F(t,n))},Au.classed=function(t,n){if(arguments.length<2){if(\"string\"==typeof t){var e=this.node(),r=(t=I(t)).length,i=-1;if(n=e.classList){for(;++i<r;)if(!n.contains(t[i]))return!1}else for(n=e.getAttribute(\"class\");++i<r;)if(!L(t[i]).test(n))return!1;return!0}for(n in t)this.each(B(n,t[n]));return this}return this.each(B(t,n))},Au.style=function(t,n,r){var i=arguments.length;if(3>i){if(\"string\"!=typeof t){2>i&&(n=\"\");for(r in t)this.each(P(r,t[r],n));return this}if(2>i){var a=this.node();return e(a).getComputedStyle(a,null).getPropertyValue(t)}r=\"\"}return this.each(P(t,n,r))},Au.property=function(t,n){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(n in t)this.each(R(n,t[n]));return this}return this.each(R(t,n))},Au.text=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var n=t.apply(this,arguments);this.textContent=null==n?\"\":n}:null==t?function(){this.textContent=\"\"}:function(){this.textContent=t}):this.node().textContent},Au.html=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var n=t.apply(this,arguments);this.innerHTML=null==n?\"\":n}:null==t?function(){this.innerHTML=\"\"}:function(){this.innerHTML=t}):this.node().innerHTML},Au.append=function(t){return t=j(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Au.insert=function(t,n){return t=j(t),n=C(n),this.select(function(){return this.insertBefore(t.apply(this,arguments),n.apply(this,arguments)||null)})},Au.remove=function(){return this.each(Y)},Au.data=function(t,n){function e(t,e){var r,i,a,u=t.length,h=e.length,f=Math.min(u,h),d=new Array(h),p=new Array(h),g=new Array(u);if(n){var y,m=new l,v=new Array(u);for(r=-1;++r<u;)m.has(y=n.call(i=t[r],i.__data__,r))?g[r]=i:m.set(y,i),v[r]=y;for(r=-1;++r<h;)(i=m.get(y=n.call(e,a=e[r],r)))?i!==!0&&(d[r]=i,i.__data__=a):p[r]=U(a),m.set(y,!0);for(r=-1;++r<u;)m.get(v[r])!==!0&&(g[r]=t[r])}else{for(r=-1;++r<f;)i=t[r],a=e[r],i?(i.__data__=a,d[r]=i):p[r]=U(a);for(;h>r;++r)p[r]=U(e[r]);for(;u>r;++r)g[r]=t[r]}p.update=d,p.parentNode=d.parentNode=g.parentNode=t.parentNode,o.push(p),s.push(d),c.push(g)}var r,i,a=-1,u=this.length;if(!arguments.length){for(t=new Array(u=(r=this[0]).length);++a<u;)(i=r[a])&&(t[a]=i.__data__);return t}var o=q([]),s=D([]),c=D([]);if(\"function\"==typeof t)for(;++a<u;)e(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;++a<u;)e(r=this[a],t);return s.enter=function(){return o},s.exit=function(){return c},s},Au.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},Au.filter=function(t){var n,e,r,i=[];\"function\"!=typeof t&&(t=$(t));for(var a=0,u=this.length;u>a;a++){i.push(n=[]),n.parentNode=(e=this[a]).parentNode;for(var o=0,s=e.length;s>o;o++)(r=e[o])&&t.call(r,r.__data__,o,a)&&n.push(r)}return D(i)},Au.order=function(){for(var t=-1,n=this.length;++t<n;)for(var e,r=this[t],i=r.length-1,a=r[i];--i>=0;)(e=r[i])&&(a&&a!==e.nextSibling&&a.parentNode.insertBefore(e,a),a=e);return this},Au.sort=function(t){t=W.apply(this,arguments);for(var n=-1,e=this.length;++n<e;)this[n].sort(t);return this.order()},Au.each=function(t){return z(this,function(n,e,r){t.call(n,n.__data__,e,r)})},Au.call=function(t){var n=iu(arguments);return t.apply(n[0]=this,n),this},Au.empty=function(){return!this.node()},Au.node=function(){for(var t=0,n=this.length;n>t;t++)for(var e=this[t],r=0,i=e.length;i>r;r++){var a=e[r];if(a)return a}return null},Au.size=function(){var t=0;return z(this,function(){++t}),t};var Eu=[];eu.selection.enter=q,eu.selection.enter.prototype=Eu,Eu.append=Au.append,Eu.empty=Au.empty,Eu.node=Au.node,Eu.call=Au.call,Eu.size=Au.size,Eu.select=function(t){for(var n,e,r,i,a,u=[],o=-1,s=this.length;++o<s;){r=(i=this[o]).update,u.push(n=[]),n.parentNode=i.parentNode;for(var c=-1,l=i.length;++c<l;)(a=i[c])?(n.push(r[c]=e=t.call(i.parentNode,a.__data__,c,o)),e.__data__=a.__data__):n.push(null)}return D(u)},Eu.insert=function(t,n){return arguments.length<2&&(n=G(this)),Au.insert.call(this,t,n)},eu.select=function(n){var e;return\"string\"==typeof n?(e=[bu(n,au)],e.parentNode=au.documentElement):(e=[n],e.parentNode=t(n)),D([e])},eu.selectAll=function(t){var n;return\"string\"==typeof t?(n=iu(xu(t,au)),n.parentNode=au.documentElement):(n=t,n.parentNode=null),D([n])},Au.on=function(t,n,e){var r=arguments.length;if(3>r){if(\"string\"!=typeof t){2>r&&(n=!1);for(e in t)this.each(H(e,t[e],n));return this}if(2>r)return(r=this.node()[\"__on\"+t])&&r._;e=!1}return this.each(H(t,n,e))};var Mu=eu.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});au&&Mu.forEach(function(t){\"on\"+t in au&&Mu.remove(t)});var Su,Du=0;eu.mouse=function(t){return K(t,M())};var Cu=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;eu.touch=function(t,n,e){if(arguments.length<3&&(e=n,n=M().changedTouches),n)for(var r,i=0,a=n.length;a>i;++i)if((r=n[i]).identifier===e)return K(t,r)},eu.behavior.drag=function(){function t(){this.on(\"mousedown.drag\",a).on(\"touchstart.drag\",u)}function n(t,n,e,a,u){return function(){function o(){var t,e,r=n(f,g);r&&(t=r[0]-_[0],e=r[1]-_[1],p|=t|e,_=r,d({type:\"drag\",x:r[0]+c[0],y:r[1]+c[1],dx:t,dy:e}))}function s(){n(f,g)&&(m.on(a+y,null).on(u+y,null),v(p&&eu.event.target===h),d({type:\"dragend\"}))}var c,l=this,h=eu.event.target,f=l.parentNode,d=r.of(l,arguments),p=0,g=t(),y=\".drag\"+(null==g?\"\":\"-\"+g),m=eu.select(e(h)).on(a+y,o).on(u+y,s),v=X(h),_=n(f,g);i?(c=i.apply(l,arguments),c=[c.x-_[0],c.y-_[1]]):c=[0,0],d({type:\"dragstart\"})}}var r=S(t,\"drag\",\"dragstart\",\"dragend\"),i=null,a=n(w,eu.mouse,e,\"mousemove\",\"mouseup\"),u=n(Q,eu.touch,_,\"touchmove\",\"touchend\");return t.origin=function(n){return arguments.length?(i=n,t):i},eu.rebind(t,r,\"on\")},eu.touches=function(t,n){return arguments.length<2&&(n=M().touches),n?iu(n).map(function(n){var e=K(t,n);return e.identifier=n.identifier,e}):[]};var Tu=1e-6,Fu=Tu*Tu,Ou=Math.PI,Lu=2*Ou,Iu=Lu-Tu,Bu=Ou/2,Nu=Ou/180,Pu=180/Ou,Ru=Math.SQRT2,ju=2,Yu=4;eu.interpolateZoom=function(t,n){function e(t){var n=t*v;if(m){var e=it(g),u=a/(ju*f)*(e*at(Ru*n+g)-rt(g));return[r+u*c,i+u*l,a*e/it(Ru*n+g)]}return[r+t*c,i+t*l,a*Math.exp(Ru*n)]}var r=t[0],i=t[1],a=t[2],u=n[0],o=n[1],s=n[2],c=u-r,l=o-i,h=c*c+l*l,f=Math.sqrt(h),d=(s*s-a*a+Yu*h)/(2*a*ju*f),p=(s*s-a*a-Yu*h)/(2*s*ju*f),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(p*p+1)-p),m=y-g,v=(m||Math.log(s/a))/Ru;return e.duration=1e3*v,e},eu.behavior.zoom=function(){function t(t){t.on(F,h).on($u+\".zoom\",d).on(\"dblclick.zoom\",p).on(I,f)}function n(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function r(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}function i(t){k.k=Math.max(D[0],Math.min(D[1],t))}function a(t,n){n=r(n),k.x+=t[0]-n[0],k.y+=t[1]-n[1]}function u(n,e,r,u){n.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,u)),a(y=e,r),n=eu.select(n),C>0&&(n=n.transition().duration(C)),n.call(t.event)}function o(){x&&x.domain(b.range().map(function(t){return(t-k.x)/k.k}).map(b.invert)),A&&A.domain(w.range().map(function(t){return(t-k.y)/k.k}).map(w.invert))}function s(t){T++||t({type:\"zoomstart\"})}function c(t){o(),t({type:\"zoom\",scale:k.k,translate:[k.x,k.y]})}function l(t){--T||(t({type:\"zoomend\"}),y=null)}function h(){function t(){h=1,a(eu.mouse(i),d),c(o)}function r(){f.on(O,null).on(L,null),p(h&&eu.event.target===u),l(o)}var i=this,u=eu.event.target,o=B.of(i,arguments),h=0,f=eu.select(e(i)).on(O,t).on(L,r),d=n(eu.mouse(i)),p=X(i);Ps.call(i),s(o)}function f(){function t(){var t=eu.touches(p);return d=k.k,t.forEach(function(t){t.identifier in y&&(y[t.identifier]=n(t))}),t}function e(){var n=eu.event.target;eu.select(n).on(b,r).on(x,o),w.push(n);for(var e=eu.event.changedTouches,i=0,a=e.length;a>i;++i)y[e[i].identifier]=null;var s=t(),c=Date.now();if(1===s.length){if(500>c-_){var l=s[0];u(p,l,y[l.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),E()}_=c}else if(s.length>1){var l=s[0],h=s[1],f=l[0]-h[0],d=l[1]-h[1];m=f*f+d*d}}function r(){var t,n,e,r,u=eu.touches(p);Ps.call(p);for(var o=0,s=u.length;s>o;++o,r=null)if(e=u[o],r=y[e.identifier]){if(n)break;t=e,n=r}if(r){var l=(l=e[0]-t[0])*l+(l=e[1]-t[1])*l,h=m&&Math.sqrt(l/m);t=[(t[0]+e[0])/2,(t[1]+e[1])/2],n=[(n[0]+r[0])/2,(n[1]+r[1])/2],i(h*d)}_=null,a(t,n),c(g)}function o(){if(eu.event.touches.length){for(var n=eu.event.changedTouches,e=0,r=n.length;r>e;++e)delete y[n[e].identifier];for(var i in y)return void t()}eu.selectAll(w).on(v,null),A.on(F,h).on(I,f),M(),l(g)}var d,p=this,g=B.of(p,arguments),y={},m=0,v=\".zoom-\"+eu.event.changedTouches[0].identifier,b=\"touchmove\"+v,x=\"touchend\"+v,w=[],A=eu.select(p),M=X(p);e(),s(g),A.on(F,null).on(I,e)}function d(){var t=B.of(this,arguments);v?clearTimeout(v):(Ps.call(this),g=n(y=m||eu.mouse(this)),s(t)),v=setTimeout(function(){v=null,l(t)},50),E(),i(Math.pow(2,.002*Uu())*k.k),a(y,g),c(t)}function p(){var t=eu.mouse(this),e=Math.log(k.k)/Math.LN2;u(this,t,n(t),eu.event.shiftKey?Math.ceil(e)-1:Math.floor(e)+1)}var g,y,m,v,_,b,x,w,A,k={x:0,y:0,k:1},M=[960,500],D=Wu,C=250,T=0,F=\"mousedown.zoom\",O=\"mousemove.zoom\",L=\"mouseup.zoom\",I=\"touchstart.zoom\",B=S(t,\"zoomstart\",\"zoom\",\"zoomend\");return $u||($u=\"onwheel\"in au?(Uu=function(){return-eu.event.deltaY*(eu.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in au?(Uu=function(){return eu.event.wheelDelta},\"mousewheel\"):(Uu=function(){return-eu.event.detail},\"MozMousePixelScroll\")),t.event=function(t){t.each(function(){var t=B.of(this,arguments),n=k;Bs?eu.select(this).transition().each(\"start.zoom\",function(){k=this.__chart__||{x:0,y:0,k:1},s(t)}).tween(\"zoom:zoom\",function(){var e=M[0],r=M[1],i=y?y[0]:e/2,a=y?y[1]:r/2,u=eu.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,e/k.k],[(i-n.x)/n.k,(a-n.y)/n.k,e/n.k]);return function(n){var r=u(n),o=e/r[2];this.__chart__=k={x:i-r[0]*o,y:a-r[1]*o,k:o},c(t)}}).each(\"interrupt.zoom\",function(){l(t)}).each(\"end.zoom\",function(){l(t)}):(this.__chart__=k,s(t),c(t),l(t))})},t.translate=function(n){return arguments.length?(k={x:+n[0],y:+n[1],k:k.k},o(),t):[k.x,k.y]},t.scale=function(n){return arguments.length?(k={x:k.x,y:k.y,k:+n},o(),t):k.k},t.scaleExtent=function(n){return arguments.length?(D=null==n?Wu:[+n[0],+n[1]],t):D},t.center=function(n){return arguments.length?(m=n&&[+n[0],+n[1]],t):m},t.size=function(n){return arguments.length?(M=n&&[+n[0],+n[1]],t):M},t.duration=function(n){return arguments.length?(C=+n,t):C},t.x=function(n){return arguments.length?(x=n,b=n.copy(),k={x:0,y:0,k:1},t):x},t.y=function(n){return arguments.length?(A=n,w=n.copy(),k={x:0,y:0,k:1},t):A},eu.rebind(t,B,\"on\")};var Uu,$u,Wu=[0,1/0];eu.color=ot,ot.prototype.toString=function(){return this.rgb()+\"\"},eu.hsl=st;var zu=st.prototype=new ot;zu.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,this.l/t)},zu.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new st(this.h,this.s,t*this.l)},zu.rgb=function(){return ct(this.h,this.s,this.l)},eu.hcl=lt;var qu=lt.prototype=new ot;qu.brighter=function(t){return new lt(this.h,this.c,Math.min(100,this.l+Gu*(arguments.length?t:1)))},qu.darker=function(t){return new lt(this.h,this.c,Math.max(0,this.l-Gu*(arguments.length?t:1)))},qu.rgb=function(){return ht(this.h,this.c,this.l).rgb()},eu.lab=ft;var Gu=18,Hu=.95047,Vu=1,Zu=1.08883,Xu=ft.prototype=new ot;Xu.brighter=function(t){return new ft(Math.min(100,this.l+Gu*(arguments.length?t:1)),this.a,this.b)},Xu.darker=function(t){return new ft(Math.max(0,this.l-Gu*(arguments.length?t:1)),this.a,this.b)},Xu.rgb=function(){return dt(this.l,this.a,this.b)},eu.rgb=vt;var Ku=vt.prototype=new ot;Ku.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var n=this.r,e=this.g,r=this.b,i=30;return n||e||r?(n&&i>n&&(n=i),e&&i>e&&(e=i),r&&i>r&&(r=i),new vt(Math.min(255,n/t),Math.min(255,e/t),Math.min(255,r/t))):new vt(i,i,i)},Ku.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new vt(t*this.r,t*this.g,t*this.b)},Ku.hsl=function(){return At(this.r,this.g,this.b)},Ku.toString=function(){return\"#\"+xt(this.r)+xt(this.g)+xt(this.b)};var Qu=eu.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Qu.forEach(function(t,n){Qu.set(t,_t(n))}),eu.functor=St,eu.xhr=Dt(_),eu.dsv=function(t,n){function e(t,e,a){arguments.length<3&&(a=e,e=null);var u=Ct(t,n,null==e?r:i(e),a);return u.row=function(t){return arguments.length?u.response(null==(e=t)?r:i(t)):e},u}function r(t){return e.parse(t.responseText)}function i(t){return function(n){return e.parse(n.responseText,t)}}function a(n){return n.map(u).join(t)}function u(t){return o.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}var o=new RegExp('[\"'+t+\"\\n]\"),s=t.charCodeAt(0);return e.parse=function(t,n){var r;return e.parseRows(t,function(t,e){if(r)return r(t,e-1);var i=new Function(\"d\",\"return {\"+t.map(function(t,n){return JSON.stringify(t)+\": d[\"+n+\"]\"}).join(\",\")+\"}\");r=n?function(t,e){return n(i(t),e)}:i})},e.parseRows=function(t,n){function e(){if(l>=c)return u;if(i)return i=!1,a;var n=l;if(34===t.charCodeAt(n)){for(var e=n;e++<c;)if(34===t.charCodeAt(e)){if(34!==t.charCodeAt(e+1))break;++e}l=e+2;var r=t.charCodeAt(e+1);return 13===r?(i=!0,10===t.charCodeAt(e+2)&&++l):10===r&&(i=!0),t.slice(n+1,e).replace(/\"\"/g,'\"')}for(;c>l;){var r=t.charCodeAt(l++),o=1;if(10===r)i=!0;else if(13===r)i=!0,10===t.charCodeAt(l)&&(++l,++o);else if(r!==s)continue;return t.slice(n,l-o)}return t.slice(n)}for(var r,i,a={},u={},o=[],c=t.length,l=0,h=0;(r=e())!==u;){for(var f=[];r!==a&&r!==u;)f.push(r),r=e();n&&null==(f=n(f,h++))||o.push(f)}return o},e.format=function(n){if(Array.isArray(n[0]))return e.formatRows(n);var r=new v,i=[];return n.forEach(function(t){for(var n in t)r.has(n)||i.push(r.add(n))}),[i.map(u).join(t)].concat(n.map(function(n){return i.map(function(t){return u(n[t])}).join(t)})).join(\"\\n\")},e.formatRows=function(t){return t.map(a).join(\"\\n\")},e},eu.csv=eu.dsv(\",\",\"text/csv\"),eu.tsv=eu.dsv(\"\t\",\"text/tab-separated-values\");var Ju,to,no,eo,ro,io=this[x(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};eu.timer=function(t,n,e){var r=arguments.length;2>r&&(n=0),3>r&&(e=Date.now());var i=e+n,a={c:t,t:i,f:!1,n:null};to?to.n=a:Ju=a,to=a,no||(eo=clearTimeout(eo),no=1,io(Ot))},eu.timer.flush=function(){Lt(),It()},eu.round=function(t,n){return n?Math.round(t*(n=Math.pow(10,n)))/n:Math.round(t)};var ao=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(Nt);eu.formatPrefix=function(t,n){var e=0;return t&&(0>t&&(t*=-1),n&&(t=eu.round(t,Bt(t,n))),e=1+Math.floor(1e-12+Math.log(t)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),ao[8+e/3]};var uo=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i,oo=eu.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,n){return t.toPrecision(n)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},r:function(t,n){return(t=eu.round(t,Bt(t,n))).toFixed(Math.max(0,Math.min(20,Bt(t*(1+1e-15),n))))}}),so=eu.time={},co=Date;jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){lo.setUTCDate.apply(this._,arguments)},setDay:function(){lo.setUTCDay.apply(this._,arguments)},setFullYear:function(){lo.setUTCFullYear.apply(this._,arguments)},setHours:function(){lo.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){lo.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){lo.setUTCMinutes.apply(this._,arguments)},setMonth:function(){lo.setUTCMonth.apply(this._,arguments)},setSeconds:function(){lo.setUTCSeconds.apply(this._,arguments)},setTime:function(){lo.setTime.apply(this._,arguments)}};var lo=Date.prototype;so.year=Yt(function(t){return t=so.day(t),t.setMonth(0,1),t},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t){return t.getFullYear()}),so.years=so.year.range,so.years.utc=so.year.utc.range,so.day=Yt(function(t){var n=new co(2e3,0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n},function(t,n){t.setDate(t.getDate()+n)},function(t){return t.getDate()-1}),so.days=so.day.range,so.days.utc=so.day.utc.range,so.dayOfYear=function(t){var n=so.year(t);return Math.floor((t-n-6e4*(t.getTimezoneOffset()-n.getTimezoneOffset()))/864e5)},[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"].forEach(function(t,n){n=7-n;var e=so[t]=Yt(function(t){return(t=so.day(t)).setDate(t.getDate()-(t.getDay()+n)%7),t},function(t,n){t.setDate(t.getDate()+7*Math.floor(n))},function(t){var e=so.year(t).getDay();return Math.floor((so.dayOfYear(t)+(e+n)%7)/7)-(e!==n)});so[t+\"s\"]=e.range,so[t+\"s\"].utc=e.utc.range,so[t+\"OfYear\"]=function(t){var e=so.year(t).getDay();return Math.floor((so.dayOfYear(t)+(e+n)%7)/7);\n\n}}),so.week=so.sunday,so.weeks=so.sunday.range,so.weeks.utc=so.sunday.utc.range,so.weekOfYear=so.sundayOfYear;var ho={\"-\":\"\",_:\" \",0:\"0\"},fo=/^\\s*\\d+/,po=/^%/;eu.locale=function(t){return{numberFormat:Pt(t),timeFormat:$t(t)}};var go=eu.locale({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],dateTime:\"%a %b %e %X %Y\",date:\"%m/%d/%Y\",time:\"%H:%M:%S\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});eu.format=go.numberFormat,eu.geo={},ln.prototype={s:0,t:0,add:function(t){hn(t,this.t,yo),hn(yo.s,this.s,this),this.s?this.t+=yo.t:this.s=yo.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var yo=new ln;eu.geo.stream=function(t,n){t&&mo.hasOwnProperty(t.type)?mo[t.type](t,n):fn(t,n)};var mo={Feature:function(t,n){fn(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)fn(e[r].geometry,n)}},vo={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){dn(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)dn(e[r],n,0)},Polygon:function(t,n){pn(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)pn(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)fn(e[r],n)}};eu.geo.area=function(t){return _o=0,eu.geo.stream(t,xo),_o};var _o,bo=new ln,xo={sphere:function(){_o+=4*Ou},point:w,lineStart:w,lineEnd:w,polygonStart:function(){bo.reset(),xo.lineStart=gn},polygonEnd:function(){var t=2*bo;_o+=0>t?4*Ou+t:t,xo.lineStart=xo.lineEnd=xo.point=w}};eu.geo.bounds=function(){function t(t,n){_.push(b=[l=t,f=t]),h>n&&(h=n),n>d&&(d=n)}function n(n,e){var r=yn([n*Nu,e*Nu]);if(m){var i=vn(m,r),a=[i[1],-i[0],0],u=vn(a,i);xn(u),u=wn(u);var s=n-p,c=s>0?1:-1,g=u[0]*Pu*c,y=pu(s)>180;if(y^(g>c*p&&c*n>g)){var v=u[1]*Pu;v>d&&(d=v)}else if(g=(g+360)%360-180,y^(g>c*p&&c*n>g)){var v=-u[1]*Pu;h>v&&(h=v)}else h>e&&(h=e),e>d&&(d=e);y?p>n?o(l,n)>o(l,f)&&(f=n):o(n,f)>o(l,f)&&(l=n):f>=l?(l>n&&(l=n),n>f&&(f=n)):n>p?o(l,n)>o(l,f)&&(f=n):o(n,f)>o(l,f)&&(l=n)}else t(n,e);m=r,p=n}function e(){x.point=n}function r(){b[0]=l,b[1]=f,x.point=t,m=null}function i(t,e){if(m){var r=t-p;v+=pu(r)>180?r+(r>0?360:-360):r}else g=t,y=e;xo.point(t,e),n(t,e)}function a(){xo.lineStart()}function u(){i(g,y),xo.lineEnd(),pu(v)>Tu&&(l=-(f=180)),b[0]=l,b[1]=f,m=null}function o(t,n){return(n-=t)<0?n+360:n}function s(t,n){return t[0]-n[0]}function c(t,n){return n[0]<=n[1]?n[0]<=t&&t<=n[1]:t<n[0]||n[1]<t}var l,h,f,d,p,g,y,m,v,_,b,x={point:t,lineStart:e,lineEnd:r,polygonStart:function(){x.point=i,x.lineStart=a,x.lineEnd=u,v=0,xo.polygonStart()},polygonEnd:function(){xo.polygonEnd(),x.point=t,x.lineStart=e,x.lineEnd=r,0>bo?(l=-(f=180),h=-(d=90)):v>Tu?d=90:-Tu>v&&(h=-90),b[0]=l,b[1]=f}};return function(t){d=f=-(l=h=1/0),_=[],eu.geo.stream(t,x);var n=_.length;if(n){_.sort(s);for(var e,r=1,i=_[0],a=[i];n>r;++r)e=_[r],c(e[0],i)||c(e[1],i)?(o(i[0],e[1])>o(i[0],i[1])&&(i[1]=e[1]),o(e[0],i[1])>o(i[0],i[1])&&(i[0]=e[0])):a.push(i=e);for(var u,e,p=-(1/0),n=a.length-1,r=0,i=a[n];n>=r;i=e,++r)e=a[r],(u=o(i[1],e[0]))>p&&(p=u,l=e[0],f=i[1])}return _=b=null,l===1/0||h===1/0?[[0/0,0/0],[0/0,0/0]]:[[l,h],[f,d]]}}(),eu.geo.centroid=function(t){wo=Ao=ko=Eo=Mo=So=Do=Co=To=Fo=Oo=0,eu.geo.stream(t,Lo);var n=To,e=Fo,r=Oo,i=n*n+e*e+r*r;return Fu>i&&(n=So,e=Do,r=Co,Tu>Ao&&(n=ko,e=Eo,r=Mo),i=n*n+e*e+r*r,Fu>i)?[0/0,0/0]:[Math.atan2(e,n)*Pu,et(r/Math.sqrt(i))*Pu]};var wo,Ao,ko,Eo,Mo,So,Do,Co,To,Fo,Oo,Lo={sphere:w,point:kn,lineStart:Mn,lineEnd:Sn,polygonStart:function(){Lo.lineStart=Dn},polygonEnd:function(){Lo.lineStart=Mn}},Io=In(Tn,Rn,Yn,[-Ou,-Ou/2]),Bo=1e9;eu.geo.clipExtent=function(){var t,n,e,r,i,a,u={stream:function(t){return i&&(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(o){return arguments.length?(a=zn(t=+o[0][0],n=+o[0][1],e=+o[1][0],r=+o[1][1]),i&&(i.valid=!1,i=null),u):[[t,n],[e,r]]}};return u.extent([[0,0],[960,500]])},(eu.geo.conicEqualArea=function(){return qn(Gn)}).raw=Gn,eu.geo.albers=function(){return eu.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},eu.geo.albersUsa=function(){function t(t){var a=t[0],u=t[1];return n=null,e(a,u),n||(r(a,u),n)||i(a,u),n}var n,e,r,i,a=eu.geo.albers(),u=eu.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o=eu.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,e){n=[t,e]}};return t.invert=function(t){var n=a.scale(),e=a.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?u:i>=.166&&.234>i&&r>=-.214&&-.115>r?o:a).invert(t)},t.stream=function(t){var n=a.stream(t),e=u.stream(t),r=o.stream(t);return{point:function(t,i){n.point(t,i),e.point(t,i),r.point(t,i)},sphere:function(){n.sphere(),e.sphere(),r.sphere()},lineStart:function(){n.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){n.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){n.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){n.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},t.precision=function(n){return arguments.length?(a.precision(n),u.precision(n),o.precision(n),t):a.precision()},t.scale=function(n){return arguments.length?(a.scale(n),u.scale(.35*n),o.scale(n),t.translate(a.translate())):a.scale()},t.translate=function(n){if(!arguments.length)return a.translate();var c=a.scale(),l=+n[0],h=+n[1];return e=a.translate(n).clipExtent([[l-.455*c,h-.238*c],[l+.455*c,h+.238*c]]).stream(s).point,r=u.translate([l-.307*c,h+.201*c]).clipExtent([[l-.425*c+Tu,h+.12*c+Tu],[l-.214*c-Tu,h+.234*c-Tu]]).stream(s).point,i=o.translate([l-.205*c,h+.212*c]).clipExtent([[l-.214*c+Tu,h+.166*c+Tu],[l-.115*c-Tu,h+.234*c-Tu]]).stream(s).point,t},t.scale(1070)};var No,Po,Ro,jo,Yo,Uo,$o={point:w,lineStart:w,lineEnd:w,polygonStart:function(){Po=0,$o.lineStart=Hn},polygonEnd:function(){$o.lineStart=$o.lineEnd=$o.point=w,No+=pu(Po/2)}},Wo={point:Vn,lineStart:w,lineEnd:w,polygonStart:w,polygonEnd:w},zo={point:Kn,lineStart:Qn,lineEnd:Jn,polygonStart:function(){zo.lineStart=te},polygonEnd:function(){zo.point=Kn,zo.lineStart=Qn,zo.lineEnd=Jn}};eu.geo.path=function(){function t(t){return t&&(\"function\"==typeof o&&a.pointRadius(+o.apply(this,arguments)),u&&u.valid||(u=i(a)),eu.geo.stream(t,u)),a.result()}function n(){return u=null,t}var e,r,i,a,u,o=4.5;return t.area=function(t){return No=0,eu.geo.stream(t,i($o)),No},t.centroid=function(t){return ko=Eo=Mo=So=Do=Co=To=Fo=Oo=0,eu.geo.stream(t,i(zo)),Oo?[To/Oo,Fo/Oo]:Co?[So/Co,Do/Co]:Mo?[ko/Mo,Eo/Mo]:[0/0,0/0]},t.bounds=function(t){return Yo=Uo=-(Ro=jo=1/0),eu.geo.stream(t,i(Wo)),[[Ro,jo],[Yo,Uo]]},t.projection=function(t){return arguments.length?(i=(e=t)?t.stream||re(t):_,n()):e},t.context=function(t){return arguments.length?(a=null==(r=t)?new Zn:new ne(t),\"function\"!=typeof o&&a.pointRadius(o),n()):r},t.pointRadius=function(n){return arguments.length?(o=\"function\"==typeof n?n:(a.pointRadius(+n),+n),t):o},t.projection(eu.geo.albersUsa()).context(null)},eu.geo.transform=function(t){return{stream:function(n){var e=new ie(n);for(var r in t)e[r]=t[r];return e}}},ie.prototype={point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},eu.geo.projection=ue,eu.geo.projectionMutator=oe,(eu.geo.equirectangular=function(){return ue(ce)}).raw=ce.invert=ce,eu.geo.rotation=function(t){function n(n){return n=t(n[0]*Nu,n[1]*Nu),n[0]*=Pu,n[1]*=Pu,n}return t=he(t[0]%360*Nu,t[1]*Nu,t.length>2?t[2]*Nu:0),n.invert=function(n){return n=t.invert(n[0]*Nu,n[1]*Nu),n[0]*=Pu,n[1]*=Pu,n},n},le.invert=ce,eu.geo.circle=function(){function t(){var t=\"function\"==typeof r?r.apply(this,arguments):r,n=he(-t[0]*Nu,-t[1]*Nu,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Pu,t[1]*=Pu}}),{type:\"Polygon\",coordinates:[i]}}var n,e,r=[0,0],i=6;return t.origin=function(n){return arguments.length?(r=n,t):r},t.angle=function(r){return arguments.length?(e=ge((n=+r)*Nu,i*Nu),t):n},t.precision=function(r){return arguments.length?(e=ge(n*Nu,(i=+r)*Nu),t):i},t.angle(90)},eu.geo.distance=function(t,n){var e,r=(n[0]-t[0])*Nu,i=t[1]*Nu,a=n[1]*Nu,u=Math.sin(r),o=Math.cos(r),s=Math.sin(i),c=Math.cos(i),l=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((e=h*u)*e+(e=c*l-s*h*o)*e),s*l+c*h*o)},eu.geo.graticule=function(){function t(){return{type:\"MultiLineString\",coordinates:n()}}function n(){return eu.range(Math.ceil(a/y)*y,i,y).map(f).concat(eu.range(Math.ceil(c/m)*m,s,m).map(d)).concat(eu.range(Math.ceil(r/p)*p,e,p).filter(function(t){return pu(t%y)>Tu}).map(l)).concat(eu.range(Math.ceil(o/g)*g,u,g).filter(function(t){return pu(t%m)>Tu}).map(h))}var e,r,i,a,u,o,s,c,l,h,f,d,p=10,g=p,y=90,m=360,v=2.5;return t.lines=function(){return n().map(function(t){return{type:\"LineString\",coordinates:t}})},t.outline=function(){return{type:\"Polygon\",coordinates:[f(a).concat(d(s).slice(1),f(i).reverse().slice(1),d(c).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.majorExtent(n).minorExtent(n):t.minorExtent()},t.majorExtent=function(n){return arguments.length?(a=+n[0][0],i=+n[1][0],c=+n[0][1],s=+n[1][1],a>i&&(n=a,a=i,i=n),c>s&&(n=c,c=s,s=n),t.precision(v)):[[a,c],[i,s]]},t.minorExtent=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],o=+n[0][1],u=+n[1][1],r>e&&(n=r,r=e,e=n),o>u&&(n=o,o=u,u=n),t.precision(v)):[[r,o],[e,u]]},t.step=function(n){return arguments.length?t.majorStep(n).minorStep(n):t.minorStep()},t.majorStep=function(n){return arguments.length?(y=+n[0],m=+n[1],t):[y,m]},t.minorStep=function(n){return arguments.length?(p=+n[0],g=+n[1],t):[p,g]},t.precision=function(n){return arguments.length?(v=+n,l=me(o,u,90),h=ve(r,e,v),f=me(c,s,90),d=ve(a,i,v),t):v},t.majorExtent([[-180,-90+Tu],[180,90-Tu]]).minorExtent([[-180,-80-Tu],[180,80+Tu]])},eu.geo.greatArc=function(){function t(){return{type:\"LineString\",coordinates:[n||r.apply(this,arguments),e||i.apply(this,arguments)]}}var n,e,r=_e,i=be;return t.distance=function(){return eu.geo.distance(n||r.apply(this,arguments),e||i.apply(this,arguments))},t.source=function(e){return arguments.length?(r=e,n=\"function\"==typeof e?null:e,t):r},t.target=function(n){return arguments.length?(i=n,e=\"function\"==typeof n?null:n,t):i},t.precision=function(){return arguments.length?t:0},t},eu.geo.interpolate=function(t,n){return xe(t[0]*Nu,t[1]*Nu,n[0]*Nu,n[1]*Nu)},eu.geo.length=function(t){return qo=0,eu.geo.stream(t,Go),qo};var qo,Go={sphere:w,point:w,lineStart:we,lineEnd:w,polygonStart:w,polygonEnd:w},Ho=Ae(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(eu.geo.azimuthalEqualArea=function(){return ue(Ho)}).raw=Ho;var Vo=Ae(function(t){var n=Math.acos(t);return n&&n/Math.sin(n)},_);(eu.geo.azimuthalEquidistant=function(){return ue(Vo)}).raw=Vo,(eu.geo.conicConformal=function(){return qn(ke)}).raw=ke,(eu.geo.conicEquidistant=function(){return qn(Ee)}).raw=Ee;var Zo=Ae(function(t){return 1/t},Math.atan);(eu.geo.gnomonic=function(){return ue(Zo)}).raw=Zo,Me.invert=function(t,n){return[t,2*Math.atan(Math.exp(n))-Bu]},(eu.geo.mercator=function(){return Se(Me)}).raw=Me;var Xo=Ae(function(){return 1},Math.asin);(eu.geo.orthographic=function(){return ue(Xo)}).raw=Xo;var Ko=Ae(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(eu.geo.stereographic=function(){return ue(Ko)}).raw=Ko,De.invert=function(t,n){return[-n,2*Math.atan(Math.exp(t))-Bu]},(eu.geo.transverseMercator=function(){var t=Se(De),n=t.center,e=t.rotate;return t.center=function(t){return t?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return t?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90])}).raw=De,eu.geom={},eu.geom.hull=function(t){function n(t){if(t.length<3)return[];var n,i=St(e),a=St(r),u=t.length,o=[],s=[];for(n=0;u>n;n++)o.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(o.sort(Oe),n=0;u>n;n++)s.push([o[n][0],-o[n][1]]);var c=Fe(o),l=Fe(s),h=l[0]===c[0],f=l[l.length-1]===c[c.length-1],d=[];for(n=c.length-1;n>=0;--n)d.push(t[o[c[n]][2]]);for(n=+h;n<l.length-f;++n)d.push(t[o[l[n]][2]]);return d}var e=Ce,r=Te;return arguments.length?n(t):(n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n)},eu.geom.polygon=function(t){return _u(t,Qo),t};var Qo=eu.geom.polygon.prototype=[];Qo.area=function(){for(var t,n=-1,e=this.length,r=this[e-1],i=0;++n<e;)t=r,r=this[n],i+=t[1]*r[0]-t[0]*r[1];return.5*i},Qo.centroid=function(t){var n,e,r=-1,i=this.length,a=0,u=0,o=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++r<i;)n=o,o=this[r],e=n[0]*o[1]-o[0]*n[1],a+=(n[0]+o[0])*e,u+=(n[1]+o[1])*e;return[a*t,u*t]},Qo.clip=function(t){for(var n,e,r,i,a,u,o=Be(t),s=-1,c=this.length-Be(this),l=this[c-1];++s<c;){for(n=t.slice(),t.length=0,i=this[s],a=n[(r=n.length-o)-1],e=-1;++e<r;)u=n[e],Le(u,l,i)?(Le(a,l,i)||t.push(Ie(a,u,l,i)),t.push(u)):Le(a,l,i)&&t.push(Ie(a,u,l,i)),a=u;o&&t.push(t[0]),l=i}return t};var Jo,ts,ns,es,rs,is=[],as=[];We.prototype.prepare=function(){for(var t,n=this.edges,e=n.length;e--;)t=n[e].edge,t.b&&t.a||n.splice(e,1);return n.sort(qe),n.length},nr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},er.prototype={insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=ur(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)r=e.U,e===r.L?(i=r.R,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(ir(this,e),t=e,e=t.U),e.C=!1,r.C=!0,ar(this,r))):(i=r.L,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(ar(this,e),t=e,e=t.U),e.C=!1,r.C=!0,ir(this,r))),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,a=t.L,u=t.R;if(e=a?u?ur(u):a:u,i?i.L===t?i.L=e:i.R=e:this._=e,a&&u?(r=e.C,e.C=t.C,e.L=a,a.U=e,e!==u?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=u,u.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(n=i.R,n.C&&(n.C=!1,i.C=!0,ir(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,ar(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,ir(this,i),t=this._;break}}else if(n=i.L,n.C&&(n.C=!1,i.C=!0,ar(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,ir(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,ar(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},eu.geom.voronoi=function(t){function n(t){var n=new Array(t.length),r=o[0][0],i=o[0][1],a=o[1][0],u=o[1][1];return or(e(t),o).cells.forEach(function(e,o){var s=e.edges,c=e.site,l=n[o]=s.length?s.map(function(t){var n=t.start();return[n.x,n.y]}):c.x>=r&&c.x<=a&&c.y>=i&&c.y<=u?[[r,u],[a,u],[a,i],[r,i]]:[];l.point=t[o]}),n}function e(t){return t.map(function(t,n){return{x:Math.round(a(t,n)/Tu)*Tu,y:Math.round(u(t,n)/Tu)*Tu,i:n}})}var r=Ce,i=Te,a=r,u=i,o=us;return t?n(t):(n.links=function(t){return or(e(t)).edges.filter(function(t){return t.l&&t.r}).map(function(n){return{source:t[n.l.i],target:t[n.r.i]}})},n.triangles=function(t){var n=[];return or(e(t)).cells.forEach(function(e,r){for(var i,a,u=e.site,o=e.edges.sort(qe),s=-1,c=o.length,l=o[c-1].edge,h=l.l===u?l.r:l.l;++s<c;)i=l,a=h,l=o[s].edge,h=l.l===u?l.r:l.l,r<a.i&&r<h.i&&cr(u,a,h)<0&&n.push([t[r],t[a.i],t[h.i]])}),n},n.x=function(t){return arguments.length?(a=St(r=t),n):r},n.y=function(t){return arguments.length?(u=St(i=t),n):i},n.clipExtent=function(t){return arguments.length?(o=null==t?us:t,n):o===us?null:o},n.size=function(t){return arguments.length?n.clipExtent(t&&[[0,0],t]):o===us?null:o&&o[1]},n)};var us=[[-1e6,-1e6],[1e6,1e6]];eu.geom.delaunay=function(t){return eu.geom.voronoi().triangles(t)},eu.geom.quadtree=function(t,n,e,r,i){function a(t){function a(t,n,e,r,i,a,u,o){if(!isNaN(e)&&!isNaN(r))if(t.leaf){var s=t.x,l=t.y;if(null!=s)if(pu(s-e)+pu(l-r)<.01)c(t,n,e,r,i,a,u,o);else{var h=t.point;t.x=t.y=t.point=null,c(t,h,s,l,i,a,u,o),c(t,n,e,r,i,a,u,o)}else t.x=e,t.y=r,t.point=n}else c(t,n,e,r,i,a,u,o)}function c(t,n,e,r,i,u,o,s){var c=.5*(i+o),l=.5*(u+s),h=e>=c,f=r>=l,d=f<<1|h;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=fr()),h?i=c:o=c,f?u=l:s=l,a(t,n,e,r,i,u,o,s)}var l,h,f,d,p,g,y,m,v,_=St(o),b=St(s);if(null!=n)g=n,y=e,m=r,v=i;else if(m=v=-(g=y=1/0),h=[],f=[],p=t.length,u)for(d=0;p>d;++d)l=t[d],l.x<g&&(g=l.x),l.y<y&&(y=l.y),l.x>m&&(m=l.x),l.y>v&&(v=l.y),h.push(l.x),f.push(l.y);else for(d=0;p>d;++d){var x=+_(l=t[d],d),w=+b(l,d);g>x&&(g=x),y>w&&(y=w),x>m&&(m=x),w>v&&(v=w),h.push(x),f.push(w)}var A=m-g,k=v-y;A>k?v=y+A:m=g+k;var E=fr();if(E.add=function(t){a(E,t,+_(t,++d),+b(t,d),g,y,m,v)},E.visit=function(t){dr(t,E,g,y,m,v)},E.find=function(t){return pr(E,t[0],t[1],g,y,m,v)},d=-1,null==n){for(;++d<p;)a(E,t[d],h[d],f[d],g,y,m,v);--d}else t.forEach(E.add);return h=f=t=l=null,E}var u,o=Ce,s=Te;return(u=arguments.length)?(o=lr,s=hr,3===u&&(i=e,r=n,e=n=0),a(t)):(a.x=function(t){return arguments.length?(o=t,a):o},a.y=function(t){return arguments.length?(s=t,a):s},a.extent=function(t){return arguments.length?(null==t?n=e=r=i=null:(n=+t[0][0],e=+t[0][1],r=+t[1][0],i=+t[1][1]),a):null==n?null:[[n,e],[r,i]]},a.size=function(t){return arguments.length?(null==t?n=e=r=i=null:(n=e=0,r=+t[0],i=+t[1]),a):null==n?null:[r-n,i-e]},a)},eu.interpolateRgb=gr,eu.interpolateObject=yr,eu.interpolateNumber=mr,eu.interpolateString=vr;var os=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,ss=new RegExp(os.source,\"g\");eu.interpolate=_r,eu.interpolators=[function(t,n){var e=typeof n;return(\"string\"===e?Qu.has(n.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(n)?gr:vr:n instanceof ot?gr:Array.isArray(n)?br:\"object\"===e&&isNaN(n)?yr:mr)(t,n)}],eu.interpolateArray=br;var cs=function(){return _},ls=eu.map({linear:cs,poly:Sr,quad:function(){return kr},cubic:function(){return Er},sin:function(){return Dr},exp:function(){return Cr},circle:function(){return Tr},elastic:Fr,back:Or,bounce:function(){return Lr}}),hs=eu.map({\"in\":_,out:wr,\"in-out\":Ar,\"out-in\":function(t){return Ar(wr(t))}});eu.ease=function(t){var n=t.indexOf(\"-\"),e=n>=0?t.slice(0,n):t,r=n>=0?t.slice(n+1):\"in\";return e=ls.get(e)||cs,r=hs.get(r)||_,xr(r(e.apply(null,ru.call(arguments,1))))},eu.interpolateHcl=Ir,eu.interpolateHsl=Br,eu.interpolateLab=Nr,eu.interpolateRound=Pr,eu.transform=function(t){var n=au.createElementNS(eu.ns.prefix.svg,\"g\");return(eu.transform=function(t){if(null!=t){n.setAttribute(\"transform\",t);var e=n.transform.baseVal.consolidate()}return new Rr(e?e.matrix:fs)})(t)},Rr.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var fs={a:1,b:0,c:0,d:1,e:0,f:0};eu.interpolateTransform=$r,eu.layout={},eu.layout.bundle=function(){return function(t){for(var n=[],e=-1,r=t.length;++e<r;)n.push(qr(t[e]));return n}},eu.layout.chord=function(){function t(){var t,c,h,f,d,p={},g=[],y=eu.range(a),m=[];for(e=[],r=[],t=0,f=-1;++f<a;){for(c=0,d=-1;++d<a;)c+=i[f][d];g.push(c),m.push(eu.range(a)),t+=c}for(u&&y.sort(function(t,n){return u(g[t],g[n])}),o&&m.forEach(function(t,n){t.sort(function(t,e){return o(i[n][t],i[n][e])})}),t=(Lu-l*a)/t,c=0,f=-1;++f<a;){for(h=c,d=-1;++d<a;){var v=y[f],_=m[v][d],b=i[v][_],x=c,w=c+=b*t;p[v+\"-\"+_]={index:v,subindex:_,startAngle:x,endAngle:w,value:b}}r[v]={index:v,startAngle:h,endAngle:c,value:(c-h)/t},c+=l}for(f=-1;++f<a;)for(d=f-1;++d<a;){var A=p[f+\"-\"+d],k=p[d+\"-\"+f];(A.value||k.value)&&e.push(A.value<k.value?{source:k,target:A}:{source:A,target:k})}s&&n()}function n(){e.sort(function(t,n){return s((t.source.value+t.target.value)/2,(n.source.value+n.target.value)/2)})}var e,r,i,a,u,o,s,c={},l=0;return c.matrix=function(t){return arguments.length?(a=(i=t)&&i.length,e=r=null,c):i},c.padding=function(t){return arguments.length?(l=t,e=r=null,c):l},c.sortGroups=function(t){return arguments.length?(u=t,e=r=null,c):u},c.sortSubgroups=function(t){return arguments.length?(o=t,e=null,c):o},c.sortChords=function(t){return arguments.length?(s=t,e&&n(),c):s},c.chords=function(){return e||t(),e},c.groups=function(){return r||t(),r},c},eu.layout.force=function(){function t(t){return function(n,e,r,i){if(n.point!==t){var a=n.cx-t.x,u=n.cy-t.y,o=i-e,s=a*a+u*u;if(s>o*o/y){if(p>s){var c=n.charge/s;t.px-=a*c,t.py-=u*c}return!0}if(n.point&&s&&p>s){var c=n.pointCharge/s;t.px-=a*c,t.py-=u*c}}return!n.charge}}function n(t){t.px=eu.event.x,t.py=eu.event.y,o.resume()}var e,r,i,a,u,o={},s=eu.dispatch(\"start\",\"tick\",\"end\"),c=[1,1],l=.9,h=ds,f=ps,d=-30,p=gs,g=.1,y=.64,m=[],v=[];return o.tick=function(){if((r*=.99)<.005)return s.end({type:\"end\",alpha:r=0}),!0;var n,e,o,h,f,p,y,_,b,x=m.length,w=v.length;for(e=0;w>e;++e)o=v[e],h=o.source,f=o.target,_=f.x-h.x,b=f.y-h.y,(p=_*_+b*b)&&(p=r*a[e]*((p=Math.sqrt(p))-i[e])/p,_*=p,b*=p,f.x-=_*(y=h.weight/(f.weight+h.weight)),f.y-=b*y,h.x+=_*(y=1-y),h.y+=b*y);if((y=r*g)&&(_=c[0]/2,b=c[1]/2,e=-1,y))for(;++e<x;)o=m[e],o.x+=(_-o.x)*y,o.y+=(b-o.y)*y;if(d)for(Qr(n=eu.geom.quadtree(m),r,u),e=-1;++e<x;)(o=m[e]).fixed||n.visit(t(o));for(e=-1;++e<x;)o=m[e],o.fixed?(o.x=o.px,o.y=o.py):(o.x-=(o.px-(o.px=o.x))*l,o.y-=(o.py-(o.py=o.y))*l);s.tick({type:\"tick\",alpha:r})},o.nodes=function(t){return arguments.length?(m=t,o):m},o.links=function(t){return arguments.length?(v=t,o):v},o.size=function(t){return arguments.length?(c=t,o):c},o.linkDistance=function(t){return arguments.length?(h=\"function\"==typeof t?t:+t,o):h},o.distance=o.linkDistance,o.linkStrength=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,o):f},o.friction=function(t){return arguments.length?(l=+t,o):l},o.charge=function(t){return arguments.length?(d=\"function\"==typeof t?t:+t,o):d},o.chargeDistance=function(t){return arguments.length?(p=t*t,o):Math.sqrt(p)},o.gravity=function(t){return arguments.length?(g=+t,o):g},o.theta=function(t){return arguments.length?(y=t*t,o):Math.sqrt(y)},o.alpha=function(t){return arguments.length?(t=+t,r?r=t>0?t:0:t>0&&(s.start({type:\"start\",alpha:r=t}),eu.timer(o.tick)),o):r},o.start=function(){function t(t,r){if(!e){for(e=new Array(s),o=0;s>o;++o)e[o]=[];for(o=0;l>o;++o){var i=v[o];e[i.source.index].push(i.target),e[i.target.index].push(i.source)}}for(var a,u=e[n],o=-1,c=u.length;++o<c;)if(!isNaN(a=u[o][t]))return a;return Math.random()*r}var n,e,r,s=m.length,l=v.length,p=c[0],g=c[1];for(n=0;s>n;++n)(r=m[n]).index=n,r.weight=0;for(n=0;l>n;++n)r=v[n],\"number\"==typeof r.source&&(r.source=m[r.source]),\"number\"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(n=0;s>n;++n)r=m[n],isNaN(r.x)&&(r.x=t(\"x\",p)),isNaN(r.y)&&(r.y=t(\"y\",g)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],\"function\"==typeof h)for(n=0;l>n;++n)i[n]=+h.call(this,v[n],n);else for(n=0;l>n;++n)i[n]=h;if(a=[],\"function\"==typeof f)for(n=0;l>n;++n)a[n]=+f.call(this,v[n],n);else for(n=0;l>n;++n)a[n]=f;if(u=[],\"function\"==typeof d)for(n=0;s>n;++n)u[n]=+d.call(this,m[n],n);else for(n=0;s>n;++n)u[n]=d;return o.resume()},o.resume=function(){return o.alpha(.1)},o.stop=function(){return o.alpha(0)},o.drag=function(){return e||(e=eu.behavior.drag().origin(_).on(\"dragstart.force\",Vr).on(\"drag.force\",n).on(\"dragend.force\",Zr)),arguments.length?void this.on(\"mouseover.force\",Xr).on(\"mouseout.force\",Kr).call(e):e},eu.rebind(o,s,\"on\")};var ds=20,ps=1,gs=1/0;eu.layout.hierarchy=function(){function t(i){var a,u=[i],o=[];for(i.depth=0;null!=(a=u.pop());)if(o.push(a),(c=e.call(t,a,a.depth))&&(s=c.length)){for(var s,c,l;--s>=0;)u.push(l=c[s]),l.parent=a,l.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(t,a,a.depth)||0),delete a.children;return ni(i,function(t){var e,i;n&&(e=t.children)&&e.sort(n),r&&(i=t.parent)&&(i.value+=t.value)}),o}var n=ii,e=ei,r=ri;return t.sort=function(e){return arguments.length?(n=e,t):n},t.children=function(n){return arguments.length?(e=n,t):e},t.value=function(n){return arguments.length?(r=n,t):r},t.revalue=function(n){return r&&(ti(n,function(t){t.children&&(t.value=0)}),ni(n,function(n){var e;n.children||(n.value=+r.call(t,n,n.depth)||0),(e=n.parent)&&(e.value+=n.value)})),n},t},eu.layout.partition=function(){function t(n,e,r,i){var a=n.children;if(n.x=e,n.y=n.depth*i,n.dx=r,n.dy=i,a&&(u=a.length)){var u,o,s,c=-1;for(r=n.value?r/n.value:0;++c<u;)t(o=a[c],e,s=o.value*r,i),e+=s}}function n(t){var e=t.children,r=0;if(e&&(i=e.length))for(var i,a=-1;++a<i;)r=Math.max(r,n(e[a]));return 1+r}function e(e,a){var u=r.call(this,e,a);return t(u[0],0,i[0],i[1]/n(u[0])),u}var r=eu.layout.hierarchy(),i=[1,1];return e.size=function(t){return arguments.length?(i=t,e):i},Jr(e,r)},eu.layout.pie=function(){function t(u){var o,s=u.length,c=u.map(function(e,r){return+n.call(t,e,r)}),l=+(\"function\"==typeof r?r.apply(this,arguments):r),h=(\"function\"==typeof i?i.apply(this,arguments):i)-l,f=Math.min(Math.abs(h)/s,+(\"function\"==typeof a?a.apply(this,arguments):a)),d=f*(0>h?-1:1),p=(h-s*d)/eu.sum(c),g=eu.range(s),y=[];return null!=e&&g.sort(e===ys?function(t,n){return c[n]-c[t]}:function(t,n){return e(u[t],u[n])}),g.forEach(function(t){y[t]={data:u[t],value:o=c[t],startAngle:l,endAngle:l+=o*p+d,padAngle:f}}),y}var n=Number,e=ys,r=0,i=Lu,a=0;return t.value=function(e){return arguments.length?(n=e,t):n},t.sort=function(n){return arguments.length?(e=n,t):e},t.startAngle=function(n){return arguments.length?(r=n,t):r},t.endAngle=function(n){return arguments.length?(i=n,t):i},t.padAngle=function(n){return arguments.length?(a=n,t):a},t};var ys={};eu.layout.stack=function(){function t(o,s){if(!(f=o.length))return o;var c=o.map(function(e,r){return n.call(t,e,r)}),l=c.map(function(n){return n.map(function(n,e){return[a.call(t,n,e),u.call(t,n,e)]})}),h=e.call(t,l,s);c=eu.permute(c,h),l=eu.permute(l,h);var f,d,p,g,y=r.call(t,l,s),m=c[0].length;for(p=0;m>p;++p)for(i.call(t,c[0][p],g=y[p],l[0][p][1]),d=1;f>d;++d)i.call(t,c[d][p],g+=l[d-1][p][1],l[d][p][1]);return o}var n=_,e=ci,r=li,i=si,a=ui,u=oi;return t.values=function(e){return arguments.length?(n=e,t):n},t.order=function(n){return arguments.length?(e=\"function\"==typeof n?n:ms.get(n)||ci,t):e},t.offset=function(n){return arguments.length?(r=\"function\"==typeof n?n:vs.get(n)||li,t):r},t.x=function(n){return arguments.length?(a=n,t):a},t.y=function(n){return arguments.length?(u=n,t):u},t.out=function(n){return arguments.length?(i=n,t):i},t};var ms=eu.map({\"inside-out\":function(t){var n,e,r=t.length,i=t.map(hi),a=t.map(fi),u=eu.range(r).sort(function(t,n){return i[t]-i[n]}),o=0,s=0,c=[],l=[];for(n=0;r>n;++n)e=u[n],s>o?(o+=a[e],c.push(e)):(s+=a[e],l.push(e));return l.reverse().concat(c)},reverse:function(t){return eu.range(t.length).reverse()},\"default\":ci}),vs=eu.map({silhouette:function(t){var n,e,r,i=t.length,a=t[0].length,u=[],o=0,s=[];for(e=0;a>e;++e){for(n=0,r=0;i>n;n++)r+=t[n][e][1];r>o&&(o=r),u.push(r)}for(e=0;a>e;++e)s[e]=(o-u[e])/2;return s},wiggle:function(t){var n,e,r,i,a,u,o,s,c,l=t.length,h=t[0],f=h.length,d=[];for(d[0]=s=c=0,e=1;f>e;++e){for(n=0,i=0;l>n;++n)i+=t[n][e][1];for(n=0,a=0,o=h[e][0]-h[e-1][0];l>n;++n){for(r=0,u=(t[n][e][1]-t[n][e-1][1])/(2*o);n>r;++r)u+=(t[r][e][1]-t[r][e-1][1])/o;a+=u*t[n][e][1]}d[e]=s-=i?a/i*o:0,c>s&&(c=s)}for(e=0;f>e;++e)d[e]-=c;return d},expand:function(t){var n,e,r,i=t.length,a=t[0].length,u=1/i,o=[];for(e=0;a>e;++e){for(n=0,r=0;i>n;n++)r+=t[n][e][1];if(r)for(n=0;i>n;n++)t[n][e][1]/=r;else for(n=0;i>n;n++)t[n][e][1]=u}for(e=0;a>e;++e)o[e]=0;return o},zero:li});eu.layout.histogram=function(){function t(t,a){for(var u,o,s=[],c=t.map(e,this),l=r.call(this,c,a),h=i.call(this,l,c,a),a=-1,f=c.length,d=h.length-1,p=n?1:1/f;++a<d;)u=s[a]=[],u.dx=h[a+1]-(u.x=h[a]),u.y=0;if(d>0)for(a=-1;++a<f;)o=c[a],o>=l[0]&&o<=l[1]&&(u=s[eu.bisect(h,o,1,d)-1],u.y+=p,u.push(t[a]));return s}var n=!0,e=Number,r=yi,i=pi;return t.value=function(n){return arguments.length?(e=n,t):e},t.range=function(n){return arguments.length?(r=St(n),t):r},t.bins=function(n){return arguments.length?(i=\"number\"==typeof n?function(t){return gi(t,n)}:St(n),t):i},t.frequency=function(e){return arguments.length?(n=!!e,t):n},t},eu.layout.pack=function(){function t(t,a){var u=e.call(this,t,a),o=u[0],s=i[0],c=i[1],l=null==n?Math.sqrt:\"function\"==typeof n?n:function(){return n};if(o.x=o.y=0,ni(o,function(t){t.r=+l(t.value)}),ni(o,xi),r){var h=r*(n?1:Math.max(2*o.r/s,2*o.r/c))/2;ni(o,function(t){t.r+=h}),ni(o,xi),ni(o,function(t){t.r-=h})}return ki(o,s/2,c/2,n?1:1/Math.max(2*o.r/s,2*o.r/c)),u}var n,e=eu.layout.hierarchy().sort(mi),r=0,i=[1,1];return t.size=function(n){return arguments.length?(i=n,t):i},t.radius=function(e){return arguments.length?(n=null==e||\"function\"==typeof e?e:+e,t):n},t.padding=function(n){return arguments.length?(r=+n,t):r},Jr(t,e)},eu.layout.tree=function(){function t(t,i){var l=u.call(this,t,i),h=l[0],f=n(h);if(ni(f,e),f.parent.m=-f.z,ti(f,r),c)ti(h,a);else{var d=h,p=h,g=h;ti(h,function(t){t.x<d.x&&(d=t),t.x>p.x&&(p=t),t.depth>g.depth&&(g=t)});var y=o(d,p)/2-d.x,m=s[0]/(p.x+o(p,d)/2+y),v=s[1]/(g.depth||1);ti(h,function(t){t.x=(t.x+y)*m,t.y=t.depth*v})}return l}function n(t){for(var n,e={A:null,children:[t]},r=[e];null!=(n=r.pop());)for(var i,a=n.children,u=0,o=a.length;o>u;++u)r.push((a[u]=i={_:a[u],parent:n,children:(i=a[u].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:u}).a=i);return e.children[0]}function e(t){var n=t.children,e=t.parent.children,r=t.i?e[t.i-1]:null;if(n.length){Ti(t);var a=(n[0].z+n[n.length-1].z)/2;r?(t.z=r.z+o(t._,r._),t.m=t.z-a):t.z=a}else r&&(t.z=r.z+o(t._,r._));t.parent.A=i(t,r,t.parent.A||e[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,n,e){if(n){for(var r,i=t,a=t,u=n,s=i.parent.children[0],c=i.m,l=a.m,h=u.m,f=s.m;u=Di(u),i=Si(i),u&&i;)s=Si(s),a=Di(a),a.a=t,r=u.z+h-i.z-c+o(u._,i._),r>0&&(Ci(Fi(u,t,e),t,r),c+=r,l+=r),h+=u.m,c+=i.m,f+=s.m,l+=a.m;u&&!Di(a)&&(a.t=u,a.m+=h-l),i&&!Si(s)&&(s.t=i,s.m+=c-f,e=t)}return e}function a(t){t.x*=s[0],t.y=t.depth*s[1]}var u=eu.layout.hierarchy().sort(null).value(null),o=Mi,s=[1,1],c=null;return t.separation=function(n){return arguments.length?(o=n,t):o},t.size=function(n){return arguments.length?(c=null==(s=n)?a:null,t):c?null:s},t.nodeSize=function(n){return arguments.length?(c=null==(s=n)?null:a,t):c?s:null},Jr(t,u)},eu.layout.cluster=function(){function t(t,a){var u,o=n.call(this,t,a),s=o[0],c=0;ni(s,function(t){var n=t.children;n&&n.length?(t.x=Li(n),t.y=Oi(n)):(t.x=u?c+=e(t,u):0,t.y=0,u=t)});var l=Ii(s),h=Bi(s),f=l.x-e(l,h)/2,d=h.x+e(h,l)/2;return ni(s,i?function(t){t.x=(t.x-s.x)*r[0],t.y=(s.y-t.y)*r[1]}:function(t){t.x=(t.x-f)/(d-f)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),o}var n=eu.layout.hierarchy().sort(null).value(null),e=Mi,r=[1,1],i=!1;return t.separation=function(n){return arguments.length?(e=n,t):e},t.size=function(n){return arguments.length?(i=null==(r=n),t):i?null:r},t.nodeSize=function(n){return arguments.length?(i=null!=(r=n),t):i?r:null},Jr(t,n)},eu.layout.treemap=function(){function t(t,n){for(var e,r,i=-1,a=t.length;++i<a;)r=(e=t[i]).value*(0>n?0:n),e.area=isNaN(r)||0>=r?0:r}function n(e){var a=e.children;if(a&&a.length){var u,o,s,c=h(e),l=[],f=a.slice(),p=1/0,g=\"slice\"===d?c.dx:\"dice\"===d?c.dy:\"slice-dice\"===d?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(t(f,c.dx*c.dy/e.value),l.area=0;(s=f.length)>0;)l.push(u=f[s-1]),l.area+=u.area,\"squarify\"!==d||(o=r(l,g))<=p?(f.pop(),p=o):(l.area-=l.pop().area,i(l,g,c,!1),g=Math.min(c.dx,c.dy),l.length=l.area=0,p=1/0);l.length&&(i(l,g,c,!0),l.length=l.area=0),a.forEach(n)}}function e(n){var r=n.children;if(r&&r.length){\nvar a,u=h(n),o=r.slice(),s=[];for(t(o,u.dx*u.dy/n.value),s.area=0;a=o.pop();)s.push(a),s.area+=a.area,null!=a.z&&(i(s,a.z?u.dx:u.dy,u,!o.length),s.length=s.area=0);r.forEach(e)}}function r(t,n){for(var e,r=t.area,i=0,a=1/0,u=-1,o=t.length;++u<o;)(e=t[u].area)&&(a>e&&(a=e),e>i&&(i=e));return r*=r,n*=n,r?Math.max(n*i*p/r,r/(n*a*p)):1/0}function i(t,n,e,r){var i,a=-1,u=t.length,o=e.x,c=e.y,l=n?s(t.area/n):0;if(n==e.dx){for((r||l>e.dy)&&(l=e.dy);++a<u;)i=t[a],i.x=o,i.y=c,i.dy=l,o+=i.dx=Math.min(e.x+e.dx-o,l?s(i.area/l):0);i.z=!0,i.dx+=e.x+e.dx-o,e.y+=l,e.dy-=l}else{for((r||l>e.dx)&&(l=e.dx);++a<u;)i=t[a],i.x=o,i.y=c,i.dx=l,c+=i.dy=Math.min(e.y+e.dy-c,l?s(i.area/l):0);i.z=!1,i.dy+=e.y+e.dy-c,e.x+=l,e.dx-=l}}function a(r){var i=u||o(r),a=i[0];return a.x=0,a.y=0,a.dx=c[0],a.dy=c[1],u&&o.revalue(a),t([a],a.dx*a.dy/a.value),(u?e:n)(a),f&&(u=i),i}var u,o=eu.layout.hierarchy(),s=Math.round,c=[1,1],l=null,h=Ni,f=!1,d=\"squarify\",p=.5*(1+Math.sqrt(5));return a.size=function(t){return arguments.length?(c=t,a):c},a.padding=function(t){function n(n){var e=t.call(a,n,n.depth);return null==e?Ni(n):Pi(n,\"number\"==typeof e?[e,e,e,e]:e)}function e(n){return Pi(n,t)}if(!arguments.length)return l;var r;return h=null==(l=t)?Ni:\"function\"==(r=typeof t)?n:\"number\"===r?(t=[t,t,t,t],e):e,a},a.round=function(t){return arguments.length?(s=t?Math.round:Number,a):s!=Number},a.sticky=function(t){return arguments.length?(f=t,u=null,a):f},a.ratio=function(t){return arguments.length?(p=t,a):p},a.mode=function(t){return arguments.length?(d=t+\"\",a):d},Jr(a,o)},eu.random={normal:function(t,n){var e=arguments.length;return 2>e&&(n=1),1>e&&(t=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return t+n*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=eu.random.normal.apply(eu,arguments);return function(){return Math.exp(t())}},bates:function(t){var n=eu.random.irwinHall(t);return function(){return n()/t}},irwinHall:function(t){return function(){for(var n=0,e=0;t>e;e++)n+=Math.random();return n}}},eu.scale={};var _s={floor:_,ceil:_};eu.scale.linear=function(){return zi([0,1],[0,1],_r,!1)};var bs={s:1,g:1,p:1,r:1,e:1};eu.scale.log=function(){return Qi(eu.scale.linear().domain([0,1]),10,!0,[1,10])};var xs=eu.format(\".0e\"),ws={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};eu.scale.pow=function(){return Ji(eu.scale.linear(),1,[0,1])},eu.scale.sqrt=function(){return eu.scale.pow().exponent(.5)},eu.scale.ordinal=function(){return na([],{t:\"range\",a:[[]]})},eu.scale.category10=function(){return eu.scale.ordinal().range(As)},eu.scale.category20=function(){return eu.scale.ordinal().range(ks)},eu.scale.category20b=function(){return eu.scale.ordinal().range(Es)},eu.scale.category20c=function(){return eu.scale.ordinal().range(Ms)};var As=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(bt),ks=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(bt),Es=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(bt),Ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(bt);eu.scale.quantile=function(){return ea([],[])},eu.scale.quantize=function(){return ra(0,1,[0,1])},eu.scale.threshold=function(){return ia([.5],[0,1])},eu.scale.identity=function(){return aa([0,1])},eu.svg={},eu.svg.arc=function(){function t(){var t=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),l=u.apply(this,arguments)-Bu,h=o.apply(this,arguments)-Bu,f=Math.abs(h-l),d=l>h?0:1;if(t>c&&(p=c,c=t,t=p),f>=Iu)return n(c,d)+(t?n(t,1-d):\"\")+\"Z\";var p,g,y,m,v,_,b,x,w,A,k,E,M=0,S=0,D=[];if((m=(+s.apply(this,arguments)||0)/2)&&(y=a===Ss?Math.sqrt(t*t+c*c):+a.apply(this,arguments),d||(S*=-1),c&&(S=et(y/c*Math.sin(m))),t&&(M=et(y/t*Math.sin(m)))),c){v=c*Math.cos(l+S),_=c*Math.sin(l+S),b=c*Math.cos(h-S),x=c*Math.sin(h-S);var C=Math.abs(h-l-2*S)<=Ou?0:1;if(S&&fa(v,_,b,x)===d^C){var T=(l+h)/2;v=c*Math.cos(T),_=c*Math.sin(T),b=x=null}}else v=_=0;if(t){w=t*Math.cos(h-M),A=t*Math.sin(h-M),k=t*Math.cos(l+M),E=t*Math.sin(l+M);var F=Math.abs(l-h+2*M)<=Ou?0:1;if(M&&fa(w,A,k,E)===1-d^F){var O=(l+h)/2;w=t*Math.cos(O),A=t*Math.sin(O),k=E=null}}else w=A=0;if((p=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))>.001){g=c>t^d?0:1;var L=null==k?[w,A]:null==b?[v,_]:Ie([v,_],[k,E],[b,x],[w,A]),I=v-L[0],B=_-L[1],N=b-L[0],P=x-L[1],R=1/Math.sin(Math.acos((I*N+B*P)/(Math.sqrt(I*I+B*B)*Math.sqrt(N*N+P*P)))/2),j=Math.sqrt(L[0]*L[0]+L[1]*L[1]);if(null!=b){var Y=Math.min(p,(c-j)/(R+1)),U=da(null==k?[w,A]:[k,E],[v,_],c,Y,d),$=da([b,x],[w,A],c,Y,d);p===Y?D.push(\"M\",U[0],\"A\",Y,\",\",Y,\" 0 0,\",g,\" \",U[1],\"A\",c,\",\",c,\" 0 \",1-d^fa(U[1][0],U[1][1],$[1][0],$[1][1]),\",\",d,\" \",$[1],\"A\",Y,\",\",Y,\" 0 0,\",g,\" \",$[0]):D.push(\"M\",U[0],\"A\",Y,\",\",Y,\" 0 1,\",g,\" \",$[0])}else D.push(\"M\",v,\",\",_);if(null!=k){var W=Math.min(p,(t-j)/(R-1)),z=da([v,_],[k,E],t,-W,d),q=da([w,A],null==b?[v,_]:[b,x],t,-W,d);p===W?D.push(\"L\",q[0],\"A\",W,\",\",W,\" 0 0,\",g,\" \",q[1],\"A\",t,\",\",t,\" 0 \",d^fa(q[1][0],q[1][1],z[1][0],z[1][1]),\",\",1-d,\" \",z[1],\"A\",W,\",\",W,\" 0 0,\",g,\" \",z[0]):D.push(\"L\",q[0],\"A\",W,\",\",W,\" 0 0,\",g,\" \",z[0])}else D.push(\"L\",w,\",\",A)}else D.push(\"M\",v,\",\",_),null!=b&&D.push(\"A\",c,\",\",c,\" 0 \",C,\",\",d,\" \",b,\",\",x),D.push(\"L\",w,\",\",A),null!=k&&D.push(\"A\",t,\",\",t,\" 0 \",F,\",\",1-d,\" \",k,\",\",E);return D.push(\"Z\"),D.join(\"\")}function n(t,n){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+n+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+n+\" 0,\"+t}var e=oa,r=sa,i=ua,a=Ss,u=ca,o=la,s=ha;return t.innerRadius=function(n){return arguments.length?(e=St(n),t):e},t.outerRadius=function(n){return arguments.length?(r=St(n),t):r},t.cornerRadius=function(n){return arguments.length?(i=St(n),t):i},t.padRadius=function(n){return arguments.length?(a=n==Ss?Ss:St(n),t):a},t.startAngle=function(n){return arguments.length?(u=St(n),t):u},t.endAngle=function(n){return arguments.length?(o=St(n),t):o},t.padAngle=function(n){return arguments.length?(s=St(n),t):s},t.centroid=function(){var t=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,n=(+u.apply(this,arguments)+ +o.apply(this,arguments))/2-Bu;return[Math.cos(n)*t,Math.sin(n)*t]},t};var Ss=\"auto\";eu.svg.line=function(){return pa(_)};var Ds=eu.map({linear:ga,\"linear-closed\":ya,step:ma,\"step-before\":va,\"step-after\":_a,basis:Ea,\"basis-open\":Ma,\"basis-closed\":Sa,bundle:Da,cardinal:wa,\"cardinal-open\":ba,\"cardinal-closed\":xa,monotone:Ia});Ds.forEach(function(t,n){n.key=t,n.closed=/-closed$/.test(t)});var Cs=[0,2/3,1/3,0],Ts=[0,1/3,2/3,0],Fs=[0,1/6,2/3,1/6];eu.svg.line.radial=function(){var t=pa(Ba);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},va.reverse=_a,_a.reverse=va,eu.svg.area=function(){return Na(_)},eu.svg.area.radial=function(){var t=Na(Ba);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},eu.svg.chord=function(){function t(t,o){var s=n(this,a,t,o),c=n(this,u,t,o);return\"M\"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(e(s,c)?i(s.r,s.p1,s.r,s.p0):i(s.r,s.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+i(c.r,c.p1,s.r,s.p0))+\"Z\"}function n(t,n,e,r){var i=n.call(t,e,r),a=o.call(t,i,r),u=s.call(t,i,r)-Bu,l=c.call(t,i,r)-Bu;return{r:a,a0:u,a1:l,p0:[a*Math.cos(u),a*Math.sin(u)],p1:[a*Math.cos(l),a*Math.sin(l)]}}function e(t,n){return t.a0==n.a0&&t.a1==n.a1}function r(t,n,e){return\"A\"+t+\",\"+t+\" 0 \"+ +(e>Ou)+\",1 \"+n}function i(t,n,e,r){return\"Q 0,0 \"+r}var a=_e,u=be,o=Pa,s=ca,c=la;return t.radius=function(n){return arguments.length?(o=St(n),t):o},t.source=function(n){return arguments.length?(a=St(n),t):a},t.target=function(n){return arguments.length?(u=St(n),t):u},t.startAngle=function(n){return arguments.length?(s=St(n),t):s},t.endAngle=function(n){return arguments.length?(c=St(n),t):c},t},eu.svg.diagonal=function(){function t(t,i){var a=n.call(this,t,i),u=e.call(this,t,i),o=(a.y+u.y)/2,s=[a,{x:a.x,y:o},{x:u.x,y:o},u];return s=s.map(r),\"M\"+s[0]+\"C\"+s[1]+\" \"+s[2]+\" \"+s[3]}var n=_e,e=be,r=Ra;return t.source=function(e){return arguments.length?(n=St(e),t):n},t.target=function(n){return arguments.length?(e=St(n),t):e},t.projection=function(n){return arguments.length?(r=n,t):r},t},eu.svg.diagonal.radial=function(){var t=eu.svg.diagonal(),n=Ra,e=t.projection;return t.projection=function(t){return arguments.length?e(ja(n=t)):n},t},eu.svg.symbol=function(){function t(t,r){return(Os.get(n.call(this,t,r))||$a)(e.call(this,t,r))}var n=Ua,e=Ya;return t.type=function(e){return arguments.length?(n=St(e),t):n},t.size=function(n){return arguments.length?(e=St(n),t):e},t};var Os=eu.map({circle:$a,cross:function(t){var n=Math.sqrt(t/5)/2;return\"M\"+-3*n+\",\"+-n+\"H\"+-n+\"V\"+-3*n+\"H\"+n+\"V\"+-n+\"H\"+3*n+\"V\"+n+\"H\"+n+\"V\"+3*n+\"H\"+-n+\"V\"+n+\"H\"+-3*n+\"Z\"},diamond:function(t){var n=Math.sqrt(t/(2*Is)),e=n*Is;return\"M0,\"+-n+\"L\"+e+\",0 0,\"+n+\" \"+-e+\",0Z\"},square:function(t){var n=Math.sqrt(t)/2;return\"M\"+-n+\",\"+-n+\"L\"+n+\",\"+-n+\" \"+n+\",\"+n+\" \"+-n+\",\"+n+\"Z\"},\"triangle-down\":function(t){var n=Math.sqrt(t/Ls),e=n*Ls/2;return\"M0,\"+e+\"L\"+n+\",\"+-e+\" \"+-n+\",\"+-e+\"Z\"},\"triangle-up\":function(t){var n=Math.sqrt(t/Ls),e=n*Ls/2;return\"M0,\"+-e+\"L\"+n+\",\"+e+\" \"+-n+\",\"+e+\"Z\"}});eu.svg.symbolTypes=Os.keys();var Ls=Math.sqrt(3),Is=Math.tan(30*Nu);Au.transition=function(t){for(var n,e,r=Bs||++js,i=Ha(t),a=[],u=Ns||{time:Date.now(),ease:Mr,delay:0,duration:250},o=-1,s=this.length;++o<s;){a.push(n=[]);for(var c=this[o],l=-1,h=c.length;++l<h;)(e=c[l])&&Va(e,l,i,r,u),n.push(e)}return za(a,i,r)},Au.interrupt=function(t){return this.each(null==t?Ps:Wa(Ha(t)))};var Bs,Ns,Ps=Wa(Ha()),Rs=[],js=0;Rs.call=Au.call,Rs.empty=Au.empty,Rs.node=Au.node,Rs.size=Au.size,eu.transition=function(t,n){return t&&t.transition?Bs?t.transition(n):t:eu.selection().transition(t)},eu.transition.prototype=Rs,Rs.select=function(t){var n,e,r,i=this.id,a=this.namespace,u=[];t=C(t);for(var o=-1,s=this.length;++o<s;){u.push(n=[]);for(var c=this[o],l=-1,h=c.length;++l<h;)(r=c[l])&&(e=t.call(r,r.__data__,l,o))?(\"__data__\"in r&&(e.__data__=r.__data__),Va(e,l,a,i,r[a][i]),n.push(e)):n.push(null)}return za(u,a,i)},Rs.selectAll=function(t){var n,e,r,i,a,u=this.id,o=this.namespace,s=[];t=T(t);for(var c=-1,l=this.length;++c<l;)for(var h=this[c],f=-1,d=h.length;++f<d;)if(r=h[f]){a=r[o][u],e=t.call(r,r.__data__,f,c),s.push(n=[]);for(var p=-1,g=e.length;++p<g;)(i=e[p])&&Va(i,p,o,u,a),n.push(i)}return za(s,o,u)},Rs.filter=function(t){var n,e,r,i=[];\"function\"!=typeof t&&(t=$(t));for(var a=0,u=this.length;u>a;a++){i.push(n=[]);for(var e=this[a],o=0,s=e.length;s>o;o++)(r=e[o])&&t.call(r,r.__data__,o,a)&&n.push(r)}return za(i,this.namespace,this.id)},Rs.tween=function(t,n){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(t):z(this,null==n?function(n){n[r][e].tween.remove(t)}:function(i){i[r][e].tween.set(t,n)})},Rs.attr=function(t,n){function e(){this.removeAttribute(o)}function r(){this.removeAttributeNS(o.space,o.local)}function i(t){return null==t?e:(t+=\"\",function(){var n,e=this.getAttribute(o);return e!==t&&(n=u(e,t),function(t){this.setAttribute(o,n(t))})})}function a(t){return null==t?r:(t+=\"\",function(){var n,e=this.getAttributeNS(o.space,o.local);return e!==t&&(n=u(e,t),function(t){this.setAttributeNS(o.space,o.local,n(t))})})}if(arguments.length<2){for(n in t)this.attr(n,t[n]);return this}var u=\"transform\"==t?$r:_r,o=eu.ns.qualify(t);return qa(this,\"attr.\"+t,n,o.local?a:i)},Rs.attrTween=function(t,n){function e(t,e){var r=n.call(this,t,e,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,e){var r=n.call(this,t,e,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=eu.ns.qualify(t);return this.tween(\"attr.\"+t,i.local?r:e)},Rs.style=function(t,n,r){function i(){this.style.removeProperty(t)}function a(n){return null==n?i:(n+=\"\",function(){var i,a=e(this).getComputedStyle(this,null).getPropertyValue(t);return a!==n&&(i=_r(a,n),function(n){this.style.setProperty(t,i(n),r)})})}var u=arguments.length;if(3>u){if(\"string\"!=typeof t){2>u&&(n=\"\");for(r in t)this.style(r,t[r],n);return this}r=\"\"}return qa(this,\"style.\"+t,n,a)},Rs.styleTween=function(t,n,r){function i(i,a){var u=n.call(this,i,a,e(this).getComputedStyle(this,null).getPropertyValue(t));return u&&function(n){this.style.setProperty(t,u(n),r)}}return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,i)},Rs.text=function(t){return qa(this,\"text\",t,Ga)},Rs.remove=function(){var t=this.namespace;return this.each(\"end.transition\",function(){var n;this[t].count<2&&(n=this.parentNode)&&n.removeChild(this)})},Rs.ease=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].ease:(\"function\"!=typeof t&&(t=eu.ease.apply(eu,arguments)),z(this,function(r){r[e][n].ease=t}))},Rs.delay=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].delay:z(this,\"function\"==typeof t?function(r,i,a){r[e][n].delay=+t.call(r,r.__data__,i,a)}:(t=+t,function(r){r[e][n].delay=t}))},Rs.duration=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].duration:z(this,\"function\"==typeof t?function(r,i,a){r[e][n].duration=Math.max(1,t.call(r,r.__data__,i,a))}:(t=Math.max(1,t),function(r){r[e][n].duration=t}))},Rs.each=function(t,n){var e=this.id,r=this.namespace;if(arguments.length<2){var i=Ns,a=Bs;try{Bs=e,z(this,function(n,i,a){Ns=n[r][e],t.call(n,n.__data__,i,a)})}finally{Ns=i,Bs=a}}else z(this,function(i){var a=i[r][e];(a.event||(a.event=eu.dispatch(\"start\",\"end\",\"interrupt\"))).on(t,n)});return this},Rs.transition=function(){for(var t,n,e,r,i=this.id,a=++js,u=this.namespace,o=[],s=0,c=this.length;c>s;s++){o.push(t=[]);for(var n=this[s],l=0,h=n.length;h>l;l++)(e=n[l])&&(r=e[u][i],Va(e,l,u,a,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(e)}return za(o,u,a)},eu.svg.axis=function(){function t(t){t.each(function(){var t,c=eu.select(this),l=this.__chart__||e,h=this.__chart__=e.copy(),f=null==s?h.ticks?h.ticks.apply(h,o):h.domain():s,d=null==n?h.tickFormat?h.tickFormat.apply(h,o):_:n,p=c.selectAll(\".tick\").data(f,h),g=p.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Tu),y=eu.transition(p.exit()).style(\"opacity\",Tu).remove(),m=eu.transition(p.order()).style(\"opacity\",1),v=Math.max(i,0)+u,b=ji(h),x=c.selectAll(\".domain\").data([0]),w=(x.enter().append(\"path\").attr(\"class\",\"domain\"),eu.transition(x));g.append(\"line\"),g.append(\"text\");var A,k,E,M,S=g.select(\"line\"),D=m.select(\"line\"),C=p.select(\"text\").text(d),T=g.select(\"text\"),F=m.select(\"text\"),O=\"top\"===r||\"left\"===r?-1:1;if(\"bottom\"===r||\"top\"===r?(t=Za,A=\"x\",E=\"y\",k=\"x2\",M=\"y2\",C.attr(\"dy\",0>O?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+O*a+\"V0H\"+b[1]+\"V\"+O*a)):(t=Xa,A=\"y\",E=\"x\",k=\"y2\",M=\"x2\",C.attr(\"dy\",\".32em\").style(\"text-anchor\",0>O?\"end\":\"start\"),w.attr(\"d\",\"M\"+O*a+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+O*a)),S.attr(M,O*i),T.attr(E,O*v),D.attr(k,0).attr(M,O*i),F.attr(A,0).attr(E,O*v),h.rangeBand){var L=h,I=L.rangeBand()/2;l=h=function(t){return L(t)+I}}else l.rangeBand?l=h:y.call(t,h,l);g.call(t,l,h),m.call(t,h,h)})}var n,e=eu.scale.linear(),r=Ys,i=6,a=6,u=3,o=[10],s=null;return t.scale=function(n){return arguments.length?(e=n,t):e},t.orient=function(n){return arguments.length?(r=n in Us?n+\"\":Ys,t):r},t.ticks=function(){return arguments.length?(o=arguments,t):o},t.tickValues=function(n){return arguments.length?(s=n,t):s},t.tickFormat=function(e){return arguments.length?(n=e,t):n},t.tickSize=function(n){var e=arguments.length;return e?(i=+n,a=+arguments[e-1],t):i},t.innerTickSize=function(n){return arguments.length?(i=+n,t):i},t.outerTickSize=function(n){return arguments.length?(a=+n,t):a},t.tickPadding=function(n){return arguments.length?(u=+n,t):u},t.tickSubdivide=function(){return arguments.length&&t},t};var Ys=\"bottom\",Us={top:1,right:1,bottom:1,left:1};eu.svg.brush=function(){function t(e){e.each(function(){var e=eu.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",a).on(\"touchstart.brush\",a),u=e.selectAll(\".background\").data([0]);u.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),e.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var o=e.selectAll(\".resize\").data(g,_);o.exit().remove(),o.enter().append(\"g\").attr(\"class\",function(t){return\"resize \"+t}).style(\"cursor\",function(t){return $s[t]}).append(\"rect\").attr(\"x\",function(t){return/[ew]$/.test(t)?-3:null}).attr(\"y\",function(t){return/^[ns]/.test(t)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),o.style(\"display\",t.empty()?\"none\":null);var s,h=eu.transition(e),f=eu.transition(u);c&&(s=ji(c),f.attr(\"x\",s[0]).attr(\"width\",s[1]-s[0]),r(h)),l&&(s=ji(l),f.attr(\"y\",s[0]).attr(\"height\",s[1]-s[0]),i(h)),n(h)})}function n(t){t.selectAll(\".resize\").attr(\"transform\",function(t){return\"translate(\"+h[+/e$/.test(t)]+\",\"+f[+/^s/.test(t)]+\")\"})}function r(t){t.select(\".extent\").attr(\"x\",h[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",h[1]-h[0])}function i(t){t.select(\".extent\").attr(\"y\",f[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",f[1]-f[0])}function a(){function a(){32==eu.event.keyCode&&(C||(_=null,F[0]-=h[1],F[1]-=f[1],C=2),E())}function g(){32==eu.event.keyCode&&2==C&&(F[0]+=h[1],F[1]+=f[1],C=0,E())}function y(){var t=eu.mouse(x),e=!1;b&&(t[0]+=b[0],t[1]+=b[1]),C||(eu.event.altKey?(_||(_=[(h[0]+h[1])/2,(f[0]+f[1])/2]),F[0]=h[+(t[0]<_[0])],F[1]=f[+(t[1]<_[1])]):_=null),S&&m(t,c,0)&&(r(k),e=!0),D&&m(t,l,1)&&(i(k),e=!0),e&&(n(k),A({type:\"brush\",mode:C?\"move\":\"resize\"}))}function m(t,n,e){var r,i,a=ji(n),s=a[0],c=a[1],l=F[e],g=e?f:h,y=g[1]-g[0];return C&&(s-=l,c-=y+l),r=(e?p:d)?Math.max(s,Math.min(c,t[e])):t[e],C?i=(r+=l)+y:(_&&(l=Math.max(s,Math.min(c,2*_[e]-r))),r>l?(i=r,r=l):i=l),g[0]!=r||g[1]!=i?(e?o=null:u=null,g[0]=r,g[1]=i,!0):void 0}function v(){y(),k.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",t.empty()?\"none\":null),eu.select(\"body\").style(\"cursor\",null),O.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),T(),A({type:\"brushend\"})}var _,b,x=this,w=eu.select(eu.event.target),A=s.of(x,arguments),k=eu.select(x),M=w.datum(),S=!/^(n|s)$/.test(M)&&c,D=!/^(e|w)$/.test(M)&&l,C=w.classed(\"extent\"),T=X(x),F=eu.mouse(x),O=eu.select(e(x)).on(\"keydown.brush\",a).on(\"keyup.brush\",g);if(eu.event.changedTouches?O.on(\"touchmove.brush\",y).on(\"touchend.brush\",v):O.on(\"mousemove.brush\",y).on(\"mouseup.brush\",v),k.interrupt().selectAll(\"*\").interrupt(),C)F[0]=h[0]-F[0],F[1]=f[0]-F[1];else if(M){var L=+/w$/.test(M),I=+/^n/.test(M);b=[h[1-L]-F[0],f[1-I]-F[1]],F[0]=h[L],F[1]=f[I]}else eu.event.altKey&&(_=F.slice());k.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),eu.select(\"body\").style(\"cursor\",w.style(\"cursor\")),A({type:\"brushstart\"}),y()}var u,o,s=S(t,\"brushstart\",\"brush\",\"brushend\"),c=null,l=null,h=[0,0],f=[0,0],d=!0,p=!0,g=Ws[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),n={x:h,y:f,i:u,j:o},e=this.__chart__||n;this.__chart__=n,Bs?eu.select(this).transition().each(\"start.brush\",function(){u=e.i,o=e.j,h=e.x,f=e.y,t({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var e=br(h,n.x),r=br(f,n.y);return u=o=null,function(i){h=n.x=e(i),f=n.y=r(i),t({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){u=n.i,o=n.j,t({type:\"brush\",mode:\"resize\"}),t({type:\"brushend\"})}):(t({type:\"brushstart\"}),t({type:\"brush\",mode:\"resize\"}),t({type:\"brushend\"}))})},t.x=function(n){return arguments.length?(c=n,g=Ws[!c<<1|!l],t):c},t.y=function(n){return arguments.length?(l=n,g=Ws[!c<<1|!l],t):l},t.clamp=function(n){return arguments.length?(c&&l?(d=!!n[0],p=!!n[1]):c?d=!!n:l&&(p=!!n),t):c&&l?[d,p]:c?d:l?p:null},t.extent=function(n){var e,r,i,a,s;return arguments.length?(c&&(e=n[0],r=n[1],l&&(e=e[0],r=r[0]),u=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(s=e,e=r,r=s),(e!=h[0]||r!=h[1])&&(h=[e,r])),l&&(i=n[0],a=n[1],c&&(i=i[1],a=a[1]),o=[i,a],l.invert&&(i=l(i),a=l(a)),i>a&&(s=i,i=a,a=s),(i!=f[0]||a!=f[1])&&(f=[i,a])),t):(c&&(u?(e=u[0],r=u[1]):(e=h[0],r=h[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(s=e,e=r,r=s))),l&&(o?(i=o[0],a=o[1]):(i=f[0],a=f[1],l.invert&&(i=l.invert(i),a=l.invert(a)),i>a&&(s=i,i=a,a=s))),c&&l?[[e,i],[r,a]]:c?[e,r]:l&&[i,a])},t.clear=function(){return t.empty()||(h=[0,0],f=[0,0],u=o=null),t},t.empty=function(){return!!c&&h[0]==h[1]||!!l&&f[0]==f[1]},eu.rebind(t,s,\"on\")};var $s={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Ws=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],zs=so.format=go.timeFormat,qs=zs.utc,Gs=qs(\"%Y-%m-%dT%H:%M:%S.%LZ\");zs.iso=Date.prototype.toISOString&&+new Date(\"2000-01-01T00:00:00.000Z\")?Ka:Gs,Ka.parse=function(t){var n=new Date(t);return isNaN(n)?null:n},Ka.toString=Gs.toString,so.second=Yt(function(t){return new co(1e3*Math.floor(t/1e3))},function(t,n){t.setTime(t.getTime()+1e3*Math.floor(n))},function(t){return t.getSeconds()}),so.seconds=so.second.range,so.seconds.utc=so.second.utc.range,so.minute=Yt(function(t){return new co(6e4*Math.floor(t/6e4))},function(t,n){t.setTime(t.getTime()+6e4*Math.floor(n))},function(t){return t.getMinutes()}),so.minutes=so.minute.range,so.minutes.utc=so.minute.utc.range,so.hour=Yt(function(t){var n=t.getTimezoneOffset()/60;return new co(36e5*(Math.floor(t/36e5-n)+n))},function(t,n){t.setTime(t.getTime()+36e5*Math.floor(n))},function(t){return t.getHours()}),so.hours=so.hour.range,so.hours.utc=so.hour.utc.range,so.month=Yt(function(t){return t=so.day(t),t.setDate(1),t},function(t,n){t.setMonth(t.getMonth()+n)},function(t){return t.getMonth()}),so.months=so.month.range,so.months.utc=so.month.utc.range;var Hs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Vs=[[so.second,1],[so.second,5],[so.second,15],[so.second,30],[so.minute,1],[so.minute,5],[so.minute,15],[so.minute,30],[so.hour,1],[so.hour,3],[so.hour,6],[so.hour,12],[so.day,1],[so.day,2],[so.week,1],[so.month,1],[so.month,3],[so.year,1]],Zs=zs.multi([[\".%L\",function(t){return t.getMilliseconds()}],[\":%S\",function(t){return t.getSeconds()}],[\"%I:%M\",function(t){return t.getMinutes()}],[\"%I %p\",function(t){return t.getHours()}],[\"%a %d\",function(t){return t.getDay()&&1!=t.getDate()}],[\"%b %d\",function(t){return 1!=t.getDate()}],[\"%B\",function(t){return t.getMonth()}],[\"%Y\",Tn]]),Xs={range:function(t,n,e){return eu.range(Math.ceil(t/e)*e,+n,e).map(Ja)},floor:_,ceil:_};Vs.year=so.year,so.scale=function(){return Qa(eu.scale.linear(),Vs,Zs)};var Ks=Vs.map(function(t){return[t[0].utc,t[1]]}),Qs=qs.multi([[\".%L\",function(t){return t.getUTCMilliseconds()}],[\":%S\",function(t){return t.getUTCSeconds()}],[\"%I:%M\",function(t){return t.getUTCMinutes()}],[\"%I %p\",function(t){return t.getUTCHours()}],[\"%a %d\",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],[\"%b %d\",function(t){return 1!=t.getUTCDate()}],[\"%B\",function(t){return t.getUTCMonth()}],[\"%Y\",Tn]]);Ks.year=so.year.utc,so.scale.utc=function(){return Qa(eu.scale.linear(),Ks,Qs)},eu.text=Dt(function(t){return t.responseText}),eu.json=function(t,n){return Ct(t,\"application/json\",tu,n)},eu.html=function(t,n){return Ct(t,\"text/html\",nu,n)},eu.xml=Dt(function(t){return t.responseXML}),\"function\"==typeof define&&define.amd?define(eu):\"object\"==typeof n&&n.exports&&(n.exports=eu),this.d3=eu}()},{}],3:[function(t,n){n.exports={graphlib:t(\"./lib/graphlib\"),dagre:t(\"./lib/dagre\"),intersect:t(\"./lib/intersect\"),render:t(\"./lib/render\"),util:t(\"./lib/util\"),version:t(\"./lib/version\")}},{\"./lib/dagre\":10,\"./lib/graphlib\":11,\"./lib/intersect\":12,\"./lib/render\":27,\"./lib/util\":29,\"./lib/version\":30}],4:[function(t,n){function e(t,n,e,r){var i=t.append(\"marker\").attr(\"id\",n).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\"),u=i.append(\"path\").attr(\"d\",\"M 0 0 L 10 5 L 0 10 z\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\");a.applyStyle(u,e[r+\"Style\"])}function r(t,n,e,r){var i=t.append(\"marker\").attr(\"id\",n).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\"),u=i.append(\"path\").attr(\"d\",\"M 0 0 L 10 5 L 0 10 L 4 5 z\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\");a.applyStyle(u,e[r+\"Style\"])}function i(t,n,e,r){var i=t.append(\"marker\").attr(\"id\",n).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\"),u=i.append(\"path\").attr(\"d\",\"M 0 5 L 10 5\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\");a.applyStyle(u,e[r+\"Style\"])}var a=t(\"./util\");n.exports={\"default\":e,normal:e,vee:r,undirected:i}},{\"./util\":29}],5:[function(t,n){function e(t,n){var e=n.nodes().filter(function(t){return r.isSubgraph(n,t)}),a=t.selectAll(\"g.cluster\").data(e,function(t){return t});return a.selectAll(\"*\").remove(),a.enter().append(\"g\").attr(\"class\",\"cluster\").attr(\"id\",function(t){var e=n.node(t);return e.id}).style(\"opacity\",0),r.applyTransition(a,n).style(\"opacity\",1),a.each(function(t){var e=n.node(t),r=d3.select(this);d3.select(this).append(\"rect\");var a=r.append(\"g\").attr(\"class\",\"label\");i(a,e,e.clusterLabelPos)}),a.selectAll(\"rect\").each(function(t){var e=n.node(t),i=d3.select(this);r.applyStyle(i,e.style)}),r.applyTransition(a.exit(),n).style(\"opacity\",0).remove(),a}var r=t(\"./util\"),i=t(\"./label/add-label\");n.exports=e},{\"./label/add-label\":20,\"./util\":29}],6:[function(t,n){\"use strict\";function e(t,n){var e=t.selectAll(\"g.edgeLabel\").data(n.edges(),function(t){return a.edgeToId(t)}).classed(\"update\",!0);return e.selectAll(\"*\").remove(),e.enter().append(\"g\").classed(\"edgeLabel\",!0).style(\"opacity\",0),e.each(function(t){var e=n.edge(t),a=i(u.select(this),n.edge(t),0,0).classed(\"label\",!0),o=a.node().getBBox();e.labelId&&a.attr(\"id\",e.labelId),r.has(e,\"width\")||(e.width=o.width),r.has(e,\"height\")||(e.height=o.height)}),a.applyTransition(e.exit(),n).style(\"opacity\",0).remove(),e}var r=t(\"./lodash\"),i=t(\"./label/add-label\"),a=t(\"./util\"),u=t(\"./d3\");n.exports=e},{\"./d3\":9,\"./label/add-label\":20,\"./lodash\":23,\"./util\":29}],7:[function(t,n){\"use strict\";function e(t,n,e){var i=t.selectAll(\"g.edgePath\").data(n.edges(),function(t){return l.edgeToId(t)}).classed(\"update\",!0);return u(i,n),o(i,n),l.applyTransition(i,n).style(\"opacity\",1),i.each(function(t){var e=h.select(this),r=n.edge(t);r.elem=this,r.id&&e.attr(\"id\",r.id),l.applyClass(e,r[\"class\"],(e.classed(\"update\")?\"update \":\"\")+\"edgePath\")}),i.selectAll(\"path.path\").each(function(t){var e=n.edge(t);e.arrowheadId=s.uniqueId(\"arrowhead\");var i=h.select(this).attr(\"marker-end\",function(){return\"url(#\"+e.arrowheadId+\")\"}).style(\"fill\",\"none\");l.applyTransition(i,n).attr(\"d\",function(t){return r(n,t)}),l.applyStyle(i,e.style)}),i.selectAll(\"defs *\").remove(),i.selectAll(\"defs\").each(function(t){var r=n.edge(t),i=e[r.arrowhead];i(h.select(this),r.arrowheadId,r,\"arrowhead\")}),i}function r(t,n){var e=t.edge(n),r=t.node(n.v),a=t.node(n.w),u=e.points.slice(1,e.points.length-1);return u.unshift(c(r,u[0])),u.push(c(a,u[u.length-1])),i(e,u)}function i(t,n){var e=h.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return s.has(t,\"lineInterpolate\")&&e.interpolate(t.lineInterpolate),s.has(t,\"lineTension\")&&e.tension(Number(t.lineTension)),e(n)}function a(t){var n=t.getBBox(),e=t.getTransformToElement(t.ownerSVGElement).translate(n.width/2,n.height/2);return{x:e.e,y:e.f}}function u(t,n){var e=t.enter().append(\"g\").attr(\"class\",\"edgePath\").style(\"opacity\",0);e.append(\"path\").attr(\"class\",\"path\").attr(\"d\",function(t){var e=n.edge(t),r=n.node(t.v).elem,u=s.range(e.points.length).map(function(){return a(r)});return i(e,u)}),e.append(\"defs\")}function o(t,n){var e=t.exit();l.applyTransition(e,n).style(\"opacity\",0).remove(),l.applyTransition(e.select(\"path.path\"),n).attr(\"d\",function(t){var e=n.node(t.v);if(e){var r=s.range(this.pathSegList.length).map(function(){return e});return i({},r)}return h.select(this).attr(\"d\")})}var s=t(\"./lodash\"),c=t(\"./intersect/intersect-node\"),l=t(\"./util\"),h=t(\"./d3\");n.exports=e},{\"./d3\":9,\"./intersect/intersect-node\":16,\"./lodash\":23,\"./util\":29}],8:[function(t,n){\"use strict\";function e(t,n,e){var o=n.nodes().filter(function(t){return!a.isSubgraph(n,t)}),s=t.selectAll(\"g.node\").data(o,function(t){return t}).classed(\"update\",!0);return s.selectAll(\"*\").remove(),s.enter().append(\"g\").attr(\"class\",\"node\").style(\"opacity\",0),s.each(function(t){var o=n.node(t),s=u.select(this),c=s.append(\"g\").attr(\"class\",\"label\"),l=i(c,o),h=e[o.shape],f=r.pick(l.node().getBBox(),\"width\",\"height\");o.elem=this,o.id&&s.attr(\"id\",o.id),o.labelId&&c.attr(\"id\",o.labelId),a.applyClass(s,o[\"class\"],(s.classed(\"update\")?\"update \":\"\")+\"node\"),r.has(o,\"width\")&&(f.width=o.width),r.has(o,\"height\")&&(f.height=o.height),f.width+=o.paddingLeft+o.paddingRight,f.height+=o.paddingTop+o.paddingBottom,c.attr(\"transform\",\"translate(\"+(o.paddingLeft-o.paddingRight)/2+\",\"+(o.paddingTop-o.paddingBottom)/2+\")\");var d=h(u.select(this),f,o);a.applyStyle(d,o.style);var p=d.node().getBBox();o.width=p.width,o.height=p.height}),a.applyTransition(s.exit(),n).style(\"opacity\",0).remove(),s}var r=t(\"./lodash\"),i=t(\"./label/add-label\"),a=t(\"./util\"),u=t(\"./d3\");n.exports=e},{\"./d3\":9,\"./label/add-label\":20,\"./lodash\":23,\"./util\":29}],9:[function(t,n){n.exports=window.d3},{}],10:[function(t,n){var e;if(t)try{e=t(\"dagre\")}catch(r){}e||(e=window.dagre),n.exports=e},{dagre:52}],11:[function(t,n){var e;if(t)try{e=t(\"graphlib\")}catch(r){}e||(e=window.graphlib),n.exports=e},{graphlib:31}],12:[function(t,n){n.exports={node:t(\"./intersect-node\"),circle:t(\"./intersect-circle\"),ellipse:t(\"./intersect-ellipse\"),polygon:t(\"./intersect-polygon\"),rect:t(\"./intersect-rect\")}},{\"./intersect-circle\":13,\"./intersect-ellipse\":14,\"./intersect-node\":16,\"./intersect-polygon\":17,\"./intersect-rect\":18}],13:[function(t,n){function e(t,n,e){return r(t,n,n,e)}var r=t(\"./intersect-ellipse\");n.exports=e},{\"./intersect-ellipse\":14}],14:[function(t,n){function e(t,n,e,r){var i=t.x,a=t.y,u=i-r.x,o=a-r.y,s=Math.sqrt(n*n*o*o+e*e*u*u),c=Math.abs(n*e*u/s);r.x<i&&(c=-c);var l=Math.abs(n*e*o/s);return r.y<a&&(l=-l),{x:i+c,y:a+l}}n.exports=e},{}],15:[function(t,n){function e(t,n,e,i){var a,u,o,s,c,l,h,f,d,p,g,y,m,v,_;return a=n.y-t.y,o=t.x-n.x,c=n.x*t.y-t.x*n.y,d=a*e.x+o*e.y+c,p=a*i.x+o*i.y+c,0!==d&&0!==p&&r(d,p)||(u=i.y-e.y,s=e.x-i.x,l=i.x*e.y-e.x*i.y,h=u*t.x+s*t.yy+l,f=u*n.x+s*n.y+l,0!==h&&0!==f&&r(h,f)||(g=a*s-u*o,0===g))?void 0:(y=Math.abs(g/2),m=o*l-s*c,v=0>m?(m-y)/g:(m+y)/g,m=u*c-a*l,_=0>m?(m-y)/g:(m+y)/g,{x:v,y:_})}function r(t,n){return t*n>0}n.exports=e},{}],16:[function(t,n){function e(t,n){return t.intersect(n)}n.exports=e},{}],17:[function(t,n){function e(t,n,e){var i=t.x,a=t.y,u=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;n.forEach(function(t){o=Math.min(o,t.x),s=Math.min(s,t.y)});for(var c=i-t.width/2-o,l=a-t.height/2-s,h=0;h<n.length;h++){var f=n[h],d=n[h<n.length-1?h+1:0],p=r(t,e,{x:c+f.x,y:l+f.y},{x:c+d.x,y:l+d.y});p&&u.push(p)}return u.length?(u.length>1&&u.sort(function(t,n){var r=t.x-e.x,i=t.y-e.y,a=Math.sqrt(r*r+i*i),u=n.x-e.x,o=n.y-e.y,s=Math.sqrt(u*u+o*o);return s>a?-1:a===s?0:1}),u[0]):(console.log(\"NO INTERSECTION FOUND, RETURN NODE CENTER\",t),t)}var r=t(\"./intersect-line\");n.exports=e},{\"./intersect-line\":15}],18:[function(t,n){\nfunction e(t,n){var e,r,i=t.x,a=t.y,u=n.x-i,o=n.y-a,s=t.width/2,c=t.height/2;return Math.abs(o)*s>Math.abs(u)*c?(0>o&&(c=-c),e=0===o?0:c*u/o,r=c):(0>u&&(s=-s),e=s,r=0===u?0:s*o/u),{x:i+e,y:a+r}}n.exports=e},{}],19:[function(t,n){function e(t,n){var e=t.append(\"foreignObject\").attr(\"width\",\"100000\"),i=e.append(\"xhtml:div\"),a=n.label;switch(typeof a){case\"function\":i.insert(a);break;case\"object\":i.insert(function(){return a});break;default:i.html(a)}r.applyStyle(i,n.labelStyle),i.style(\"display\",\"inline-block\"),i.style(\"white-space\",\"nowrap\");var u,o;return i.each(function(){u=this.clientWidth,o=this.clientHeight}),e.attr(\"width\",u).attr(\"height\",o),e}var r=t(\"../util\");n.exports=e},{\"../util\":29}],20:[function(t,n){function e(t,n,e){var u=n.label,o=t.append(\"g\");\"svg\"===n.labelType?a(o,n):\"string\"!=typeof u||\"html\"===n.labelType?i(o,n):r(o,n);var s,c=o.node().getBBox();switch(e){case\"top\":s=-n.height/2;break;case\"bottom\":s=n.height/2-c.height;break;default:s=-c.height/2}return o.attr(\"transform\",\"translate(\"+-c.width/2+\",\"+s+\")\"),o}var r=t(\"./add-text-label\"),i=t(\"./add-html-label\"),a=t(\"./add-svg-label\");n.exports=e},{\"./add-html-label\":19,\"./add-svg-label\":21,\"./add-text-label\":22}],21:[function(t,n){function e(t,n){var e=t;return e.node().appendChild(n.label),r.applyStyle(e,n.labelStyle),e}var r=t(\"../util\");n.exports=e},{\"../util\":29}],22:[function(t,n){function e(t,n){for(var e=t.append(\"text\"),a=r(n.label).split(\"\\n\"),u=0;u<a.length;u++)e.append(\"tspan\").attr(\"xml:space\",\"preserve\").attr(\"dy\",\"1em\").attr(\"x\",\"1\").text(a[u]);return i.applyStyle(e,n.labelStyle),e}function r(t){for(var n,e=\"\",r=!1,i=0;i<t.length;++i)if(n=t[i],r){switch(n){case\"n\":e+=\"\\n\";break;default:e+=n}r=!1}else\"\\\\\"===n?r=!0:e+=n;return e}var i=t(\"../util\");n.exports=e},{\"../util\":29}],23:[function(t,n){var e;if(t)try{e=t(\"lodash\")}catch(r){}e||(e=window._),n.exports=e},{lodash:51}],24:[function(t,n){\"use strict\";function e(t,n){function e(t){var e=n.node(t);return\"translate(\"+e.x+\",\"+e.y+\")\"}var a=t.filter(function(){return!i.select(this).classed(\"update\")});a.attr(\"transform\",e),r.applyTransition(t,n).style(\"opacity\",1).attr(\"transform\",e),r.applyTransition(a.selectAll(\"rect\"),n).attr(\"width\",function(t){return n.node(t).width}).attr(\"height\",function(t){return n.node(t).height}).attr(\"x\",function(t){var e=n.node(t);return-e.width/2}).attr(\"y\",function(t){var e=n.node(t);return-e.height/2})}var r=t(\"./util\"),i=t(\"./d3\");n.exports=e},{\"./d3\":9,\"./util\":29}],25:[function(t,n){\"use strict\";function e(t,n){function e(t){var e=n.edge(t);return a.has(e,\"x\")?\"translate(\"+e.x+\",\"+e.y+\")\":\"\"}var u=t.filter(function(){return!i.select(this).classed(\"update\")});u.attr(\"transform\",e),r.applyTransition(t,n).style(\"opacity\",1).attr(\"transform\",e)}var r=t(\"./util\"),i=t(\"./d3\"),a=t(\"./lodash\");n.exports=e},{\"./d3\":9,\"./lodash\":23,\"./util\":29}],26:[function(t,n){\"use strict\";function e(t,n){function e(t){var e=n.node(t);return\"translate(\"+e.x+\",\"+e.y+\")\"}var a=t.filter(function(){return!i.select(this).classed(\"update\")});a.attr(\"transform\",e),r.applyTransition(t,n).style(\"opacity\",1).attr(\"transform\",e)}var r=t(\"./util\"),i=t(\"./d3\");n.exports=e},{\"./d3\":9,\"./util\":29}],27:[function(t,n){function e(){var n=t(\"./create-nodes\"),e=t(\"./create-clusters\"),u=t(\"./create-edge-labels\"),s=t(\"./create-edge-paths\"),c=t(\"./position-nodes\"),l=t(\"./position-edge-labels\"),h=t(\"./position-clusters\"),f=t(\"./shapes\"),d=t(\"./arrows\"),p=function(t,p){r(p);var g=a(t,\"output\"),y=a(g,\"clusters\"),m=a(g,\"edgePaths\"),v=u(a(g,\"edgeLabels\"),p),_=n(a(g,\"nodes\"),p,f);o(p),c(_,p),l(v,p),s(m,p,d);var b=e(y,p);h(b,p),i(p)};return p.createNodes=function(t){return arguments.length?(n=t,p):n},p.createClusters=function(t){return arguments.length?(e=t,p):e},p.createEdgeLabels=function(t){return arguments.length?(u=t,p):u},p.createEdgePaths=function(t){return arguments.length?(s=t,p):s},p.shapes=function(t){return arguments.length?(f=t,p):f},p.arrows=function(t){return arguments.length?(d=t,p):d},p}function r(t){t.nodes().forEach(function(n){var e=t.node(n);u.has(e,\"label\")||t.children(n).length||(e.label=n),u.has(e,\"paddingX\")&&u.defaults(e,{paddingLeft:e.paddingX,paddingRight:e.paddingX}),u.has(e,\"paddingY\")&&u.defaults(e,{paddingTop:e.paddingY,paddingBottom:e.paddingY}),u.has(e,\"padding\")&&u.defaults(e,{paddingLeft:e.padding,paddingRight:e.padding,paddingTop:e.padding,paddingBottom:e.padding}),u.defaults(e,s),u.each([\"paddingLeft\",\"paddingRight\",\"paddingTop\",\"paddingBottom\"],function(t){e[t]=Number(e[t])}),u.has(e,\"width\")&&(e._prevWidth=e.width),u.has(e,\"height\")&&(e._prevHeight=e.height)}),t.edges().forEach(function(n){var e=t.edge(n);u.has(e,\"label\")||(e.label=\"\"),u.defaults(e,c)})}function i(t){u.each(t.nodes(),function(n){var e=t.node(n);u.has(e,\"_prevWidth\")?e.width=e._prevWidth:delete e.width,u.has(e,\"_prevHeight\")?e.height=e._prevHeight:delete e.height,delete e._prevWidth,delete e._prevHeight})}function a(t,n){var e=t.select(\"g.\"+n);return e.empty()&&(e=t.append(\"g\").attr(\"class\",n)),e}var u=t(\"./lodash\"),o=t(\"./dagre\").layout;n.exports=e;var s={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:\"rect\"},c={arrowhead:\"normal\",lineInterpolate:\"linear\"}},{\"./arrows\":4,\"./create-clusters\":5,\"./create-edge-labels\":6,\"./create-edge-paths\":7,\"./create-nodes\":8,\"./dagre\":10,\"./lodash\":23,\"./position-clusters\":24,\"./position-edge-labels\":25,\"./position-nodes\":26,\"./shapes\":28}],28:[function(t,n){\"use strict\";function e(t,n,e){var r=t.insert(\"rect\",\":first-child\").attr(\"rx\",e.rx).attr(\"ry\",e.ry).attr(\"x\",-n.width/2).attr(\"y\",-n.height/2).attr(\"width\",n.width).attr(\"height\",n.height);return e.intersect=function(t){return u(e,t)},r}function r(t,n,e){var r=n.width/2,i=n.height/2,a=t.insert(\"ellipse\",\":first-child\").attr(\"x\",-n.width/2).attr(\"y\",-n.height/2).attr(\"rx\",r).attr(\"ry\",i);return e.intersect=function(t){return o(e,r,i,t)},a}function i(t,n,e){var r=Math.max(n.width,n.height)/2,i=t.insert(\"circle\",\":first-child\").attr(\"x\",-n.width/2).attr(\"y\",-n.height/2).attr(\"r\",r);return e.intersect=function(t){return s(e,r,t)},i}function a(t,n,e){var r=n.width*Math.SQRT2/2,i=n.height*Math.SQRT2/2,a=[{x:0,y:-i},{x:-r,y:0},{x:0,y:i},{x:r,y:0}],u=t.insert(\"polygon\",\":first-child\").attr(\"points\",a.map(function(t){return t.x+\",\"+t.y}).join(\" \"));return e.intersect=function(t){return c(e,a,t)},u}var u=t(\"./intersect/intersect-rect\"),o=t(\"./intersect/intersect-ellipse\"),s=t(\"./intersect/intersect-circle\"),c=t(\"./intersect/intersect-polygon\");n.exports={rect:e,ellipse:r,circle:i,diamond:a}},{\"./intersect/intersect-circle\":13,\"./intersect/intersect-ellipse\":14,\"./intersect/intersect-polygon\":17,\"./intersect/intersect-rect\":18}],29:[function(t,n){function e(t,n){return!!t.children(n).length}function r(t){return i(t.v)+\":\"+i(t.w)+\":\"+i(t.name)}function i(t){return t?String(t).replace(c,\"\\\\:\"):\"\"}function a(t,n){n&&t.attr(\"style\",n)}function u(t,n,e){n&&t.attr(\"class\",n).attr(\"class\",e+\" \"+t.attr(\"class\"))}function o(t,n){var e=n.graph();if(s.isPlainObject(e)){var r=e.transition;if(s.isFunction(r))return r(t)}return t}var s=t(\"./lodash\");n.exports={isSubgraph:e,edgeToId:r,applyStyle:a,applyClass:u,applyTransition:o};var c=/:/g},{\"./lodash\":23}],30:[function(t,n){n.exports=\"0.4.10\"},{}],31:[function(t,n){var e=t(\"./lib\");n.exports={Graph:e.Graph,json:t(\"./lib/json\"),alg:t(\"./lib/alg\"),version:e.version}},{\"./lib\":47,\"./lib/alg\":38,\"./lib/json\":48}],32:[function(t,n){function e(t){function n(a){r.has(i,a)||(i[a]=!0,e.push(a),r.each(t.successors(a),n),r.each(t.predecessors(a),n))}var e,i={},a=[];return r.each(t.nodes(),function(t){e=[],n(t),e.length&&a.push(e)}),a}var r=t(\"../lodash\");n.exports=e},{\"../lodash\":49}],33:[function(t,n){function e(t,n,e){i.isArray(n)||(n=[n]);var a=[],u={};return i.each(n,function(n){if(!t.hasNode(n))throw new Error(\"Graph does not have node: \"+n);r(t,n,\"post\"===e,u,a)}),a}function r(t,n,e,a,u){i.has(a,n)||(a[n]=!0,e||u.push(n),i.each(t.neighbors(n),function(n){r(t,n,e,a,u)}),e&&u.push(n))}var i=t(\"../lodash\");n.exports=e},{\"../lodash\":49}],34:[function(t,n){function e(t,n,e){return i.transform(t.nodes(),function(i,a){i[a]=r(t,a,n,e)},{})}var r=t(\"./dijkstra\"),i=t(\"../lodash\");n.exports=e},{\"../lodash\":49,\"./dijkstra\":35}],35:[function(t,n){function e(t,n,e,i){return r(t,String(n),e||u,i||function(n){return t.outEdges(n)})}function r(t,n,e,r){var i,u,o={},s=new a,c=function(t){var n=t.v!==i?t.v:t.w,r=o[n],a=e(t),c=u.distance+a;if(0>a)throw new Error(\"dijkstra does not allow negative edge weights. Bad edge: \"+t+\" Weight: \"+a);c<r.distance&&(r.distance=c,r.predecessor=i,s.decrease(n,c))};for(t.nodes().forEach(function(t){var e=t===n?0:Number.POSITIVE_INFINITY;o[t]={distance:e},s.add(t,e)});s.size()>0&&(i=s.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return o}var i=t(\"../lodash\"),a=t(\"../data/priority-queue\");n.exports=e;var u=i.constant(1)},{\"../data/priority-queue\":45,\"../lodash\":49}],36:[function(t,n){function e(t){return r.filter(i(t),function(n){return n.length>1||1===n.length&&t.hasEdge(n[0],n[0])})}var r=t(\"../lodash\"),i=t(\"./tarjan\");n.exports=e},{\"../lodash\":49,\"./tarjan\":43}],37:[function(t,n){function e(t,n,e){return r(t,n||a,e||function(n){return t.outEdges(n)})}function r(t,n,e){var r={},i=t.nodes();return i.forEach(function(t){r[t]={},r[t][t]={distance:0},i.forEach(function(n){t!==n&&(r[t][n]={distance:Number.POSITIVE_INFINITY})}),e(t).forEach(function(e){var i=e.v===t?e.w:e.v,a=n(e);r[t][i]={distance:a,predecessor:t}})}),i.forEach(function(t){var n=r[t];i.forEach(function(e){var a=r[e];i.forEach(function(e){var r=a[t],i=n[e],u=a[e],o=r.distance+i.distance;o<u.distance&&(u.distance=o,u.predecessor=i.predecessor)})})}),r}var i=t(\"../lodash\");n.exports=e;var a=i.constant(1)},{\"../lodash\":49}],38:[function(t,n){n.exports={components:t(\"./components\"),dijkstra:t(\"./dijkstra\"),dijkstraAll:t(\"./dijkstra-all\"),findCycles:t(\"./find-cycles\"),floydWarshall:t(\"./floyd-warshall\"),isAcyclic:t(\"./is-acyclic\"),postorder:t(\"./postorder\"),preorder:t(\"./preorder\"),prim:t(\"./prim\"),tarjan:t(\"./tarjan\"),topsort:t(\"./topsort\")}},{\"./components\":32,\"./dijkstra\":35,\"./dijkstra-all\":34,\"./find-cycles\":36,\"./floyd-warshall\":37,\"./is-acyclic\":39,\"./postorder\":40,\"./preorder\":41,\"./prim\":42,\"./tarjan\":43,\"./topsort\":44}],39:[function(t,n){function e(t){try{r(t)}catch(n){if(n instanceof r.CycleException)return!1;throw n}return!0}var r=t(\"./topsort\");n.exports=e},{\"./topsort\":44}],40:[function(t,n){function e(t,n){return r(t,n,\"post\")}var r=t(\"./dfs\");n.exports=e},{\"./dfs\":33}],41:[function(t,n){function e(t,n){return r(t,n,\"pre\")}var r=t(\"./dfs\");n.exports=e},{\"./dfs\":33}],42:[function(t,n){function e(t,n){function e(t){var e=t.v===u?t.w:t.v,r=c.priority(e);if(void 0!==r){var i=n(t);r>i&&(s[e]=u,c.decrease(e,i))}}var u,o=new i,s={},c=new a;if(0===t.nodeCount())return o;r.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),o.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(u=c.removeMin(),r.has(s,u))o.setEdge(u,s[u]);else{if(l)throw new Error(\"Input graph is not connected: \"+t);l=!0}t.nodeEdges(u).forEach(e)}return o}var r=t(\"../lodash\"),i=t(\"../graph\"),a=t(\"../data/priority-queue\");n.exports=e},{\"../data/priority-queue\":45,\"../graph\":46,\"../lodash\":49}],43:[function(t,n){function e(t){function n(o){var s=a[o]={onStack:!0,lowlink:e,index:e++};if(i.push(o),t.successors(o).forEach(function(t){r.has(a,t)?a[t].onStack&&(s.lowlink=Math.min(s.lowlink,a[t].index)):(n(t),s.lowlink=Math.min(s.lowlink,a[t].lowlink))}),s.lowlink===s.index){var c,l=[];do c=i.pop(),a[c].onStack=!1,l.push(c);while(o!==c);u.push(l)}}var e=0,i=[],a={},u=[];return t.nodes().forEach(function(t){r.has(a,t)||n(t)}),u}var r=t(\"../lodash\");n.exports=e},{\"../lodash\":49}],44:[function(t,n){function e(t){function n(o){if(i.has(a,o))throw new r;i.has(e,o)||(a[o]=!0,e[o]=!0,i.each(t.predecessors(o),n),delete a[o],u.push(o))}var e={},a={},u=[];if(i.each(t.sinks(),n),i.size(e)!==t.nodeCount())throw new r;return u}function r(){}var i=t(\"../lodash\");n.exports=e,e.CycleException=r},{\"../lodash\":49}],45:[function(t,n){function e(){this._arr=[],this._keyIndices={}}var r=t(\"../lodash\");n.exports=e,e.prototype.size=function(){return this._arr.length},e.prototype.keys=function(){return this._arr.map(function(t){return t.key})},e.prototype.has=function(t){return r.has(this._keyIndices,t)},e.prototype.priority=function(t){var n=this._keyIndices[t];return void 0!==n?this._arr[n].priority:void 0},e.prototype.min=function(){if(0===this.size())throw new Error(\"Queue underflow\");return this._arr[0].key},e.prototype.add=function(t,n){var e=this._keyIndices;if(t=String(t),!r.has(e,t)){var i=this._arr,a=i.length;return e[t]=a,i.push({key:t,priority:n}),this._decrease(a),!0}return!1},e.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},e.prototype.decrease=function(t,n){var e=this._keyIndices[t];if(n>this._arr[e].priority)throw new Error(\"New priority is greater than current priority. Key: \"+t+\" Old: \"+this._arr[e].priority+\" New: \"+n);this._arr[e].priority=n,this._decrease(e)},e.prototype._heapify=function(t){var n=this._arr,e=2*t,r=e+1,i=t;e<n.length&&(i=n[e].priority<n[i].priority?e:i,r<n.length&&(i=n[r].priority<n[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},e.prototype._decrease=function(t){for(var n,e=this._arr,r=e[t].priority;0!==t&&(n=t>>1,!(e[n].priority<r));)this._swap(t,n),t=n},e.prototype._swap=function(t,n){var e=this._arr,r=this._keyIndices,i=e[t],a=e[n];e[t]=a,e[n]=i,r[a.key]=t,r[i.key]=n}},{\"../lodash\":49}],46:[function(t,n){\"use strict\";function e(t){this._isDirected=s.has(t,\"directed\")?t.directed:!0,this._isMultigraph=s.has(t,\"multigraph\")?t.multigraph:!1,this._isCompound=s.has(t,\"compound\")?t.compound:!1,this._label=void 0,this._defaultNodeLabelFn=s.constant(void 0),this._defaultEdgeLabelFn=s.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function r(t,n){t[n]?t[n]++:t[n]=1}function i(t,n){--t[n]||delete t[n]}function a(t,n,e,r){var i=\"\"+n,a=\"\"+e;if(!t&&i>a){var u=i;i=a,a=u}return i+h+a+h+(s.isUndefined(r)?c:r)}function u(t,n,e,r){var i=\"\"+n,a=\"\"+e;if(!t&&i>a){var u=i;i=a,a=u}var o={v:i,w:a};return r&&(o.name=r),o}function o(t,n){return a(t,n.v,n.w,n.name)}var s=t(\"./lodash\");n.exports=e;var c=\"\\x00\",l=\"\\x00\",h=\"\u0001\";e.prototype._nodeCount=0,e.prototype._edgeCount=0,e.prototype.isDirected=function(){return this._isDirected},e.prototype.isMultigraph=function(){return this._isMultigraph},e.prototype.isCompound=function(){return this._isCompound},e.prototype.setGraph=function(t){return this._label=t,this},e.prototype.graph=function(){return this._label},e.prototype.setDefaultNodeLabel=function(t){return s.isFunction(t)||(t=s.constant(t)),this._defaultNodeLabelFn=t,this},e.prototype.nodeCount=function(){return this._nodeCount},e.prototype.nodes=function(){return s.keys(this._nodes)},e.prototype.sources=function(){return s.filter(this.nodes(),function(t){return s.isEmpty(this._in[t])},this)},e.prototype.sinks=function(){return s.filter(this.nodes(),function(t){return s.isEmpty(this._out[t])},this)},e.prototype.setNodes=function(t,n){var e=arguments;return s.each(t,function(t){e.length>1?this.setNode(t,n):this.setNode(t)},this),this},e.prototype.setNode=function(t,n){return s.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=n),this):(this._nodes[t]=arguments.length>1?n:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=l,this._children[t]={},this._children[l][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},e.prototype.node=function(t){return this._nodes[t]},e.prototype.hasNode=function(t){return s.has(this._nodes,t)},e.prototype.removeNode=function(t){var n=this;if(s.has(this._nodes,t)){var e=function(t){n.removeEdge(n._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],s.each(this.children(t),function(t){this.setParent(t)},this),delete this._children[t]),s.each(s.keys(this._in[t]),e),delete this._in[t],delete this._preds[t],s.each(s.keys(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},e.prototype.setParent=function(t,n){if(!this._isCompound)throw new Error(\"Cannot set parent in a non-compound graph\");if(s.isUndefined(n))n=l;else{n+=\"\";for(var e=n;!s.isUndefined(e);e=this.parent(e))if(e===t)throw new Error(\"Setting \"+n+\" as parent of \"+t+\" would create create a cycle\");this.setNode(n)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=n,this._children[n][t]=!0,this},e.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},e.prototype.parent=function(t){if(this._isCompound){var n=this._parent[t];if(n!==l)return n}},e.prototype.children=function(t){if(s.isUndefined(t)&&(t=l),this._isCompound){var n=this._children[t];if(n)return s.keys(n)}else{if(t===l)return this.nodes();if(this.hasNode(t))return[]}},e.prototype.predecessors=function(t){var n=this._preds[t];return n?s.keys(n):void 0},e.prototype.successors=function(t){var n=this._sucs[t];return n?s.keys(n):void 0},e.prototype.neighbors=function(t){var n=this.predecessors(t);return n?s.union(n,this.successors(t)):void 0},e.prototype.filterNodes=function(t){function n(t){var a=r.parent(t);return void 0===a||e.hasNode(a)?(i[t]=a,a):a in i?i[a]:n(a)}var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),s.each(this._nodes,function(n,r){t(r)&&e.setNode(r,n)},this),s.each(this._edgeObjs,function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,this.edge(t))},this);var r=this,i={};return this._isCompound&&s.each(e.nodes(),function(t){e.setParent(t,n(t))}),e},e.prototype.setDefaultEdgeLabel=function(t){return s.isFunction(t)||(t=s.constant(t)),this._defaultEdgeLabelFn=t,this},e.prototype.edgeCount=function(){return this._edgeCount},e.prototype.edges=function(){return s.values(this._edgeObjs)},e.prototype.setPath=function(t,n){var e=this,r=arguments;return s.reduce(t,function(t,i){return r.length>1?e.setEdge(t,i,n):e.setEdge(t,i),i}),this},e.prototype.setEdge=function(){var t,n,e,i,o=!1,c=arguments[0];\"object\"==typeof c&&null!==c&&\"v\"in c?(t=c.v,n=c.w,e=c.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=c,n=arguments[1],e=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=\"\"+t,n=\"\"+n,s.isUndefined(e)||(e=\"\"+e);var l=a(this._isDirected,t,n,e);if(s.has(this._edgeLabels,l))return o&&(this._edgeLabels[l]=i),this;if(!s.isUndefined(e)&&!this._isMultigraph)throw new Error(\"Cannot set a named edge when isMultigraph = false\");this.setNode(t),this.setNode(n),this._edgeLabels[l]=o?i:this._defaultEdgeLabelFn(t,n,e);var h=u(this._isDirected,t,n,e);return t=h.v,n=h.w,Object.freeze(h),this._edgeObjs[l]=h,r(this._preds[n],t),r(this._sucs[t],n),this._in[n][l]=h,this._out[t][l]=h,this._edgeCount++,this},e.prototype.edge=function(t,n,e){var r=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,t,n,e);return this._edgeLabels[r]},e.prototype.hasEdge=function(t,n,e){var r=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,t,n,e);return s.has(this._edgeLabels,r)},e.prototype.removeEdge=function(t,n,e){var r=1===arguments.length?o(this._isDirected,arguments[0]):a(this._isDirected,t,n,e),u=this._edgeObjs[r];return u&&(t=u.v,n=u.w,delete this._edgeLabels[r],delete this._edgeObjs[r],i(this._preds[n],t),i(this._sucs[t],n),delete this._in[n][r],delete this._out[t][r],this._edgeCount--),this},e.prototype.inEdges=function(t,n){var e=this._in[t];if(e){var r=s.values(e);return n?s.filter(r,function(t){return t.v===n}):r}},e.prototype.outEdges=function(t,n){var e=this._out[t];if(e){var r=s.values(e);return n?s.filter(r,function(t){return t.w===n}):r}},e.prototype.nodeEdges=function(t,n){var e=this.inEdges(t,n);return e?e.concat(this.outEdges(t,n)):void 0}},{\"./lodash\":49}],47:[function(t,n){n.exports={Graph:t(\"./graph\"),version:t(\"./version\")}},{\"./graph\":46,\"./version\":50}],48:[function(t,n){function e(t){var n={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:r(t),edges:i(t)};return u.isUndefined(t.graph())||(n.value=u.clone(t.graph())),n}function r(t){return u.map(t.nodes(),function(n){var e=t.node(n),r=t.parent(n),i={v:n};return u.isUndefined(e)||(i.value=e),u.isUndefined(r)||(i.parent=r),i})}function i(t){return u.map(t.edges(),function(n){var e=t.edge(n),r={v:n.v,w:n.w};return u.isUndefined(n.name)||(r.name=n.name),u.isUndefined(e)||(r.value=e),r})}function a(t){var n=new o(t.options).setGraph(t.value);return u.each(t.nodes,function(t){n.setNode(t.v,t.value),t.parent&&n.setParent(t.v,t.parent)}),u.each(t.edges,function(t){n.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),n}var u=t(\"./lodash\"),o=t(\"./graph\");n.exports={write:e,read:a}},{\"./graph\":46,\"./lodash\":49}],49:[function(t,n){var e;if(\"function\"==typeof t)try{e=t(\"lodash\")}catch(r){}e||(e=window._),n.exports=e},{lodash:51}],50:[function(t,n){n.exports=\"1.0.7\"},{}],51:[function(t,n,e){(function(t){(function(){function r(t,n){if(t!==n){var e=null===t,r=t===E,i=t===t,a=null===n,u=n===E,o=n===n;if(t>n&&!a||!i||e&&!u&&o||r&&o)return 1;if(n>t&&!e||!o||a&&!r&&i||u&&i)return-1}return 0}function i(t,n,e){for(var r=t.length,i=e?r:-1;e?i--:++i<r;)if(n(t[i],i,t))return i;return-1}function a(t,n,e){if(n!==n)return y(t,e);for(var r=e-1,i=t.length;++r<i;)if(t[r]===n)return r;return-1}function u(t){return\"function\"==typeof t||!1}function o(t){return null==t?\"\":t+\"\"}function s(t,n){for(var e=-1,r=t.length;++e<r&&n.indexOf(t.charAt(e))>-1;);return e}function c(t,n){for(var e=t.length;e--&&n.indexOf(t.charAt(e))>-1;);return e}function l(t,n){return r(t.criteria,n.criteria)||t.index-n.index}function h(t,n,e){for(var i=-1,a=t.criteria,u=n.criteria,o=a.length,s=e.length;++i<o;){var c=r(a[i],u[i]);if(c){if(i>=s)return c;var l=e[i];return c*(\"asc\"===l||l===!0?1:-1)}}return t.index-n.index}function f(t){return zt[t]}function d(t){return qt[t]}function p(t,n,e){return n?t=Vt[t]:e&&(t=Zt[t]),\"\\\\\"+t}function g(t){return\"\\\\\"+Zt[t]}function y(t,n,e){for(var r=t.length,i=n+(e?0:-1);e?i--:++i<r;){var a=t[i];if(a!==a)return i}return-1}function m(t){return!!t&&\"object\"==typeof t}function v(t){return 160>=t&&t>=9&&13>=t||32==t||160==t||5760==t||6158==t||t>=8192&&(8202>=t||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function _(t,n){for(var e=-1,r=t.length,i=-1,a=[];++e<r;)t[e]===n&&(t[e]=z,a[++i]=e);return a}function b(t,n){for(var e,r=-1,i=t.length,a=-1,u=[];++r<i;){var o=t[r],s=n?n(o,r,t):o;r&&e===s||(e=s,u[++a]=o)}return u}function x(t){for(var n=-1,e=t.length;++n<e&&v(t.charCodeAt(n)););return n}function w(t){for(var n=t.length;n--&&v(t.charCodeAt(n)););return n}function A(t){return Gt[t]}function k(t){function n(t){if(m(t)&&!Co(t)&&!(t instanceof K)){if(t instanceof v)return t;if(tu.call(t,\"__chain__\")&&tu.call(t,\"__wrapped__\"))return dr(t)}return new v(t)}function e(){}function v(t,n,e){this.__wrapped__=t,this.__actions__=e||[],this.__chain__=!!n}function K(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Su,this.__views__=[]}function nt(){var t=new K(this.__wrapped__);return t.__actions__=tn(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=tn(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=tn(this.__views__),t}function rt(){if(this.__filtered__){var t=new K(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function zt(){var t=this.__wrapped__.value(),n=this.__dir__,e=Co(t),r=0>n,i=e?t.length:0,a=Ge(0,i,this.__views__),u=a.start,o=a.end,s=o-u,c=r?o:u-1,l=this.__iteratees__,h=l.length,f=0,d=wu(s,this.__takeCount__);if(!e||Y>i||i==s&&d==s)return re(r&&e?t.reverse():t,this.__actions__);var p=[];t:for(;s--&&d>f;){c+=n;for(var g=-1,y=t[c];++g<h;){var m=l[g],v=m.iteratee,_=m.type,b=v(y);if(_==$)y=b;else if(!b){if(_==U)continue t;break t}}p[f++]=y}return p}function qt(){this.__data__={}}function Gt(t){return this.has(t)&&delete this.__data__[t]}function Ht(t){return\"__proto__\"==t?E:this.__data__[t]}function Vt(t){return\"__proto__\"!=t&&tu.call(this.__data__,t)}function Zt(t,n){return\"__proto__\"!=t&&(this.__data__[t]=n),this}function Xt(t){var n=t?t.length:0;for(this.data={hash:yu(null),set:new lu};n--;)this.push(t[n])}function Kt(t,n){var e=t.data,r=\"string\"==typeof n||Ii(n)?e.set.has(n):e.hash[n];return r?0:-1}function Qt(t){var n=this.data;\"string\"==typeof t||Ii(t)?n.set.add(t):n.hash[t]=!0}function Jt(t,n){for(var e=-1,r=t.length,i=-1,a=n.length,u=Ya(r+a);++e<r;)u[e]=t[e];for(;++i<a;)u[e++]=n[i];return u}function tn(t,n){var e=-1,r=t.length;for(n||(n=Ya(r));++e<r;)n[e]=t[e];return n}function nn(t,n){for(var e=-1,r=t.length;++e<r&&n(t[e],e,t)!==!1;);return t}function an(t,n){for(var e=t.length;e--&&n(t[e],e,t)!==!1;);return t}function un(t,n){for(var e=-1,r=t.length;++e<r;)if(!n(t[e],e,t))return!1;return!0}function on(t,n,e,r){for(var i=-1,a=t.length,u=r,o=u;++i<a;){var s=t[i],c=+n(s);e(c,u)&&(u=c,o=s)}return o}function sn(t,n){for(var e=-1,r=t.length,i=-1,a=[];++e<r;){var u=t[e];n(u,e,t)&&(a[++i]=u)}return a}function cn(t,n){for(var e=-1,r=t.length,i=Ya(r);++e<r;)i[e]=n(t[e],e,t);return i}function ln(t,n){for(var e=-1,r=n.length,i=t.length;++e<r;)t[i+e]=n[e];return t}function hn(t,n,e,r){var i=-1,a=t.length;for(r&&a&&(e=t[++i]);++i<a;)e=n(e,t[i],i,t);return e}function fn(t,n,e,r){var i=t.length;for(r&&i&&(e=t[--i]);i--;)e=n(e,t[i],i,t);return e}function dn(t,n){for(var e=-1,r=t.length;++e<r;)if(n(t[e],e,t))return!0;return!1}function pn(t,n){for(var e=t.length,r=0;e--;)r+=+n(t[e])||0;return r}function gn(t,n){return t===E?n:t}function yn(t,n,e,r){return t!==E&&tu.call(r,e)?t:n}function mn(t,n,e){for(var r=-1,i=Yo(n),a=i.length;++r<a;){var u=i[r],o=t[u],s=e(o,n[u],u,t,n);(s===s?s===o:o!==o)&&(o!==E||u in t)||(t[u]=s)}return t}function vn(t,n){return null==n?t:bn(n,Yo(n),t)}function _n(t,n){for(var e=-1,r=null==t,i=!r&&Ke(t),a=i?t.length:0,u=n.length,o=Ya(u);++e<u;){var s=n[e];o[e]=i?Qe(s,a)?t[s]:E:r?E:t[s]}return o}function bn(t,n,e){e||(e={});for(var r=-1,i=n.length;++r<i;){var a=n[r];e[a]=t[a]}return e}function xn(t,n,e){var r=typeof t;return\"function\"==r?n===E?t:ue(t,n,e):null==t?Sa:\"object\"==r?Yn(t):n===E?La(t):Un(t,n)}function wn(t,n,e,r,i,a,u){var o;if(e&&(o=i?e(t,r,i):e(t)),o!==E)return o;if(!Ii(t))return t;var s=Co(t);if(s){if(o=He(t),!n)return tn(t,o)}else{var c=eu.call(t),l=c==X;if(c!=J&&c!=q&&(!l||i))return Wt[c]?Ze(t,c,n):i?t:{};if(o=Ve(l?{}:t),!n)return vn(o,t)}a||(a=[]),u||(u=[]);for(var h=a.length;h--;)if(a[h]==t)return u[h];return a.push(t),u.push(o),(s?nn:On)(t,function(r,i){o[i]=wn(r,n,e,i,t,a,u)}),o}function An(t,n,e){if(\"function\"!=typeof t)throw new Za(W);return hu(function(){t.apply(E,e)},n)}function kn(t,n){var e=t?t.length:0,r=[];if(!e)return r;var i=-1,u=We(),o=u==a,s=o&&n.length>=Y?ge(n):null,c=n.length;s&&(u=Kt,o=!1,n=s);t:for(;++i<e;){var l=t[i];if(o&&l===l){for(var h=c;h--;)if(n[h]===l)continue t;r.push(l)}else u(n,l,0)<0&&r.push(l)}return r}function En(t,n){var e=!0;return Bu(t,function(t,r,i){return e=!!n(t,r,i)}),e}function Mn(t,n,e,r){var i=r,a=i;return Bu(t,function(t,u,o){var s=+n(t,u,o);(e(s,i)||s===r&&s===a)&&(i=s,a=t)}),a}function Sn(t,n,e,r){var i=t.length;for(e=null==e?0:+e||0,0>e&&(e=-e>i?0:i+e),r=r===E||r>i?i:+r||0,0>r&&(r+=i),i=e>r?0:r>>>0,e>>>=0;i>e;)t[e++]=n;return t}function Dn(t,n){var e=[];return Bu(t,function(t,r,i){n(t,r,i)&&e.push(t)}),e}function Cn(t,n,e,r){var i;return e(t,function(t,e,a){return n(t,e,a)?(i=r?e:t,!1):void 0}),i}function Tn(t,n,e,r){r||(r=[]);for(var i=-1,a=t.length;++i<a;){var u=t[i];m(u)&&Ke(u)&&(e||Co(u)||Ei(u))?n?Tn(u,n,e,r):ln(r,u):e||(r[r.length]=u)}return r}function Fn(t,n){return Pu(t,n,ta)}function On(t,n){return Pu(t,n,Yo)}function Ln(t,n){return Ru(t,n,Yo)}function In(t,n){for(var e=-1,r=n.length,i=-1,a=[];++e<r;){var u=n[e];Li(t[u])&&(a[++i]=u)}return a}function Bn(t,n,e){if(null!=t){e!==E&&e in hr(t)&&(n=[e]);for(var r=0,i=n.length;null!=t&&i>r;)t=t[n[r++]];return r&&r==i?t:E}}function Nn(t,n,e,r,i,a){return t===n?!0:null==t||null==n||!Ii(t)&&!m(n)?t!==t&&n!==n:Pn(t,n,Nn,e,r,i,a)}function Pn(t,n,e,r,i,a,u){var o=Co(t),s=Co(n),c=G,l=G;o||(c=eu.call(t),c==q?c=J:c!=J&&(o=Wi(t))),s||(l=eu.call(n),l==q?l=J:l!=J&&(s=Wi(n)));var h=c==J,f=l==J,d=c==l;if(d&&!o&&!h)return je(t,n,c);if(!i){var p=h&&tu.call(t,\"__wrapped__\"),g=f&&tu.call(n,\"__wrapped__\");if(p||g)return e(p?t.value():t,g?n.value():n,r,i,a,u)}if(!d)return!1;a||(a=[]),u||(u=[]);for(var y=a.length;y--;)if(a[y]==t)return u[y]==n;a.push(t),u.push(n);var m=(o?Re:Ye)(t,n,e,r,i,a,u);return a.pop(),u.pop(),m}function Rn(t,n,e){var r=n.length,i=r,a=!e;if(null==t)return!i;for(t=hr(t);r--;){var u=n[r];if(a&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++r<i;){u=n[r];var o=u[0],s=t[o],c=u[1];if(a&&u[2]){if(s===E&&!(o in t))return!1}else{var l=e?e(s,c,o):E;if(!(l===E?Nn(c,s,e,!0):l))return!1}}return!0}function jn(t,n){var e=-1,r=Ke(t)?Ya(t.length):[];return Bu(t,function(t,i,a){r[++e]=n(t,i,a)}),r}function Yn(t){var n=ze(t);if(1==n.length&&n[0][2]){var e=n[0][0],r=n[0][1];return function(t){return null==t?!1:t[e]===r&&(r!==E||e in hr(t))}}return function(t){return Rn(t,n)}}function Un(t,n){var e=Co(t),r=tr(t)&&rr(n),i=t+\"\";return t=fr(t),function(a){if(null==a)return!1;var u=i;if(a=hr(a),!(!e&&r||u in a)){if(a=1==t.length?a:Bn(a,Zn(t,0,-1)),null==a)return!1;u=Mr(t),a=hr(a)}return a[u]===n?n!==E||u in a:Nn(n,a[u],E,!0)}}function $n(t,n,e,r,i){if(!Ii(t))return t;var a=Ke(n)&&(Co(n)||Wi(n)),u=a?E:Yo(n);return nn(u||n,function(o,s){if(u&&(s=o,o=n[s]),m(o))r||(r=[]),i||(i=[]),Wn(t,n,s,$n,e,r,i);else{var c=t[s],l=e?e(c,o,s,t,n):E,h=l===E;h&&(l=o),l===E&&(!a||s in t)||!h&&(l===l?l===c:c!==c)||(t[s]=l)}}),t}function Wn(t,n,e,r,i,a,u){for(var o=a.length,s=n[e];o--;)if(a[o]==s)return void(t[e]=u[o]);var c=t[e],l=i?i(c,s,e,t,n):E,h=l===E;h&&(l=s,Ke(s)&&(Co(s)||Wi(s))?l=Co(c)?c:Ke(c)?tn(c):[]:Yi(s)||Ei(s)?l=Ei(c)?Vi(c):Yi(c)?c:{}:h=!1),a.push(s),u.push(l),h?t[e]=r(l,s,i,a,u):(l===l?l!==c:c===c)&&(t[e]=l)}function zn(t){return function(n){return null==n?E:n[t]}}function qn(t){var n=t+\"\";return t=fr(t),function(e){return Bn(e,t,n)}}function Gn(t,n){for(var e=t?n.length:0;e--;){var r=n[e];if(r!=i&&Qe(r)){var i=r;fu.call(t,r,1)}}return t}function Hn(t,n){return t+mu(Eu()*(n-t+1))}function Vn(t,n,e,r,i){return i(t,function(t,i,a){e=r?(r=!1,t):n(e,t,i,a)}),e}function Zn(t,n,e){var r=-1,i=t.length;n=null==n?0:+n||0,0>n&&(n=-n>i?0:i+n),e=e===E||e>i?i:+e||0,0>e&&(e+=i),i=n>e?0:e-n>>>0,n>>>=0;for(var a=Ya(i);++r<i;)a[r]=t[r+n];return a}function Xn(t,n){var e;return Bu(t,function(t,r,i){return e=n(t,r,i),!e}),!!e}function Kn(t,n){var e=t.length;for(t.sort(n);e--;)t[e]=t[e].value;return t}function Qn(t,n,e){var r=Ue(),i=-1;n=cn(n,function(t){return r(t)});var a=jn(t,function(t){var e=cn(n,function(n){return n(t)});return{criteria:e,index:++i,value:t}});return Kn(a,function(t,n){return h(t,n,e)})}function Jn(t,n){var e=0;return Bu(t,function(t,r,i){e+=+n(t,r,i)||0}),e}function te(t,n){var e=-1,r=We(),i=t.length,u=r==a,o=u&&i>=Y,s=o?ge():null,c=[];s?(r=Kt,u=!1):(o=!1,s=n?[]:c);t:for(;++e<i;){var l=t[e],h=n?n(l,e,t):l;if(u&&l===l){for(var f=s.length;f--;)if(s[f]===h)continue t;n&&s.push(h),c.push(l)}else r(s,h,0)<0&&((n||o)&&s.push(h),c.push(l))}return c}function ne(t,n){for(var e=-1,r=n.length,i=Ya(r);++e<r;)i[e]=t[n[e]];return i}function ee(t,n,e,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&n(t[a],a,t););return e?Zn(t,r?0:a,r?a+1:i):Zn(t,r?a+1:0,r?i:a)}function re(t,n){var e=t;e instanceof K&&(e=e.value());for(var r=-1,i=n.length;++r<i;){var a=n[r];e=a.func.apply(a.thisArg,ln([e],a.args))}return e}function ie(t,n,e){var r=0,i=t?t.length:r;if(\"number\"==typeof n&&n===n&&Tu>=i){for(;i>r;){\nvar a=r+i>>>1,u=t[a];(e?n>=u:n>u)&&null!==u?r=a+1:i=a}return i}return ae(t,n,Sa,e)}function ae(t,n,e,r){n=e(n);for(var i=0,a=t?t.length:0,u=n!==n,o=null===n,s=n===E;a>i;){var c=mu((i+a)/2),l=e(t[c]),h=l!==E,f=l===l;if(u)var d=f||r;else d=o?f&&h&&(r||null!=l):s?f&&(r||h):null==l?!1:r?n>=l:n>l;d?i=c+1:a=c}return wu(a,Cu)}function ue(t,n,e){if(\"function\"!=typeof t)return Sa;if(n===E)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 3:return function(e,r,i){return t.call(n,e,r,i)};case 4:return function(e,r,i,a){return t.call(n,e,r,i,a)};case 5:return function(e,r,i,a,u){return t.call(n,e,r,i,a,u)}}return function(){return t.apply(n,arguments)}}function oe(t){var n=new au(t.byteLength),e=new du(n);return e.set(new du(t)),n}function se(t,n,e){for(var r=e.length,i=-1,a=xu(t.length-r,0),u=-1,o=n.length,s=Ya(o+a);++u<o;)s[u]=n[u];for(;++i<r;)s[e[i]]=t[i];for(;a--;)s[u++]=t[i++];return s}function ce(t,n,e){for(var r=-1,i=e.length,a=-1,u=xu(t.length-i,0),o=-1,s=n.length,c=Ya(u+s);++a<u;)c[a]=t[a];for(var l=a;++o<s;)c[l+o]=n[o];for(;++r<i;)c[l+e[r]]=t[a++];return c}function le(t,n){return function(e,r,i){var a=n?n():{};if(r=Ue(r,i,3),Co(e))for(var u=-1,o=e.length;++u<o;){var s=e[u];t(a,s,r(s,u,e),e)}else Bu(e,function(n,e,i){t(a,n,r(n,e,i),i)});return a}}function he(t){return mi(function(n,e){var r=-1,i=null==n?0:e.length,a=i>2?e[i-2]:E,u=i>2?e[2]:E,o=i>1?e[i-1]:E;for(\"function\"==typeof a?(a=ue(a,o,5),i-=2):(a=\"function\"==typeof o?o:E,i-=a?1:0),u&&Je(e[0],e[1],u)&&(a=3>i?E:a,i=1);++r<i;){var s=e[r];s&&t(n,s,a)}return n})}function fe(t,n){return function(e,r){var i=e?Uu(e):0;if(!er(i))return t(e,r);for(var a=n?i:-1,u=hr(e);(n?a--:++a<i)&&r(u[a],a,u)!==!1;);return e}}function de(t){return function(n,e,r){for(var i=hr(n),a=r(n),u=a.length,o=t?u:-1;t?o--:++o<u;){var s=a[o];if(e(i[s],s,i)===!1)break}return n}}function pe(t,n){function e(){var i=this&&this!==en&&this instanceof e?r:t;return i.apply(n,arguments)}var r=me(t);return e}function ge(t){return yu&&lu?new Xt(t):null}function ye(t){return function(n){for(var e=-1,r=ka(la(n)),i=r.length,a=\"\";++e<i;)a=t(a,r[e],e);return a}}function me(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=Iu(t.prototype),r=t.apply(e,n);return Ii(r)?r:e}}function ve(t){function n(e,r,i){i&&Je(e,r,i)&&(r=E);var a=Pe(e,t,E,E,E,E,E,r);return a.placeholder=n.placeholder,a}return n}function _e(t,n){return mi(function(e){var r=e[0];return null==r?r:(e.push(n),t.apply(E,e))})}function be(t,n){return function(e,r,i){if(i&&Je(e,r,i)&&(r=E),r=Ue(r,i,3),1==r.length){e=Co(e)?e:lr(e);var a=on(e,r,t,n);if(!e.length||a!==n)return a}return Mn(e,r,t,n)}}function xe(t,n){return function(e,r,a){if(r=Ue(r,a,3),Co(e)){var u=i(e,r,n);return u>-1?e[u]:E}return Cn(e,r,t)}}function we(t){return function(n,e,r){return n&&n.length?(e=Ue(e,r,3),i(n,e,t)):-1}}function Ae(t){return function(n,e,r){return e=Ue(e,r,3),Cn(n,e,t,!0)}}function ke(t){return function(){for(var n,e=arguments.length,r=t?e:-1,i=0,a=Ya(e);t?r--:++r<e;){var u=a[i++]=arguments[r];if(\"function\"!=typeof u)throw new Za(W);!n&&v.prototype.thru&&\"wrapper\"==$e(u)&&(n=new v([],!0))}for(r=n?-1:e;++r<e;){u=a[r];var o=$e(u),s=\"wrapper\"==o?Yu(u):E;n=s&&nr(s[0])&&s[1]==(I|T|O|B)&&!s[4].length&&1==s[9]?n[$e(s[0])].apply(n,s[3]):1==u.length&&nr(u)?n[o]():n.thru(u)}return function(){var t=arguments,r=t[0];if(n&&1==t.length&&Co(r)&&r.length>=Y)return n.plant(r).value();for(var i=0,u=e?a[i].apply(this,t):r;++i<e;)u=a[i].call(this,u);return u}}}function Ee(t,n){return function(e,r,i){return\"function\"==typeof r&&i===E&&Co(e)?t(e,r):n(e,ue(r,i,3))}}function Me(t){return function(n,e,r){return(\"function\"!=typeof e||r!==E)&&(e=ue(e,r,3)),t(n,e,ta)}}function Se(t){return function(n,e,r){return(\"function\"!=typeof e||r!==E)&&(e=ue(e,r,3)),t(n,e)}}function De(t){return function(n,e,r){var i={};return e=Ue(e,r,3),On(n,function(n,r,a){var u=e(n,r,a);r=t?u:r,n=t?n:u,i[r]=n}),i}}function Ce(t){return function(n,e,r){return n=o(n),(t?n:\"\")+Le(n,e,r)+(t?\"\":n)}}function Te(t){var n=mi(function(e,r){var i=_(r,n.placeholder);return Pe(e,t,E,r,i)});return n}function Fe(t,n){return function(e,r,i,a){var u=arguments.length<3;return\"function\"==typeof r&&a===E&&Co(e)?t(e,r,i,u):Vn(e,Ue(r,a,4),i,u,n)}}function Oe(t,n,e,r,i,a,u,o,s,c){function l(){for(var v=arguments.length,b=v,x=Ya(v);b--;)x[b]=arguments[b];if(r&&(x=se(x,r,i)),a&&(x=ce(x,a,u)),p||y){var w=l.placeholder,A=_(x,w);if(v-=A.length,c>v){var k=o?tn(o):E,M=xu(c-v,0),C=p?A:E,T=p?E:A,F=p?x:E,I=p?E:x;n|=p?O:L,n&=~(p?L:O),g||(n&=~(S|D));var B=[t,n,e,F,C,I,T,k,s,M],N=Oe.apply(E,B);return nr(t)&&$u(N,B),N.placeholder=w,N}}var P=f?e:this,R=d?P[t]:t;return o&&(x=sr(x,o)),h&&s<x.length&&(x.length=s),this&&this!==en&&this instanceof l&&(R=m||me(t)),R.apply(P,x)}var h=n&I,f=n&S,d=n&D,p=n&T,g=n&C,y=n&F,m=d?E:me(t);return l}function Le(t,n,e){var r=t.length;if(n=+n,r>=n||!_u(n))return\"\";var i=n-r;return e=null==e?\" \":e+\"\",ya(e,gu(i/e.length)).slice(0,i)}function Ie(t,n,e,r){function i(){for(var n=-1,o=arguments.length,s=-1,c=r.length,l=Ya(c+o);++s<c;)l[s]=r[s];for(;o--;)l[s++]=arguments[++n];var h=this&&this!==en&&this instanceof i?u:t;return h.apply(a?e:this,l)}var a=n&S,u=me(t);return i}function Be(t){var n=za[t];return function(t,e){return e=e===E?0:+e||0,e?(e=su(10,e),n(t*e)/e):n(t)}}function Ne(t){return function(n,e,r,i){var a=Ue(r);return null==r&&a===xn?ie(n,e,t):ae(n,e,a(r,i,1),t)}}function Pe(t,n,e,r,i,a,u,o){var s=n&D;if(!s&&\"function\"!=typeof t)throw new Za(W);var c=r?r.length:0;if(c||(n&=~(O|L),r=i=E),c-=i?i.length:0,n&L){var l=r,h=i;r=i=E}var f=s?E:Yu(t),d=[t,n,e,r,i,l,h,a,u,o];if(f&&(ir(d,f),n=d[1],o=d[9]),d[9]=null==o?s?0:t.length:xu(o-c,0)||0,n==S)var p=pe(d[0],d[2]);else p=n!=O&&n!=(S|O)||d[4].length?Oe.apply(E,d):Ie.apply(E,d);var g=f?ju:$u;return g(p,d)}function Re(t,n,e,r,i,a,u){var o=-1,s=t.length,c=n.length;if(s!=c&&!(i&&c>s))return!1;for(;++o<s;){var l=t[o],h=n[o],f=r?r(i?h:l,i?l:h,o):E;if(f!==E){if(f)continue;return!1}if(i){if(!dn(n,function(t){return l===t||e(l,t,r,i,a,u)}))return!1}else if(l!==h&&!e(l,h,r,i,a,u))return!1}return!0}function je(t,n,e){switch(e){case H:case V:return+t==+n;case Z:return t.name==n.name&&t.message==n.message;case Q:return t!=+t?n!=+n:t==+n;case tt:case et:return t==n+\"\"}return!1}function Ye(t,n,e,r,i,a,u){var o=Yo(t),s=o.length,c=Yo(n),l=c.length;if(s!=l&&!i)return!1;for(var h=s;h--;){var f=o[h];if(!(i?f in n:tu.call(n,f)))return!1}for(var d=i;++h<s;){f=o[h];var p=t[f],g=n[f],y=r?r(i?g:p,i?p:g,f):E;if(!(y===E?e(p,g,r,i,a,u):y))return!1;d||(d=\"constructor\"==f)}if(!d){var m=t.constructor,v=n.constructor;if(m!=v&&\"constructor\"in t&&\"constructor\"in n&&!(\"function\"==typeof m&&m instanceof m&&\"function\"==typeof v&&v instanceof v))return!1}return!0}function Ue(t,e,r){var i=n.callback||Ea;return i=i===Ea?xn:i,r?i(t,e,r):i}function $e(t){for(var n=t.name,e=Lu[n],r=e?e.length:0;r--;){var i=e[r],a=i.func;if(null==a||a==t)return i.name}return n}function We(t,e,r){var i=n.indexOf||kr;return i=i===kr?a:i,t?i(t,e,r):i}function ze(t){for(var n=na(t),e=n.length;e--;)n[e][2]=rr(n[e][1]);return n}function qe(t,n){var e=null==t?E:t[n];return Pi(e)?e:E}function Ge(t,n,e){for(var r=-1,i=e.length;++r<i;){var a=e[r],u=a.size;switch(a.type){case\"drop\":t+=u;break;case\"dropRight\":n-=u;break;case\"take\":n=wu(n,t+u);break;case\"takeRight\":t=xu(t,n-u)}}return{start:t,end:n}}function He(t){var n=t.length,e=new t.constructor(n);return n&&\"string\"==typeof t[0]&&tu.call(t,\"index\")&&(e.index=t.index,e.input=t.input),e}function Ve(t){var n=t.constructor;return\"function\"==typeof n&&n instanceof n||(n=Ga),new n}function Ze(t,n,e){var r=t.constructor;switch(n){case it:return oe(t);case H:case V:return new r(+t);case at:case ut:case ot:case st:case ct:case lt:case ht:case ft:case dt:var i=t.buffer;return new r(e?oe(i):i,t.byteOffset,t.length);case Q:case et:return new r(t);case tt:var a=new r(t.source,Ot.exec(t));a.lastIndex=t.lastIndex}return a}function Xe(t,n,e){null==t||tr(n,t)||(n=fr(n),t=1==n.length?t:Bn(t,Zn(n,0,-1)),n=Mr(n));var r=null==t?t:t[n];return null==r?E:r.apply(t,e)}function Ke(t){return null!=t&&er(Uu(t))}function Qe(t,n){return t=\"number\"==typeof t||Bt.test(t)?+t:-1,n=null==n?Fu:n,t>-1&&t%1==0&&n>t}function Je(t,n,e){if(!Ii(e))return!1;var r=typeof n;if(\"number\"==r?Ke(e)&&Qe(n,e.length):\"string\"==r&&n in e){var i=e[n];return t===t?t===i:i!==i}return!1}function tr(t,n){var e=typeof t;if(\"string\"==e&&Et.test(t)||\"number\"==e)return!0;if(Co(t))return!1;var r=!kt.test(t);return r||null!=n&&t in hr(n)}function nr(t){var e=$e(t);if(!(e in K.prototype))return!1;var r=n[e];if(t===r)return!0;var i=Yu(r);return!!i&&t===i[0]}function er(t){return\"number\"==typeof t&&t>-1&&t%1==0&&Fu>=t}function rr(t){return t===t&&!Ii(t)}function ir(t,n){var e=t[1],r=n[1],i=e|r,a=I>i,u=r==I&&e==T||r==I&&e==B&&t[7].length<=n[8]||r==(I|B)&&e==T;if(!a&&!u)return t;r&S&&(t[2]=n[2],i|=e&S?0:C);var o=n[3];if(o){var s=t[3];t[3]=s?se(s,o,n[4]):tn(o),t[4]=s?_(t[3],z):tn(n[4])}return o=n[5],o&&(s=t[5],t[5]=s?ce(s,o,n[6]):tn(o),t[6]=s?_(t[5],z):tn(n[6])),o=n[7],o&&(t[7]=tn(o)),r&I&&(t[8]=null==t[8]?n[8]:wu(t[8],n[8])),null==t[9]&&(t[9]=n[9]),t[0]=n[0],t[1]=i,t}function ar(t,n){return t===E?n:To(t,n,ar)}function ur(t,n){t=hr(t);for(var e=-1,r=n.length,i={};++e<r;){var a=n[e];a in t&&(i[a]=t[a])}return i}function or(t,n){var e={};return Fn(t,function(t,r,i){n(t,r,i)&&(e[r]=t)}),e}function sr(t,n){for(var e=t.length,r=wu(n.length,e),i=tn(t);r--;){var a=n[r];t[r]=Qe(a,e)?i[a]:E}return t}function cr(t){for(var n=ta(t),e=n.length,r=e&&t.length,i=!!r&&er(r)&&(Co(t)||Ei(t)),a=-1,u=[];++a<e;){var o=n[a];(i&&Qe(o,r)||tu.call(t,o))&&u.push(o)}return u}function lr(t){return null==t?[]:Ke(t)?Ii(t)?t:Ga(t):aa(t)}function hr(t){return Ii(t)?t:Ga(t)}function fr(t){if(Co(t))return t;var n=[];return o(t).replace(Mt,function(t,e,r,i){n.push(r?i.replace(Tt,\"$1\"):e||t)}),n}function dr(t){return t instanceof K?t.clone():new v(t.__wrapped__,t.__chain__,tn(t.__actions__))}function pr(t,n,e){n=(e?Je(t,n,e):null==n)?1:xu(mu(n)||1,1);for(var r=0,i=t?t.length:0,a=-1,u=Ya(gu(i/n));i>r;)u[++a]=Zn(t,r,r+=n);return u}function gr(t){for(var n=-1,e=t?t.length:0,r=-1,i=[];++n<e;){var a=t[n];a&&(i[++r]=a)}return i}function yr(t,n,e){var r=t?t.length:0;return r?((e?Je(t,n,e):null==n)&&(n=1),Zn(t,0>n?0:n)):[]}function mr(t,n,e){var r=t?t.length:0;return r?((e?Je(t,n,e):null==n)&&(n=1),n=r-(+n||0),Zn(t,0,0>n?0:n)):[]}function vr(t,n,e){return t&&t.length?ee(t,Ue(n,e,3),!0,!0):[]}function _r(t,n,e){return t&&t.length?ee(t,Ue(n,e,3),!0):[]}function br(t,n,e,r){var i=t?t.length:0;return i?(e&&\"number\"!=typeof e&&Je(t,n,e)&&(e=0,r=i),Sn(t,n,e,r)):[]}function xr(t){return t?t[0]:E}function wr(t,n,e){var r=t?t.length:0;return e&&Je(t,n,e)&&(n=!1),r?Tn(t,n):[]}function Ar(t){var n=t?t.length:0;return n?Tn(t,!0):[]}function kr(t,n,e){var r=t?t.length:0;if(!r)return-1;if(\"number\"==typeof e)e=0>e?xu(r+e,0):e;else if(e){var i=ie(t,n);return r>i&&(n===n?n===t[i]:t[i]!==t[i])?i:-1}return a(t,n,e||0)}function Er(t){return mr(t,1)}function Mr(t){var n=t?t.length:0;return n?t[n-1]:E}function Sr(t,n,e){var r=t?t.length:0;if(!r)return-1;var i=r;if(\"number\"==typeof e)i=(0>e?xu(r+e,0):wu(e||0,r-1))+1;else if(e){i=ie(t,n,!0)-1;var a=t[i];return(n===n?n===a:a!==a)?i:-1}if(n!==n)return y(t,i,!0);for(;i--;)if(t[i]===n)return i;return-1}function Dr(){var t=arguments,n=t[0];if(!n||!n.length)return n;for(var e=0,r=We(),i=t.length;++e<i;)for(var a=0,u=t[e];(a=r(n,u,a))>-1;)fu.call(n,a,1);return n}function Cr(t,n,e){var r=[];if(!t||!t.length)return r;var i=-1,a=[],u=t.length;for(n=Ue(n,e,3);++i<u;){var o=t[i];n(o,i,t)&&(r.push(o),a.push(i))}return Gn(t,a),r}function Tr(t){return yr(t,1)}function Fr(t,n,e){var r=t?t.length:0;return r?(e&&\"number\"!=typeof e&&Je(t,n,e)&&(n=0,e=r),Zn(t,n,e)):[]}function Or(t,n,e){var r=t?t.length:0;return r?((e?Je(t,n,e):null==n)&&(n=1),Zn(t,0,0>n?0:n)):[]}function Lr(t,n,e){var r=t?t.length:0;return r?((e?Je(t,n,e):null==n)&&(n=1),n=r-(+n||0),Zn(t,0>n?0:n)):[]}function Ir(t,n,e){return t&&t.length?ee(t,Ue(n,e,3),!1,!0):[]}function Br(t,n,e){return t&&t.length?ee(t,Ue(n,e,3)):[]}function Nr(t,n,e,r){var i=t?t.length:0;if(!i)return[];null!=n&&\"boolean\"!=typeof n&&(r=e,e=Je(t,n,r)?E:n,n=!1);var u=Ue();return(null!=e||u!==xn)&&(e=u(e,r,3)),n&&We()==a?b(t,e):te(t,e)}function Pr(t){if(!t||!t.length)return[];var n=-1,e=0;t=sn(t,function(t){return Ke(t)?(e=xu(t.length,e),!0):void 0});for(var r=Ya(e);++n<e;)r[n]=cn(t,zn(n));return r}function Rr(t,n,e){var r=t?t.length:0;if(!r)return[];var i=Pr(t);return null==n?i:(n=ue(n,e,4),cn(i,function(t){return hn(t,n,E,!0)}))}function jr(){for(var t=-1,n=arguments.length;++t<n;){var e=arguments[t];if(Ke(e))var r=r?ln(kn(r,e),kn(e,r)):e}return r?te(r):[]}function Yr(t,n){var e=-1,r=t?t.length:0,i={};for(!r||n||Co(t[0])||(n=[]);++e<r;){var a=t[e];n?i[a]=n[e]:a&&(i[a[0]]=a[1])}return i}function Ur(t){var e=n(t);return e.__chain__=!0,e}function $r(t,n,e){return n.call(e,t),t}function Wr(t,n,e){return n.call(e,t)}function zr(){return Ur(this)}function qr(){return new v(this.value(),this.__chain__)}function Gr(t){for(var n,r=this;r instanceof e;){var i=dr(r);n?a.__wrapped__=i:n=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,n}function Hr(){var t=this.__wrapped__,n=function(t){return e&&e.__dir__<0?t:t.reverse()};if(t instanceof K){var e=t;return this.__actions__.length&&(e=new K(this)),e=e.reverse(),e.__actions__.push({func:Wr,args:[n],thisArg:E}),new v(e,this.__chain__)}return this.thru(n)}function Vr(){return this.value()+\"\"}function Zr(){return re(this.__wrapped__,this.__actions__)}function Xr(t,n,e){var r=Co(t)?un:En;return e&&Je(t,n,e)&&(n=E),(\"function\"!=typeof n||e!==E)&&(n=Ue(n,e,3)),r(t,n)}function Kr(t,n,e){var r=Co(t)?sn:Dn;return n=Ue(n,e,3),r(t,n)}function Qr(t,n){return ro(t,Yn(n))}function Jr(t,n,e,r){var i=t?Uu(t):0;return er(i)||(t=aa(t),i=t.length),e=\"number\"!=typeof e||r&&Je(n,e,r)?0:0>e?xu(i+e,0):e||0,\"string\"==typeof t||!Co(t)&&$i(t)?i>=e&&t.indexOf(n,e)>-1:!!i&&We(t,n,e)>-1}function ti(t,n,e){var r=Co(t)?cn:jn;return n=Ue(n,e,3),r(t,n)}function ni(t,n){return ti(t,La(n))}function ei(t,n,e){var r=Co(t)?sn:Dn;return n=Ue(n,e,3),r(t,function(t,e,r){return!n(t,e,r)})}function ri(t,n,e){if(e?Je(t,n,e):null==n){t=lr(t);var r=t.length;return r>0?t[Hn(0,r-1)]:E}var i=-1,a=Hi(t),r=a.length,u=r-1;for(n=wu(0>n?0:+n||0,r);++i<n;){var o=Hn(i,u),s=a[o];a[o]=a[i],a[i]=s}return a.length=n,a}function ii(t){return ri(t,Su)}function ai(t){var n=t?Uu(t):0;return er(n)?n:Yo(t).length}function ui(t,n,e){var r=Co(t)?dn:Xn;return e&&Je(t,n,e)&&(n=E),(\"function\"!=typeof n||e!==E)&&(n=Ue(n,e,3)),r(t,n)}function oi(t,n,e){if(null==t)return[];e&&Je(t,n,e)&&(n=E);var r=-1;n=Ue(n,e,3);var i=jn(t,function(t,e,i){return{criteria:n(t,e,i),index:++r,value:t}});return Kn(i,l)}function si(t,n,e,r){return null==t?[]:(r&&Je(n,e,r)&&(e=E),Co(n)||(n=null==n?[]:[n]),Co(e)||(e=null==e?[]:[e]),Qn(t,n,e))}function ci(t,n){return Kr(t,Yn(n))}function li(t,n){if(\"function\"!=typeof n){if(\"function\"!=typeof t)throw new Za(W);var e=t;t=n,n=e}return t=_u(t=+t)?t:0,function(){return--t<1?n.apply(this,arguments):void 0}}function hi(t,n,e){return e&&Je(t,n,e)&&(n=E),n=t&&null==n?t.length:xu(+n||0,0),Pe(t,I,E,E,E,E,n)}function fi(t,n){var e;if(\"function\"!=typeof n){if(\"function\"!=typeof t)throw new Za(W);var r=t;t=n,n=r}return function(){return--t>0&&(e=n.apply(this,arguments)),1>=t&&(n=E),e}}function di(t,n,e){function r(){d&&uu(d),c&&uu(c),g=0,c=d=p=E}function i(n,e){e&&uu(e),c=d=p=E,n&&(g=go(),l=t.apply(f,s),d||c||(s=f=E))}function a(){var t=n-(go()-h);0>=t||t>n?i(p,c):d=hu(a,t)}function u(){i(m,d)}function o(){if(s=arguments,h=go(),f=this,p=m&&(d||!v),y===!1)var e=v&&!d;else{c||v||(g=h);var r=y-(h-g),i=0>=r||r>y;i?(c&&(c=uu(c)),g=h,l=t.apply(f,s)):c||(c=hu(u,r))}return i&&d?d=uu(d):d||n===y||(d=hu(a,n)),e&&(i=!0,l=t.apply(f,s)),!i||d||c||(s=f=E),l}var s,c,l,h,f,d,p,g=0,y=!1,m=!0;if(\"function\"!=typeof t)throw new Za(W);if(n=0>n?0:+n||0,e===!0){var v=!0;m=!1}else Ii(e)&&(v=!!e.leading,y=\"maxWait\"in e&&xu(+e.maxWait||0,n),m=\"trailing\"in e?!!e.trailing:m);return o.cancel=r,o}function pi(t,n){if(\"function\"!=typeof t||n&&\"function\"!=typeof n)throw new Za(W);var e=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=e.cache;if(a.has(i))return a.get(i);var u=t.apply(this,r);return e.cache=a.set(i,u),u};return e.cache=new pi.Cache,e}function gi(t){if(\"function\"!=typeof t)throw new Za(W);return function(){return!t.apply(this,arguments)}}function yi(t){return fi(2,t)}function mi(t,n){if(\"function\"!=typeof t)throw new Za(W);return n=xu(n===E?t.length-1:+n||0,0),function(){for(var e=arguments,r=-1,i=xu(e.length-n,0),a=Ya(i);++r<i;)a[r]=e[n+r];switch(n){case 0:return t.call(this,a);case 1:return t.call(this,e[0],a);case 2:return t.call(this,e[0],e[1],a)}var u=Ya(n+1);for(r=-1;++r<n;)u[r]=e[r];return u[n]=a,t.apply(this,u)}}function vi(t){if(\"function\"!=typeof t)throw new Za(W);return function(n){return t.apply(this,n)}}function _i(t,n,e){var r=!0,i=!0;if(\"function\"!=typeof t)throw new Za(W);return e===!1?r=!1:Ii(e)&&(r=\"leading\"in e?!!e.leading:r,i=\"trailing\"in e?!!e.trailing:i),di(t,n,{leading:r,maxWait:+n,trailing:i})}function bi(t,n){return n=null==n?Sa:n,Pe(n,O,E,[t],[])}function xi(t,n,e,r){return n&&\"boolean\"!=typeof n&&Je(t,n,e)?n=!1:\"function\"==typeof n&&(r=e,e=n,n=!1),\"function\"==typeof e?wn(t,n,ue(e,r,1)):wn(t,n)}function wi(t,n,e){return\"function\"==typeof n?wn(t,!0,ue(n,e,1)):wn(t,!0)}function Ai(t,n){return t>n}function ki(t,n){return t>=n}function Ei(t){return m(t)&&Ke(t)&&tu.call(t,\"callee\")&&!cu.call(t,\"callee\")}function Mi(t){return t===!0||t===!1||m(t)&&eu.call(t)==H}function Si(t){return m(t)&&eu.call(t)==V}function Di(t){return!!t&&1===t.nodeType&&m(t)&&!Yi(t)}function Ci(t){return null==t?!0:Ke(t)&&(Co(t)||$i(t)||Ei(t)||m(t)&&Li(t.splice))?!t.length:!Yo(t).length}function Ti(t,n,e,r){e=\"function\"==typeof e?ue(e,r,3):E;var i=e?e(t,n):E;return i===E?Nn(t,n,e):!!i}function Fi(t){return m(t)&&\"string\"==typeof t.message&&eu.call(t)==Z}function Oi(t){return\"number\"==typeof t&&_u(t)}function Li(t){return Ii(t)&&eu.call(t)==X}function Ii(t){var n=typeof t;return!!t&&(\"object\"==n||\"function\"==n)}function Bi(t,n,e,r){return e=\"function\"==typeof e?ue(e,r,3):E,Rn(t,ze(n),e)}function Ni(t){return ji(t)&&t!=+t}function Pi(t){return null==t?!1:Li(t)?iu.test(Ja.call(t)):m(t)&&It.test(t)}function Ri(t){return null===t}function ji(t){return\"number\"==typeof t||m(t)&&eu.call(t)==Q}function Yi(t){var n;if(!m(t)||eu.call(t)!=J||Ei(t)||!tu.call(t,\"constructor\")&&(n=t.constructor,\"function\"==typeof n&&!(n instanceof n)))return!1;var e;return Fn(t,function(t,n){e=n}),e===E||tu.call(t,e)}function Ui(t){return Ii(t)&&eu.call(t)==tt}function $i(t){return\"string\"==typeof t||m(t)&&eu.call(t)==et}function Wi(t){return m(t)&&er(t.length)&&!!$t[eu.call(t)]}function zi(t){return t===E}function qi(t,n){return n>t}function Gi(t,n){return n>=t}function Hi(t){var n=t?Uu(t):0;return er(n)?n?tn(t):[]:aa(t)}function Vi(t){return bn(t,ta(t))}function Zi(t,n,e){var r=Iu(t);return e&&Je(t,n,e)&&(n=E),n?vn(r,n):r}function Xi(t){return In(t,ta(t))}function Ki(t,n,e){var r=null==t?E:Bn(t,fr(n),n+\"\");return r===E?e:r}function Qi(t,n){if(null==t)return!1;var e=tu.call(t,n);if(!e&&!tr(n)){if(n=fr(n),t=1==n.length?t:Bn(t,Zn(n,0,-1)),null==t)return!1;n=Mr(n),e=tu.call(t,n)}return e||er(t.length)&&Qe(n,t.length)&&(Co(t)||Ei(t))}function Ji(t,n,e){e&&Je(t,n,e)&&(n=E);for(var r=-1,i=Yo(t),a=i.length,u={};++r<a;){var o=i[r],s=t[o];n?tu.call(u,s)?u[s].push(o):u[s]=[o]:u[s]=o}return u}function ta(t){if(null==t)return[];Ii(t)||(t=Ga(t));var n=t.length;n=n&&er(n)&&(Co(t)||Ei(t))&&n||0;for(var e=t.constructor,r=-1,i=\"function\"==typeof e&&e.prototype===t,a=Ya(n),u=n>0;++r<n;)a[r]=r+\"\";for(var o in t)u&&Qe(o,n)||\"constructor\"==o&&(i||!tu.call(t,o))||a.push(o);return a}function na(t){t=hr(t);for(var n=-1,e=Yo(t),r=e.length,i=Ya(r);++n<r;){var a=e[n];i[n]=[a,t[a]]}return i}function ea(t,n,e){var r=null==t?E:t[n];return r===E&&(null==t||tr(n,t)||(n=fr(n),t=1==n.length?t:Bn(t,Zn(n,0,-1)),r=null==t?E:t[Mr(n)]),r=r===E?e:r),Li(r)?r.call(t):r}function ra(t,n,e){if(null==t)return t;var r=n+\"\";n=null!=t[r]||tr(n,t)?[r]:fr(n);for(var i=-1,a=n.length,u=a-1,o=t;null!=o&&++i<a;){var s=n[i];Ii(o)&&(i==u?o[s]=e:null==o[s]&&(o[s]=Qe(n[i+1])?[]:{})),o=o[s]}return t}function ia(t,n,e,r){var i=Co(t)||Wi(t);if(n=Ue(n,r,4),null==e)if(i||Ii(t)){var a=t.constructor;e=i?Co(t)?new a:[]:Iu(Li(a)?a.prototype:E)}else e={};return(i?nn:On)(t,function(t,r,i){return n(e,t,r,i)}),e}function aa(t){return ne(t,Yo(t))}function ua(t){return ne(t,ta(t))}function oa(t,n,e){return n=+n||0,e===E?(e=n,n=0):e=+e||0,t>=wu(n,e)&&t<xu(n,e)}function sa(t,n,e){e&&Je(t,n,e)&&(n=e=E);var r=null==t,i=null==n;if(null==e&&(i&&\"boolean\"==typeof t?(e=t,t=1):\"boolean\"==typeof n&&(e=n,i=!0)),r&&i&&(n=1,i=!1),t=+t||0,i?(n=t,t=0):n=+n||0,e||t%1||n%1){var a=Eu();return wu(t+a*(n-t+ou(\"1e-\"+((a+\"\").length-1))),n)}return Hn(t,n)}function ca(t){return t=o(t),t&&t.charAt(0).toUpperCase()+t.slice(1)}function la(t){return t=o(t),t&&t.replace(Nt,f).replace(Ct,\"\")}function ha(t,n,e){t=o(t),n+=\"\";var r=t.length;return e=e===E?r:wu(0>e?0:+e||0,r),e-=n.length,e>=0&&t.indexOf(n,e)==e}function fa(t){return t=o(t),t&&bt.test(t)?t.replace(vt,d):t}function da(t){return t=o(t),t&&Dt.test(t)?t.replace(St,p):t||\"(?:)\"}function pa(t,n,e){t=o(t),n=+n;var r=t.length;if(r>=n||!_u(n))return t;var i=(n-r)/2,a=mu(i),u=gu(i);return e=Le(\"\",u,e),e.slice(0,a)+t+e}function ga(t,n,e){return(e?Je(t,n,e):null==n)?n=0:n&&(n=+n),t=_a(t),ku(t,n||(Lt.test(t)?16:10))}function ya(t,n){var e=\"\";if(t=o(t),n=+n,1>n||!t||!_u(n))return e;do n%2&&(e+=t),n=mu(n/2),t+=t;while(n);return e}function ma(t,n,e){return t=o(t),e=null==e?0:wu(0>e?0:+e||0,t.length),t.lastIndexOf(n,e)==e}function va(t,e,r){var i=n.templateSettings;r&&Je(t,e,r)&&(e=r=E),t=o(t),e=mn(vn({},r||e),i,yn);var a,u,s=mn(vn({},e.imports),i.imports,yn),c=Yo(s),l=ne(s,c),h=0,f=e.interpolate||Pt,d=\"__p += '\",p=Ha((e.escape||Pt).source+\"|\"+f.source+\"|\"+(f===At?Ft:Pt).source+\"|\"+(e.evaluate||Pt).source+\"|$\",\"g\"),y=\"//# sourceURL=\"+(\"sourceURL\"in e?e.sourceURL:\"lodash.templateSources[\"+ ++Ut+\"]\")+\"\\n\";t.replace(p,function(n,e,r,i,o,s){return r||(r=i),d+=t.slice(h,s).replace(Rt,g),e&&(a=!0,d+=\"' +\\n__e(\"+e+\") +\\n'\"),o&&(u=!0,d+=\"';\\n\"+o+\";\\n__p += '\"),r&&(d+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),h=s+n.length,n}),d+=\"';\\n\";var m=e.variable;m||(d=\"with (obj) {\\n\"+d+\"\\n}\\n\"),d=(u?d.replace(pt,\"\"):d).replace(gt,\"$1\").replace(yt,\"$1;\"),d=\"function(\"+(m||\"obj\")+\") {\\n\"+(m?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(a?\", __e = _.escape\":\"\")+(u?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+d+\"return __p\\n}\";var v=Ko(function(){return Wa(c,y+\"return \"+d).apply(E,l)});if(v.source=d,Fi(v))throw v;return v}function _a(t,n,e){var r=t;return(t=o(t))?(e?Je(r,n,e):null==n)?t.slice(x(t),w(t)+1):(n+=\"\",t.slice(s(t,n),c(t,n)+1)):t}function ba(t,n,e){var r=t;return t=o(t),t?t.slice((e?Je(r,n,e):null==n)?x(t):s(t,n+\"\")):t}function xa(t,n,e){var r=t;return t=o(t),t?(e?Je(r,n,e):null==n)?t.slice(0,w(t)+1):t.slice(0,c(t,n+\"\")+1):t}function wa(t,n,e){e&&Je(t,n,e)&&(n=E);var r=N,i=P;if(null!=n)if(Ii(n)){var a=\"separator\"in n?n.separator:a;r=\"length\"in n?+n.length||0:r,i=\"omission\"in n?o(n.omission):i}else r=+n||0;if(t=o(t),r>=t.length)return t;var u=r-i.length;if(1>u)return i;var s=t.slice(0,u);if(null==a)return s+i;if(Ui(a)){if(t.slice(u).search(a)){var c,l,h=t.slice(0,u);for(a.global||(a=Ha(a.source,(Ot.exec(a)||\"\")+\"g\")),a.lastIndex=0;c=a.exec(h);)l=c.index;s=s.slice(0,null==l?u:l)}}else if(t.indexOf(a,u)!=u){var f=s.lastIndexOf(a);f>-1&&(s=s.slice(0,f))}return s+i}function Aa(t){return t=o(t),t&&_t.test(t)?t.replace(mt,A):t}function ka(t,n,e){return e&&Je(t,n,e)&&(n=E),t=o(t),t.match(n||jt)||[]}function Ea(t,n,e){return e&&Je(t,n,e)&&(n=E),m(t)?Da(t):xn(t,n)}function Ma(t){return function(){return t}}function Sa(t){return t}function Da(t){return Yn(wn(t,!0))}function Ca(t,n){return Un(t,wn(n,!0))}function Ta(t,n,e){if(null==e){var r=Ii(n),i=r?Yo(n):E,a=i&&i.length?In(n,i):E;(a?a.length:r)||(a=!1,e=n,n=t,t=this)}a||(a=In(n,Yo(n)));var u=!0,o=-1,s=Li(t),c=a.length;e===!1?u=!1:Ii(e)&&\"chain\"in e&&(u=e.chain);for(;++o<c;){var l=a[o],h=n[l];t[l]=h,s&&(t.prototype[l]=function(n){return function(){var e=this.__chain__;if(u||e){var r=t(this.__wrapped__),i=r.__actions__=tn(this.__actions__);return i.push({func:n,args:arguments,thisArg:t}),r.__chain__=e,r}return n.apply(t,ln([this.value()],arguments))}}(h))}return t}function Fa(){return en._=ru,this}function Oa(){}function La(t){return tr(t)?zn(t):qn(t)}function Ia(t){return function(n){return Bn(t,fr(n),n+\"\")}}function Ba(t,n,e){e&&Je(t,n,e)&&(n=e=E),t=+t||0,e=null==e?1:+e||0,null==n?(n=t,t=0):n=+n||0;for(var r=-1,i=xu(gu((n-t)/(e||1)),0),a=Ya(i);++r<i;)a[r]=t,t+=e;return a}function Na(t,n,e){if(t=mu(t),1>t||!_u(t))return[];var r=-1,i=Ya(wu(t,Du));for(n=ue(n,e,1);++r<t;)Du>r?i[r]=n(r):n(r);return i}function Pa(t){var n=++nu;return o(t)+n}function Ra(t,n){return(+t||0)+(+n||0)}function ja(t,n,e){return e&&Je(t,n,e)&&(n=E),n=Ue(n,e,3),1==n.length?pn(Co(t)?t:lr(t),n):Jn(t,n)}t=t?rn.defaults(en.Object(),t,rn.pick(en,Yt)):en;{var Ya=t.Array,Ua=t.Date,$a=t.Error,Wa=t.Function,za=t.Math,qa=t.Number,Ga=t.Object,Ha=t.RegExp,Va=t.String,Za=t.TypeError,Xa=Ya.prototype,Ka=Ga.prototype,Qa=Va.prototype,Ja=Wa.prototype.toString,tu=Ka.hasOwnProperty,nu=0,eu=Ka.toString,ru=en._,iu=Ha(\"^\"+Ja.call(tu).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),au=t.ArrayBuffer,uu=t.clearTimeout,ou=t.parseFloat,su=za.pow,cu=Ka.propertyIsEnumerable,lu=qe(t,\"Set\"),hu=t.setTimeout,fu=Xa.splice,du=t.Uint8Array,pu=qe(t,\"WeakMap\"),gu=za.ceil,yu=qe(Ga,\"create\"),mu=za.floor,vu=qe(Ya,\"isArray\"),_u=t.isFinite,bu=qe(Ga,\"keys\"),xu=za.max,wu=za.min,Au=qe(Ua,\"now\"),ku=t.parseInt,Eu=za.random,Mu=qa.NEGATIVE_INFINITY,Su=qa.POSITIVE_INFINITY,Du=4294967295,Cu=Du-1,Tu=Du>>>1,Fu=9007199254740991,Ou=pu&&new pu,Lu={};n.support={}}n.templateSettings={escape:xt,evaluate:wt,interpolate:At,variable:\"\",imports:{_:n}};var Iu=function(){function t(){}return function(n){if(Ii(n)){t.prototype=n;var e=new t;t.prototype=E}return e||{}}}(),Bu=fe(On),Nu=fe(Ln,!0),Pu=de(),Ru=de(!0),ju=Ou?function(t,n){return Ou.set(t,n),t}:Sa,Yu=Ou?function(t){return Ou.get(t)}:Oa,Uu=zn(\"length\"),$u=function(){var t=0,n=0;return function(e,r){var i=go(),a=j-(i-n);if(n=i,a>0){if(++t>=R)return e}else t=0;return ju(e,r)}}(),Wu=mi(function(t,n){return m(t)&&Ke(t)?kn(t,Tn(n,!1,!0)):[]}),zu=we(),qu=we(!0),Gu=mi(function(t){for(var n=t.length,e=n,r=Ya(h),i=We(),u=i==a,o=[];e--;){var s=t[e]=Ke(s=t[e])?s:[];r[e]=u&&s.length>=120?ge(e&&s):null}var c=t[0],l=-1,h=c?c.length:0,f=r[0];t:for(;++l<h;)if(s=c[l],(f?Kt(f,s):i(o,s,0))<0){for(var e=n;--e;){var d=r[e];if((d?Kt(d,s):i(t[e],s,0))<0)continue t}f&&f.push(s),o.push(s)}return o}),Hu=mi(function(t,n){n=Tn(n);var e=_n(t,n);return Gn(t,n.sort(r)),e}),Vu=Ne(),Zu=Ne(!0),Xu=mi(function(t){return te(Tn(t,!1,!0))}),Ku=mi(function(t,n){return Ke(t)?kn(t,n):[]}),Qu=mi(Pr),Ju=mi(function(t){var n=t.length,e=n>2?t[n-2]:E,r=n>1?t[n-1]:E;return n>2&&\"function\"==typeof e?n-=2:(e=n>1&&\"function\"==typeof r?(--n,r):E,r=E),t.length=n,Rr(t,e,r)}),to=mi(function(t){return t=Tn(t),this.thru(function(n){return Jt(Co(n)?n:[hr(n)],t)})}),no=mi(function(t,n){return _n(t,Tn(n))}),eo=le(function(t,n,e){tu.call(t,e)?++t[e]:t[e]=1}),ro=xe(Bu),io=xe(Nu,!0),ao=Ee(nn,Bu),uo=Ee(an,Nu),oo=le(function(t,n,e){tu.call(t,e)?t[e].push(n):t[e]=[n]}),so=le(function(t,n,e){t[e]=n}),co=mi(function(t,n,e){var r=-1,i=\"function\"==typeof n,a=tr(n),u=Ke(t)?Ya(t.length):[];return Bu(t,function(t){var o=i?n:a&&null!=t?t[n]:E;u[++r]=o?o.apply(t,e):Xe(t,n,e)}),u}),lo=le(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]}),ho=Fe(hn,Bu),fo=Fe(fn,Nu),po=mi(function(t,n){if(null==t)return[];var e=n[2];return e&&Je(n[0],n[1],e)&&(n.length=1),Qn(t,Tn(n),[])}),go=Au||function(){return(new Ua).getTime()},yo=mi(function(t,n,e){var r=S;if(e.length){var i=_(e,yo.placeholder);r|=O}return Pe(t,r,n,e,i)}),mo=mi(function(t,n){n=n.length?Tn(n):Xi(t);for(var e=-1,r=n.length;++e<r;){var i=n[e];t[i]=Pe(t[i],S,t)}return t}),vo=mi(function(t,n,e){var r=S|D;if(e.length){var i=_(e,vo.placeholder);r|=O}return Pe(n,r,t,e,i)}),_o=ve(T),bo=ve(F),xo=mi(function(t,n){return An(t,1,n)}),wo=mi(function(t,n,e){return An(t,n,e)}),Ao=ke(),ko=ke(!0),Eo=mi(function(t,n){if(n=Tn(n),\"function\"!=typeof t||!un(n,u))throw new Za(W);var e=n.length;return mi(function(r){for(var i=wu(r.length,e);i--;)r[i]=n[i](r[i]);return t.apply(this,r)})}),Mo=Te(O),So=Te(L),Do=mi(function(t,n){return Pe(t,B,E,E,E,Tn(n))}),Co=vu||function(t){return m(t)&&er(t.length)&&eu.call(t)==G},To=he($n),Fo=he(function(t,n,e){return e?mn(t,n,e):vn(t,n)}),Oo=_e(Fo,gn),Lo=_e(To,ar),Io=Ae(On),Bo=Ae(Ln),No=Me(Pu),Po=Me(Ru),Ro=Se(On),jo=Se(Ln),Yo=bu?function(t){var n=null==t?E:t.constructor;return\"function\"==typeof n&&n.prototype===t||\"function\"!=typeof t&&Ke(t)?cr(t):Ii(t)?bu(t):[]}:cr,Uo=De(!0),$o=De(),Wo=mi(function(t,n){if(null==t)return{};if(\"function\"!=typeof n[0]){var n=cn(Tn(n),Va);return ur(t,kn(ta(t),n))}var e=ue(n[0],n[1],3);return or(t,function(t,n,r){return!e(t,n,r)})}),zo=mi(function(t,n){return null==t?{}:\"function\"==typeof n[0]?or(t,ue(n[0],n[1],3)):ur(t,Tn(n))}),qo=ye(function(t,n,e){return n=n.toLowerCase(),t+(e?n.charAt(0).toUpperCase()+n.slice(1):n)}),Go=ye(function(t,n,e){return t+(e?\"-\":\"\")+n.toLowerCase()}),Ho=Ce(),Vo=Ce(!0),Zo=ye(function(t,n,e){return t+(e?\"_\":\"\")+n.toLowerCase()}),Xo=ye(function(t,n,e){return t+(e?\" \":\"\")+(n.charAt(0).toUpperCase()+n.slice(1))}),Ko=mi(function(t,n){try{return t.apply(E,n)}catch(e){return Fi(e)?e:new $a(e)}}),Qo=mi(function(t,n){return function(e){return Xe(e,t,n)}}),Jo=mi(function(t,n){return function(e){return Xe(t,e,n)}}),ts=Be(\"ceil\"),ns=Be(\"floor\"),es=be(Ai,Mu),rs=be(qi,Su),is=Be(\"round\");return n.prototype=e.prototype,v.prototype=Iu(e.prototype),v.prototype.constructor=v,K.prototype=Iu(e.prototype),K.prototype.constructor=K,qt.prototype[\"delete\"]=Gt,qt.prototype.get=Ht,qt.prototype.has=Vt,qt.prototype.set=Zt,Xt.prototype.push=Qt,pi.Cache=qt,n.after=li,n.ary=hi,n.assign=Fo,n.at=no,n.before=fi,n.bind=yo,n.bindAll=mo,n.bindKey=vo,n.callback=Ea,n.chain=Ur,n.chunk=pr,n.compact=gr,n.constant=Ma,n.countBy=eo,n.create=Zi,n.curry=_o,n.curryRight=bo,n.debounce=di,n.defaults=Oo,n.defaultsDeep=Lo,n.defer=xo,n.delay=wo,n.difference=Wu,n.drop=yr,n.dropRight=mr,n.dropRightWhile=vr,n.dropWhile=_r,n.fill=br,n.filter=Kr,n.flatten=wr,n.flattenDeep=Ar,n.flow=Ao,n.flowRight=ko,n.forEach=ao,n.forEachRight=uo,n.forIn=No,n.forInRight=Po,n.forOwn=Ro,n.forOwnRight=jo,n.functions=Xi,n.groupBy=oo,n.indexBy=so,n.initial=Er,n.intersection=Gu,n.invert=Ji,n.invoke=co,n.keys=Yo,n.keysIn=ta,n.map=ti,n.mapKeys=Uo,n.mapValues=$o,n.matches=Da,n.matchesProperty=Ca,n.memoize=pi,n.merge=To,n.method=Qo,n.methodOf=Jo,n.mixin=Ta,n.modArgs=Eo,n.negate=gi,n.omit=Wo,n.once=yi,n.pairs=na,n.partial=Mo,n.partialRight=So,n.partition=lo,n.pick=zo,n.pluck=ni,n.property=La,n.propertyOf=Ia,n.pull=Dr,n.pullAt=Hu,n.range=Ba,n.rearg=Do,n.reject=ei,n.remove=Cr,n.rest=Tr,n.restParam=mi,n.set=ra,n.shuffle=ii,n.slice=Fr,n.sortBy=oi,n.sortByAll=po,n.sortByOrder=si,n.spread=vi,n.take=Or,n.takeRight=Lr,n.takeRightWhile=Ir,n.takeWhile=Br,n.tap=$r,n.throttle=_i,n.thru=Wr,n.times=Na,n.toArray=Hi,n.toPlainObject=Vi,n.transform=ia,n.union=Xu,n.uniq=Nr,n.unzip=Pr,n.unzipWith=Rr,n.values=aa,n.valuesIn=ua,n.where=ci,n.without=Ku,n.wrap=bi,n.xor=jr,n.zip=Qu,n.zipObject=Yr,n.zipWith=Ju,n.backflow=ko,n.collect=ti,n.compose=ko,n.each=ao,n.eachRight=uo,n.extend=Fo,n.iteratee=Ea,n.methods=Xi,n.object=Yr,n.select=Kr,n.tail=Tr,n.unique=Nr,Ta(n,n),n.add=Ra,n.attempt=Ko,\nn.camelCase=qo,n.capitalize=ca,n.ceil=ts,n.clone=xi,n.cloneDeep=wi,n.deburr=la,n.endsWith=ha,n.escape=fa,n.escapeRegExp=da,n.every=Xr,n.find=ro,n.findIndex=zu,n.findKey=Io,n.findLast=io,n.findLastIndex=qu,n.findLastKey=Bo,n.findWhere=Qr,n.first=xr,n.floor=ns,n.get=Ki,n.gt=Ai,n.gte=ki,n.has=Qi,n.identity=Sa,n.includes=Jr,n.indexOf=kr,n.inRange=oa,n.isArguments=Ei,n.isArray=Co,n.isBoolean=Mi,n.isDate=Si,n.isElement=Di,n.isEmpty=Ci,n.isEqual=Ti,n.isError=Fi,n.isFinite=Oi,n.isFunction=Li,n.isMatch=Bi,n.isNaN=Ni,n.isNative=Pi,n.isNull=Ri,n.isNumber=ji,n.isObject=Ii,n.isPlainObject=Yi,n.isRegExp=Ui,n.isString=$i,n.isTypedArray=Wi,n.isUndefined=zi,n.kebabCase=Go,n.last=Mr,n.lastIndexOf=Sr,n.lt=qi,n.lte=Gi,n.max=es,n.min=rs,n.noConflict=Fa,n.noop=Oa,n.now=go,n.pad=pa,n.padLeft=Ho,n.padRight=Vo,n.parseInt=ga,n.random=sa,n.reduce=ho,n.reduceRight=fo,n.repeat=ya,n.result=ea,n.round=is,n.runInContext=k,n.size=ai,n.snakeCase=Zo,n.some=ui,n.sortedIndex=Vu,n.sortedLastIndex=Zu,n.startCase=Xo,n.startsWith=ma,n.sum=ja,n.template=va,n.trim=_a,n.trimLeft=ba,n.trimRight=xa,n.trunc=wa,n.unescape=Aa,n.uniqueId=Pa,n.words=ka,n.all=Xr,n.any=ui,n.contains=Jr,n.eq=Ti,n.detect=ro,n.foldl=ho,n.foldr=fo,n.head=xr,n.include=Jr,n.inject=ho,Ta(n,function(){var t={};return On(n,function(e,r){n.prototype[r]||(t[r]=e)}),t}(),!1),n.sample=ri,n.prototype.sample=function(t){return this.__chain__||null!=t?this.thru(function(n){return ri(n,t)}):ri(this.value())},n.VERSION=M,nn([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(t){n[t].placeholder=n}),nn([\"drop\",\"take\"],function(t,n){K.prototype[t]=function(e){var r=this.__filtered__;if(r&&!n)return new K(this);e=null==e?1:xu(mu(e)||0,0);var i=this.clone();return r?i.__takeCount__=wu(i.__takeCount__,e):i.__views__.push({size:e,type:t+(i.__dir__<0?\"Right\":\"\")}),i},K.prototype[t+\"Right\"]=function(n){return this.reverse()[t](n).reverse()}}),nn([\"filter\",\"map\",\"takeWhile\"],function(t,n){var e=n+1,r=e!=$;K.prototype[t]=function(t,n){var i=this.clone();return i.__iteratees__.push({iteratee:Ue(t,n,1),type:e}),i.__filtered__=i.__filtered__||r,i}}),nn([\"first\",\"last\"],function(t,n){var e=\"take\"+(n?\"Right\":\"\");K.prototype[t]=function(){return this[e](1).value()[0]}}),nn([\"initial\",\"rest\"],function(t,n){var e=\"drop\"+(n?\"\":\"Right\");K.prototype[t]=function(){return this.__filtered__?new K(this):this[e](1)}}),nn([\"pluck\",\"where\"],function(t,n){var e=n?\"filter\":\"map\",r=n?Yn:La;K.prototype[t]=function(t){return this[e](r(t))}}),K.prototype.compact=function(){return this.filter(Sa)},K.prototype.reject=function(t,n){return t=Ue(t,n,1),this.filter(function(n){return!t(n)})},K.prototype.slice=function(t,n){t=null==t?0:+t||0;var e=this;return e.__filtered__&&(t>0||0>n)?new K(e):(0>t?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==E&&(n=+n||0,e=0>n?e.dropRight(-n):e.take(n-t)),e)},K.prototype.takeRightWhile=function(t,n){return this.reverse().takeWhile(t,n).reverse()},K.prototype.toArray=function(){return this.take(Su)},On(K.prototype,function(t,e){var r=/^(?:filter|map|reject)|While$/.test(e),i=/^(?:first|last)$/.test(e),a=n[i?\"take\"+(\"last\"==e?\"Right\":\"\"):e];a&&(n.prototype[e]=function(){var n=i?[1]:arguments,e=this.__chain__,u=this.__wrapped__,o=!!this.__actions__.length,s=u instanceof K,c=n[0],l=s||Co(u);l&&r&&\"function\"==typeof c&&1!=c.length&&(s=l=!1);var h=function(t){return i&&e?a(t,1)[0]:a.apply(E,ln([t],n))},f={func:Wr,args:[h],thisArg:E},d=s&&!o;if(i&&!e)return d?(u=u.clone(),u.__actions__.push(f),t.call(u)):a.call(E,this.value())[0];if(!i&&l){u=d?u:new K(this);var p=t.apply(u,n);return p.__actions__.push(f),new v(p,e)}return this.thru(h)})}),nn([\"join\",\"pop\",\"push\",\"replace\",\"shift\",\"sort\",\"splice\",\"split\",\"unshift\"],function(t){var e=(/^(?:replace|split)$/.test(t)?Qa:Xa)[t],r=/^(?:push|sort|unshift)$/.test(t)?\"tap\":\"thru\",i=/^(?:join|pop|replace|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;return i&&!this.__chain__?e.apply(this.value(),t):this[r](function(n){return e.apply(n,t)})}}),On(K.prototype,function(t,e){var r=n[e];if(r){var i=r.name,a=Lu[i]||(Lu[i]=[]);a.push({name:e,func:r})}}),Lu[Oe(E,D).name]=[{name:\"wrapper\",func:E}],K.prototype.clone=nt,K.prototype.reverse=rt,K.prototype.value=zt,n.prototype.chain=zr,n.prototype.commit=qr,n.prototype.concat=to,n.prototype.plant=Gr,n.prototype.reverse=Hr,n.prototype.toString=Vr,n.prototype.run=n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=Zr,n.prototype.collect=n.prototype.map,n.prototype.head=n.prototype.first,n.prototype.select=n.prototype.filter,n.prototype.tail=n.prototype.rest,n}var E,M=\"3.10.1\",S=1,D=2,C=4,T=8,F=16,O=32,L=64,I=128,B=256,N=30,P=\"...\",R=150,j=16,Y=200,U=1,$=2,W=\"Expected a function\",z=\"__lodash_placeholder__\",q=\"[object Arguments]\",G=\"[object Array]\",H=\"[object Boolean]\",V=\"[object Date]\",Z=\"[object Error]\",X=\"[object Function]\",K=\"[object Map]\",Q=\"[object Number]\",J=\"[object Object]\",tt=\"[object RegExp]\",nt=\"[object Set]\",et=\"[object String]\",rt=\"[object WeakMap]\",it=\"[object ArrayBuffer]\",at=\"[object Float32Array]\",ut=\"[object Float64Array]\",ot=\"[object Int8Array]\",st=\"[object Int16Array]\",ct=\"[object Int32Array]\",lt=\"[object Uint8Array]\",ht=\"[object Uint8ClampedArray]\",ft=\"[object Uint16Array]\",dt=\"[object Uint32Array]\",pt=/\\b__p \\+= '';/g,gt=/\\b(__p \\+=) '' \\+/g,yt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,mt=/&(?:amp|lt|gt|quot|#39|#96);/g,vt=/[&<>\"'`]/g,_t=RegExp(mt.source),bt=RegExp(vt.source),xt=/<%-([\\s\\S]+?)%>/g,wt=/<%([\\s\\S]+?)%>/g,At=/<%=([\\s\\S]+?)%>/g,kt=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\n\\\\]|\\\\.)*?\\1)\\]/,Et=/^\\w*$/,Mt=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\n\\\\]|\\\\.)*?)\\2)\\]/g,St=/^[:!,]|[\\\\^$.*+?()[\\]{}|\\/]|(^[0-9a-fA-Fnrtuvx])|([\\n\\r\\u2028\\u2029])/g,Dt=RegExp(St.source),Ct=/[\\u0300-\\u036f\\ufe20-\\ufe23]/g,Tt=/\\\\(\\\\)?/g,Ft=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Ot=/\\w*$/,Lt=/^0[xX]/,It=/^\\[object .+?Constructor\\]$/,Bt=/^\\d+$/,Nt=/[\\xc0-\\xd6\\xd8-\\xde\\xdf-\\xf6\\xf8-\\xff]/g,Pt=/($^)/,Rt=/['\\n\\r\\u2028\\u2029\\\\]/g,jt=function(){var t=\"[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",n=\"[a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff]+\";return RegExp(t+\"+(?=\"+t+n+\")|\"+t+\"?\"+n+\"|\"+t+\"+|[0-9]+\",\"g\")}(),Yt=[\"Array\",\"ArrayBuffer\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Math\",\"Number\",\"Object\",\"RegExp\",\"Set\",\"String\",\"_\",\"clearTimeout\",\"isFinite\",\"parseFloat\",\"parseInt\",\"setTimeout\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\"],Ut=-1,$t={};$t[at]=$t[ut]=$t[ot]=$t[st]=$t[ct]=$t[lt]=$t[ht]=$t[ft]=$t[dt]=!0,$t[q]=$t[G]=$t[it]=$t[H]=$t[V]=$t[Z]=$t[X]=$t[K]=$t[Q]=$t[J]=$t[tt]=$t[nt]=$t[et]=$t[rt]=!1;var Wt={};Wt[q]=Wt[G]=Wt[it]=Wt[H]=Wt[V]=Wt[at]=Wt[ut]=Wt[ot]=Wt[st]=Wt[ct]=Wt[Q]=Wt[J]=Wt[tt]=Wt[et]=Wt[lt]=Wt[ht]=Wt[ft]=Wt[dt]=!0,Wt[Z]=Wt[X]=Wt[K]=Wt[nt]=Wt[rt]=!1;var zt={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\"},qt={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\",\"`\":\"&#96;\"},Gt={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\",\"&#96;\":\"`\"},Ht={\"function\":!0,object:!0},Vt={0:\"x30\",1:\"x31\",2:\"x32\",3:\"x33\",4:\"x34\",5:\"x35\",6:\"x36\",7:\"x37\",8:\"x38\",9:\"x39\",A:\"x41\",B:\"x42\",C:\"x43\",D:\"x44\",E:\"x45\",F:\"x46\",a:\"x61\",b:\"x62\",c:\"x63\",d:\"x64\",e:\"x65\",f:\"x66\",n:\"x6e\",r:\"x72\",t:\"x74\",u:\"x75\",v:\"x76\",x:\"x78\"},Zt={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Xt=Ht[typeof e]&&e&&!e.nodeType&&e,Kt=Ht[typeof n]&&n&&!n.nodeType&&n,Qt=Xt&&Kt&&\"object\"==typeof t&&t&&t.Object&&t,Jt=Ht[typeof self]&&self&&self.Object&&self,tn=Ht[typeof window]&&window&&window.Object&&window,nn=Kt&&Kt.exports===Xt&&Xt,en=Qt||tn!==(this&&this.window)&&tn||Jt||this,rn=k();\"function\"==typeof define&&\"object\"==typeof define.amd&&define.amd?(en._=rn,define(function(){return rn})):Xt&&Kt?nn?(Kt.exports=rn)._=rn:Xt._=rn:en._=rn}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],52:[function(t,n){n.exports={graphlib:t(\"./lib/graphlib\"),layout:t(\"./lib/layout\"),debug:t(\"./lib/debug\"),util:{time:t(\"./lib/util\").time,notime:t(\"./lib/util\").notime},version:t(\"./lib/version\")}},{\"./lib/debug\":57,\"./lib/graphlib\":58,\"./lib/layout\":60,\"./lib/util\":80,\"./lib/version\":81}],53:[function(t,n){\"use strict\";function e(t){function n(t){return function(n){return t.edge(n).weight}}var e=\"greedy\"===t.graph().acyclicer?u(t,n(t)):r(t);a.each(e,function(n){var e=t.edge(n);t.removeEdge(n),e.forwardName=n.name,e.reversed=!0,t.setEdge(n.w,n.v,e,a.uniqueId(\"rev\"))})}function r(t){function n(u){a.has(i,u)||(i[u]=!0,r[u]=!0,a.each(t.outEdges(u),function(t){a.has(r,t.w)?e.push(t):n(t.w)}),delete r[u])}var e=[],r={},i={};return a.each(t.nodes(),n),e}function i(t){a.each(t.edges(),function(n){var e=t.edge(n);if(e.reversed){t.removeEdge(n);var r=e.forwardName;delete e.reversed,delete e.forwardName,t.setEdge(n.w,n.v,e,r)}})}var a=t(\"./lodash\"),u=t(\"./greedy-fas\");n.exports={run:e,undo:i}},{\"./greedy-fas\":59,\"./lodash\":61}],54:[function(t,n){function e(t){function n(e){var a=t.children(e),u=t.node(e);if(a.length&&i.each(a,n),i.has(u,\"minRank\")){u.borderLeft=[],u.borderRight=[];for(var o=u.minRank,s=u.maxRank+1;s>o;++o)r(t,\"borderLeft\",\"_bl\",e,u,o),r(t,\"borderRight\",\"_br\",e,u,o)}}i.each(t.children(),n)}function r(t,n,e,r,i,u){var o={width:0,height:0,rank:u,borderType:n},s=i[n][u-1],c=a.addDummyNode(t,\"border\",o,e);i[n][u]=c,t.setParent(c,r),s&&t.setEdge(s,c,{weight:1})}var i=t(\"./lodash\"),a=t(\"./util\");n.exports=e},{\"./lodash\":61,\"./util\":80}],55:[function(t,n){\"use strict\";function e(t){var n=t.graph().rankdir.toLowerCase();(\"lr\"===n||\"rl\"===n)&&i(t)}function r(t){var n=t.graph().rankdir.toLowerCase();(\"bt\"===n||\"rl\"===n)&&u(t),(\"lr\"===n||\"rl\"===n)&&(s(t),i(t))}function i(t){l.each(t.nodes(),function(n){a(t.node(n))}),l.each(t.edges(),function(n){a(t.edge(n))})}function a(t){var n=t.width;t.width=t.height,t.height=n}function u(t){l.each(t.nodes(),function(n){o(t.node(n))}),l.each(t.edges(),function(n){var e=t.edge(n);l.each(e.points,o),l.has(e,\"y\")&&o(e)})}function o(t){t.y=-t.y}function s(t){l.each(t.nodes(),function(n){c(t.node(n))}),l.each(t.edges(),function(n){var e=t.edge(n);l.each(e.points,c),l.has(e,\"x\")&&c(e)})}function c(t){var n=t.x;t.x=t.y,t.y=n}var l=t(\"./lodash\");n.exports={adjust:e,undo:r}},{\"./lodash\":61}],56:[function(t,n){function e(){var t={};t._next=t._prev=t,this._sentinel=t}function r(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function i(t,n){return\"_next\"!==t&&\"_prev\"!==t?n:void 0}n.exports=e,e.prototype.dequeue=function(){var t=this._sentinel,n=t._prev;return n!==t?(r(n),n):void 0},e.prototype.enqueue=function(t){var n=this._sentinel;t._prev&&t._next&&r(t),t._next=n._next,n._next._prev=t,n._next=t,t._prev=n},e.prototype.toString=function(){for(var t=[],n=this._sentinel,e=n._prev;e!==n;)t.push(JSON.stringify(e,i)),e=e._prev;return\"[\"+t.join(\", \")+\"]\"}},{}],57:[function(t,n){function e(t){var n=i.buildLayerMatrix(t),e=new a({compound:!0,multigraph:!0}).setGraph({});return r.each(t.nodes(),function(n){e.setNode(n,{label:n}),e.setParent(n,\"layer\"+t.node(n).rank)}),r.each(t.edges(),function(t){e.setEdge(t.v,t.w,{},t.name)}),r.each(n,function(t,n){var i=\"layer\"+n;e.setNode(i,{rank:\"same\"}),r.reduce(t,function(t,n){return e.setEdge(t,n,{style:\"invis\"}),n})}),e}var r=t(\"./lodash\"),i=t(\"./util\"),a=t(\"./graphlib\").Graph;n.exports={debugOrdering:e}},{\"./graphlib\":58,\"./lodash\":61,\"./util\":80}],58:[function(t,n){var e;if(\"function\"==typeof t)try{e=t(\"graphlib\")}catch(r){}e||(e=window.graphlib),n.exports=e},{graphlib:82}],59:[function(t,n){function e(t,n){if(t.nodeCount()<=1)return[];var e=a(t,n||l),i=r(e.graph,e.buckets,e.zeroIdx);return o.flatten(o.map(i,function(n){return t.outEdges(n.v,n.w)}),!0)}function r(t,n,e){for(var r,a=[],u=n[n.length-1],o=n[0];t.nodeCount();){for(;r=o.dequeue();)i(t,n,e,r);for(;r=u.dequeue();)i(t,n,e,r);if(t.nodeCount())for(var s=n.length-2;s>0;--s)if(r=n[s].dequeue()){a=a.concat(i(t,n,e,r,!0));break}}return a}function i(t,n,e,r,i){var a=i?[]:void 0;return o.each(t.inEdges(r.v),function(r){var o=t.edge(r),s=t.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,u(n,e,s)}),o.each(t.outEdges(r.v),function(r){var i=t.edge(r),a=r.w,o=t.node(a);o[\"in\"]-=i,u(n,e,o)}),t.removeNode(r.v),a}function a(t,n){var e=new s,r=0,i=0;o.each(t.nodes(),function(t){e.setNode(t,{v:t,\"in\":0,out:0})}),o.each(t.edges(),function(t){var a=e.edge(t.v,t.w)||0,u=n(t),o=a+u;e.setEdge(t.v,t.w,o),i=Math.max(i,e.node(t.v).out+=u),r=Math.max(r,e.node(t.w)[\"in\"]+=u)});var a=o.range(i+r+3).map(function(){return new c}),l=r+1;return o.each(e.nodes(),function(t){u(a,l,e.node(t))}),{graph:e,buckets:a,zeroIdx:l}}function u(t,n,e){e.out?e[\"in\"]?t[e.out-e[\"in\"]+n].enqueue(e):t[t.length-1].enqueue(e):t[0].enqueue(e)}var o=t(\"./lodash\"),s=t(\"./graphlib\").Graph,c=t(\"./data/list\");n.exports=e;var l=o.constant(1)},{\"./data/list\":56,\"./graphlib\":58,\"./lodash\":61}],60:[function(t,n){\"use strict\";function e(t,n){var e=n&&n.debugTiming?O.time:O.notime;e(\"layout\",function(){var n=e(\"  buildLayoutGraph\",function(){return a(t)});e(\"  runLayout\",function(){r(n,e)}),e(\"  updateInputGraph\",function(){i(t,n)})})}function r(t,n){n(\"    makeSpaceForEdgeLabels\",function(){u(t)}),n(\"    removeSelfEdges\",function(){g(t)}),n(\"    acyclic\",function(){x.run(t)}),n(\"    nestingGraph.run\",function(){S.run(t)}),n(\"    rank\",function(){A(O.asNonCompoundGraph(t))}),n(\"    injectEdgeLabelProxies\",function(){o(t)}),n(\"    removeEmptyRanks\",function(){M(t)}),n(\"    nestingGraph.cleanup\",function(){S.cleanup(t)}),n(\"    normalizeRanks\",function(){k(t)}),n(\"    assignRankMinMax\",function(){s(t)}),n(\"    removeEdgeLabelProxies\",function(){c(t)}),n(\"    normalize.run\",function(){w.run(t)}),n(\"    parentDummyChains\",function(){E(t)}),n(\"    addBorderSegments\",function(){D(t)}),n(\"    order\",function(){T(t)}),n(\"    insertSelfEdges\",function(){y(t)}),n(\"    adjustCoordinateSystem\",function(){C.adjust(t)}),n(\"    position\",function(){F(t)}),n(\"    positionSelfEdges\",function(){m(t)}),n(\"    removeBorderNodes\",function(){p(t)}),n(\"    normalize.undo\",function(){w.undo(t)}),n(\"    fixupEdgeLabelCoords\",function(){f(t)}),n(\"    undoCoordinateSystem\",function(){C.undo(t)}),n(\"    translateGraph\",function(){l(t)}),n(\"    assignNodeIntersects\",function(){h(t)}),n(\"    reversePoints\",function(){d(t)}),n(\"    acyclic.undo\",function(){x.undo(t)})}function i(t,n){b.each(t.nodes(),function(e){var r=t.node(e),i=n.node(e);r&&(r.x=i.x,r.y=i.y,n.children(e).length&&(r.width=i.width,r.height=i.height))}),b.each(t.edges(),function(e){var r=t.edge(e),i=n.edge(e);r.points=i.points,b.has(i,\"x\")&&(r.x=i.x,r.y=i.y)}),t.graph().width=n.graph().width,t.graph().height=n.graph().height}function a(t){var n=new L({multigraph:!0,compound:!0}),e=_(t.graph());return n.setGraph(b.merge({},B,v(e,I),b.pick(e,N))),b.each(t.nodes(),function(e){var r=_(t.node(e));n.setNode(e,b.defaults(v(r,P),R)),n.setParent(e,t.parent(e))}),b.each(t.edges(),function(e){var r=_(t.edge(e));n.setEdge(e,b.merge({},Y,v(r,j),b.pick(r,U)))}),n}function u(t){var n=t.graph();n.ranksep/=2,b.each(t.edges(),function(e){var r=t.edge(e);r.minlen*=2,\"c\"!==r.labelpos.toLowerCase()&&(\"TB\"===n.rankdir||\"BT\"===n.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function o(t){b.each(t.edges(),function(n){var e=t.edge(n);if(e.width&&e.height){var r=t.node(n.v),i=t.node(n.w),a={rank:(i.rank-r.rank)/2+r.rank,e:n};O.addDummyNode(t,\"edge-proxy\",a,\"_ep\")}})}function s(t){var n=0;b.each(t.nodes(),function(e){var r=t.node(e);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,n=b.max(n,r.maxRank))}),t.graph().maxRank=n}function c(t){b.each(t.nodes(),function(n){var e=t.node(n);\"edge-proxy\"===e.dummy&&(t.edge(e.e).labelRank=e.rank,t.removeNode(n))})}function l(t){function n(t){var n=t.x,u=t.y,o=t.width,s=t.height;e=Math.min(e,n-o/2),r=Math.max(r,n+o/2),i=Math.min(i,u-s/2),a=Math.max(a,u+s/2)}var e=Number.POSITIVE_INFINITY,r=0,i=Number.POSITIVE_INFINITY,a=0,u=t.graph(),o=u.marginx||0,s=u.marginy||0;b.each(t.nodes(),function(e){n(t.node(e))}),b.each(t.edges(),function(e){var r=t.edge(e);b.has(r,\"x\")&&n(r)}),e-=o,i-=s,b.each(t.nodes(),function(n){var r=t.node(n);r.x-=e,r.y-=i}),b.each(t.edges(),function(n){var r=t.edge(n);b.each(r.points,function(t){t.x-=e,t.y-=i}),b.has(r,\"x\")&&(r.x-=e),b.has(r,\"y\")&&(r.y-=i)}),u.width=r-e+o,u.height=a-i+s}function h(t){b.each(t.edges(),function(n){var e,r,i=t.edge(n),a=t.node(n.v),u=t.node(n.w);i.points?(e=i.points[0],r=i.points[i.points.length-1]):(i.points=[],e=u,r=a),i.points.unshift(O.intersectRect(a,e)),i.points.push(O.intersectRect(u,r))})}function f(t){b.each(t.edges(),function(n){var e=t.edge(n);if(b.has(e,\"x\"))switch((\"l\"===e.labelpos||\"r\"===e.labelpos)&&(e.width-=e.labeloffset),e.labelpos){case\"l\":e.x-=e.width/2+e.labeloffset;break;case\"r\":e.x+=e.width/2+e.labeloffset}})}function d(t){b.each(t.edges(),function(n){var e=t.edge(n);e.reversed&&e.points.reverse()})}function p(t){b.each(t.nodes(),function(n){if(t.children(n).length){var e=t.node(n),r=t.node(e.borderTop),i=t.node(e.borderBottom),a=t.node(b.last(e.borderLeft)),u=t.node(b.last(e.borderRight));e.width=Math.abs(u.x-a.x),e.height=Math.abs(i.y-r.y),e.x=a.x+e.width/2,e.y=r.y+e.height/2}}),b.each(t.nodes(),function(n){\"border\"===t.node(n).dummy&&t.removeNode(n)})}function g(t){b.each(t.edges(),function(n){if(n.v===n.w){var e=t.node(n.v);e.selfEdges||(e.selfEdges=[]),e.selfEdges.push({e:n,label:t.edge(n)}),t.removeEdge(n)}})}function y(t){var n=O.buildLayerMatrix(t);b.each(n,function(n){var e=0;b.each(n,function(n,r){var i=t.node(n);i.order=r+e,b.each(i.selfEdges,function(n){O.addDummyNode(t,\"selfedge\",{width:n.label.width,height:n.label.height,rank:i.rank,order:r+ ++e,e:n.e,label:n.label},\"_se\")}),delete i.selfEdges})})}function m(t){b.each(t.nodes(),function(n){var e=t.node(n);if(\"selfedge\"===e.dummy){var r=t.node(e.e.v),i=r.x+r.width/2,a=r.y,u=e.x-i,o=r.height/2;t.setEdge(e.e,e.label),t.removeNode(n),e.label.points=[{x:i+2*u/3,y:a-o},{x:i+5*u/6,y:a-o},{x:i+u,y:a},{x:i+5*u/6,y:a+o},{x:i+2*u/3,y:a+o}],e.label.x=e.x,e.label.y=e.y}})}function v(t,n){return b.mapValues(b.pick(t,n),Number)}function _(t){var n={};return b.each(t,function(t,e){n[e.toLowerCase()]=t}),n}var b=t(\"./lodash\"),x=t(\"./acyclic\"),w=t(\"./normalize\"),A=t(\"./rank\"),k=t(\"./util\").normalizeRanks,E=t(\"./parent-dummy-chains\"),M=t(\"./util\").removeEmptyRanks,S=t(\"./nesting-graph\"),D=t(\"./add-border-segments\"),C=t(\"./coordinate-system\"),T=t(\"./order\"),F=t(\"./position\"),O=t(\"./util\"),L=t(\"./graphlib\").Graph;n.exports=e;var I=[\"nodesep\",\"edgesep\",\"ranksep\",\"marginx\",\"marginy\"],B={ranksep:50,edgesep:20,nodesep:50,rankdir:\"tb\"},N=[\"acyclicer\",\"ranker\",\"rankdir\",\"align\"],P=[\"width\",\"height\"],R={width:0,height:0},j=[\"minlen\",\"weight\",\"width\",\"height\",\"labeloffset\"],Y={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:\"r\"},U=[\"labelpos\"]},{\"./acyclic\":53,\"./add-border-segments\":54,\"./coordinate-system\":55,\"./graphlib\":58,\"./lodash\":61,\"./nesting-graph\":62,\"./normalize\":63,\"./order\":68,\"./parent-dummy-chains\":73,\"./position\":75,\"./rank\":77,\"./util\":80}],61:[function(t,n){n.exports=t(49)},{\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/lodash.js\":49,lodash:102}],62:[function(t,n){function e(t){var n=s.addDummyNode(t,\"root\",{},\"_root\"),e=i(t),u=o.max(e)-1,c=2*u+1;t.graph().nestingRoot=n,o.each(t.edges(),function(n){t.edge(n).minlen*=c});var l=a(t)+1;o.each(t.children(),function(i){r(t,n,c,l,u,e,i)}),t.graph().nodeRankFactor=c}function r(t,n,e,i,a,u,c){var l=t.children(c);if(!l.length)return void(c!==n&&t.setEdge(n,c,{weight:0,minlen:e}));var h=s.addBorderNode(t,\"_bt\"),f=s.addBorderNode(t,\"_bb\"),d=t.node(c);t.setParent(h,c),d.borderTop=h,t.setParent(f,c),d.borderBottom=f,o.each(l,function(o){r(t,n,e,i,a,u,o);var s=t.node(o),l=s.borderTop?s.borderTop:o,d=s.borderBottom?s.borderBottom:o,p=s.borderTop?i:2*i,g=l!==d?1:a-u[c]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(c)||t.setEdge(n,h,{weight:0,minlen:a+u[c]})}function i(t){function n(r,i){var a=t.children(r);a&&a.length&&o.each(a,function(t){n(t,i+1)}),e[r]=i}var e={};return o.each(t.children(),function(t){n(t,1)}),e}function a(t){return o.reduce(t.edges(),function(n,e){return n+t.edge(e).weight},0)}function u(t){var n=t.graph();t.removeNode(n.nestingRoot),delete n.nestingRoot,o.each(t.edges(),function(n){var e=t.edge(n);e.nestingEdge&&t.removeEdge(n)})}var o=t(\"./lodash\"),s=t(\"./util\");n.exports={run:e,cleanup:u}},{\"./lodash\":61,\"./util\":80}],63:[function(t,n){\"use strict\";function e(t){t.graph().dummyChains=[],a.each(t.edges(),function(n){r(t,n)})}function r(t,n){var e=n.v,r=t.node(e).rank,i=n.w,a=t.node(i).rank,o=n.name,s=t.edge(n),c=s.labelRank;if(a!==r+1){t.removeEdge(n);var l,h,f;for(f=0,++r;a>r;++f,++r)s.points=[],h={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},l=u.addDummyNode(t,\"edge\",h,\"_d\"),r===c&&(h.width=s.width,h.height=s.height,h.dummy=\"edge-label\",h.labelpos=s.labelpos),t.setEdge(e,l,{weight:s.weight},o),0===f&&t.graph().dummyChains.push(l),e=l;t.setEdge(e,i,{weight:s.weight},o)}}function i(t){a.each(t.graph().dummyChains,function(n){var e,r=t.node(n),i=r.edgeLabel;for(t.setEdge(r.edgeObj,i);r.dummy;)e=t.successors(n)[0],t.removeNode(n),i.points.push({x:r.x,y:r.y}),\"edge-label\"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),n=e,r=t.node(n)})}var a=t(\"./lodash\"),u=t(\"./util\");n.exports={run:e,undo:i}},{\"./lodash\":61,\"./util\":80}],64:[function(t,n){function e(t,n,e){var i,a={};r.each(e,function(e){for(var r,u,o=t.parent(e);o;){if(r=t.parent(o),r?(u=a[r],a[r]=o):(u=i,i=o),u&&u!==o)return void n.setEdge(u,o);o=r}})}var r=t(\"../lodash\");n.exports=e},{\"../lodash\":61}],65:[function(t,n){function e(t,n){return r.map(n,function(n){var e=t.inEdges(n);if(e.length){var i=r.reduce(e,function(n,e){var r=t.edge(e),i=t.node(e.v);return{sum:n.sum+r.weight*i.order,weight:n.weight+r.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}return{v:n}})}var r=t(\"../lodash\");n.exports=e},{\"../lodash\":61}],66:[function(t,n){function e(t,n,e){var u=r(t),o=new a({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(n){return t.node(n)});return i.each(t.nodes(),function(r){var a=t.node(r),s=t.parent(r);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(o.setNode(r),o.setParent(r,s||u),i.each(t[e](r),function(n){var e=n.v===r?n.w:n.v,a=o.edge(e,r),u=i.isUndefined(a)?0:a.weight;o.setEdge(e,r,{weight:t.edge(n).weight+u})}),i.has(a,\"minRank\")&&o.setNode(r,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),o}function r(t){for(var n;t.hasNode(n=i.uniqueId(\"_root\")););return n}var i=t(\"../lodash\"),a=t(\"../graphlib\").Graph;n.exports=e},{\"../graphlib\":58,\"../lodash\":61}],67:[function(t,n){\"use strict\";function e(t,n){for(var e=0,i=1;i<n.length;++i)e+=r(t,n[i-1],n[i]);return e}function r(t,n,e){for(var r=i.zipObject(e,i.map(e,function(t,n){return n})),a=i.flatten(i.map(n,function(n){return i.chain(t.outEdges(n)).map(function(n){return{pos:r[n.w],weight:t.edge(n).weight}}).sortBy(\"pos\").value()}),!0),u=1;u<e.length;)u<<=1;var o=2*u-1;u-=1;var s=i.map(new Array(o),function(){return 0}),c=0;return i.each(a.forEach(function(t){var n=t.pos+u;s[n]+=t.weight;for(var e=0;n>0;)n%2&&(e+=s[n+1]),n=n-1>>1,s[n]+=t.weight;c+=t.weight*e})),c}var i=t(\"../lodash\");n.exports=e},{\"../lodash\":61}],68:[function(t,n){\"use strict\";function e(t){var n=d.maxRank(t),e=r(t,u.range(1,n+1),\"inEdges\"),c=r(t,u.range(n-1,-1,-1),\"outEdges\"),l=o(t);a(t,l);for(var h,f=Number.POSITIVE_INFINITY,p=0,g=0;4>g;++p,++g){i(p%2?e:c,p%4>=2),l=d.buildLayerMatrix(t);var y=s(t,l);f>y&&(g=0,h=u.cloneDeep(l),f=y)}a(t,h)}function r(t,n,e){return u.map(n,function(n){return l(t,n,e)})}function i(t,n){var e=new f;u.each(t,function(t){var r=t.graph().root,i=c(t,r,e,n);u.each(i.vs,function(n,e){t.node(n).order=e}),h(t,e,i.vs)})}function a(t,n){u.each(n,function(n){u.each(n,function(n,e){t.node(n).order=e})})}var u=t(\"../lodash\"),o=t(\"./init-order\"),s=t(\"./cross-count\"),c=t(\"./sort-subgraph\"),l=t(\"./build-layer-graph\"),h=t(\"./add-subgraph-constraints\"),f=t(\"../graphlib\").Graph,d=t(\"../util\");n.exports=e},{\"../graphlib\":58,\"../lodash\":61,\"../util\":80,\"./add-subgraph-constraints\":64,\"./build-layer-graph\":66,\"./cross-count\":67,\"./init-order\":69,\"./sort-subgraph\":71}],69:[function(t,n){\"use strict\";function e(t){function n(i){if(!r.has(e,i)){e[i]=!0;var a=t.node(i);u[a.rank].push(i),r.each(t.successors(i),n)}}var e={},i=r.filter(t.nodes(),function(n){return!t.children(n).length}),a=r.max(r.map(i,function(n){return t.node(n).rank})),u=r.map(r.range(a+1),function(){return[]}),o=r.sortBy(i,function(n){return t.node(n).rank});return r.each(o,n),u}var r=t(\"../lodash\");n.exports=e},{\"../lodash\":61}],70:[function(t,n){\"use strict\";function e(t,n){var e={};a.each(t,function(t,n){var r=e[t.v]={indegree:0,\"in\":[],out:[],vs:[t.v],i:n};a.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),a.each(n.edges(),function(t){var n=e[t.v],r=e[t.w];a.isUndefined(n)||a.isUndefined(r)||(r.indegree++,n.out.push(e[t.w]))});var i=a.filter(e,function(t){return!t.indegree});return r(i)}function r(t){function n(t){return function(n){n.merged||(a.isUndefined(n.barycenter)||a.isUndefined(t.barycenter)||n.barycenter>=t.barycenter)&&i(t,n)}}function e(n){return function(e){e[\"in\"].push(n),0===--e.indegree&&t.push(e)}}for(var r=[];t.length;){var u=t.pop();r.push(u),a.each(u[\"in\"].reverse(),n(u)),a.each(u.out,e(u))}return a.chain(r).filter(function(t){return!t.merged}).map(function(t){return a.pick(t,[\"vs\",\"i\",\"barycenter\",\"weight\"])}).value()}function i(t,n){var e=0,r=0;t.weight&&(e+=t.barycenter*t.weight,r+=t.weight),n.weight&&(e+=n.barycenter*n.weight,r+=n.weight),t.vs=n.vs.concat(t.vs),t.barycenter=e/r,t.weight=r,t.i=Math.min(n.i,t.i),n.merged=!0}var a=t(\"../lodash\");n.exports=e},{\"../lodash\":61}],71:[function(t,n){function e(t,n,c,l){var h=t.children(n),f=t.node(n),d=f?f.borderLeft:void 0,p=f?f.borderRight:void 0,g={};d&&(h=a.filter(h,function(t){return t!==d&&t!==p}));var y=u(t,h);a.each(y,function(n){if(t.children(n.v).length){var r=e(t,n.v,c,l);g[n.v]=r,a.has(r,\"barycenter\")&&i(n,r)}});var m=o(y,c);r(m,g);var v=s(m,l);if(d&&(v.vs=a.flatten([d,v.vs,p],!0),t.predecessors(d).length)){var _=t.node(t.predecessors(d)[0]),b=t.node(t.predecessors(p)[0]);a.has(v,\"barycenter\")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+_.order+b.order)/(v.weight+2),v.weight+=2}return v}function r(t,n){a.each(t,function(t){t.vs=a.flatten(t.vs.map(function(t){return n[t]?n[t].vs:t}),!0)})}function i(t,n){a.isUndefined(t.barycenter)?(t.barycenter=n.barycenter,t.weight=n.weight):(t.barycenter=(t.barycenter*t.weight+n.barycenter*n.weight)/(t.weight+n.weight),t.weight+=n.weight)}var a=t(\"../lodash\"),u=t(\"./barycenter\"),o=t(\"./resolve-conflicts\"),s=t(\"./sort\");n.exports=e},{\"../lodash\":61,\"./barycenter\":65,\"./resolve-conflicts\":70,\"./sort\":72}],72:[function(t,n){function e(t,n){var e=u.partition(t,function(t){return a.has(t,\"barycenter\")}),o=e.lhs,s=a.sortBy(e.rhs,function(t){return-t.i}),c=[],l=0,h=0,f=0;o.sort(i(!!n)),f=r(c,s,f),a.each(o,function(t){f+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=r(c,s,f)});var d={vs:a.flatten(c,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}function r(t,n,e){for(var r;n.length&&(r=a.last(n)).i<=e;)n.pop(),t.push(r.vs),e++;return e}function i(t){return function(n,e){return n.barycenter<e.barycenter?-1:n.barycenter>e.barycenter?1:t?e.i-n.i:n.i-e.i}}var a=t(\"../lodash\"),u=t(\"../util\");n.exports=e},{\"../lodash\":61,\"../util\":80}],73:[function(t,n){function e(t){var n=i(t);a.each(t.graph().dummyChains,function(e){for(var i=t.node(e),a=i.edgeObj,u=r(t,n,a.v,a.w),o=u.path,s=u.lca,c=0,l=o[c],h=!0;e!==a.w;){if(i=t.node(e),h){for(;(l=o[c])!==s&&t.node(l).maxRank<i.rank;)c++;l===s&&(h=!1)}if(!h){for(;c<o.length-1&&t.node(l=o[c+1]).minRank<=i.rank;)c++;l=o[c]}t.setParent(e,l),e=t.successors(e)[0]}})}function r(t,n,e,r){var i,a,u=[],o=[],s=Math.min(n[e].low,n[r].low),c=Math.max(n[e].lim,n[r].lim);i=e;do i=t.parent(i),u.push(i);while(i&&(n[i].low>s||c>n[i].lim));for(a=i,i=r;(i=t.parent(i))!==a;)o.push(i);return{path:u.concat(o.reverse()),lca:a}}function i(t){function n(i){var u=r;a.each(t.children(i),n),e[i]={low:u,lim:r++}}var e={},r=0;return a.each(t.children(),n),e}var a=t(\"./lodash\");n.exports=e},{\"./lodash\":61}],74:[function(t,n){\"use strict\";function e(t,n){function e(n,e){var u=0,o=0,s=n.length,c=y.last(e);return y.each(e,function(n,l){var h=i(t,n),f=h?t.node(h).order:s;(h||n===c)&&(y.each(e.slice(o,l+1),function(n){y.each(t.predecessors(n),function(e){var i=t.node(e),o=i.order;!(u>o||o>f)||i.dummy&&t.node(n).dummy||a(r,e,n)})}),o=l+1,u=f)}),e}var r={};return y.reduce(n,e),r}function r(t,n){function e(n,e,r,u,o){var s;y.each(y.range(e,r),function(e){s=n[e],t.node(s).dummy&&y.each(t.predecessors(s),function(n){var e=t.node(n);e.dummy&&(e.order<u||e.order>o)&&a(i,n,s)})})}function r(n,r){var i,a=-1,u=0;return y.each(r,function(o,s){if(\"border\"===t.node(o).dummy){var c=t.predecessors(o);c.length&&(i=t.node(c[0]).order,e(r,u,s,a,i),u=s,a=i)}e(r,u,r.length,i,n.length)}),r}var i={};return y.reduce(n,r),i}function i(t,n){return t.node(n).dummy?y.find(t.predecessors(n),function(n){return t.node(n).dummy}):void 0}function a(t,n,e){if(n>e){var r=n;n=e,e=r}var i=t[n];i||(t[n]=i={}),i[e]=!0}function u(t,n,e){if(n>e){var r=n;n=e,e=r}return y.has(t[n],e)}function o(t,n,e,r){var i={},a={},o={};return y.each(n,function(t){y.each(t,function(t,n){i[t]=t,a[t]=t,o[t]=n})}),y.each(n,function(t){var n=-1;y.each(t,function(t){var s=r(t);if(s.length){s=y.sortBy(s,function(t){return o[t]});for(var c=(s.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var f=s[l];a[t]===t&&n<o[f]&&!u(e,t,f)&&(a[f]=t,a[t]=i[t]=i[f],n=o[f])}}})}),{root:i,align:a}}function s(t,n,e,r,i){function a(t){y.has(l,t)||(l[t]=!0,o[t]=y.reduce(s.inEdges(t),function(t,n){return a(n.v),Math.max(t,o[n.v]+s.edge(n))},0))}function u(n){if(2!==l[n]){l[n]++;var e=t.node(n),r=y.reduce(s.outEdges(n),function(t,n){return u(n.w),Math.min(t,o[n.w]-s.edge(n))},Number.POSITIVE_INFINITY);r!==Number.POSITIVE_INFINITY&&e.borderType!==h&&(o[n]=Math.max(o[n],r))}}var o={},s=c(t,n,e,i),l={};y.each(s.nodes(),a);var h=i?\"borderLeft\":\"borderRight\";return y.each(s.nodes(),u),y.each(r,function(t){o[t]=o[e[t]]}),o}function c(t,n,e,r){var i=new m,a=t.graph(),u=p(a.nodesep,a.edgesep,r);return y.each(n,function(n){var r;y.each(n,function(n){var a=e[n];if(i.setNode(a),r){var o=e[r],s=i.edge(o,a);i.setEdge(o,a,Math.max(u(t,n,r),s||0))}r=n})}),i}function l(t,n){return y.min(n,function(n){var e=y.min(n,function(n,e){return n-g(t,e)/2}),r=y.max(n,function(n,e){return n+g(t,e)/2});return r-e})}function h(t,n){var e=y.min(n),r=y.max(n);y.each([\"u\",\"d\"],function(i){y.each([\"l\",\"r\"],function(a){var u,o=i+a,s=t[o];s!==n&&(u=\"l\"===a?e-y.min(s):r-y.max(s),u&&(t[o]=y.mapValues(s,function(t){return t+u})))})})}function f(t,n){return y.mapValues(t.ul,function(e,r){if(n)return t[n.toLowerCase()][r];var i=y.sortBy(y.pluck(t,r));return(i[1]+i[2])/2})}function d(t){var n,i=v.buildLayerMatrix(t),a=y.merge(e(t,i),r(t,i)),u={};y.each([\"u\",\"d\"],function(e){n=\"u\"===e?i:y.values(i).reverse(),y.each([\"l\",\"r\"],function(r){\"r\"===r&&(n=y.map(n,function(t){return y.values(t).reverse()}));var i=y.bind(\"u\"===e?t.predecessors:t.successors,t),c=o(t,n,a,i),l=s(t,n,c.root,c.align,\"r\"===r);\"r\"===r&&(l=y.mapValues(l,function(t){return-t})),u[e+r]=l})});var c=l(t,u);return h(u,c),f(u,t.graph().align)}function p(t,n,e){return function(r,i,a){var u,o=r.node(i),s=r.node(a),c=0;if(c+=o.width/2,y.has(o,\"labelpos\"))switch(o.labelpos.toLowerCase()){\ncase\"l\":u=-o.width/2;break;case\"r\":u=o.width/2}if(u&&(c+=e?u:-u),u=0,c+=(o.dummy?n:t)/2,c+=(s.dummy?n:t)/2,c+=s.width/2,y.has(s,\"labelpos\"))switch(s.labelpos.toLowerCase()){case\"l\":u=s.width/2;break;case\"r\":u=-s.width/2}return u&&(c+=e?u:-u),u=0,c}}function g(t,n){return t.node(n).width}var y=t(\"../lodash\"),m=t(\"../graphlib\").Graph,v=t(\"../util\");n.exports={positionX:d,findType1Conflicts:e,findType2Conflicts:r,addConflict:a,hasConflict:u,verticalAlignment:o,horizontalCompaction:s,alignCoordinates:h,findSmallestWidthAlignment:l,balance:f}},{\"../graphlib\":58,\"../lodash\":61,\"../util\":80}],75:[function(t,n){\"use strict\";function e(t){t=a.asNonCompoundGraph(t),r(t),i.each(u(t),function(n,e){t.node(e).x=n})}function r(t){var n=a.buildLayerMatrix(t),e=t.graph().ranksep,r=0;i.each(n,function(n){var a=i.max(i.map(n,function(n){return t.node(n).height}));i.each(n,function(n){t.node(n).y=r+a/2}),r+=a+e})}var i=t(\"../lodash\"),a=t(\"../util\"),u=t(\"./bk\").positionX;n.exports=e},{\"../lodash\":61,\"../util\":80,\"./bk\":74}],76:[function(t,n){\"use strict\";function e(t){var n=new o({directed:!1}),e=t.nodes()[0],u=t.nodeCount();n.setNode(e,{});for(var c,l;r(n,t)<u;)c=i(n,t),l=n.hasNode(c.v)?s(t,c):-s(t,c),a(n,t,l);return n}function r(t,n){function e(r){u.each(n.nodeEdges(r),function(i){var a=i.v,u=r===a?i.w:a;t.hasNode(u)||s(n,i)||(t.setNode(u,{}),t.setEdge(r,u,{}),e(u))})}return u.each(t.nodes(),e),t.nodeCount()}function i(t,n){return u.min(n.edges(),function(e){return t.hasNode(e.v)!==t.hasNode(e.w)?s(n,e):void 0})}function a(t,n,e){u.each(t.nodes(),function(t){n.node(t).rank+=e})}var u=t(\"../lodash\"),o=t(\"../graphlib\").Graph,s=t(\"./util\").slack;n.exports=e},{\"../graphlib\":58,\"../lodash\":61,\"./util\":79}],77:[function(t,n){\"use strict\";function e(t){switch(t.graph().ranker){case\"network-simplex\":i(t);break;case\"tight-tree\":r(t);break;case\"longest-path\":c(t);break;default:i(t)}}function r(t){u(t),o(t)}function i(t){s(t)}var a=t(\"./util\"),u=a.longestPath,o=t(\"./feasible-tree\"),s=t(\"./network-simplex\");n.exports=e;var c=u},{\"./feasible-tree\":76,\"./network-simplex\":78,\"./util\":79}],78:[function(t,n){\"use strict\";function e(t){t=b(t),m(t);var n=g(t);u(n),r(n,t);for(var e,i;e=s(n);)i=c(n,t,e),l(n,t,e,i)}function r(t,n){var e=_(t,t.nodes());e=e.slice(0,e.length-1),p.each(e,function(e){i(t,n,e)})}function i(t,n,e){var r=t.node(e),i=r.parent;t.edge(e,i).cutvalue=a(t,n,e)}function a(t,n,e){var r=t.node(e),i=r.parent,a=!0,u=n.edge(e,i),o=0;return u||(a=!1,u=n.edge(i,e)),o=u.weight,p.each(n.nodeEdges(e),function(r){var u=r.v===e,s=u?r.w:r.v;if(s!==i){var c=u===a,l=n.edge(r).weight;if(o+=c?l:-l,f(t,e,s)){var h=t.edge(e,s).cutvalue;o+=c?-h:h}}}),o}function u(t,n){arguments.length<2&&(n=t.nodes()[0]),o(t,{},1,n)}function o(t,n,e,r,i){var a=e,u=t.node(r);return n[r]=!0,p.each(t.neighbors(r),function(i){p.has(n,i)||(e=o(t,n,e,i,r))}),u.low=a,u.lim=e++,i?u.parent=i:delete u.parent,e}function s(t){return p.find(t.edges(),function(n){return t.edge(n).cutvalue<0})}function c(t,n,e){var r=e.v,i=e.w;n.hasEdge(r,i)||(r=e.w,i=e.v);var a=t.node(r),u=t.node(i),o=a,s=!1;a.lim>u.lim&&(o=u,s=!0);var c=p.filter(n.edges(),function(n){return s===d(t,t.node(n.v),o)&&s!==d(t,t.node(n.w),o)});return p.min(c,function(t){return y(n,t)})}function l(t,n,e,i){var a=e.v,o=e.w;t.removeEdge(a,o),t.setEdge(i.v,i.w,{}),u(t),r(t,n),h(t,n)}function h(t,n){var e=p.find(t.nodes(),function(t){return!n.node(t).parent}),r=v(t,e);r=r.slice(1),p.each(r,function(e){var r=t.node(e).parent,i=n.edge(e,r),a=!1;i||(i=n.edge(r,e),a=!0),n.node(e).rank=n.node(r).rank+(a?i.minlen:-i.minlen)})}function f(t,n,e){return t.hasEdge(n,e)}function d(t,n,e){return e.low<=n.lim&&n.lim<=e.lim}var p=t(\"../lodash\"),g=t(\"./feasible-tree\"),y=t(\"./util\").slack,m=t(\"./util\").longestPath,v=t(\"../graphlib\").alg.preorder,_=t(\"../graphlib\").alg.postorder,b=t(\"../util\").simplify;n.exports=e,e.initLowLimValues=u,e.initCutValues=r,e.calcCutValue=a,e.leaveEdge=s,e.enterEdge=c,e.exchangeEdges=l},{\"../graphlib\":58,\"../lodash\":61,\"../util\":80,\"./feasible-tree\":76,\"./util\":79}],79:[function(t,n){\"use strict\";function e(t){function n(r){var a=t.node(r);if(i.has(e,r))return a.rank;e[r]=!0;var u=i.min(i.map(t.outEdges(r),function(e){return n(e.w)-t.edge(e).minlen}));return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}var e={};i.each(t.sources(),n)}function r(t,n){return t.node(n.w).rank-t.node(n.v).rank-t.edge(n).minlen}var i=t(\"../lodash\");n.exports={longestPath:e,slack:r}},{\"../lodash\":61}],80:[function(t,n){\"use strict\";function e(t,n,e,r){var i;do i=y.uniqueId(r);while(t.hasNode(i));return e.dummy=n,t.setNode(i,e),i}function r(t){var n=(new m).setGraph(t.graph());return y.each(t.nodes(),function(e){n.setNode(e,t.node(e))}),y.each(t.edges(),function(e){var r=n.edge(e.v,e.w)||{weight:0,minlen:1},i=t.edge(e);n.setEdge(e.v,e.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function i(t){var n=new m({multigraph:t.isMultigraph()}).setGraph(t.graph());return y.each(t.nodes(),function(e){t.children(e).length||n.setNode(e,t.node(e))}),y.each(t.edges(),function(e){n.setEdge(e,t.edge(e))}),n}function a(t){var n=y.map(t.nodes(),function(n){var e={};return y.each(t.outEdges(n),function(n){e[n.w]=(e[n.w]||0)+t.edge(n).weight}),e});return y.zipObject(t.nodes(),n)}function u(t){var n=y.map(t.nodes(),function(n){var e={};return y.each(t.inEdges(n),function(n){e[n.v]=(e[n.v]||0)+t.edge(n).weight}),e});return y.zipObject(t.nodes(),n)}function o(t,n){var e=t.x,r=t.y,i=n.x-e,a=n.y-r,u=t.width/2,o=t.height/2;if(!i&&!a)throw new Error(\"Not possible to find intersection inside of the rectangle\");var s,c;return Math.abs(a)*u>Math.abs(i)*o?(0>a&&(o=-o),s=o*i/a,c=o):(0>i&&(u=-u),s=u,c=u*a/i),{x:e+s,y:r+c}}function s(t){var n=y.map(y.range(f(t)+1),function(){return[]});return y.each(t.nodes(),function(e){var r=t.node(e),i=r.rank;y.isUndefined(i)||(n[i][r.order]=e)}),n}function c(t){var n=y.min(y.map(t.nodes(),function(n){return t.node(n).rank}));y.each(t.nodes(),function(e){var r=t.node(e);y.has(r,\"rank\")&&(r.rank-=n)})}function l(t){var n=y.min(y.map(t.nodes(),function(n){return t.node(n).rank})),e=[];y.each(t.nodes(),function(r){var i=t.node(r).rank-n;e[i]||(e[i]=[]),e[i].push(r)});var r=0,i=t.graph().nodeRankFactor;y.each(e,function(n,e){y.isUndefined(n)&&e%i!==0?--r:r&&y.each(n,function(n){t.node(n).rank+=r})})}function h(t,n,r,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=i),e(t,\"border\",a,n)}function f(t){return y.max(y.map(t.nodes(),function(n){var e=t.node(n).rank;return y.isUndefined(e)?void 0:e}))}function d(t,n){var e={lhs:[],rhs:[]};return y.each(t,function(t){n(t)?e.lhs.push(t):e.rhs.push(t)}),e}function p(t,n){var e=y.now();try{return n()}finally{console.log(t+\" time: \"+(y.now()-e)+\"ms\")}}function g(t,n){return n()}var y=t(\"./lodash\"),m=t(\"./graphlib\").Graph;n.exports={addDummyNode:e,simplify:r,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:u,intersectRect:o,buildLayerMatrix:s,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:f,partition:d,time:p,notime:g}},{\"./graphlib\":58,\"./lodash\":61}],81:[function(t,n){n.exports=\"0.7.4\"},{}],82:[function(t,n){n.exports=t(31)},{\"./lib\":98,\"./lib/alg\":89,\"./lib/json\":99,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/index.js\":31}],83:[function(t,n){n.exports=t(32)},{\"../lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/components.js\":32}],84:[function(t,n){n.exports=t(33)},{\"../lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/dfs.js\":33}],85:[function(t,n){n.exports=t(34)},{\"../lodash\":100,\"./dijkstra\":86,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/dijkstra-all.js\":34}],86:[function(t,n){n.exports=t(35)},{\"../data/priority-queue\":96,\"../lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/dijkstra.js\":35}],87:[function(t,n){n.exports=t(36)},{\"../lodash\":100,\"./tarjan\":94,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/find-cycles.js\":36}],88:[function(t,n){n.exports=t(37)},{\"../lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/floyd-warshall.js\":37}],89:[function(t,n){n.exports=t(38)},{\"./components\":83,\"./dijkstra\":86,\"./dijkstra-all\":85,\"./find-cycles\":87,\"./floyd-warshall\":88,\"./is-acyclic\":90,\"./postorder\":91,\"./preorder\":92,\"./prim\":93,\"./tarjan\":94,\"./topsort\":95,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/index.js\":38}],90:[function(t,n){n.exports=t(39)},{\"./topsort\":95,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/is-acyclic.js\":39}],91:[function(t,n){n.exports=t(40)},{\"./dfs\":84,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/postorder.js\":40}],92:[function(t,n){n.exports=t(41)},{\"./dfs\":84,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/preorder.js\":41}],93:[function(t,n){n.exports=t(42)},{\"../data/priority-queue\":96,\"../graph\":97,\"../lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/prim.js\":42}],94:[function(t,n){n.exports=t(43)},{\"../lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/tarjan.js\":43}],95:[function(t,n){n.exports=t(44)},{\"../lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/alg/topsort.js\":44}],96:[function(t,n){n.exports=t(45)},{\"../lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/data/priority-queue.js\":45}],97:[function(t,n){n.exports=t(46)},{\"./lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/graph.js\":46}],98:[function(t,n){n.exports=t(47)},{\"./graph\":97,\"./version\":101,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/index.js\":47}],99:[function(t,n){n.exports=t(48)},{\"./graph\":97,\"./lodash\":100,\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/json.js\":48}],100:[function(t,n){n.exports=t(49)},{\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/lodash.js\":49,lodash:102}],101:[function(t,n){n.exports=t(50)},{\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/graphlib/lib/version.js\":50}],102:[function(t,n){n.exports=t(51)},{\"/Users/knut/source/mermaid/node_modules/dagre-d3/node_modules/lodash/index.js\":51}],103:[function(t,n,e){(function(t){(function(){function r(t,n){return t.set(n[0],n[1]),t}function i(t,n){return t.add(n),t}function a(t,n,e){var r=e.length;switch(r){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}function u(t,n,e,r){for(var i=-1,a=t?t.length:0;++i<a;){var u=t[i];n(r,u,e(u),t)}return r}function o(t,n){for(var e=-1,r=t?t.length:0;++e<r&&n(t[e],e,t)!==!1;);return t}function s(t,n){for(var e=t?t.length:0;e--&&n(t[e],e,t)!==!1;);return t}function c(t,n){for(var e=-1,r=t?t.length:0;++e<r;)if(!n(t[e],e,t))return!1;return!0}function l(t,n){for(var e=-1,r=t?t.length:0,i=0,a=[];++e<r;){var u=t[e];n(u,e,t)&&(a[i++]=u)}return a}function h(t,n){var e=t?t.length:0;return!!e&&b(t,n,0)>-1}function f(t,n,e){for(var r=-1,i=t?t.length:0;++r<i;)if(e(n,t[r]))return!0;return!1}function d(t,n){for(var e=-1,r=t?t.length:0,i=Array(r);++e<r;)i[e]=n(t[e],e,t);return i}function p(t,n){for(var e=-1,r=n.length,i=t.length;++e<r;)t[i+e]=n[e];return t}function g(t,n,e,r){var i=-1,a=t?t.length:0;for(r&&a&&(e=t[++i]);++i<a;)e=n(e,t[i],i,t);return e}function y(t,n,e,r){var i=t?t.length:0;for(r&&i&&(e=t[--i]);i--;)e=n(e,t[i],i,t);return e}function m(t,n){for(var e=-1,r=t?t.length:0;++e<r;)if(n(t[e],e,t))return!0;return!1}function v(t,n,e){var r;return e(t,function(t,e,i){return n(t,e,i)?(r=e,!1):void 0}),r}function _(t,n,e,r){for(var i=t.length,a=e+(r?1:-1);r?a--:++a<i;)if(n(t[a],a,t))return a;return-1}function b(t,n,e){if(n!==n)return j(t,e);for(var r=e-1,i=t.length;++r<i;)if(t[r]===n)return r;return-1}function x(t,n,e,r){for(var i=e-1,a=t.length;++i<a;)if(r(t[i],n))return i;return-1}function w(t,n){var e=t?t.length:0;return e?E(t,n)/e:kt}function A(t,n,e,r,i){return i(t,function(t,i,a){e=r?(r=!1,t):n(e,t,i,a)}),e}function k(t,n){var e=t.length;for(t.sort(n);e--;)t[e]=t[e].value;return t}function E(t,n){for(var e,r=-1,i=t.length;++r<i;){var a=n(t[r]);a!==X&&(e=e===X?a:e+a)}return e}function M(t,n){for(var e=-1,r=Array(t);++e<t;)r[e]=n(e);return r}function S(t,n){return d(n,function(n){return[n,t[n]]})}function D(t){return function(n){return t(n)}}function C(t,n){return d(n,function(n){return t[n]})}function T(t,n){return t.has(n)}function F(t,n){for(var e=-1,r=t.length;++e<r&&b(n,t[e],0)>-1;);return e}function O(t,n){for(var e=t.length;e--&&b(n,t[e],0)>-1;);return e}function L(t){return t&&t.Object===Object?t:null}function I(t,n){for(var e=t.length,r=0;e--;)t[e]===n&&r++;return r}function B(t){return Se[t]}function N(t){return De[t]}function P(t){return\"\\\\\"+Te[t]}function R(t,n){return null==t?X:t[n]}function j(t,n,e){for(var r=t.length,i=n+(e?1:-1);e?i--:++i<r;){var a=t[i];if(a!==a)return i}return-1}function Y(t){var n=!1;if(null!=t&&\"function\"!=typeof t.toString)try{n=!!(t+\"\")}catch(e){}return n}function U(t){for(var n,e=[];!(n=t.next()).done;)e.push(n.value);return e}function $(t){var n=-1,e=Array(t.size);return t.forEach(function(t,r){e[++n]=[r,t]}),e}function W(t,n){for(var e=-1,r=t.length,i=0,a=[];++e<r;){var u=t[e];(u===n||u===nt)&&(t[e]=nt,a[i++]=e)}return a}function z(t){var n=-1,e=Array(t.size);return t.forEach(function(t){e[++n]=t}),e}function q(t){var n=-1,e=Array(t.size);return t.forEach(function(t){e[++n]=[t,t]}),e}function G(t){if(!t||!xe.test(t))return t.length;for(var n=_e.lastIndex=0;_e.test(t);)n++;return n}function H(t){return t.match(_e)}function V(t){return Ce[t]}function Z(t){function n(t){if(vo(t)&&!yh(t)&&!(t instanceof In)){if(t instanceof L)return t;if(Cc.call(t,\"__wrapped__\"))return ha(t)}return new L(t)}function e(){}function L(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=X}function In(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Et,this.__views__=[]}function Bn(){var t=new In(this.__wrapped__);return t.__actions__=ei(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ei(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ei(this.__views__),t}function Nn(){if(this.__filtered__){var t=new In(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Pn(){var t=this.__wrapped__.value(),n=this.__dir__,e=yh(t),r=0>n,i=e?t.length:0,a=$i(0,i,this.__views__),u=a.start,o=a.end,s=o-u,c=r?o:u-1,l=this.__iteratees__,h=l.length,f=0,d=Jc(s,this.__takeCount__);if(!e||Q>i||i==s&&d==s)return Pr(t,this.__actions__);var p=[];t:for(;s--&&d>f;){c+=n;for(var g=-1,y=t[c];++g<h;){var m=l[g],v=m.iteratee,_=m.type,b=v(y);if(_==_t)y=b;else if(!b){if(_==vt)continue t;break t}}p[f++]=y}return p}function Rn(t){var n=-1,e=t?t.length:0;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function jn(){this.__data__=ll?ll(null):{}}function Yn(t){return this.has(t)&&delete this.__data__[t]}function Un(t){var n=this.__data__;if(ll){var e=n[t];return e===tt?X:e}return Cc.call(n,t)?n[t]:X}function $n(t){var n=this.__data__;return ll?n[t]!==X:Cc.call(n,t)}function Wn(t,n){var e=this.__data__;return e[t]=ll&&n===X?tt:n,this}function zn(t){var n=-1,e=t?t.length:0;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function qn(){this.__data__=[]}function Gn(t){var n=this.__data__,e=pe(n,t);if(0>e)return!1;var r=n.length-1;return e==r?n.pop():zc.call(n,e,1),!0}function Hn(t){var n=this.__data__,e=pe(n,t);return 0>e?X:n[e][1]}function Vn(t){return pe(this.__data__,t)>-1}function Zn(t,n){var e=this.__data__,r=pe(e,t);return 0>r?e.push([t,n]):e[r][1]=n,this}function Xn(t){var n=-1,e=t?t.length:0;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Kn(){this.__data__={hash:new Rn,map:new(ul||zn),string:new Rn}}function Qn(t){return Ni(this,t)[\"delete\"](t)}function Jn(t){return Ni(this,t).get(t)}function te(t){return Ni(this,t).has(t)}function ne(t,n){return Ni(this,t).set(t,n),this}function ee(t){var n=-1,e=t?t.length:0;for(this.__data__=new Xn;++n<e;)this.add(t[n])}function re(t){return this.__data__.set(t,tt),this}function ie(t){return this.__data__.has(t)}function ae(t){this.__data__=new zn(t)}function ue(){this.__data__=new zn}function oe(t){return this.__data__[\"delete\"](t)}function se(t){return this.__data__.get(t)}function ce(t){return this.__data__.has(t)}function le(t,n){var e=this.__data__;return e instanceof zn&&e.__data__.length==Q&&(e=this.__data__=new Xn(e.__data__)),e.set(t,n),this}function he(t,n,e,r){return t===X||to(t,kc[e])&&!Cc.call(r,e)?n:t}function fe(t,n,e){(e!==X&&!to(t[n],e)||\"number\"==typeof n&&e===X&&!(n in t))&&(t[n]=e)}function de(t,n,e){var r=t[n];Cc.call(t,n)&&to(r,e)&&(e!==X||n in t)||(t[n]=e)}function pe(t,n){for(var e=t.length;e--;)if(to(t[e][0],n))return e;return-1}function ge(t,n,e,r){return wl(t,function(t,i,a){n(r,t,e(t),a)}),r}function ye(t,n){return t&&ri(n,rs(n),t)}function _e(t,n){for(var e=-1,r=null==t,i=n.length,a=Array(i);++e<i;)a[e]=r?X:ts(t,n[e]);return a}function Se(t,n,e){return t===t&&(e!==X&&(t=e>=t?t:e),n!==X&&(t=t>=n?t:n)),t}function De(t,n,e,r,i,a,u){var s;if(r&&(s=a?r(t,i,a,u):r(t)),s!==X)return s;if(!mo(t))return t;var c=yh(t);if(c){if(s=zi(t),!n)return ei(t,s)}else{var l=Ui(t),h=l==Lt||l==It;if(mh(t))return zr(t,n);if(l==Pt||l==Dt||h&&!a){if(Y(t))return a?t:{};if(s=qi(h?{}:t),!n)return ii(t,ye(s,t))}else{if(!Me[l])return a?t:{};s=Gi(t,l,De,n)}}u||(u=new ae);var f=u.get(t);if(f)return f;if(u.set(t,s),!c)var d=e?Fi(t):rs(t);return o(d||t,function(i,a){d&&(a=i,i=t[a]),de(s,a,De(i,n,e,r,a,t,u))}),s}function Ce(t){var n=rs(t),e=n.length;return function(r){if(null==r)return!e;for(var i=e;i--;){var a=n[i],u=t[a],o=r[a];if(o===X&&!(a in Object(r))||!u(o))return!1}return!0}}function Te(t){return mo(t)?$c(t):{}}function Le(t,n,e){if(\"function\"!=typeof t)throw new wc(J);return qc(function(){t.apply(X,e)},n)}function Ie(t,n,e,r){var i=-1,a=h,u=!0,o=t.length,s=[],c=n.length;if(!o)return s;e&&(n=d(n,D(e))),r?(a=f,u=!1):n.length>=Q&&(a=T,u=!1,n=new ee(n));t:for(;++i<o;){var l=t[i],p=e?e(l):l;if(l=r||0!==l?l:0,u&&p===p){for(var g=c;g--;)if(n[g]===p)continue t;s.push(l)}else a(n,p,r)||s.push(l)}return s}function Ne(t,n){var e=!0;return wl(t,function(t,r,i){return e=!!n(t,r,i)}),e}function Pe(t,n,e){for(var r=-1,i=t.length;++r<i;){var a=t[r],u=n(a);if(null!=u&&(o===X?u===u&&!Oo(u):e(u,o)))var o=u,s=a}return s}function Re(t,n,e,r){var i=t.length;for(e=jo(e),0>e&&(e=-e>i?0:i+e),r=r===X||r>i?i:jo(r),0>r&&(r+=i),r=e>r?0:Yo(r);r>e;)t[e++]=n;return t}function Ue(t,n){var e=[];return wl(t,function(t,r,i){n(t,r,i)&&e.push(t)}),e}function $e(t,n,e,r,i){var a=-1,u=t.length;for(e||(e=Vi),i||(i=[]);++a<u;){var o=t[a];n>0&&e(o)?n>1?$e(o,n-1,e,r,i):p(i,o):r||(i[i.length]=o)}return i}function We(t,n){return t&&kl(t,n,rs)}function ze(t,n){return t&&El(t,n,rs)}function qe(t,n){return l(n,function(n){return po(t[n])})}function Ge(t,n){n=Qi(n,t)?[n]:$r(n);for(var e=0,r=n.length;null!=t&&r>e;)t=t[ca(n[e++])];return e&&e==r?t:X}function He(t,n,e){var r=n(t);return yh(t)?r:p(r,e(t))}function Ve(t,n){return t>n}function Ze(t,n){return null!=t&&(Cc.call(t,n)||\"object\"==typeof t&&n in t&&null===ji(t))}function Xe(t,n){return null!=t&&n in Object(t)}function Ke(t,n,e){return t>=Jc(n,e)&&t<Qc(n,e)}function Qe(t,n,e){for(var r=e?f:h,i=t[0].length,a=t.length,u=a,o=Array(a),s=1/0,c=[];u--;){var l=t[u];u&&n&&(l=d(l,D(n))),s=Jc(l.length,s),o[u]=!e&&(n||i>=120&&l.length>=120)?new ee(u&&l):X}l=t[0];var p=-1,g=o[0];t:for(;++p<i&&c.length<s;){var y=l[p],m=n?n(y):y;if(y=e||0!==y?y:0,!(g?T(g,m):r(c,m,e))){for(u=a;--u;){var v=o[u];if(!(v?T(v,m):r(t[u],m,e)))continue t}g&&g.push(m),c.push(y)}}return c}function Je(t,n,e,r){return We(t,function(t,i,a){n(r,e(t),i,a)}),r}function tr(t,n,e){Qi(n,t)||(n=$r(n),t=oa(t,n),n=Ta(n));var r=null==t?t:t[ca(n)];return null==r?X:a(r,t,e)}function nr(t,n,e,r,i){return t===n?!0:null==t||null==n||!mo(t)&&!vo(n)?t!==t&&n!==n:er(t,n,nr,e,r,i)}function er(t,n,e,r,i,a){var u=yh(t),o=yh(n),s=Ct,c=Ct;u||(s=Ui(t),s=s==Dt?Pt:s),o||(c=Ui(n),c=c==Dt?Pt:c);var l=s==Pt&&!Y(t),h=c==Pt&&!Y(n),f=s==c;if(f&&!l)return a||(a=new ae),u||Lo(t)?Di(t,n,e,r,i,a):Ci(t,n,s,e,r,i,a);if(!(i&dt)){var d=l&&Cc.call(t,\"__wrapped__\"),p=h&&Cc.call(n,\"__wrapped__\");if(d||p){var g=d?t.value():t,y=p?n.value():n;return a||(a=new ae),e(g,y,r,i,a)}}return f?(a||(a=new ae),Ti(t,n,e,r,i,a)):!1}function rr(t,n,e,r){var i=e.length,a=i,u=!r;if(null==t)return!a;for(t=Object(t);i--;){var o=e[i];if(u&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++i<a;){o=e[i];var s=o[0],c=t[s],l=o[1];if(u&&o[2]){if(c===X&&!(s in t))return!1}else{var h=new ae;if(r)var f=r(c,l,s,t,n,h);if(!(f===X?nr(l,c,r,ft|dt,h):f))return!1}}return!0}function ir(t){if(!mo(t)||na(t))return!1;var n=po(t)||Y(t)?Ic:Dn;return n.test(la(t))}function ar(t){return\"function\"==typeof t?t:null==t?Gs:\"object\"==typeof t?yh(t)?hr(t[0],t[1]):lr(t):tc(t)}function ur(t){return Kc(Object(t))}function or(t){t=null==t?t:Object(t);var n=[];for(var e in t)n.push(e);return n}function sr(t,n){return n>t}function cr(t,n){var e=-1,r=ro(t)?Array(t.length):[];return wl(t,function(t,i,a){r[++e]=n(t,i,a)}),r}function lr(t){var n=Pi(t);return 1==n.length&&n[0][2]?ia(n[0][0],n[0][1]):function(e){return e===t||rr(e,t,n)}}function hr(t,n){return Qi(t)&&ra(n)?ia(ca(t),n):function(e){var r=ts(e,t);return r===X&&r===n?es(e,t):nr(n,r,X,ft|dt)}}function fr(t,n,e,r,i){if(t!==n){if(!yh(n)&&!Lo(n))var a=is(n);o(a||n,function(u,o){if(a&&(o=u,u=n[o]),mo(u))i||(i=new ae),dr(t,n,o,e,fr,r,i);else{var s=r?r(t[o],u,o+\"\",t,n,i):X;s===X&&(s=u),fe(t,o,s)}})}}function dr(t,n,e,r,i,a,u){var o=t[e],s=n[e],c=u.get(s);if(c)return void fe(t,e,c);var l=a?a(o,s,e+\"\",t,n,u):X,h=l===X;h&&(l=s,yh(s)||Lo(s)?yh(o)?l=o:io(o)?l=ei(o):(h=!1,l=De(s,!0)):So(s)||no(s)?no(o)?l=$o(o):!mo(o)||r&&po(o)?(h=!1,l=De(s,!0)):l=o:h=!1),u.set(s,l),h&&i(l,s,r,a,u),u[\"delete\"](s),fe(t,e,l)}function pr(t,n){var e=t.length;if(e)return n+=0>n?e:0,Xi(n,e)?t[n]:X}function gr(t,n,e){var r=-1;n=d(n.length?n:[Gs],D(Bi()));var i=cr(t,function(t){var e=d(n,function(n){return n(t)});return{criteria:e,index:++r,value:t}});return k(i,function(t,n){return Jr(t,n,e)})}function yr(t,n){return t=Object(t),g(n,function(n,e){return e in t&&(n[e]=t[e]),n},{})}function mr(t,n){for(var e=-1,r=Oi(t),i=r.length,a={};++e<i;){var u=r[e],o=t[u];n(o,u)&&(a[u]=o)}return a}function vr(t){return function(n){return null==n?X:n[t]}}function _r(t){return function(n){return Ge(n,t)}}function br(t,n,e,r){var i=r?x:b,a=-1,u=n.length,o=t;for(t===n&&(n=ei(n)),e&&(o=d(t,D(e)));++a<u;)for(var s=0,c=n[a],l=e?e(c):c;(s=i(o,l,s,r))>-1;)o!==t&&zc.call(o,s,1),zc.call(t,s,1);return t}function xr(t,n){for(var e=t?n.length:0,r=e-1;e--;){var i=n[e];if(e==r||i!==a){var a=i;if(Xi(i))zc.call(t,i,1);else if(Qi(i,t))delete t[ca(i)];else{var u=$r(i),o=oa(t,u);null!=o&&delete o[ca(Ta(u))]}}}return t}function wr(t,n){return t+Hc(nl()*(n-t+1))}function Ar(t,n,e,r){for(var i=-1,a=Qc(Gc((n-t)/(e||1)),0),u=Array(a);a--;)u[r?a:++i]=t,t+=e;return u}function kr(t,n){var e=\"\";if(!t||1>n||n>wt)return e;do n%2&&(e+=t),n=Hc(n/2),n&&(t+=t);while(n);return e}function Er(t,n,e,r){n=Qi(n,t)?[n]:$r(n);for(var i=-1,a=n.length,u=a-1,o=t;null!=o&&++i<a;){var s=ca(n[i]);if(mo(o)){var c=e;if(i!=u){var l=o[s];c=r?r(l,s,o):X,c===X&&(c=null==l?Xi(n[i+1])?[]:{}:l)}de(o,s,c)}o=o[s]}return t}function Mr(t,n,e){var r=-1,i=t.length;0>n&&(n=-n>i?0:i+n),e=e>i?i:e,0>e&&(e+=i),i=n>e?0:e-n>>>0,n>>>=0;for(var a=Array(i);++r<i;)a[r]=t[r+n];return a}function Sr(t,n){var e;return wl(t,function(t,r,i){return e=n(t,r,i),!e}),!!e}function Dr(t,n,e){var r=0,i=t?t.length:r;if(\"number\"==typeof n&&n===n&&St>=i){for(;i>r;){var a=r+i>>>1,u=t[a];null!==u&&!Oo(u)&&(e?n>=u:n>u)?r=a+1:i=a}return i}return Cr(t,n,Gs,e)}function Cr(t,n,e,r){n=e(n);for(var i=0,a=t?t.length:0,u=n!==n,o=null===n,s=Oo(n),c=n===X;a>i;){var l=Hc((i+a)/2),h=e(t[l]),f=h!==X,d=null===h,p=h===h,g=Oo(h);if(u)var y=r||p;else y=c?p&&(r||f):o?p&&f&&(r||!d):s?p&&f&&!d&&(r||!g):d||g?!1:r?n>=h:n>h;y?i=l+1:a=l}return Jc(a,Mt)}function Tr(t,n){for(var e=-1,r=t.length,i=0,a=[];++e<r;){var u=t[e],o=n?n(u):u;if(!e||!to(o,s)){var s=o;a[i++]=0===u?0:u}}return a}function Fr(t){return\"number\"==typeof t?t:Oo(t)?kt:+t}function Or(t){if(\"string\"==typeof t)return t;if(Oo(t))return xl?xl.call(t):\"\";var n=t+\"\";return\"0\"==n&&1/t==-xt?\"-0\":n}function Lr(t,n,e){var r=-1,i=h,a=t.length,u=!0,o=[],s=o;if(e)u=!1,i=f;else if(a>=Q){var c=n?null:Sl(t);if(c)return z(c);u=!1,i=T,s=new ee}else s=n?[]:o;t:for(;++r<a;){var l=t[r],d=n?n(l):l;if(l=e||0!==l?l:0,u&&d===d){for(var p=s.length;p--;)if(s[p]===d)continue t;n&&s.push(d),o.push(l)}else i(s,d,e)||(s!==o&&s.push(d),o.push(l))}return o}function Ir(t,n){n=Qi(n,t)?[n]:$r(n),t=oa(t,n);var e=ca(Ta(n));return!(null!=t&&Ze(t,e))||delete t[e]}function Br(t,n,e,r){return Er(t,n,e(Ge(t,n)),r)}function Nr(t,n,e,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&n(t[a],a,t););return e?Mr(t,r?0:a,r?a+1:i):Mr(t,r?a+1:0,r?i:a)}function Pr(t,n){var e=t;return e instanceof In&&(e=e.value()),g(n,function(t,n){return n.func.apply(n.thisArg,p([t],n.args))},e)}function Rr(t,n,e){for(var r=-1,i=t.length;++r<i;)var a=a?p(Ie(a,t[r],n,e),Ie(t[r],a,n,e)):t[r];return a&&a.length?Lr(a,n,e):[]}function jr(t,n,e){for(var r=-1,i=t.length,a=n.length,u={};++r<i;){var o=a>r?n[r]:X;e(u,t[r],o)}return u}function Yr(t){return io(t)?t:[]}function Ur(t){return\"function\"==typeof t?t:Gs}function $r(t){return yh(t)?t:Ll(t)}function Wr(t,n,e){var r=t.length;return e=e===X?r:e,!n&&e>=r?t:Mr(t,n,e)}function zr(t,n){if(n)return t.slice();var e=new t.constructor(t.length);return t.copy(e),e}function qr(t){var n=new t.constructor(t.byteLength);return new Rc(n).set(new Rc(t)),n}function Gr(t,n){var e=n?qr(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function Hr(t,n,e){var i=n?e($(t),!0):$(t);return g(i,r,new t.constructor)}function Vr(t){var n=new t.constructor(t.source,kn.exec(t));return n.lastIndex=t.lastIndex,n}function Zr(t,n,e){var r=n?e(z(t),!0):z(t);return g(r,i,new t.constructor)}function Xr(t){return bl?Object(bl.call(t)):{}}function Kr(t,n){var e=n?qr(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Qr(t,n){if(t!==n){var e=t!==X,r=null===t,i=t===t,a=Oo(t),u=n!==X,o=null===n,s=n===n,c=Oo(n);if(!o&&!c&&!a&&t>n||a&&u&&s&&!o&&!c||r&&u&&s||!e&&s||!i)return 1;if(!r&&!a&&!c&&n>t||c&&e&&i&&!r&&!a||o&&e&&i||!u&&i||!s)return-1}return 0}function Jr(t,n,e){for(var r=-1,i=t.criteria,a=n.criteria,u=i.length,o=e.length;++r<u;){var s=Qr(i[r],a[r]);if(s){if(r>=o)return s;var c=e[r];return s*(\"desc\"==c?-1:1)}}return t.index-n.index}function ti(t,n,e,r){for(var i=-1,a=t.length,u=e.length,o=-1,s=n.length,c=Qc(a-u,0),l=Array(s+c),h=!r;++o<s;)l[o]=n[o];for(;++i<u;)(h||a>i)&&(l[e[i]]=t[i]);for(;c--;)l[o++]=t[i++];return l}function ni(t,n,e,r){for(var i=-1,a=t.length,u=-1,o=e.length,s=-1,c=n.length,l=Qc(a-o,0),h=Array(l+c),f=!r;++i<l;)h[i]=t[i];for(var d=i;++s<c;)h[d+s]=n[s];for(;++u<o;)(f||a>i)&&(h[d+e[u]]=t[i++]);return h}function ei(t,n){var e=-1,r=t.length;for(n||(n=Array(r));++e<r;)n[e]=t[e];return n}function ri(t,n,e,r){e||(e={});for(var i=-1,a=n.length;++i<a;){var u=n[i],o=r?r(e[u],t[u],u,e,t):t[u];de(e,u,o)}return e}function ii(t,n){return ri(t,Yi(t),n)}function ai(t,n){return function(e,r){var i=yh(e)?u:ge,a=n?n():{};return i(e,t,Bi(r),a)}}function ui(t){return zu(function(n,e){var r=-1,i=e.length,a=i>1?e[i-1]:X,u=i>2?e[2]:X;for(a=t.length>3&&\"function\"==typeof a?(i--,a):X,u&&Ki(e[0],e[1],u)&&(a=3>i?X:a,i=1),n=Object(n);++r<i;){var o=e[r];o&&t(n,o,r,a)}return n})}function oi(t,n){return function(e,r){if(null==e)return e;if(!ro(e))return t(e,r);for(var i=e.length,a=n?i:-1,u=Object(e);(n?a--:++a<i)&&r(u[a],a,u)!==!1;);return e}}function si(t){return function(n,e,r){for(var i=-1,a=Object(n),u=r(n),o=u.length;o--;){var s=u[t?o:++i];if(e(a[s],s,a)===!1)break}return n}}function ci(t,n,e){function r(){var n=this&&this!==je&&this instanceof r?a:t;return n.apply(i?e:this,arguments)}var i=n&et,a=fi(t);return r}function li(t){return function(n){n=zo(n);var e=xe.test(n)?H(n):X,r=e?e[0]:n.charAt(0),i=e?Wr(e,1).join(\"\"):n.slice(1);return r[t]()+i}}function hi(t){return function(n){return g($s(ws(n).replace(me,\"\")),t,\"\")}}function fi(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=Te(t.prototype),r=t.apply(e,n);return mo(r)?r:e}}function di(t,n,e){function r(){for(var u=arguments.length,o=Array(u),s=u,c=Ii(r);s--;)o[s]=arguments[s];var l=3>u&&o[0]!==c&&o[u-1]!==c?[]:W(o,c);if(u-=l.length,e>u)return ki(t,n,yi,r.placeholder,X,o,l,X,X,e-u);var h=this&&this!==je&&this instanceof r?i:t;return a(h,this,o)}var i=fi(t);return r}function pi(t){return function(n,e,r){var i=Object(n);if(e=Bi(e,3),!ro(n))var a=rs(n);var u=t(a||n,function(t,n){return a&&(n=t,t=i[n]),e(t,n,i)},r);return u>-1?n[a?a[u]:u]:X}}function gi(t){return zu(function(n){n=$e(n,1);var e=n.length,r=e,i=L.prototype.thru;for(t&&n.reverse();r--;){var a=n[r];if(\"function\"!=typeof a)throw new wc(J);if(i&&!u&&\"wrapper\"==Li(a))var u=new L([],!0)}for(r=u?r:e;++r<e;){a=n[r];var o=Li(a),s=\"wrapper\"==o?Dl(a):X;u=s&&ta(s[0])&&s[1]==(ct|at|ot|lt)&&!s[4].length&&1==s[9]?u[Li(s[0])].apply(u,s[3]):1==a.length&&ta(a)?u[o]():u.thru(a)}return function(){var t=arguments,r=t[0];if(u&&1==t.length&&yh(r)&&r.length>=Q)return u.plant(r).value();for(var i=0,a=e?n[i].apply(this,t):r;++i<e;)a=n[i].call(this,a);return a}})}function yi(t,n,e,r,i,a,u,o,s,c){function l(){for(var m=arguments.length,v=Array(m),_=m;_--;)v[_]=arguments[_];if(p)var b=Ii(l),x=I(v,b);if(r&&(v=ti(v,r,i,p)),a&&(v=ni(v,a,u,p)),m-=x,p&&c>m){var w=W(v,b);return ki(t,n,yi,l.placeholder,e,v,w,o,s,c-m)}var A=f?e:this,k=d?A[t]:t;return m=v.length,o?v=sa(v,o):g&&m>1&&v.reverse(),h&&m>s&&(v.length=s),this&&this!==je&&this instanceof l&&(k=y||fi(k)),k.apply(A,v)}var h=n&ct,f=n&et,d=n&rt,p=n&(at|ut),g=n&ht,y=d?X:fi(t);return l}function mi(t,n){return function(e,r){return Je(e,t,n(r),{})}}function vi(t){return function(n,e){var r;if(n===X&&e===X)return 0;if(n!==X&&(r=n),e!==X){if(r===X)return e;\"string\"==typeof n||\"string\"==typeof e?(n=Or(n),e=Or(e)):(n=Fr(n),e=Fr(e)),r=t(n,e)}return r}}function _i(t){return zu(function(n){return n=1==n.length&&yh(n[0])?d(n[0],D(Bi())):d($e(n,1,Zi),D(Bi())),zu(function(e){var r=this;return t(n,function(t){return a(t,r,e)})})})}function bi(t,n){n=n===X?\" \":Or(n);var e=n.length;if(2>e)return e?kr(n,t):n;var r=kr(n,Gc(t/G(n)));return xe.test(n)?Wr(H(r),0,t).join(\"\"):r.slice(0,t)}function xi(t,n,e,r){function i(){for(var n=-1,s=arguments.length,c=-1,l=r.length,h=Array(l+s),f=this&&this!==je&&this instanceof i?o:t;++c<l;)h[c]=r[c];for(;s--;)h[c++]=arguments[++n];return a(f,u?e:this,h)}var u=n&et,o=fi(t);return i}function wi(t){return function(n,e,r){return r&&\"number\"!=typeof r&&Ki(n,e,r)&&(e=r=X),n=Uo(n),n=n===n?n:0,e===X?(e=n,n=0):e=Uo(e)||0,r=r===X?e>n?1:-1:Uo(r)||0,Ar(n,e,r,t)}}function Ai(t){return function(n,e){return(\"string\"!=typeof n||\"string\"!=typeof e)&&(n=Uo(n),e=Uo(e)),t(n,e)}}function ki(t,n,e,r,i,a,u,o,s,c){var l=n&at,h=l?u:X,f=l?X:u,d=l?a:X,p=l?X:a;n|=l?ot:st,n&=~(l?st:ot),n&it||(n&=~(et|rt));var g=[t,n,i,d,h,p,f,o,s,c],y=e.apply(X,g);return ta(t)&&Ol(y,g),y.placeholder=r,y}function Ei(t){var n=bc[t];return function(t,e){if(t=Uo(t),e=Jc(jo(e),292)){var r=(zo(t)+\"e\").split(\"e\"),i=n(r[0]+\"e\"+(+r[1]+e));return r=(zo(i)+\"e\").split(\"e\"),\n+(r[0]+\"e\"+(+r[1]-e))}return n(t)}}function Mi(t){return function(n){var e=Ui(n);return e==Bt?$(n):e==Yt?q(n):S(n,t(n))}}function Si(t,n,e,r,i,a,u,o){var s=n&rt;if(!s&&\"function\"!=typeof t)throw new wc(J);var c=r?r.length:0;if(c||(n&=~(ot|st),r=i=X),u=u===X?u:Qc(jo(u),0),o=o===X?o:jo(o),c-=i?i.length:0,n&st){var l=r,h=i;r=i=X}var f=s?X:Dl(t),d=[t,n,e,r,i,l,h,a,u,o];if(f&&aa(d,f),t=d[0],n=d[1],e=d[2],r=d[3],i=d[4],o=d[9]=null==d[9]?s?0:t.length:Qc(d[9]-c,0),!o&&n&(at|ut)&&(n&=~(at|ut)),n&&n!=et)p=n==at||n==ut?di(t,n,o):n!=ot&&n!=(et|ot)||i.length?yi.apply(X,d):xi(t,n,e,r);else var p=ci(t,n,e);var g=f?Ml:Ol;return g(p,d)}function Di(t,n,e,r,i,a){var u=i&dt,o=t.length,s=n.length;if(o!=s&&!(u&&s>o))return!1;var c=a.get(t);if(c)return c==n;var l=-1,h=!0,f=i&ft?new ee:X;for(a.set(t,n);++l<o;){var d=t[l],p=n[l];if(r)var g=u?r(p,d,l,n,t,a):r(d,p,l,t,n,a);if(g!==X){if(g)continue;h=!1;break}if(f){if(!m(n,function(t,n){return f.has(n)||d!==t&&!e(d,t,r,i,a)?void 0:f.add(n)})){h=!1;break}}else if(d!==p&&!e(d,p,r,i,a)){h=!1;break}}return a[\"delete\"](t),h}function Ci(t,n,e,r,i,a,u){switch(e){case Gt:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case qt:return t.byteLength==n.byteLength&&r(new Rc(t),new Rc(n))?!0:!1;case Tt:case Ft:return+t==+n;case Ot:return t.name==n.name&&t.message==n.message;case Nt:return t!=+t?n!=+n:t==+n;case jt:case Ut:return t==n+\"\";case Bt:var o=$;case Yt:var s=a&dt;if(o||(o=z),t.size!=n.size&&!s)return!1;var c=u.get(t);return c?c==n:(a|=ft,u.set(t,n),Di(o(t),o(n),r,i,a,u));case $t:if(bl)return bl.call(t)==bl.call(n)}return!1}function Ti(t,n,e,r,i,a){var u=i&dt,o=rs(t),s=o.length,c=rs(n),l=c.length;if(s!=l&&!u)return!1;for(var h=s;h--;){var f=o[h];if(!(u?f in n:Ze(n,f)))return!1}var d=a.get(t);if(d)return d==n;var p=!0;a.set(t,n);for(var g=u;++h<s;){f=o[h];var y=t[f],m=n[f];if(r)var v=u?r(m,y,f,n,t,a):r(y,m,f,t,n,a);if(!(v===X?y===m||e(y,m,r,i,a):v)){p=!1;break}g||(g=\"constructor\"==f)}if(p&&!g){var _=t.constructor,b=n.constructor;_!=b&&\"constructor\"in t&&\"constructor\"in n&&!(\"function\"==typeof _&&_ instanceof _&&\"function\"==typeof b&&b instanceof b)&&(p=!1)}return a[\"delete\"](t),p}function Fi(t){return He(t,rs,Yi)}function Oi(t){return He(t,is,Tl)}function Li(t){for(var n=t.name+\"\",e=dl[n],r=Cc.call(dl,n)?e.length:0;r--;){var i=e[r],a=i.func;if(null==a||a==t)return i.name}return n}function Ii(t){var e=Cc.call(n,\"placeholder\")?n:t;return e.placeholder}function Bi(){var t=n.iteratee||Hs;return t=t===Hs?ar:t,arguments.length?t(arguments[0],arguments[1]):t}function Ni(t,n){var e=t.__data__;return Ji(n)?e[\"string\"==typeof n?\"string\":\"hash\"]:e.map}function Pi(t){for(var n=rs(t),e=n.length;e--;){var r=n[e],i=t[r];n[e]=[r,i,ra(i)]}return n}function Ri(t,n){var e=R(t,n);return ir(e)?e:X}function ji(t){return Vc(Object(t))}function Yi(t){return Yc(Object(t))}function Ui(t){return Oc.call(t)}function $i(t,n,e){for(var r=-1,i=e.length;++r<i;){var a=e[r],u=a.size;switch(a.type){case\"drop\":t+=u;break;case\"dropRight\":n-=u;break;case\"take\":n=Jc(n,t+u);break;case\"takeRight\":t=Qc(t,n-u)}}return{start:t,end:n}}function Wi(t,n,e){n=Qi(n,t)?[n]:$r(n);for(var r,i=-1,a=n.length;++i<a;){var u=ca(n[i]);if(!(r=null!=t&&e(t,u)))break;t=t[u]}if(r)return r;var a=t?t.length:0;return!!a&&yo(a)&&Xi(u,a)&&(yh(t)||Fo(t)||no(t))}function zi(t){var n=t.length,e=t.constructor(n);return n&&\"string\"==typeof t[0]&&Cc.call(t,\"index\")&&(e.index=t.index,e.input=t.input),e}function qi(t){return\"function\"!=typeof t.constructor||ea(t)?{}:Te(ji(t))}function Gi(t,n,e,r){var i=t.constructor;switch(n){case qt:return qr(t);case Tt:case Ft:return new i(+t);case Gt:return Gr(t,r);case Ht:case Vt:case Zt:case Xt:case Kt:case Qt:case Jt:case tn:case nn:return Kr(t,r);case Bt:return Hr(t,r,e);case Nt:case Ut:return new i(t);case jt:return Vr(t);case Yt:return Zr(t,r,e);case $t:return Xr(t)}}function Hi(t){var n=t?t.length:X;return yo(n)&&(yh(t)||Fo(t)||no(t))?M(n,String):null}function Vi(t){return yh(t)||no(t)}function Zi(t){return yh(t)&&!(2==t.length&&!po(t[0]))}function Xi(t,n){return n=null==n?wt:n,!!n&&(\"number\"==typeof t||Tn.test(t))&&t>-1&&t%1==0&&n>t}function Ki(t,n,e){if(!mo(e))return!1;var r=typeof n;return(\"number\"==r?ro(e)&&Xi(n,e.length):\"string\"==r&&n in e)?to(e[n],t):!1}function Qi(t,n){if(yh(t))return!1;var e=typeof t;return\"number\"==e||\"symbol\"==e||\"boolean\"==e||null==t||Oo(t)?!0:pn.test(t)||!dn.test(t)||null!=n&&t in Object(n)}function Ji(t){var n=typeof t;return\"string\"==n||\"number\"==n||\"symbol\"==n||\"boolean\"==n?\"__proto__\"!==t:null===t}function ta(t){var e=Li(t),r=n[e];if(\"function\"!=typeof r||!(e in In.prototype))return!1;if(t===r)return!0;var i=Dl(r);return!!i&&t===i[0]}function na(t){return!!Sc&&Sc in t}function ea(t){var n=t&&t.constructor,e=\"function\"==typeof n&&n.prototype||kc;return t===e}function ra(t){return t===t&&!mo(t)}function ia(t,n){return function(e){return null==e?!1:e[t]===n&&(n!==X||t in Object(e))}}function aa(t,n){var e=t[1],r=n[1],i=e|r,a=(et|rt|ct)>i,u=r==ct&&e==at||r==ct&&e==lt&&t[7].length<=n[8]||r==(ct|lt)&&n[7].length<=n[8]&&e==at;if(!a&&!u)return t;r&et&&(t[2]=n[2],i|=e&et?0:it);var o=n[3];if(o){var s=t[3];t[3]=s?ti(s,o,n[4]):o,t[4]=s?W(t[3],nt):n[4]}return o=n[5],o&&(s=t[5],t[5]=s?ni(s,o,n[6]):o,t[6]=s?W(t[5],nt):n[6]),o=n[7],o&&(t[7]=o),r&ct&&(t[8]=null==t[8]?n[8]:Jc(t[8],n[8])),null==t[9]&&(t[9]=n[9]),t[0]=n[0],t[1]=i,t}function ua(t,n,e,r,i,a){return mo(t)&&mo(n)&&fr(t,n,X,ua,a.set(n,t)),t}function oa(t,n){return 1==n.length?t:Ge(t,Mr(n,0,-1))}function sa(t,n){for(var e=t.length,r=Jc(n.length,e),i=ei(t);r--;){var a=n[r];t[r]=Xi(a,e)?i[a]:X}return t}function ca(t){if(\"string\"==typeof t||Oo(t))return t;var n=t+\"\";return\"0\"==n&&1/t==-xt?\"-0\":n}function la(t){if(null!=t){try{return Dc.call(t)}catch(n){}try{return t+\"\"}catch(n){}}return\"\"}function ha(t){if(t instanceof In)return t.clone();var n=new L(t.__wrapped__,t.__chain__);return n.__actions__=ei(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function fa(t,n,e){n=(e?Ki(t,n,e):n===X)?1:Qc(jo(n),0);var r=t?t.length:0;if(!r||1>n)return[];for(var i=0,a=0,u=Array(Gc(r/n));r>i;)u[a++]=Mr(t,i,i+=n);return u}function da(t){for(var n=-1,e=t?t.length:0,r=0,i=[];++n<e;){var a=t[n];a&&(i[r++]=a)}return i}function pa(){for(var t=arguments.length,n=Array(t?t-1:0),e=arguments[0],r=t;r--;)n[r-1]=arguments[r];return t?p(yh(e)?ei(e):[e],$e(n,1)):[]}function ga(t,n,e){var r=t?t.length:0;return r?(n=e||n===X?1:jo(n),Mr(t,0>n?0:n,r)):[]}function ya(t,n,e){var r=t?t.length:0;return r?(n=e||n===X?1:jo(n),n=r-n,Mr(t,0,0>n?0:n)):[]}function ma(t,n){return t&&t.length?Nr(t,Bi(n,3),!0,!0):[]}function va(t,n){return t&&t.length?Nr(t,Bi(n,3),!0):[]}function _a(t,n,e,r){var i=t?t.length:0;return i?(e&&\"number\"!=typeof e&&Ki(t,n,e)&&(e=0,r=i),Re(t,n,e,r)):[]}function ba(t,n,e){var r=t?t.length:0;if(!r)return-1;var i=null==e?0:jo(e);return 0>i&&(i=Qc(r+i,0)),_(t,Bi(n,3),i)}function xa(t,n,e){var r=t?t.length:0;if(!r)return-1;var i=r-1;return e!==X&&(i=jo(e),i=0>e?Qc(r+i,0):Jc(i,r-1)),_(t,Bi(n,3),i,!0)}function wa(t){var n=t?t.length:0;return n?$e(t,1):[]}function Aa(t){var n=t?t.length:0;return n?$e(t,xt):[]}function ka(t,n){var e=t?t.length:0;return e?(n=n===X?1:jo(n),$e(t,n)):[]}function Ea(t){for(var n=-1,e=t?t.length:0,r={};++n<e;){var i=t[n];r[i[0]]=i[1]}return r}function Ma(t){return t&&t.length?t[0]:X}function Sa(t,n,e){var r=t?t.length:0;if(!r)return-1;var i=null==e?0:jo(e);return 0>i&&(i=Qc(r+i,0)),b(t,n,i)}function Da(t){return ya(t,1)}function Ca(t,n){return t?Xc.call(t,n):\"\"}function Ta(t){var n=t?t.length:0;return n?t[n-1]:X}function Fa(t,n,e){var r=t?t.length:0;if(!r)return-1;var i=r;if(e!==X&&(i=jo(e),i=(0>i?Qc(r+i,0):Jc(i,r-1))+1),n!==n)return j(t,i-1,!0);for(;i--;)if(t[i]===n)return i;return-1}function Oa(t,n){return t&&t.length?pr(t,jo(n)):X}function La(t,n){return t&&t.length&&n&&n.length?br(t,n):t}function Ia(t,n,e){return t&&t.length&&n&&n.length?br(t,n,Bi(e)):t}function Ba(t,n,e){return t&&t.length&&n&&n.length?br(t,n,X,e):t}function Na(t,n){var e=[];if(!t||!t.length)return e;var r=-1,i=[],a=t.length;for(n=Bi(n,3);++r<a;){var u=t[r];n(u,r,t)&&(e.push(u),i.push(r))}return xr(t,i),e}function Pa(t){return t?rl.call(t):t}function Ra(t,n,e){var r=t?t.length:0;return r?(e&&\"number\"!=typeof e&&Ki(t,n,e)?(n=0,e=r):(n=null==n?0:jo(n),e=e===X?r:jo(e)),Mr(t,n,e)):[]}function ja(t,n){return Dr(t,n)}function Ya(t,n,e){return Cr(t,n,Bi(e))}function Ua(t,n){var e=t?t.length:0;if(e){var r=Dr(t,n);if(e>r&&to(t[r],n))return r}return-1}function $a(t,n){return Dr(t,n,!0)}function Wa(t,n,e){return Cr(t,n,Bi(e),!0)}function za(t,n){var e=t?t.length:0;if(e){var r=Dr(t,n,!0)-1;if(to(t[r],n))return r}return-1}function qa(t){return t&&t.length?Tr(t):[]}function Ga(t,n){return t&&t.length?Tr(t,Bi(n)):[]}function Ha(t){return ga(t,1)}function Va(t,n,e){return t&&t.length?(n=e||n===X?1:jo(n),Mr(t,0,0>n?0:n)):[]}function Za(t,n,e){var r=t?t.length:0;return r?(n=e||n===X?1:jo(n),n=r-n,Mr(t,0>n?0:n,r)):[]}function Xa(t,n){return t&&t.length?Nr(t,Bi(n,3),!1,!0):[]}function Ka(t,n){return t&&t.length?Nr(t,Bi(n,3)):[]}function Qa(t){return t&&t.length?Lr(t):[]}function Ja(t,n){return t&&t.length?Lr(t,Bi(n)):[]}function tu(t,n){return t&&t.length?Lr(t,X,n):[]}function nu(t){if(!t||!t.length)return[];var n=0;return t=l(t,function(t){return io(t)?(n=Qc(t.length,n),!0):void 0}),M(n,function(n){return d(t,vr(n))})}function eu(t,n){if(!t||!t.length)return[];var e=nu(t);return null==n?e:d(e,function(t){return a(n,X,t)})}function ru(t,n){return jr(t||[],n||[],de)}function iu(t,n){return jr(t||[],n||[],Er)}function au(t){var e=n(t);return e.__chain__=!0,e}function uu(t,n){return n(t),t}function ou(t,n){return n(t)}function su(){return au(this)}function cu(){return new L(this.value(),this.__chain__)}function lu(){this.__values__===X&&(this.__values__=Po(this.value()));var t=this.__index__>=this.__values__.length,n=t?X:this.__values__[this.__index__++];return{done:t,value:n}}function hu(){return this}function fu(t){for(var n,r=this;r instanceof e;){var i=ha(r);i.__index__=0,i.__values__=X,n?a.__wrapped__=i:n=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,n}function du(){var t=this.__wrapped__;if(t instanceof In){var n=t;return this.__actions__.length&&(n=new In(this)),n=n.reverse(),n.__actions__.push({func:ou,args:[Pa],thisArg:X}),new L(n,this.__chain__)}return this.thru(Pa)}function pu(){return Pr(this.__wrapped__,this.__actions__)}function gu(t,n,e){var r=yh(t)?c:Ne;return e&&Ki(t,n,e)&&(n=X),r(t,Bi(n,3))}function yu(t,n){var e=yh(t)?l:Ue;return e(t,Bi(n,3))}function mu(t,n){return $e(Au(t,n),1)}function vu(t,n){return $e(Au(t,n),xt)}function _u(t,n,e){return e=e===X?1:jo(e),$e(Au(t,n),e)}function bu(t,n){var e=yh(t)?o:wl;return e(t,Bi(n,3))}function xu(t,n){var e=yh(t)?s:Al;return e(t,Bi(n,3))}function wu(t,n,e,r){t=ro(t)?t:ys(t),e=e&&!r?jo(e):0;var i=t.length;return 0>e&&(e=Qc(i+e,0)),Fo(t)?i>=e&&t.indexOf(n,e)>-1:!!i&&b(t,n,e)>-1}function Au(t,n){var e=yh(t)?d:cr;return e(t,Bi(n,3))}function ku(t,n,e,r){return null==t?[]:(yh(n)||(n=null==n?[]:[n]),e=r?X:e,yh(e)||(e=null==e?[]:[e]),gr(t,n,e))}function Eu(t,n,e){var r=yh(t)?g:A,i=arguments.length<3;return r(t,Bi(n,4),e,i,wl)}function Mu(t,n,e){var r=yh(t)?y:A,i=arguments.length<3;return r(t,Bi(n,4),e,i,Al)}function Su(t,n){var e=yh(t)?l:Ue;return n=Bi(n,3),e(t,function(t,e,r){return!n(t,e,r)})}function Du(t){var n=ro(t)?t:ys(t),e=n.length;return e>0?n[wr(0,e-1)]:X}function Cu(t,n,e){var r=-1,i=Po(t),a=i.length,u=a-1;for(n=(e?Ki(t,n,e):n===X)?1:Se(jo(n),0,a);++r<n;){var o=wr(r,u),s=i[o];i[o]=i[r],i[r]=s}return i.length=n,i}function Tu(t){return Cu(t,Et)}function Fu(t){if(null==t)return 0;if(ro(t)){var n=t.length;return n&&Fo(t)?G(t):n}if(vo(t)){var e=Ui(t);if(e==Bt||e==Yt)return t.size}return rs(t).length}function Ou(t,n,e){var r=yh(t)?m:Sr;return e&&Ki(t,n,e)&&(n=X),r(t,Bi(n,3))}function Lu(){return vc.now()}function Iu(t,n){if(\"function\"!=typeof n)throw new wc(J);return t=jo(t),function(){return--t<1?n.apply(this,arguments):void 0}}function Bu(t,n,e){return n=e?X:n,n=t&&null==n?t.length:n,Si(t,ct,X,X,X,X,n)}function Nu(t,n){var e;if(\"function\"!=typeof n)throw new wc(J);return t=jo(t),function(){return--t>0&&(e=n.apply(this,arguments)),1>=t&&(n=X),e}}function Pu(t,n,e){n=e?X:n;var r=Si(t,at,X,X,X,X,X,n);return r.placeholder=Pu.placeholder,r}function Ru(t,n,e){n=e?X:n;var r=Si(t,ut,X,X,X,X,X,n);return r.placeholder=Ru.placeholder,r}function ju(t,n,e){function r(n){var e=f,r=d;return f=d=X,v=n,g=t.apply(r,e)}function i(t){return v=t,y=qc(o,n),_?r(t):g}function a(t){var e=t-m,r=t-v,i=n-e;return b?Jc(i,p-r):i}function u(t){var e=t-m,r=t-v;return m===X||e>=n||0>e||b&&r>=p}function o(){var t=Lu();return u(t)?s(t):void(y=qc(o,a(t)))}function s(t){return y=X,x&&f?r(t):(f=d=X,g)}function c(){v=0,f=m=d=y=X}function l(){return y===X?g:s(Lu())}function h(){var t=Lu(),e=u(t);if(f=arguments,d=this,m=t,e){if(y===X)return i(m);if(b)return y=qc(o,n),r(m)}return y===X&&(y=qc(o,n)),g}var f,d,p,g,y,m,v=0,_=!1,b=!1,x=!0;if(\"function\"!=typeof t)throw new wc(J);return n=Uo(n)||0,mo(e)&&(_=!!e.leading,b=\"maxWait\"in e,p=b?Qc(Uo(e.maxWait)||0,n):p,x=\"trailing\"in e?!!e.trailing:x),h.cancel=c,h.flush=l,h}function Yu(t){return Si(t,ht)}function Uu(t,n){if(\"function\"!=typeof t||n&&\"function\"!=typeof n)throw new wc(J);var e=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=e.cache;if(a.has(i))return a.get(i);var u=t.apply(this,r);return e.cache=a.set(i,u),u};return e.cache=new(Uu.Cache||Xn),e}function $u(t){if(\"function\"!=typeof t)throw new wc(J);return function(){return!t.apply(this,arguments)}}function Wu(t){return Nu(2,t)}function zu(t,n){if(\"function\"!=typeof t)throw new wc(J);return n=Qc(n===X?t.length-1:jo(n),0),function(){for(var e=arguments,r=-1,i=Qc(e.length-n,0),u=Array(i);++r<i;)u[r]=e[n+r];switch(n){case 0:return t.call(this,u);case 1:return t.call(this,e[0],u);case 2:return t.call(this,e[0],e[1],u)}var o=Array(n+1);for(r=-1;++r<n;)o[r]=e[r];return o[n]=u,a(t,this,o)}}function qu(t,n){if(\"function\"!=typeof t)throw new wc(J);return n=n===X?0:Qc(jo(n),0),zu(function(e){var r=e[n],i=Wr(e,0,n);return r&&p(i,r),a(t,this,i)})}function Gu(t,n,e){var r=!0,i=!0;if(\"function\"!=typeof t)throw new wc(J);return mo(e)&&(r=\"leading\"in e?!!e.leading:r,i=\"trailing\"in e?!!e.trailing:i),ju(t,n,{leading:r,maxWait:n,trailing:i})}function Hu(t){return Bu(t,1)}function Vu(t,n){return n=null==n?Gs:n,hh(n,t)}function Zu(){if(!arguments.length)return[];var t=arguments[0];return yh(t)?t:[t]}function Xu(t){return De(t,!1,!0)}function Ku(t,n){return De(t,!1,!0,n)}function Qu(t){return De(t,!0,!0)}function Ju(t,n){return De(t,!0,!0,n)}function to(t,n){return t===n||t!==t&&n!==n}function no(t){return io(t)&&Cc.call(t,\"callee\")&&(!Wc.call(t,\"callee\")||Oc.call(t)==Dt)}function eo(t){return vo(t)&&Oc.call(t)==qt}function ro(t){return null!=t&&yo(Cl(t))&&!po(t)}function io(t){return vo(t)&&ro(t)}function ao(t){return t===!0||t===!1||vo(t)&&Oc.call(t)==Tt}function uo(t){return vo(t)&&Oc.call(t)==Ft}function oo(t){return!!t&&1===t.nodeType&&vo(t)&&!So(t)}function so(t){if(ro(t)&&(yh(t)||Fo(t)||po(t.splice)||no(t)||mh(t)))return!t.length;if(vo(t)){var n=Ui(t);if(n==Bt||n==Yt)return!t.size}for(var e in t)if(Cc.call(t,e))return!1;return!(fl&&rs(t).length)}function co(t,n){return nr(t,n)}function lo(t,n,e){e=\"function\"==typeof e?e:X;var r=e?e(t,n):X;return r===X?nr(t,n,e):!!r}function ho(t){return vo(t)?Oc.call(t)==Ot||\"string\"==typeof t.message&&\"string\"==typeof t.name:!1}function fo(t){return\"number\"==typeof t&&Zc(t)}function po(t){var n=mo(t)?Oc.call(t):\"\";return n==Lt||n==It}function go(t){return\"number\"==typeof t&&t==jo(t)}function yo(t){return\"number\"==typeof t&&t>-1&&t%1==0&&wt>=t}function mo(t){var n=typeof t;return!!t&&(\"object\"==n||\"function\"==n)}function vo(t){return!!t&&\"object\"==typeof t}function _o(t){return vo(t)&&Ui(t)==Bt}function bo(t,n){return t===n||rr(t,n,Pi(n))}function xo(t,n,e){return e=\"function\"==typeof e?e:X,rr(t,n,Pi(n),e)}function wo(t){return Mo(t)&&t!=+t}function Ao(t){if(Fl(t))throw new _c(\"This method is not supported with `core-js`. Try https://github.com/es-shims.\");return ir(t)}function ko(t){return null===t}function Eo(t){return null==t}function Mo(t){return\"number\"==typeof t||vo(t)&&Oc.call(t)==Nt}function So(t){if(!vo(t)||Oc.call(t)!=Pt||Y(t))return!1;var n=ji(t);if(null===n)return!0;var e=Cc.call(n,\"constructor\")&&n.constructor;return\"function\"==typeof e&&e instanceof e&&Dc.call(e)==Fc}function Do(t){return mo(t)&&Oc.call(t)==jt}function Co(t){return go(t)&&t>=-wt&&wt>=t}function To(t){return vo(t)&&Ui(t)==Yt}function Fo(t){return\"string\"==typeof t||!yh(t)&&vo(t)&&Oc.call(t)==Ut}function Oo(t){return\"symbol\"==typeof t||vo(t)&&Oc.call(t)==$t}function Lo(t){return vo(t)&&yo(t.length)&&!!Ee[Oc.call(t)]}function Io(t){return t===X}function Bo(t){return vo(t)&&Ui(t)==Wt}function No(t){return vo(t)&&Oc.call(t)==zt}function Po(t){if(!t)return[];if(ro(t))return Fo(t)?H(t):ei(t);if(Uc&&t[Uc])return U(t[Uc]());var n=Ui(t),e=n==Bt?$:n==Yt?z:ys;return e(t)}function Ro(t){if(!t)return 0===t?t:0;if(t=Uo(t),t===xt||t===-xt){var n=0>t?-1:1;return n*At}return t===t?t:0}function jo(t){var n=Ro(t),e=n%1;return n===n?e?n-e:n:0}function Yo(t){return t?Se(jo(t),0,Et):0}function Uo(t){if(\"number\"==typeof t)return t;if(Oo(t))return kt;if(mo(t)){var n=po(t.valueOf)?t.valueOf():t;t=mo(n)?n+\"\":n}if(\"string\"!=typeof t)return 0===t?t:+t;t=t.replace(vn,\"\");var e=Sn.test(t);return e||Cn.test(t)?Oe(t.slice(2),e?2:8):Mn.test(t)?kt:+t}function $o(t){return ri(t,is(t))}function Wo(t){return Se(jo(t),-wt,wt)}function zo(t){return null==t?\"\":Or(t)}function qo(t,n){var e=Te(t);return n?ye(e,n):e}function Go(t,n){return v(t,Bi(n,3),We)}function Ho(t,n){return v(t,Bi(n,3),ze)}function Vo(t,n){return null==t?t:kl(t,Bi(n,3),is)}function Zo(t,n){return null==t?t:El(t,Bi(n,3),is)}function Xo(t,n){return t&&We(t,Bi(n,3))}function Ko(t,n){return t&&ze(t,Bi(n,3))}function Qo(t){return null==t?[]:qe(t,rs(t))}function Jo(t){return null==t?[]:qe(t,is(t))}function ts(t,n,e){var r=null==t?X:Ge(t,n);return r===X?e:r}function ns(t,n){return null!=t&&Wi(t,n,Ze)}function es(t,n){return null!=t&&Wi(t,n,Xe)}function rs(t){var n=ea(t);if(!n&&!ro(t))return ur(t);var e=Hi(t),r=!!e,i=e||[],a=i.length;for(var u in t)!Ze(t,u)||r&&(\"length\"==u||Xi(u,a))||n&&\"constructor\"==u||i.push(u);return i}function is(t){for(var n=-1,e=ea(t),r=or(t),i=r.length,a=Hi(t),u=!!a,o=a||[],s=o.length;++n<i;){var c=r[n];u&&(\"length\"==c||Xi(c,s))||\"constructor\"==c&&(e||!Cc.call(t,c))||o.push(c)}return o}function as(t,n){var e={};return n=Bi(n,3),We(t,function(t,r,i){e[n(t,r,i)]=t}),e}function us(t,n){var e={};return n=Bi(n,3),We(t,function(t,r,i){e[r]=n(t,r,i)}),e}function os(t,n){return n=Bi(n),mr(t,function(t,e){return!n(t,e)})}function ss(t,n){return null==t?{}:mr(t,Bi(n))}function cs(t,n,e){n=Qi(n,t)?[n]:$r(n);var r=-1,i=n.length;for(i||(t=X,i=1);++r<i;){var a=null==t?X:t[ca(n[r])];a===X&&(r=i,a=e),t=po(a)?a.call(t):a}return t}function ls(t,n,e){return null==t?t:Er(t,n,e)}function hs(t,n,e,r){return r=\"function\"==typeof r?r:X,null==t?t:Er(t,n,e,r)}function fs(t,n,e){var r=yh(t)||Lo(t);if(n=Bi(n,4),null==e)if(r||mo(t)){var i=t.constructor;e=r?yh(t)?new i:[]:po(i)?Te(ji(t)):{}}else e={};return(r?o:We)(t,function(t,r,i){return n(e,t,r,i)}),e}function ds(t,n){return null==t?!0:Ir(t,n)}function ps(t,n,e){return null==t?t:Br(t,n,Ur(e))}function gs(t,n,e,r){return r=\"function\"==typeof r?r:X,null==t?t:Br(t,n,Ur(e),r)}function ys(t){return t?C(t,rs(t)):[]}function ms(t){return null==t?[]:C(t,is(t))}function vs(t,n,e){return e===X&&(e=n,n=X),e!==X&&(e=Uo(e),e=e===e?e:0),n!==X&&(n=Uo(n),n=n===n?n:0),Se(Uo(t),n,e)}function _s(t,n,e){return n=Uo(n)||0,e===X?(e=n,n=0):e=Uo(e)||0,t=Uo(t),Ke(t,n,e)}function bs(t,n,e){if(e&&\"boolean\"!=typeof e&&Ki(t,n,e)&&(n=e=X),e===X&&(\"boolean\"==typeof n?(e=n,n=X):\"boolean\"==typeof t&&(e=t,t=X)),t===X&&n===X?(t=0,n=1):(t=Uo(t)||0,n===X?(n=t,t=0):n=Uo(n)||0),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var i=nl();return Jc(t+i*(n-t+Fe(\"1e-\"+((i+\"\").length-1))),n)}return wr(t,n)}function xs(t){return Wh(zo(t).toLowerCase())}function ws(t){return t=zo(t),t&&t.replace(Fn,B).replace(ve,\"\")}function As(t,n,e){t=zo(t),n=Or(n);var r=t.length;return e=e===X?r:Se(jo(e),0,r),e-=n.length,e>=0&&t.indexOf(n,e)==e}function ks(t){return t=zo(t),t&&cn.test(t)?t.replace(on,N):t}function Es(t){return t=zo(t),t&&mn.test(t)?t.replace(yn,\"\\\\$&\"):t}function Ms(t,n,e){t=zo(t),n=jo(n);var r=n?G(t):0;if(!n||r>=n)return t;var i=(n-r)/2;return bi(Hc(i),e)+t+bi(Gc(i),e)}function Ss(t,n,e){t=zo(t),n=jo(n);var r=n?G(t):0;return n&&n>r?t+bi(n-r,e):t}function Ds(t,n,e){t=zo(t),n=jo(n);var r=n?G(t):0;return n&&n>r?bi(n-r,e)+t:t}function Cs(t,n,e){return e||null==n?n=0:n&&(n=+n),t=zo(t).replace(vn,\"\"),tl(t,n||(En.test(t)?16:10))}function Ts(t,n,e){return n=(e?Ki(t,n,e):n===X)?1:jo(n),kr(zo(t),n)}function Fs(){var t=arguments,n=zo(t[0]);return t.length<3?n:el.call(n,t[1],t[2])}function Os(t,n,e){return e&&\"number\"!=typeof e&&Ki(t,n,e)&&(n=e=X),(e=e===X?Et:e>>>0)?(t=zo(t),t&&(\"string\"==typeof n||null!=n&&!Do(n))&&(n=Or(n),\"\"==n&&xe.test(t))?Wr(H(t),0,e):il.call(t,n,e)):[]}function Ls(t,n,e){return t=zo(t),e=Se(jo(e),0,t.length),t.lastIndexOf(Or(n),e)==e}function Is(t,e,r){var i=n.templateSettings;r&&Ki(t,e,r)&&(e=X),t=zo(t),e=wh({},e,i,he);var a,u,o=wh({},e.imports,i.imports,he),s=rs(o),c=C(o,s),l=0,h=e.interpolate||On,f=\"__p += '\",d=xc((e.escape||On).source+\"|\"+h.source+\"|\"+(h===fn?An:On).source+\"|\"+(e.evaluate||On).source+\"|$\",\"g\"),p=\"//# sourceURL=\"+(\"sourceURL\"in e?e.sourceURL:\"lodash.templateSources[\"+ ++ke+\"]\")+\"\\n\";t.replace(d,function(n,e,r,i,o,s){return r||(r=i),f+=t.slice(l,s).replace(Ln,P),e&&(a=!0,f+=\"' +\\n__e(\"+e+\") +\\n'\"),o&&(u=!0,f+=\"';\\n\"+o+\";\\n__p += '\"),r&&(f+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),l=s+n.length,n}),f+=\"';\\n\";var g=e.variable;g||(f=\"with (obj) {\\n\"+f+\"\\n}\\n\"),f=(u?f.replace(en,\"\"):f).replace(rn,\"$1\").replace(an,\"$1;\"),f=\"function(\"+(g||\"obj\")+\") {\\n\"+(g?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(a?\", __e = _.escape\":\"\")+(u?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+f+\"return __p\\n}\";var y=zh(function(){return Function(s,p+\"return \"+f).apply(X,c)});if(y.source=f,ho(y))throw y;return y}function Bs(t){return zo(t).toLowerCase()}function Ns(t){return zo(t).toUpperCase()}function Ps(t,n,e){if(t=zo(t),t&&(e||n===X))return t.replace(vn,\"\");if(!t||!(n=Or(n)))return t;var r=H(t),i=H(n),a=F(r,i),u=O(r,i)+1;return Wr(r,a,u).join(\"\")}function Rs(t,n,e){if(t=zo(t),t&&(e||n===X))return t.replace(bn,\"\");if(!t||!(n=Or(n)))return t;var r=H(t),i=O(r,H(n))+1;return Wr(r,0,i).join(\"\")}function js(t,n,e){if(t=zo(t),t&&(e||n===X))return t.replace(_n,\"\");if(!t||!(n=Or(n)))return t;var r=H(t),i=F(r,H(n));return Wr(r,i).join(\"\")}function Ys(t,n){var e=pt,r=gt;if(mo(n)){var i=\"separator\"in n?n.separator:i;e=\"length\"in n?jo(n.length):e,r=\"omission\"in n?Or(n.omission):r}t=zo(t);var a=t.length;if(xe.test(t)){var u=H(t);a=u.length}if(e>=a)return t;var o=e-G(r);if(1>o)return r;var s=u?Wr(u,0,o).join(\"\"):t.slice(0,o);if(i===X)return s+r;if(u&&(o+=s.length-o),Do(i)){if(t.slice(o).search(i)){var c,l=s;for(i.global||(i=xc(i.source,zo(kn.exec(i))+\"g\")),i.lastIndex=0;c=i.exec(l);)var h=c.index;s=s.slice(0,h===X?o:h)}}else if(t.indexOf(Or(i),o)!=o){var f=s.lastIndexOf(i);f>-1&&(s=s.slice(0,f))}return s+r}function Us(t){return t=zo(t),t&&sn.test(t)?t.replace(un,V):t}function $s(t,n,e){return t=zo(t),n=e?X:n,n===X&&(n=we.test(t)?be:xn),t.match(n)||[]}function Ws(t){var n=t?t.length:0,e=Bi();return t=n?d(t,function(t){if(\"function\"!=typeof t[1])throw new wc(J);return[e(t[0]),t[1]]}):[],zu(function(e){for(var r=-1;++r<n;){var i=t[r];if(a(i[0],this,e))return a(i[1],this,e)}})}function zs(t){return Ce(De(t,!0))}function qs(t){return function(){return t}}function Gs(t){return t}function Hs(t){return ar(\"function\"==typeof t?t:De(t,!0))}function Vs(t){return lr(De(t,!0))}function Zs(t,n){return hr(t,De(n,!0))}function Xs(t,n,e){var r=rs(n),i=qe(n,r);null!=e||mo(n)&&(i.length||!r.length)||(e=n,n=t,t=this,i=qe(n,rs(n)));var a=!(mo(e)&&\"chain\"in e&&!e.chain),u=po(t);return o(i,function(e){var r=n[e];t[e]=r,u&&(t.prototype[e]=function(){var n=this.__chain__;if(a||n){var e=t(this.__wrapped__),i=e.__actions__=ei(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),e.__chain__=n,e}return r.apply(t,p([this.value()],arguments))})}),t}function Ks(){return je._===this&&(je._=Lc),this}function Qs(){}function Js(t){return t=jo(t),zu(function(n){return pr(n,t)})}function tc(t){return Qi(t)?vr(ca(t)):_r(t)}function nc(t){return function(n){return null==t?X:Ge(t,n)}}function ec(){return[]}function rc(){return!1}function ic(){return{}}function ac(){return\"\"}function uc(){return!0}function oc(t,n){if(t=jo(t),1>t||t>wt)return[];var e=Et,r=Jc(t,Et);n=Bi(n),t-=Et;for(var i=M(r,n);++e<t;)n(e);return i}function sc(t){return yh(t)?d(t,ca):Oo(t)?[t]:ei(Ll(t))}function cc(t){var n=++Tc;return zo(t)+n}function lc(t){return t&&t.length?Pe(t,Gs,Ve):X}function hc(t,n){return t&&t.length?Pe(t,Bi(n),Ve):X}function fc(t){return w(t,Gs)}function dc(t,n){return w(t,Bi(n))}function pc(t){return t&&t.length?Pe(t,Gs,sr):X}function gc(t,n){return t&&t.length?Pe(t,Bi(n),sr):X}function yc(t){return t&&t.length?E(t,Gs):0}function mc(t,n){return t&&t.length?E(t,Bi(n)):0}t=t?Ye.defaults({},t,Ye.pick(je,Ae)):je;var vc=t.Date,_c=t.Error,bc=t.Math,xc=t.RegExp,wc=t.TypeError,Ac=t.Array.prototype,kc=t.Object.prototype,Ec=t.String.prototype,Mc=t[\"__core-js_shared__\"],Sc=function(){var t=/[^.]+$/.exec(Mc&&Mc.keys&&Mc.keys.IE_PROTO||\"\");return t?\"Symbol(src)_1.\"+t:\"\"}(),Dc=t.Function.prototype.toString,Cc=kc.hasOwnProperty,Tc=0,Fc=Dc.call(Object),Oc=kc.toString,Lc=je._,Ic=xc(\"^\"+Dc.call(Cc).replace(yn,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Bc=Be?t.Buffer:X,Nc=t.Reflect,Pc=t.Symbol,Rc=t.Uint8Array,jc=Nc?Nc.enumerate:X,Yc=Object.getOwnPropertySymbols,Uc=\"symbol\"==typeof(Uc=Pc&&Pc.iterator)?Uc:X,$c=Object.create,Wc=kc.propertyIsEnumerable,zc=Ac.splice,qc=function(n,e){return t.setTimeout.call(je,n,e)},Gc=bc.ceil,Hc=bc.floor,Vc=Object.getPrototypeOf,Zc=t.isFinite,Xc=Ac.join,Kc=Object.keys,Qc=bc.max,Jc=bc.min,tl=t.parseInt,nl=bc.random,el=Ec.replace,rl=Ac.reverse,il=Ec.split,al=Ri(t,\"DataView\"),ul=Ri(t,\"Map\"),ol=Ri(t,\"Promise\"),sl=Ri(t,\"Set\"),cl=Ri(t,\"WeakMap\"),ll=Ri(Object,\"create\"),hl=cl&&new cl,fl=!Wc.call({valueOf:1},\"valueOf\"),dl={},pl=la(al),gl=la(ul),yl=la(ol),ml=la(sl),vl=la(cl),_l=Pc?Pc.prototype:X,bl=_l?_l.valueOf:X,xl=_l?_l.toString:X;n.templateSettings={escape:ln,evaluate:hn,interpolate:fn,variable:\"\",imports:{_:n}},n.prototype=e.prototype,n.prototype.constructor=n,L.prototype=Te(e.prototype),L.prototype.constructor=L,In.prototype=Te(e.prototype),In.prototype.constructor=In,Rn.prototype.clear=jn,Rn.prototype[\"delete\"]=Yn,Rn.prototype.get=Un,Rn.prototype.has=$n,Rn.prototype.set=Wn,zn.prototype.clear=qn,zn.prototype[\"delete\"]=Gn,zn.prototype.get=Hn,zn.prototype.has=Vn,zn.prototype.set=Zn,Xn.prototype.clear=Kn,Xn.prototype[\"delete\"]=Qn,Xn.prototype.get=Jn,Xn.prototype.has=te,Xn.prototype.set=ne,ee.prototype.add=ee.prototype.push=re,ee.prototype.has=ie,ae.prototype.clear=ue,ae.prototype[\"delete\"]=oe,ae.prototype.get=se,ae.prototype.has=ce,ae.prototype.set=le;var wl=oi(We),Al=oi(ze,!0),kl=si(),El=si(!0);jc&&!Wc.call({valueOf:1},\"valueOf\")&&(or=function(t){return U(jc(t))});var Ml=hl?function(t,n){return hl.set(t,n),t}:Gs,Sl=sl&&1/z(new sl([,-0]))[1]==xt?function(t){return new sl(t)}:Qs,Dl=hl?function(t){return hl.get(t)}:Qs,Cl=vr(\"length\");Yc||(Yi=ec);var Tl=Yc?function(t){for(var n=[];t;)p(n,Yi(t)),t=ji(t);return n}:Yi;(al&&Ui(new al(new ArrayBuffer(1)))!=Gt||ul&&Ui(new ul)!=Bt||ol&&Ui(ol.resolve())!=Rt||sl&&Ui(new sl)!=Yt||cl&&Ui(new cl)!=Wt)&&(Ui=function(t){var n=Oc.call(t),e=n==Pt?t.constructor:X,r=e?la(e):X;if(r)switch(r){case pl:return Gt;case gl:return Bt;case yl:return Rt;case ml:return Yt;case vl:return Wt}return n});var Fl=Mc?po:rc,Ol=function(){var t=0,n=0;return function(e,r){var i=Lu(),a=mt-(i-n);if(n=i,a>0){if(++t>=yt)return e}else t=0;return Ml(e,r)}}(),Ll=Uu(function(t){var n=[];return zo(t).replace(gn,function(t,e,r,i){n.push(r?i.replace(wn,\"$1\"):e||t)}),n}),Il=zu(function(t,n){return io(t)?Ie(t,$e(n,1,io,!0)):[]}),Bl=zu(function(t,n){var e=Ta(n);return io(e)&&(e=X),io(t)?Ie(t,$e(n,1,io,!0),Bi(e)):[]}),Nl=zu(function(t,n){var e=Ta(n);return io(e)&&(e=X),io(t)?Ie(t,$e(n,1,io,!0),X,e):[]}),Pl=zu(function(t){var n=d(t,Yr);return n.length&&n[0]===t[0]?Qe(n):[]}),Rl=zu(function(t){var n=Ta(t),e=d(t,Yr);return n===Ta(e)?n=X:e.pop(),e.length&&e[0]===t[0]?Qe(e,Bi(n)):[]}),jl=zu(function(t){var n=Ta(t),e=d(t,Yr);return n===Ta(e)?n=X:e.pop(),e.length&&e[0]===t[0]?Qe(e,X,n):[]}),Yl=zu(La),Ul=zu(function(t,n){n=$e(n,1);var e=t?t.length:0,r=_e(t,n);return xr(t,d(n,function(t){return Xi(t,e)?+t:t}).sort(Qr)),r}),$l=zu(function(t){return Lr($e(t,1,io,!0))}),Wl=zu(function(t){var n=Ta(t);return io(n)&&(n=X),Lr($e(t,1,io,!0),Bi(n))}),zl=zu(function(t){var n=Ta(t);return io(n)&&(n=X),Lr($e(t,1,io,!0),X,n)}),ql=zu(function(t,n){return io(t)?Ie(t,n):[]}),Gl=zu(function(t){return Rr(l(t,io))}),Hl=zu(function(t){var n=Ta(t);return io(n)&&(n=X),Rr(l(t,io),Bi(n))}),Vl=zu(function(t){var n=Ta(t);return io(n)&&(n=X),Rr(l(t,io),X,n)}),Zl=zu(nu),Xl=zu(function(t){var n=t.length,e=n>1?t[n-1]:X;return e=\"function\"==typeof e?(t.pop(),e):X,eu(t,e)}),Kl=zu(function(t){t=$e(t,1);var n=t.length,e=n?t[0]:0,r=this.__wrapped__,i=function(n){return _e(n,t)};return!(n>1||this.__actions__.length)&&r instanceof In&&Xi(e)?(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:ou,args:[i],thisArg:X}),new L(r,this.__chain__).thru(function(t){return n&&!t.length&&t.push(X),t})):this.thru(i)}),Ql=ai(function(t,n,e){Cc.call(t,e)?++t[e]:t[e]=1}),Jl=pi(ba),th=pi(xa),nh=ai(function(t,n,e){Cc.call(t,e)?t[e].push(n):t[e]=[n]}),eh=zu(function(t,n,e){var r=-1,i=\"function\"==typeof n,u=Qi(n),o=ro(t)?Array(t.length):[];return wl(t,function(t){var s=i?n:u&&null!=t?t[n]:X;o[++r]=s?a(s,t,e):tr(t,n,e)}),o}),rh=ai(function(t,n,e){t[e]=n}),ih=ai(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]}),ah=zu(function(t,n){if(null==t)return[];var e=n.length;return e>1&&Ki(t,n[0],n[1])?n=[]:e>2&&Ki(n[0],n[1],n[2])&&(n=[n[0]]),n=1==n.length&&yh(n[0])?n[0]:$e(n,1,Zi),gr(t,n,[])}),uh=zu(function(t,n,e){var r=et;if(e.length){var i=W(e,Ii(uh));r|=ot}return Si(t,r,n,e,i)}),oh=zu(function(t,n,e){var r=et|rt;if(e.length){var i=W(e,Ii(oh));r|=ot}return Si(n,r,t,e,i)}),sh=zu(function(t,n){return Le(t,1,n)}),ch=zu(function(t,n,e){return Le(t,Uo(n)||0,e)});Uu.Cache=Xn;var lh=zu(function(t,n){n=1==n.length&&yh(n[0])?d(n[0],D(Bi())):d($e(n,1,Zi),D(Bi()));var e=n.length;return zu(function(r){for(var i=-1,u=Jc(r.length,e);++i<u;)r[i]=n[i].call(this,r[i]);return a(t,this,r)})}),hh=zu(function(t,n){var e=W(n,Ii(hh));return Si(t,ot,X,n,e)}),fh=zu(function(t,n){var e=W(n,Ii(fh));return Si(t,st,X,n,e)}),dh=zu(function(t,n){return Si(t,lt,X,X,X,$e(n,1))}),ph=Ai(Ve),gh=Ai(function(t,n){return t>=n}),yh=Array.isArray,mh=Bc?function(t){return t instanceof Bc}:rc,vh=Ai(sr),_h=Ai(function(t,n){return n>=t}),bh=ui(function(t,n){if(fl||ea(n)||ro(n))return void ri(n,rs(n),t);for(var e in n)Cc.call(n,e)&&de(t,e,n[e])}),xh=ui(function(t,n){if(fl||ea(n)||ro(n))return void ri(n,is(n),t);for(var e in n)de(t,e,n[e])}),wh=ui(function(t,n,e,r){ri(n,is(n),t,r)}),Ah=ui(function(t,n,e,r){ri(n,rs(n),t,r)}),kh=zu(function(t,n){return _e(t,$e(n,1))}),Eh=zu(function(t){return t.push(X,he),a(wh,X,t)}),Mh=zu(function(t){return t.push(X,ua),a(Fh,X,t)}),Sh=mi(function(t,n,e){t[n]=e},qs(Gs)),Dh=mi(function(t,n,e){Cc.call(t,n)?t[n].push(e):t[n]=[e]},Bi),Ch=zu(tr),Th=ui(function(t,n,e){fr(t,n,e)}),Fh=ui(function(t,n,e,r){fr(t,n,e,r)}),Oh=zu(function(t,n){return null==t?{}:(n=d($e(n,1),ca),yr(t,Ie(Oi(t),n)))}),Lh=zu(function(t,n){return null==t?{}:yr(t,d($e(n,1),ca))}),Ih=Mi(rs),Bh=Mi(is),Nh=hi(function(t,n,e){return n=n.toLowerCase(),t+(e?xs(n):n)}),Ph=hi(function(t,n,e){return t+(e?\"-\":\"\")+n.toLowerCase()}),Rh=hi(function(t,n,e){\nreturn t+(e?\" \":\"\")+n.toLowerCase()}),jh=li(\"toLowerCase\"),Yh=hi(function(t,n,e){return t+(e?\"_\":\"\")+n.toLowerCase()}),Uh=hi(function(t,n,e){return t+(e?\" \":\"\")+Wh(n)}),$h=hi(function(t,n,e){return t+(e?\" \":\"\")+n.toUpperCase()}),Wh=li(\"toUpperCase\"),zh=zu(function(t,n){try{return a(t,X,n)}catch(e){return ho(e)?e:new _c(e)}}),qh=zu(function(t,n){return o($e(n,1),function(n){n=ca(n),t[n]=uh(t[n],t)}),t}),Gh=gi(),Hh=gi(!0),Vh=zu(function(t,n){return function(e){return tr(e,t,n)}}),Zh=zu(function(t,n){return function(e){return tr(t,e,n)}}),Xh=_i(d),Kh=_i(c),Qh=_i(m),Jh=wi(),tf=wi(!0),nf=vi(function(t,n){return t+n}),ef=Ei(\"ceil\"),rf=vi(function(t,n){return t/n}),af=Ei(\"floor\"),uf=vi(function(t,n){return t*n}),of=Ei(\"round\"),sf=vi(function(t,n){return t-n});return n.after=Iu,n.ary=Bu,n.assign=bh,n.assignIn=xh,n.assignInWith=wh,n.assignWith=Ah,n.at=kh,n.before=Nu,n.bind=uh,n.bindAll=qh,n.bindKey=oh,n.castArray=Zu,n.chain=au,n.chunk=fa,n.compact=da,n.concat=pa,n.cond=Ws,n.conforms=zs,n.constant=qs,n.countBy=Ql,n.create=qo,n.curry=Pu,n.curryRight=Ru,n.debounce=ju,n.defaults=Eh,n.defaultsDeep=Mh,n.defer=sh,n.delay=ch,n.difference=Il,n.differenceBy=Bl,n.differenceWith=Nl,n.drop=ga,n.dropRight=ya,n.dropRightWhile=ma,n.dropWhile=va,n.fill=_a,n.filter=yu,n.flatMap=mu,n.flatMapDeep=vu,n.flatMapDepth=_u,n.flatten=wa,n.flattenDeep=Aa,n.flattenDepth=ka,n.flip=Yu,n.flow=Gh,n.flowRight=Hh,n.fromPairs=Ea,n.functions=Qo,n.functionsIn=Jo,n.groupBy=nh,n.initial=Da,n.intersection=Pl,n.intersectionBy=Rl,n.intersectionWith=jl,n.invert=Sh,n.invertBy=Dh,n.invokeMap=eh,n.iteratee=Hs,n.keyBy=rh,n.keys=rs,n.keysIn=is,n.map=Au,n.mapKeys=as,n.mapValues=us,n.matches=Vs,n.matchesProperty=Zs,n.memoize=Uu,n.merge=Th,n.mergeWith=Fh,n.method=Vh,n.methodOf=Zh,n.mixin=Xs,n.negate=$u,n.nthArg=Js,n.omit=Oh,n.omitBy=os,n.once=Wu,n.orderBy=ku,n.over=Xh,n.overArgs=lh,n.overEvery=Kh,n.overSome=Qh,n.partial=hh,n.partialRight=fh,n.partition=ih,n.pick=Lh,n.pickBy=ss,n.property=tc,n.propertyOf=nc,n.pull=Yl,n.pullAll=La,n.pullAllBy=Ia,n.pullAllWith=Ba,n.pullAt=Ul,n.range=Jh,n.rangeRight=tf,n.rearg=dh,n.reject=Su,n.remove=Na,n.rest=zu,n.reverse=Pa,n.sampleSize=Cu,n.set=ls,n.setWith=hs,n.shuffle=Tu,n.slice=Ra,n.sortBy=ah,n.sortedUniq=qa,n.sortedUniqBy=Ga,n.split=Os,n.spread=qu,n.tail=Ha,n.take=Va,n.takeRight=Za,n.takeRightWhile=Xa,n.takeWhile=Ka,n.tap=uu,n.throttle=Gu,n.thru=ou,n.toArray=Po,n.toPairs=Ih,n.toPairsIn=Bh,n.toPath=sc,n.toPlainObject=$o,n.transform=fs,n.unary=Hu,n.union=$l,n.unionBy=Wl,n.unionWith=zl,n.uniq=Qa,n.uniqBy=Ja,n.uniqWith=tu,n.unset=ds,n.unzip=nu,n.unzipWith=eu,n.update=ps,n.updateWith=gs,n.values=ys,n.valuesIn=ms,n.without=ql,n.words=$s,n.wrap=Vu,n.xor=Gl,n.xorBy=Hl,n.xorWith=Vl,n.zip=Zl,n.zipObject=ru,n.zipObjectDeep=iu,n.zipWith=Xl,n.entries=Ih,n.entriesIn=Bh,n.extend=xh,n.extendWith=wh,Xs(n,n),n.add=nf,n.attempt=zh,n.camelCase=Nh,n.capitalize=xs,n.ceil=ef,n.clamp=vs,n.clone=Xu,n.cloneDeep=Qu,n.cloneDeepWith=Ju,n.cloneWith=Ku,n.deburr=ws,n.divide=rf,n.endsWith=As,n.eq=to,n.escape=ks,n.escapeRegExp=Es,n.every=gu,n.find=Jl,n.findIndex=ba,n.findKey=Go,n.findLast=th,n.findLastIndex=xa,n.findLastKey=Ho,n.floor=af,n.forEach=bu,n.forEachRight=xu,n.forIn=Vo,n.forInRight=Zo,n.forOwn=Xo,n.forOwnRight=Ko,n.get=ts,n.gt=ph,n.gte=gh,n.has=ns,n.hasIn=es,n.head=Ma,n.identity=Gs,n.includes=wu,n.indexOf=Sa,n.inRange=_s,n.invoke=Ch,n.isArguments=no,n.isArray=yh,n.isArrayBuffer=eo,n.isArrayLike=ro,n.isArrayLikeObject=io,n.isBoolean=ao,n.isBuffer=mh,n.isDate=uo,n.isElement=oo,n.isEmpty=so,n.isEqual=co,n.isEqualWith=lo,n.isError=ho,n.isFinite=fo,n.isFunction=po,n.isInteger=go,n.isLength=yo,n.isMap=_o,n.isMatch=bo,n.isMatchWith=xo,n.isNaN=wo,n.isNative=Ao,n.isNil=Eo,n.isNull=ko,n.isNumber=Mo,n.isObject=mo,n.isObjectLike=vo,n.isPlainObject=So,n.isRegExp=Do,n.isSafeInteger=Co,n.isSet=To,n.isString=Fo,n.isSymbol=Oo,n.isTypedArray=Lo,n.isUndefined=Io,n.isWeakMap=Bo,n.isWeakSet=No,n.join=Ca,n.kebabCase=Ph,n.last=Ta,n.lastIndexOf=Fa,n.lowerCase=Rh,n.lowerFirst=jh,n.lt=vh,n.lte=_h,n.max=lc,n.maxBy=hc,n.mean=fc,n.meanBy=dc,n.min=pc,n.minBy=gc,n.stubArray=ec,n.stubFalse=rc,n.stubObject=ic,n.stubString=ac,n.stubTrue=uc,n.multiply=uf,n.nth=Oa,n.noConflict=Ks,n.noop=Qs,n.now=Lu,n.pad=Ms,n.padEnd=Ss,n.padStart=Ds,n.parseInt=Cs,n.random=bs,n.reduce=Eu,n.reduceRight=Mu,n.repeat=Ts,n.replace=Fs,n.result=cs,n.round=of,n.runInContext=Z,n.sample=Du,n.size=Fu,n.snakeCase=Yh,n.some=Ou,n.sortedIndex=ja,n.sortedIndexBy=Ya,n.sortedIndexOf=Ua,n.sortedLastIndex=$a,n.sortedLastIndexBy=Wa,n.sortedLastIndexOf=za,n.startCase=Uh,n.startsWith=Ls,n.subtract=sf,n.sum=yc,n.sumBy=mc,n.template=Is,n.times=oc,n.toFinite=Ro,n.toInteger=jo,n.toLength=Yo,n.toLower=Bs,n.toNumber=Uo,n.toSafeInteger=Wo,n.toString=zo,n.toUpper=Ns,n.trim=Ps,n.trimEnd=Rs,n.trimStart=js,n.truncate=Ys,n.unescape=Us,n.uniqueId=cc,n.upperCase=$h,n.upperFirst=Wh,n.each=bu,n.eachRight=xu,n.first=Ma,Xs(n,function(){var t={};return We(n,function(e,r){Cc.call(n.prototype,r)||(t[r]=e)}),t}(),{chain:!1}),n.VERSION=K,o([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(t){n[t].placeholder=n}),o([\"drop\",\"take\"],function(t,n){In.prototype[t]=function(e){var r=this.__filtered__;if(r&&!n)return new In(this);e=e===X?1:Qc(jo(e),0);var i=this.clone();return r?i.__takeCount__=Jc(e,i.__takeCount__):i.__views__.push({size:Jc(e,Et),type:t+(i.__dir__<0?\"Right\":\"\")}),i},In.prototype[t+\"Right\"]=function(n){return this.reverse()[t](n).reverse()}}),o([\"filter\",\"map\",\"takeWhile\"],function(t,n){var e=n+1,r=e==vt||e==bt;In.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:Bi(t,3),type:e}),n.__filtered__=n.__filtered__||r,n}}),o([\"head\",\"last\"],function(t,n){var e=\"take\"+(n?\"Right\":\"\");In.prototype[t]=function(){return this[e](1).value()[0]}}),o([\"initial\",\"tail\"],function(t,n){var e=\"drop\"+(n?\"\":\"Right\");In.prototype[t]=function(){return this.__filtered__?new In(this):this[e](1)}}),In.prototype.compact=function(){return this.filter(Gs)},In.prototype.find=function(t){return this.filter(t).head()},In.prototype.findLast=function(t){return this.reverse().find(t)},In.prototype.invokeMap=zu(function(t,n){return\"function\"==typeof t?new In(this):this.map(function(e){return tr(e,t,n)})}),In.prototype.reject=function(t){return t=Bi(t,3),this.filter(function(n){return!t(n)})},In.prototype.slice=function(t,n){t=jo(t);var e=this;return e.__filtered__&&(t>0||0>n)?new In(e):(0>t?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==X&&(n=jo(n),e=0>n?e.dropRight(-n):e.take(n-t)),e)},In.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},In.prototype.toArray=function(){return this.take(Et)},We(In.prototype,function(t,e){var r=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),a=n[i?\"take\"+(\"last\"==e?\"Right\":\"\"):e],u=i||/^find/.test(e);a&&(n.prototype[e]=function(){var e=this.__wrapped__,o=i?[1]:arguments,s=e instanceof In,c=o[0],l=s||yh(e),h=function(t){var e=a.apply(n,p([t],o));return i&&f?e[0]:e};l&&r&&\"function\"==typeof c&&1!=c.length&&(s=l=!1);var f=this.__chain__,d=!!this.__actions__.length,g=u&&!f,y=s&&!d;if(!u&&l){e=y?e:new In(this);var m=t.apply(e,o);return m.__actions__.push({func:ou,args:[h],thisArg:X}),new L(m,f)}return g&&y?t.apply(this,o):(m=this.thru(h),g?i?m.value()[0]:m.value():m)})}),o([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(t){var e=Ac[t],r=/^(?:push|sort|unshift)$/.test(t)?\"tap\":\"thru\",i=/^(?:pop|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var n=this.value();return e.apply(yh(n)?n:[],t)}return this[r](function(n){return e.apply(yh(n)?n:[],t)})}}),We(In.prototype,function(t,e){var r=n[e];if(r){var i=r.name+\"\",a=dl[i]||(dl[i]=[]);a.push({name:e,func:r})}}),dl[yi(X,rt).name]=[{name:\"wrapper\",func:X}],In.prototype.clone=Bn,In.prototype.reverse=Nn,In.prototype.value=Pn,n.prototype.at=Kl,n.prototype.chain=su,n.prototype.commit=cu,n.prototype.next=lu,n.prototype.plant=fu,n.prototype.reverse=du,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=pu,Uc&&(n.prototype[Uc]=hu),n}var X,K=\"4.13.1\",Q=200,J=\"Expected a function\",tt=\"__lodash_hash_undefined__\",nt=\"__lodash_placeholder__\",et=1,rt=2,it=4,at=8,ut=16,ot=32,st=64,ct=128,lt=256,ht=512,ft=1,dt=2,pt=30,gt=\"...\",yt=150,mt=16,vt=1,_t=2,bt=3,xt=1/0,wt=9007199254740991,At=1.7976931348623157e308,kt=0/0,Et=4294967295,Mt=Et-1,St=Et>>>1,Dt=\"[object Arguments]\",Ct=\"[object Array]\",Tt=\"[object Boolean]\",Ft=\"[object Date]\",Ot=\"[object Error]\",Lt=\"[object Function]\",It=\"[object GeneratorFunction]\",Bt=\"[object Map]\",Nt=\"[object Number]\",Pt=\"[object Object]\",Rt=\"[object Promise]\",jt=\"[object RegExp]\",Yt=\"[object Set]\",Ut=\"[object String]\",$t=\"[object Symbol]\",Wt=\"[object WeakMap]\",zt=\"[object WeakSet]\",qt=\"[object ArrayBuffer]\",Gt=\"[object DataView]\",Ht=\"[object Float32Array]\",Vt=\"[object Float64Array]\",Zt=\"[object Int8Array]\",Xt=\"[object Int16Array]\",Kt=\"[object Int32Array]\",Qt=\"[object Uint8Array]\",Jt=\"[object Uint8ClampedArray]\",tn=\"[object Uint16Array]\",nn=\"[object Uint32Array]\",en=/\\b__p \\+= '';/g,rn=/\\b(__p \\+=) '' \\+/g,an=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,un=/&(?:amp|lt|gt|quot|#39|#96);/g,on=/[&<>\"'`]/g,sn=RegExp(un.source),cn=RegExp(on.source),ln=/<%-([\\s\\S]+?)%>/g,hn=/<%([\\s\\S]+?)%>/g,fn=/<%=([\\s\\S]+?)%>/g,dn=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,pn=/^\\w*$/,gn=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(\\.|\\[\\])(?:\\4|$))/g,yn=/[\\\\^$.*+?()[\\]{}|]/g,mn=RegExp(yn.source),vn=/^\\s+|\\s+$/g,_n=/^\\s+/,bn=/\\s+$/,xn=/[a-zA-Z0-9]+/g,wn=/\\\\(\\\\)?/g,An=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,kn=/\\w*$/,En=/^0x/i,Mn=/^[-+]0x[0-9a-f]+$/i,Sn=/^0b[01]+$/i,Dn=/^\\[object .+?Constructor\\]$/,Cn=/^0o[0-7]+$/i,Tn=/^(?:0|[1-9]\\d*)$/,Fn=/[\\xc0-\\xd6\\xd8-\\xde\\xdf-\\xf6\\xf8-\\xff]/g,On=/($^)/,Ln=/['\\n\\r\\u2028\\u2029\\\\]/g,In=\"\\\\ud800-\\\\udfff\",Bn=\"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23\",Nn=\"\\\\u20d0-\\\\u20f0\",Pn=\"\\\\u2700-\\\\u27bf\",Rn=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",jn=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",Yn=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",Un=\"\\\\u2000-\\\\u206f\",$n=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",Wn=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",zn=\"\\\\ufe0e\\\\ufe0f\",qn=jn+Yn+Un+$n,Gn=\"['’]\",Hn=\"[\"+In+\"]\",Vn=\"[\"+qn+\"]\",Zn=\"[\"+Bn+Nn+\"]\",Xn=\"\\\\d+\",Kn=\"[\"+Pn+\"]\",Qn=\"[\"+Rn+\"]\",Jn=\"[^\"+In+qn+Xn+Pn+Rn+Wn+\"]\",te=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",ne=\"(?:\"+Zn+\"|\"+te+\")\",ee=\"[^\"+In+\"]\",re=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",ie=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",ae=\"[\"+Wn+\"]\",ue=\"\\\\u200d\",oe=\"(?:\"+Qn+\"|\"+Jn+\")\",se=\"(?:\"+ae+\"|\"+Jn+\")\",ce=\"(?:\"+Gn+\"(?:d|ll|m|re|s|t|ve))?\",le=\"(?:\"+Gn+\"(?:D|LL|M|RE|S|T|VE))?\",he=ne+\"?\",fe=\"[\"+zn+\"]?\",de=\"(?:\"+ue+\"(?:\"+[ee,re,ie].join(\"|\")+\")\"+fe+he+\")*\",pe=fe+he+de,ge=\"(?:\"+[Kn,re,ie].join(\"|\")+\")\"+pe,ye=\"(?:\"+[ee+Zn+\"?\",Zn,re,ie,Hn].join(\"|\")+\")\",me=RegExp(Gn,\"g\"),ve=RegExp(Zn,\"g\"),_e=RegExp(te+\"(?=\"+te+\")|\"+ye+pe,\"g\"),be=RegExp([ae+\"?\"+Qn+\"+\"+ce+\"(?=\"+[Vn,ae,\"$\"].join(\"|\")+\")\",se+\"+\"+le+\"(?=\"+[Vn,ae+oe,\"$\"].join(\"|\")+\")\",ae+\"?\"+oe+\"+\"+ce,ae+\"+\"+le,Xn,ge].join(\"|\"),\"g\"),xe=RegExp(\"[\"+ue+In+Bn+Nn+zn+\"]\"),we=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ae=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"Reflect\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"isFinite\",\"parseInt\",\"setTimeout\"],ke=-1,Ee={};Ee[Ht]=Ee[Vt]=Ee[Zt]=Ee[Xt]=Ee[Kt]=Ee[Qt]=Ee[Jt]=Ee[tn]=Ee[nn]=!0,Ee[Dt]=Ee[Ct]=Ee[qt]=Ee[Tt]=Ee[Gt]=Ee[Ft]=Ee[Ot]=Ee[Lt]=Ee[Bt]=Ee[Nt]=Ee[Pt]=Ee[jt]=Ee[Yt]=Ee[Ut]=Ee[Wt]=!1;var Me={};Me[Dt]=Me[Ct]=Me[qt]=Me[Gt]=Me[Tt]=Me[Ft]=Me[Ht]=Me[Vt]=Me[Zt]=Me[Xt]=Me[Kt]=Me[Bt]=Me[Nt]=Me[Pt]=Me[jt]=Me[Yt]=Me[Ut]=Me[$t]=Me[Qt]=Me[Jt]=Me[tn]=Me[nn]=!0,Me[Ot]=Me[Lt]=Me[Wt]=!1;var Se={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\"},De={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\",\"`\":\"&#96;\"},Ce={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\",\"&#96;\":\"`\"},Te={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Fe=parseFloat,Oe=parseInt,Le=\"object\"==typeof e&&e,Ie=Le&&\"object\"==typeof n&&n,Be=Ie&&Ie.exports===Le,Ne=L(\"object\"==typeof t&&t),Pe=L(\"object\"==typeof self&&self),Re=L(\"object\"==typeof this&&this),je=Ne||Pe||Re||Function(\"return this\")(),Ye=Z();(Pe||{})._=Ye,\"function\"==typeof define&&\"object\"==typeof define.amd&&define.amd?define(function(){return Ye}):Ie?((Ie.exports=Ye)._=Ye,Le._=Ye):je._=Ye}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],104:[function(t,n,e){!function(t,r){\"object\"==typeof e&&\"undefined\"!=typeof n?n.exports=r():\"function\"==typeof define&&define.amd?define(r):t.moment=r()}(this,function(){\"use strict\";function e(){return sr.apply(null,arguments)}function r(t){sr=t}function i(t){return t instanceof Array||\"[object Array]\"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||\"[object Date]\"===Object.prototype.toString.call(t)}function u(t,n){var e,r=[];for(e=0;e<t.length;++e)r.push(n(t[e],e));return r}function o(t,n){return Object.prototype.hasOwnProperty.call(t,n)}function s(t,n){for(var e in n)o(n,e)&&(t[e]=n[e]);return o(n,\"toString\")&&(t.toString=n.toString),o(n,\"valueOf\")&&(t.valueOf=n.valueOf),t}function c(t,n,e,r){return Pt(t,n,e,r,!0).utc()}function l(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function h(t){return null==t._pf&&(t._pf=l()),t._pf}function f(t){if(null==t._isValid){var n=h(t),e=cr.call(n.parsedDateParts,function(t){return null!=t});t._isValid=!isNaN(t._d.getTime())&&n.overflow<0&&!n.empty&&!n.invalidMonth&&!n.invalidWeekday&&!n.nullInput&&!n.invalidFormat&&!n.userInvalidated&&(!n.meridiem||n.meridiem&&e),t._strict&&(t._isValid=t._isValid&&0===n.charsLeftOver&&0===n.unusedTokens.length&&void 0===n.bigHour)}return t._isValid}function d(t){var n=c(0/0);return null!=t?s(h(n),t):h(n).userInvalidated=!0,n}function p(t){return void 0===t}function g(t,n){var e,r,i;if(p(n._isAMomentObject)||(t._isAMomentObject=n._isAMomentObject),p(n._i)||(t._i=n._i),p(n._f)||(t._f=n._f),p(n._l)||(t._l=n._l),p(n._strict)||(t._strict=n._strict),p(n._tzm)||(t._tzm=n._tzm),p(n._isUTC)||(t._isUTC=n._isUTC),p(n._offset)||(t._offset=n._offset),p(n._pf)||(t._pf=h(n)),p(n._locale)||(t._locale=n._locale),lr.length>0)for(e in lr)r=lr[e],i=n[r],p(i)||(t[r]=i);return t}function y(t){g(this,t),this._d=new Date(null!=t._d?t._d.getTime():0/0),hr===!1&&(hr=!0,e.updateOffset(this),hr=!1)}function m(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function v(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t){var n=+t,e=0;return 0!==n&&isFinite(n)&&(e=v(n)),e}function b(t,n,e){var r,i=Math.min(t.length,n.length),a=Math.abs(t.length-n.length),u=0;for(r=0;i>r;r++)(e&&t[r]!==n[r]||!e&&_(t[r])!==_(n[r]))&&u++;return u+a}function x(t){e.suppressDeprecationWarnings===!1&&\"undefined\"!=typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+t)}function w(t,n){var r=!0;return s(function(){return null!=e.deprecationHandler&&e.deprecationHandler(null,t),r&&(x(t+\"\\nArguments: \"+Array.prototype.slice.call(arguments).join(\", \")+\"\\n\"+(new Error).stack),r=!1),n.apply(this,arguments)},n)}function A(t,n){null!=e.deprecationHandler&&e.deprecationHandler(t,n),fr[t]||(x(n),fr[t]=!0)}function k(t){return t instanceof Function||\"[object Function]\"===Object.prototype.toString.call(t)}function E(t){return\"[object Object]\"===Object.prototype.toString.call(t)}function M(t){var n,e;for(e in t)n=t[e],k(n)?this[e]=n:this[\"_\"+e]=n;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+\"|\"+/\\d{1,2}/.source)}function S(t,n){var e,r=s({},t);for(e in n)o(n,e)&&(E(t[e])&&E(n[e])?(r[e]={},s(r[e],t[e]),s(r[e],n[e])):null!=n[e]?r[e]=n[e]:delete r[e]);return r}function D(t){null!=t&&this.set(t)}function C(t){return t?t.toLowerCase().replace(\"_\",\"-\"):t}function T(t){for(var n,e,r,i,a=0;a<t.length;){for(i=C(t[a]).split(\"-\"),n=i.length,e=C(t[a+1]),e=e?e.split(\"-\"):null;n>0;){if(r=F(i.slice(0,n).join(\"-\")))return r;if(e&&e.length>=n&&b(i,e,!0)>=n-1)break;n--}a++}return null}function F(e){var r=null;if(!yr[e]&&\"undefined\"!=typeof n&&n&&n.exports)try{r=pr._abbr,t(\"./locale/\"+e),O(r)}catch(i){}return yr[e]}function O(t,n){var e;return t&&(e=p(n)?B(t):L(t,n),e&&(pr=e)),pr._abbr}function L(t,n){return null!==n?(n.abbr=t,null!=yr[t]?(A(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale\"),n=S(yr[t]._config,n)):null!=n.parentLocale&&(null!=yr[n.parentLocale]?n=S(yr[n.parentLocale]._config,n):A(\"parentLocaleUndefined\",\"specified parentLocale is not defined yet\")),yr[t]=new D(n),O(t),yr[t]):(delete yr[t],null)}function I(t,n){if(null!=n){var e;null!=yr[t]&&(n=S(yr[t]._config,n)),e=new D(n),e.parentLocale=yr[t],yr[t]=e,O(t)}else null!=yr[t]&&(null!=yr[t].parentLocale?yr[t]=yr[t].parentLocale:null!=yr[t]&&delete yr[t]);return yr[t]}function B(t){var n;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return pr;if(!i(t)){if(n=F(t))return n;t=[t]}return T(t)}function N(){return dr(yr)}function P(t,n){var e=t.toLowerCase();mr[e]=mr[e+\"s\"]=mr[n]=t}function R(t){return\"string\"==typeof t?mr[t]||mr[t.toLowerCase()]:void 0}function j(t){var n,e,r={};for(e in t)o(t,e)&&(n=R(e),n&&(r[n]=t[e]));return r}function Y(t,n){return function(r){return null!=r?($(this,t,r),e.updateOffset(this,n),this):U(this,t)}}function U(t,n){return t.isValid()?t._d[\"get\"+(t._isUTC?\"UTC\":\"\")+n]():0/0}function $(t,n,e){t.isValid()&&t._d[\"set\"+(t._isUTC?\"UTC\":\"\")+n](e)}function W(t,n){var e;if(\"object\"==typeof t)for(e in t)this.set(e,t[e]);else if(t=R(t),k(this[t]))return this[t](n);return this}function z(t,n,e){var r=\"\"+Math.abs(t),i=n-r.length,a=t>=0;return(a?e?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function q(t,n,e,r){var i=r;\"string\"==typeof r&&(i=function(){return this[r]()}),t&&(xr[t]=i),n&&(xr[n[0]]=function(){return z(i.apply(this,arguments),n[1],n[2])}),e&&(xr[e]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function G(t){return t.match(/\\[[\\s\\S]/)?t.replace(/^\\[|\\]$/g,\"\"):t.replace(/\\\\/g,\"\")}function H(t){var n,e,r=t.match(vr);for(n=0,e=r.length;e>n;n++)r[n]=xr[r[n]]?xr[r[n]]:G(r[n]);return function(n){var i,a=\"\";for(i=0;e>i;i++)a+=r[i]instanceof Function?r[i].call(n,t):r[i];return a}}function V(t,n){return t.isValid()?(n=Z(n,t.localeData()),br[n]=br[n]||H(n),br[n](t)):t.localeData().invalidDate()}function Z(t,n){function e(t){return n.longDateFormat(t)||t}var r=5;for(_r.lastIndex=0;r>=0&&_r.test(t);)t=t.replace(_r,e),_r.lastIndex=0,r-=1;return t}function X(t,n,e){jr[t]=k(n)?n:function(t){return t&&e?e:n}}function K(t,n){return o(jr,t)?jr[t](n._strict,n._locale):new RegExp(Q(t))}function Q(t){return J(t.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(t,n,e,r,i){return n||e||r||i}))}function J(t){return t.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}function tt(t,n){var e,r=n;for(\"string\"==typeof t&&(t=[t]),\"number\"==typeof n&&(r=function(t,e){e[n]=_(t)}),e=0;e<t.length;e++)Yr[t[e]]=r}function nt(t,n){tt(t,function(t,e,r,i){r._w=r._w||{},n(t,r._w,r,i)})}function et(t,n,e){null!=n&&o(Yr,t)&&Yr[t](n,e._a,e,t)}function rt(t,n){return new Date(Date.UTC(t,n+1,0)).getUTCDate()}function it(t,n){return i(this._months)?this._months[t.month()]:this._months[Xr.test(n)?\"format\":\"standalone\"][t.month()]}function at(t,n){return i(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Xr.test(n)?\"format\":\"standalone\"][t.month()]}function ut(t,n,e){var r,i,a,u=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;12>r;++r)a=c([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(a,\"\").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(a,\"\").toLocaleLowerCase();return e?\"MMM\"===n?(i=gr.call(this._shortMonthsParse,u),-1!==i?i:null):(i=gr.call(this._longMonthsParse,u),-1!==i?i:null):\"MMM\"===n?(i=gr.call(this._shortMonthsParse,u),-1!==i?i:(i=gr.call(this._longMonthsParse,u),-1!==i?i:null)):(i=gr.call(this._longMonthsParse,u),-1!==i?i:(i=gr.call(this._shortMonthsParse,u),-1!==i?i:null))}function ot(t,n,e){var r,i,a;if(this._monthsParseExact)return ut.call(this,t,n,e);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;12>r;r++){if(i=c([2e3,r]),e&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp(\"^\"+this.months(i,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[r]=new RegExp(\"^\"+this.monthsShort(i,\"\").replace(\".\",\"\")+\"$\",\"i\")),e||this._monthsParse[r]||(a=\"^\"+this.months(i,\"\")+\"|^\"+this.monthsShort(i,\"\"),this._monthsParse[r]=new RegExp(a.replace(\".\",\"\"),\"i\")),e&&\"MMMM\"===n&&this._longMonthsParse[r].test(t))return r;if(e&&\"MMM\"===n&&this._shortMonthsParse[r].test(t))return r;if(!e&&this._monthsParse[r].test(t))return r}}function st(t,n){var e;if(!t.isValid())return t;if(\"string\"==typeof n)if(/^\\d+$/.test(n))n=_(n);else if(n=t.localeData().monthsParse(n),\"number\"!=typeof n)return t;return e=Math.min(t.date(),rt(t.year(),n)),t._d[\"set\"+(t._isUTC?\"UTC\":\"\")+\"Month\"](n,e),t}function ct(t){return null!=t?(st(this,t),e.updateOffset(this,!0),this):U(this,\"Month\")}function lt(){return rt(this.year(),this.month())}function ht(t){return this._monthsParseExact?(o(this,\"_monthsRegex\")||dt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function ft(t){return this._monthsParseExact?(o(this,\"_monthsRegex\")||dt.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function dt(){function t(t,n){return n.length-t.length}var n,e,r=[],i=[],a=[];for(n=0;12>n;n++)e=c([2e3,n]),r.push(this.monthsShort(e,\"\")),i.push(this.months(e,\"\")),a.push(this.months(e,\"\")),a.push(this.monthsShort(e,\"\"));for(r.sort(t),i.sort(t),a.sort(t),n=0;12>n;n++)r[n]=J(r[n]),i[n]=J(i[n]),a[n]=J(a[n]);this._monthsRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+i.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+r.join(\"|\")+\")\",\"i\")}function pt(t){var n,e=t._a;return e&&-2===h(t).overflow&&(n=e[$r]<0||e[$r]>11?$r:e[Wr]<1||e[Wr]>rt(e[Ur],e[$r])?Wr:e[zr]<0||e[zr]>24||24===e[zr]&&(0!==e[qr]||0!==e[Gr]||0!==e[Hr])?zr:e[qr]<0||e[qr]>59?qr:e[Gr]<0||e[Gr]>59?Gr:e[Hr]<0||e[Hr]>999?Hr:-1,h(t)._overflowDayOfYear&&(Ur>n||n>Wr)&&(n=Wr),h(t)._overflowWeeks&&-1===n&&(n=Vr),h(t)._overflowWeekday&&-1===n&&(n=Zr),h(t).overflow=n),t}function gt(t){var n,e,r,i,a,u,o=t._i,s=ni.exec(o)||ei.exec(o);if(s){for(h(t).iso=!0,n=0,e=ii.length;e>n;n++)if(ii[n][1].exec(s[1])){i=ii[n][0],r=ii[n][2]!==!1;break}if(null==i)return void(t._isValid=!1);if(s[3]){for(n=0,e=ai.length;e>n;n++)if(ai[n][1].exec(s[3])){a=(s[2]||\" \")+ai[n][0];break}if(null==a)return void(t._isValid=!1)}if(!r&&null!=a)return void(t._isValid=!1);if(s[4]){if(!ri.exec(s[4]))return void(t._isValid=!1);u=\"Z\"}t._f=i+(a||\"\")+(u||\"\"),Tt(t)}else t._isValid=!1}function yt(t){var n=ui.exec(t._i);return null!==n?void(t._d=new Date(+n[1])):(gt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function mt(t,n,e,r,i,a,u){var o=new Date(t,n,e,r,i,a,u);return 100>t&&t>=0&&isFinite(o.getFullYear())&&o.setFullYear(t),o}function vt(t){var n=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(n.getUTCFullYear())&&n.setUTCFullYear(t),n}function _t(t){return bt(t)?366:365}function bt(t){return t%4===0&&t%100!==0||t%400===0}function xt(){return bt(this.year())}function wt(t,n,e){var r=7+n-e,i=(7+vt(t,0,r).getUTCDay()-n)%7;return-i+r-1}function At(t,n,e,r,i){var a,u,o=(7+e-r)%7,s=wt(t,r,i),c=1+7*(n-1)+o+s;return 0>=c?(a=t-1,u=_t(a)+c):c>_t(t)?(a=t+1,u=c-_t(t)):(a=t,u=c),{year:a,dayOfYear:u}}function kt(t,n,e){var r,i,a=wt(t.year(),n,e),u=Math.floor((t.dayOfYear()-a-1)/7)+1;return 1>u?(i=t.year()-1,r=u+Et(i,n,e)):u>Et(t.year(),n,e)?(r=u-Et(t.year(),n,e),i=t.year()+1):(i=t.year(),r=u),{week:r,year:i}}function Et(t,n,e){var r=wt(t,n,e),i=wt(t+1,n,e);return(_t(t)-r+i)/7}function Mt(t,n,e){return null!=t?t:null!=n?n:e}function St(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function Dt(t){var n,e,r,i,a=[];if(!t._d){for(r=St(t),t._w&&null==t._a[Wr]&&null==t._a[$r]&&Ct(t),t._dayOfYear&&(i=Mt(t._a[Ur],r[Ur]),t._dayOfYear>_t(i)&&(h(t)._overflowDayOfYear=!0),e=vt(i,0,t._dayOfYear),t._a[$r]=e.getUTCMonth(),t._a[Wr]=e.getUTCDate()),n=0;3>n&&null==t._a[n];++n)t._a[n]=a[n]=r[n];for(;7>n;n++)t._a[n]=a[n]=null==t._a[n]?2===n?1:0:t._a[n];24===t._a[zr]&&0===t._a[qr]&&0===t._a[Gr]&&0===t._a[Hr]&&(t._nextDay=!0,t._a[zr]=0),t._d=(t._useUTC?vt:mt).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[zr]=24)}}function Ct(t){var n,e,r,i,a,u,o,s;n=t._w,null!=n.GG||null!=n.W||null!=n.E?(a=1,u=4,e=Mt(n.GG,t._a[Ur],kt(Rt(),1,4).year),r=Mt(n.W,1),i=Mt(n.E,1),(1>i||i>7)&&(s=!0)):(a=t._locale._week.dow,u=t._locale._week.doy,e=Mt(n.gg,t._a[Ur],kt(Rt(),a,u).year),r=Mt(n.w,1),null!=n.d?(i=n.d,(0>i||i>6)&&(s=!0)):null!=n.e?(i=n.e+a,(n.e<0||n.e>6)&&(s=!0)):i=a),1>r||r>Et(e,a,u)?h(t)._overflowWeeks=!0:null!=s?h(t)._overflowWeekday=!0:(o=At(e,r,i,a,u),t._a[Ur]=o.year,t._dayOfYear=o.dayOfYear)}function Tt(t){if(t._f===e.ISO_8601)return void gt(t);t._a=[],h(t).empty=!0;var n,r,i,a,u,o=\"\"+t._i,s=o.length,c=0;for(i=Z(t._f,t._locale).match(vr)||[],n=0;n<i.length;n++)a=i[n],r=(o.match(K(a,t))||[])[0],r&&(u=o.substr(0,o.indexOf(r)),u.length>0&&h(t).unusedInput.push(u),o=o.slice(o.indexOf(r)+r.length),c+=r.length),xr[a]?(r?h(t).empty=!1:h(t).unusedTokens.push(a),et(a,r,t)):t._strict&&!r&&h(t).unusedTokens.push(a);h(t).charsLeftOver=s-c,o.length>0&&h(t).unusedInput.push(o),h(t).bigHour===!0&&t._a[zr]<=12&&t._a[zr]>0&&(h(t).bigHour=void 0),h(t).parsedDateParts=t._a.slice(0),h(t).meridiem=t._meridiem,t._a[zr]=Ft(t._locale,t._a[zr],t._meridiem),Dt(t),pt(t)}function Ft(t,n,e){var r;return null==e?n:null!=t.meridiemHour?t.meridiemHour(n,e):null!=t.isPM?(r=t.isPM(e),r&&12>n&&(n+=12),r||12!==n||(n=0),n):n}function Ot(t){var n,e,r,i,a;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(0/0));for(i=0;i<t._f.length;i++)a=0,n=g({},t),null!=t._useUTC&&(n._useUTC=t._useUTC),n._f=t._f[i],Tt(n),f(n)&&(a+=h(n).charsLeftOver,a+=10*h(n).unusedTokens.length,h(n).score=a,(null==r||r>a)&&(r=a,e=n));s(t,e||n)}function Lt(t){if(!t._d){var n=j(t._i);t._a=u([n.year,n.month,n.day||n.date,n.hour,n.minute,n.second,n.millisecond],function(t){return t&&parseInt(t,10)}),Dt(t)}}function It(t){var n=new y(pt(Bt(t)));return n._nextDay&&(n.add(1,\"d\"),n._nextDay=void 0),n}function Bt(t){var n=t._i,e=t._f;return t._locale=t._locale||B(t._l),null===n||void 0===e&&\"\"===n?d({nullInput:!0}):(\"string\"==typeof n&&(t._i=n=t._locale.preparse(n)),m(n)?new y(pt(n)):(i(e)?Ot(t):e?Tt(t):a(n)?t._d=n:Nt(t),f(t)||(t._d=null),t))}function Nt(t){var n=t._i;void 0===n?t._d=new Date(e.now()):a(n)?t._d=new Date(n.valueOf()):\"string\"==typeof n?yt(t):i(n)?(t._a=u(n.slice(0),function(t){return parseInt(t,10)}),Dt(t)):\"object\"==typeof n?Lt(t):\"number\"==typeof n?t._d=new Date(n):e.createFromInputFallback(t)}function Pt(t,n,e,r,i){var a={};return\"boolean\"==typeof e&&(r=e,e=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=e,a._i=t,a._f=n,a._strict=r,It(a)}function Rt(t,n,e,r){return Pt(t,n,e,r,!1)}function jt(t,n){var e,r;if(1===n.length&&i(n[0])&&(n=n[0]),!n.length)return Rt();for(e=n[0],r=1;r<n.length;++r)(!n[r].isValid()||n[r][t](e))&&(e=n[r]);return e}function Yt(){var t=[].slice.call(arguments,0);return jt(\"isBefore\",t)}function Ut(){var t=[].slice.call(arguments,0);return jt(\"isAfter\",t)}function $t(t){var n=j(t),e=n.year||0,r=n.quarter||0,i=n.month||0,a=n.week||0,u=n.day||0,o=n.hour||0,s=n.minute||0,c=n.second||0,l=n.millisecond||0;this._milliseconds=+l+1e3*c+6e4*s+1e3*o*60*60,this._days=+u+7*a,this._months=+i+3*r+12*e,this._data={},this._locale=B(),this._bubble()}function Wt(t){return t instanceof $t}function zt(t,n){q(t,0,0,function(){var t=this.utcOffset(),e=\"+\";return 0>t&&(t=-t,e=\"-\"),e+z(~~(t/60),2)+n+z(~~t%60,2)})}function qt(t,n){var e=(n||\"\").match(t)||[],r=e[e.length-1]||[],i=(r+\"\").match(hi)||[\"-\",0,0],a=+(60*i[1])+_(i[2]);return\"+\"===i[0]?a:-a}function Gt(t,n){var r,i;return n._isUTC?(r=n.clone(),i=(m(t)||a(t)?t.valueOf():Rt(t).valueOf())-r.valueOf(),r._d.setTime(r._d.valueOf()+i),e.updateOffset(r,!1),r):Rt(t).local()}function Ht(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Vt(t,n){var r,i=this._offset||0;return this.isValid()?null!=t?(\"string\"==typeof t?t=qt(Nr,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&n&&(r=Ht(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,\"m\"),i!==t&&(!n||this._changeInProgress?fn(this,un(t-i,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:Ht(this):null!=t?this:0/0}function Zt(t,n){return null!=t?(\"string\"!=typeof t&&(t=-t),this.utcOffset(t,n),this):-this.utcOffset()}function Xt(t){return this.utcOffset(0,t)}function Kt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ht(this),\"m\")),this}function Qt(){return this._tzm?this.utcOffset(this._tzm):\"string\"==typeof this._i&&this.utcOffset(qt(Br,this._i)),this}function Jt(t){return this.isValid()?(t=t?Rt(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function tn(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function nn(){if(!p(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),t=Bt(t),t._a){var n=t._isUTC?c(t._a):Rt(t._a);this._isDSTShifted=this.isValid()&&b(t._a,n.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function en(){return this.isValid()?!this._isUTC:!1}function rn(){return this.isValid()?this._isUTC:!1}function an(){return this.isValid()?this._isUTC&&0===this._offset:!1}function un(t,n){var e,r,i,a=t,u=null;return Wt(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:\"number\"==typeof t?(a={},n?a[n]=t:a.milliseconds=t):(u=fi.exec(t))?(e=\"-\"===u[1]?-1:1,a={y:0,d:_(u[Wr])*e,h:_(u[zr])*e,m:_(u[qr])*e,s:_(u[Gr])*e,ms:_(u[Hr])*e}):(u=di.exec(t))?(e=\"-\"===u[1]?-1:1,a={y:on(u[2],e),M:on(u[3],e),w:on(u[4],e),d:on(u[5],e),h:on(u[6],e),m:on(u[7],e),s:on(u[8],e)}):null==a?a={}:\"object\"==typeof a&&(\"from\"in a||\"to\"in a)&&(i=cn(Rt(a.from),Rt(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),r=new $t(a),Wt(t)&&o(t,\"_locale\")&&(r._locale=t._locale),r}function on(t,n){var e=t&&parseFloat(t.replace(\",\",\".\"));return(isNaN(e)?0:e)*n}function sn(t,n){var e={milliseconds:0,months:0};return e.months=n.month()-t.month()+12*(n.year()-t.year()),t.clone().add(e.months,\"M\").isAfter(n)&&--e.months,e.milliseconds=+n-+t.clone().add(e.months,\"M\"),e}function cn(t,n){var e;return t.isValid()&&n.isValid()?(n=Gt(n,t),t.isBefore(n)?e=sn(t,n):(e=sn(n,t),e.milliseconds=-e.milliseconds,e.months=-e.months),e):{milliseconds:0,months:0}}function ln(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function hn(t,n){return function(e,r){var i,a;return null===r||isNaN(+r)||(A(n,\"moment().\"+n+\"(period, number) is deprecated. Please use moment().\"+n+\"(number, period).\"),\na=e,e=r,r=a),e=\"string\"==typeof e?+e:e,i=un(e,r),fn(this,i,t),this}}function fn(t,n,r,i){var a=n._milliseconds,u=ln(n._days),o=ln(n._months);t.isValid()&&(i=null==i?!0:i,a&&t._d.setTime(t._d.valueOf()+a*r),u&&$(t,\"Date\",U(t,\"Date\")+u*r),o&&st(t,U(t,\"Month\")+o*r),i&&e.updateOffset(t,u||o))}function dn(t,n){var e=t||Rt(),r=Gt(e,this).startOf(\"day\"),i=this.diff(r,\"days\",!0),a=-6>i?\"sameElse\":-1>i?\"lastWeek\":0>i?\"lastDay\":1>i?\"sameDay\":2>i?\"nextDay\":7>i?\"nextWeek\":\"sameElse\",u=n&&(k(n[a])?n[a]():n[a]);return this.format(u||this.localeData().calendar(a,this,Rt(e)))}function pn(){return new y(this)}function gn(t,n){var e=m(t)?t:Rt(t);return this.isValid()&&e.isValid()?(n=R(p(n)?\"millisecond\":n),\"millisecond\"===n?this.valueOf()>e.valueOf():e.valueOf()<this.clone().startOf(n).valueOf()):!1}function yn(t,n){var e=m(t)?t:Rt(t);return this.isValid()&&e.isValid()?(n=R(p(n)?\"millisecond\":n),\"millisecond\"===n?this.valueOf()<e.valueOf():this.clone().endOf(n).valueOf()<e.valueOf()):!1}function mn(t,n,e,r){return r=r||\"()\",(\"(\"===r[0]?this.isAfter(t,e):!this.isBefore(t,e))&&(\")\"===r[1]?this.isBefore(n,e):!this.isAfter(n,e))}function vn(t,n){var e,r=m(t)?t:Rt(t);return this.isValid()&&r.isValid()?(n=R(n||\"millisecond\"),\"millisecond\"===n?this.valueOf()===r.valueOf():(e=r.valueOf(),this.clone().startOf(n).valueOf()<=e&&e<=this.clone().endOf(n).valueOf())):!1}function _n(t,n){return this.isSame(t,n)||this.isAfter(t,n)}function bn(t,n){return this.isSame(t,n)||this.isBefore(t,n)}function xn(t,n,e){var r,i,a,u;return this.isValid()?(r=Gt(t,this),r.isValid()?(i=6e4*(r.utcOffset()-this.utcOffset()),n=R(n),\"year\"===n||\"month\"===n||\"quarter\"===n?(u=wn(this,r),\"quarter\"===n?u/=3:\"year\"===n&&(u/=12)):(a=this-r,u=\"second\"===n?a/1e3:\"minute\"===n?a/6e4:\"hour\"===n?a/36e5:\"day\"===n?(a-i)/864e5:\"week\"===n?(a-i)/6048e5:a),e?u:v(u)):0/0):0/0}function wn(t,n){var e,r,i=12*(n.year()-t.year())+(n.month()-t.month()),a=t.clone().add(i,\"months\");return 0>n-a?(e=t.clone().add(i-1,\"months\"),r=(n-a)/(a-e)):(e=t.clone().add(i+1,\"months\"),r=(n-a)/(e-a)),-(i+r)||0}function An(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")}function kn(){var t=this.clone().utc();return 0<t.year()&&t.year()<=9999?k(Date.prototype.toISOString)?this.toDate().toISOString():V(t,\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"):V(t,\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")}function En(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=V(this,t);return this.localeData().postformat(n)}function Mn(t,n){return this.isValid()&&(m(t)&&t.isValid()||Rt(t).isValid())?un({to:this,from:t}).locale(this.locale()).humanize(!n):this.localeData().invalidDate()}function Sn(t){return this.from(Rt(),t)}function Dn(t,n){return this.isValid()&&(m(t)&&t.isValid()||Rt(t).isValid())?un({from:this,to:t}).locale(this.locale()).humanize(!n):this.localeData().invalidDate()}function Cn(t){return this.to(Rt(),t)}function Tn(t){var n;return void 0===t?this._locale._abbr:(n=B(t),null!=n&&(this._locale=n),this)}function Fn(){return this._locale}function On(t){switch(t=R(t)){case\"year\":this.month(0);case\"quarter\":case\"month\":this.date(1);case\"week\":case\"isoWeek\":case\"day\":case\"date\":this.hours(0);case\"hour\":this.minutes(0);case\"minute\":this.seconds(0);case\"second\":this.milliseconds(0)}return\"week\"===t&&this.weekday(0),\"isoWeek\"===t&&this.isoWeekday(1),\"quarter\"===t&&this.month(3*Math.floor(this.month()/3)),this}function Ln(t){return t=R(t),void 0===t||\"millisecond\"===t?this:(\"date\"===t&&(t=\"day\"),this.startOf(t).add(1,\"isoWeek\"===t?\"week\":t).subtract(1,\"ms\"))}function In(){return this._d.valueOf()-6e4*(this._offset||0)}function Bn(){return Math.floor(this.valueOf()/1e3)}function Nn(){return this._offset?new Date(this.valueOf()):this._d}function Pn(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Rn(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function jn(){return this.isValid()?this.toISOString():null}function Yn(){return f(this)}function Un(){return s({},h(this))}function $n(){return h(this).overflow}function Wn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function zn(t,n){q(0,[t,t.length],0,n)}function qn(t){return Zn.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Gn(t){return Zn.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Hn(){return Et(this.year(),1,4)}function Vn(){var t=this.localeData()._week;return Et(this.year(),t.dow,t.doy)}function Zn(t,n,e,r,i){var a;return null==t?kt(this,r,i).year:(a=Et(t,r,i),n>a&&(n=a),Xn.call(this,t,n,e,r,i))}function Xn(t,n,e,r,i){var a=At(t,n,e,r,i),u=vt(a.year,0,a.dayOfYear);return this.year(u.getUTCFullYear()),this.month(u.getUTCMonth()),this.date(u.getUTCDate()),this}function Kn(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Qn(t){return kt(t,this._week.dow,this._week.doy).week}function Jn(){return this._week.dow}function te(){return this._week.doy}function ne(t){var n=this.localeData().week(this);return null==t?n:this.add(7*(t-n),\"d\")}function ee(t){var n=kt(this,1,4).week;return null==t?n:this.add(7*(t-n),\"d\")}function re(t,n){return\"string\"!=typeof t?t:isNaN(t)?(t=n.weekdaysParse(t),\"number\"==typeof t?t:null):parseInt(t,10)}function ie(t,n){return i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(n)?\"format\":\"standalone\"][t.day()]}function ae(t){return this._weekdaysShort[t.day()]}function ue(t){return this._weekdaysMin[t.day()]}function oe(t,n,e){var r,i,a,u=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;7>r;++r)a=c([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,\"\").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,\"\").toLocaleLowerCase();return e?\"dddd\"===n?(i=gr.call(this._weekdaysParse,u),-1!==i?i:null):\"ddd\"===n?(i=gr.call(this._shortWeekdaysParse,u),-1!==i?i:null):(i=gr.call(this._minWeekdaysParse,u),-1!==i?i:null):\"dddd\"===n?(i=gr.call(this._weekdaysParse,u),-1!==i?i:(i=gr.call(this._shortWeekdaysParse,u),-1!==i?i:(i=gr.call(this._minWeekdaysParse,u),-1!==i?i:null))):\"ddd\"===n?(i=gr.call(this._shortWeekdaysParse,u),-1!==i?i:(i=gr.call(this._weekdaysParse,u),-1!==i?i:(i=gr.call(this._minWeekdaysParse,u),-1!==i?i:null))):(i=gr.call(this._minWeekdaysParse,u),-1!==i?i:(i=gr.call(this._weekdaysParse,u),-1!==i?i:(i=gr.call(this._shortWeekdaysParse,u),-1!==i?i:null)))}function se(t,n,e){var r,i,a;if(this._weekdaysParseExact)return oe.call(this,t,n,e);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;7>r;r++){if(i=c([2e3,1]).day(r),e&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp(\"^\"+this.weekdays(i,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._shortWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysShort(i,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._minWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysMin(i,\"\").replace(\".\",\".?\")+\"$\",\"i\")),this._weekdaysParse[r]||(a=\"^\"+this.weekdays(i,\"\")+\"|^\"+this.weekdaysShort(i,\"\")+\"|^\"+this.weekdaysMin(i,\"\"),this._weekdaysParse[r]=new RegExp(a.replace(\".\",\"\"),\"i\")),e&&\"dddd\"===n&&this._fullWeekdaysParse[r].test(t))return r;if(e&&\"ddd\"===n&&this._shortWeekdaysParse[r].test(t))return r;if(e&&\"dd\"===n&&this._minWeekdaysParse[r].test(t))return r;if(!e&&this._weekdaysParse[r].test(t))return r}}function ce(t){if(!this.isValid())return null!=t?this:0/0;var n=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=re(t,this.localeData()),this.add(t-n,\"d\")):n}function le(t){if(!this.isValid())return null!=t?this:0/0;var n=(this.day()+7-this.localeData()._week.dow)%7;return null==t?n:this.add(t-n,\"d\")}function he(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:0/0}function fe(t){return this._weekdaysParseExact?(o(this,\"_weekdaysRegex\")||ge.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex}function de(t){return this._weekdaysParseExact?(o(this,\"_weekdaysRegex\")||ge.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}function pe(t){return this._weekdaysParseExact?(o(this,\"_weekdaysRegex\")||ge.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}function ge(){function t(t,n){return n.length-t.length}var n,e,r,i,a,u=[],o=[],s=[],l=[];for(n=0;7>n;n++)e=c([2e3,1]).day(n),r=this.weekdaysMin(e,\"\"),i=this.weekdaysShort(e,\"\"),a=this.weekdays(e,\"\"),u.push(r),o.push(i),s.push(a),l.push(r),l.push(i),l.push(a);for(u.sort(t),o.sort(t),s.sort(t),l.sort(t),n=0;7>n;n++)o[n]=J(o[n]),s[n]=J(s[n]),l[n]=J(l[n]);this._weekdaysRegex=new RegExp(\"^(\"+l.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+s.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\")}function ye(t){var n=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==t?n:this.add(t-n,\"d\")}function me(){return this.hours()%12||12}function ve(){return this.hours()||24}function _e(t,n){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),n)})}function be(t,n){return n._meridiemParse}function xe(t){return\"p\"===(t+\"\").toLowerCase().charAt(0)}function we(t,n,e){return t>11?e?\"pm\":\"PM\":e?\"am\":\"AM\"}function Ae(t,n){n[Hr]=_(1e3*(\"0.\"+t))}function ke(){return this._isUTC?\"UTC\":\"\"}function Ee(){return this._isUTC?\"Coordinated Universal Time\":\"\"}function Me(t){return Rt(1e3*t)}function Se(){return Rt.apply(null,arguments).parseZone()}function De(t,n,e){var r=this._calendar[t];return k(r)?r.call(n,e):r}function Ce(t){var n=this._longDateFormat[t],e=this._longDateFormat[t.toUpperCase()];return n||!e?n:(this._longDateFormat[t]=e.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function Te(){return this._invalidDate}function Fe(t){return this._ordinal.replace(\"%d\",t)}function Oe(t){return t}function Le(t,n,e,r){var i=this._relativeTime[e];return k(i)?i(t,n,e,r):i.replace(/%d/i,t)}function Ie(t,n){var e=this._relativeTime[t>0?\"future\":\"past\"];return k(e)?e(n):e.replace(/%s/i,n)}function Be(t,n,e,r){var i=B(),a=c().set(r,n);return i[e](a,t)}function Ne(t,n,e){if(\"number\"==typeof t&&(n=t,t=void 0),t=t||\"\",null!=n)return Be(t,n,e,\"month\");var r,i=[];for(r=0;12>r;r++)i[r]=Be(t,r,e,\"month\");return i}function Pe(t,n,e,r){\"boolean\"==typeof t?(\"number\"==typeof n&&(e=n,n=void 0),n=n||\"\"):(n=t,e=n,t=!1,\"number\"==typeof n&&(e=n,n=void 0),n=n||\"\");var i=B(),a=t?i._week.dow:0;if(null!=e)return Be(n,(e+a)%7,r,\"day\");var u,o=[];for(u=0;7>u;u++)o[u]=Be(n,(u+a)%7,r,\"day\");return o}function Re(t,n){return Ne(t,n,\"months\")}function je(t,n){return Ne(t,n,\"monthsShort\")}function Ye(t,n,e){return Pe(t,n,e,\"weekdays\")}function Ue(t,n,e){return Pe(t,n,e,\"weekdaysShort\")}function $e(t,n,e){return Pe(t,n,e,\"weekdaysMin\")}function We(){var t=this._data;return this._milliseconds=Yi(this._milliseconds),this._days=Yi(this._days),this._months=Yi(this._months),t.milliseconds=Yi(t.milliseconds),t.seconds=Yi(t.seconds),t.minutes=Yi(t.minutes),t.hours=Yi(t.hours),t.months=Yi(t.months),t.years=Yi(t.years),this}function ze(t,n,e,r){var i=un(n,e);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function qe(t,n){return ze(this,t,n,1)}function Ge(t,n){return ze(this,t,n,-1)}function He(t){return 0>t?Math.floor(t):Math.ceil(t)}function Ve(){var t,n,e,r,i,a=this._milliseconds,u=this._days,o=this._months,s=this._data;return a>=0&&u>=0&&o>=0||0>=a&&0>=u&&0>=o||(a+=864e5*He(Xe(o)+u),u=0,o=0),s.milliseconds=a%1e3,t=v(a/1e3),s.seconds=t%60,n=v(t/60),s.minutes=n%60,e=v(n/60),s.hours=e%24,u+=v(e/24),i=v(Ze(u)),o+=i,u-=He(Xe(i)),r=v(o/12),o%=12,s.days=u,s.months=o,s.years=r,this}function Ze(t){return 4800*t/146097}function Xe(t){return 146097*t/4800}function Ke(t){var n,e,r=this._milliseconds;if(t=R(t),\"month\"===t||\"year\"===t)return n=this._days+r/864e5,e=this._months+Ze(n),\"month\"===t?e:e/12;switch(n=this._days+Math.round(Xe(this._months)),t){case\"week\":return n/7+r/6048e5;case\"day\":return n+r/864e5;case\"hour\":return 24*n+r/36e5;case\"minute\":return 1440*n+r/6e4;case\"second\":return 86400*n+r/1e3;case\"millisecond\":return Math.floor(864e5*n)+r;default:throw new Error(\"Unknown unit \"+t)}}function Qe(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12)}function Je(t){return function(){return this.as(t)}}function tr(t){return t=R(t),this[t+\"s\"]()}function nr(t){return function(){return this._data[t]}}function er(){return v(this.days()/7)}function rr(t,n,e,r,i){return i.relativeTime(n||1,!!e,t,r)}function ir(t,n,e){var r=un(t).abs(),i=ea(r.as(\"s\")),a=ea(r.as(\"m\")),u=ea(r.as(\"h\")),o=ea(r.as(\"d\")),s=ea(r.as(\"M\")),c=ea(r.as(\"y\")),l=i<ra.s&&[\"s\",i]||1>=a&&[\"m\"]||a<ra.m&&[\"mm\",a]||1>=u&&[\"h\"]||u<ra.h&&[\"hh\",u]||1>=o&&[\"d\"]||o<ra.d&&[\"dd\",o]||1>=s&&[\"M\"]||s<ra.M&&[\"MM\",s]||1>=c&&[\"y\"]||[\"yy\",c];return l[2]=n,l[3]=+t>0,l[4]=e,rr.apply(null,l)}function ar(t,n){return void 0===ra[t]?!1:void 0===n?ra[t]:(ra[t]=n,!0)}function ur(t){var n=this.localeData(),e=ir(this,!t,n);return t&&(e=n.pastFuture(+this,e)),n.postformat(e)}function or(){var t,n,e,r=ia(this._milliseconds)/1e3,i=ia(this._days),a=ia(this._months);t=v(r/60),n=v(t/60),r%=60,t%=60,e=v(a/12),a%=12;var u=e,o=a,s=i,c=n,l=t,h=r,f=this.asSeconds();return f?(0>f?\"-\":\"\")+\"P\"+(u?u+\"Y\":\"\")+(o?o+\"M\":\"\")+(s?s+\"D\":\"\")+(c||l||h?\"T\":\"\")+(c?c+\"H\":\"\")+(l?l+\"M\":\"\")+(h?h+\"S\":\"\"):\"P0D\"}var sr,cr;cr=Array.prototype.some?Array.prototype.some:function(t){for(var n=Object(this),e=n.length>>>0,r=0;e>r;r++)if(r in n&&t.call(this,n[r],r,n))return!0;return!1};var lr=e.momentProperties=[],hr=!1,fr={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var dr;dr=Object.keys?Object.keys:function(t){var n,e=[];for(n in t)o(t,n)&&e.push(n);return e};var pr,gr,yr={},mr={},vr=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,_r=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,br={},xr={},wr=/\\d/,Ar=/\\d\\d/,kr=/\\d{3}/,Er=/\\d{4}/,Mr=/[+-]?\\d{6}/,Sr=/\\d\\d?/,Dr=/\\d\\d\\d\\d?/,Cr=/\\d\\d\\d\\d\\d\\d?/,Tr=/\\d{1,3}/,Fr=/\\d{1,4}/,Or=/[+-]?\\d{1,6}/,Lr=/\\d+/,Ir=/[+-]?\\d+/,Br=/Z|[+-]\\d\\d:?\\d\\d/gi,Nr=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,Pr=/[+-]?\\d+(\\.\\d{1,3})?/,Rr=/[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i,jr={},Yr={},Ur=0,$r=1,Wr=2,zr=3,qr=4,Gr=5,Hr=6,Vr=7,Zr=8;gr=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var n;for(n=0;n<this.length;++n)if(this[n]===t)return n;return-1},q(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1}),q(\"MMM\",0,0,function(t){return this.localeData().monthsShort(this,t)}),q(\"MMMM\",0,0,function(t){return this.localeData().months(this,t)}),P(\"month\",\"M\"),X(\"M\",Sr),X(\"MM\",Sr,Ar),X(\"MMM\",function(t,n){return n.monthsShortRegex(t)}),X(\"MMMM\",function(t,n){return n.monthsRegex(t)}),tt([\"M\",\"MM\"],function(t,n){n[$r]=_(t)-1}),tt([\"MMM\",\"MMMM\"],function(t,n,e,r){var i=e._locale.monthsParse(t,r,e._strict);null!=i?n[$r]=i:h(e).invalidMonth=t});var Xr=/D[oD]?(\\[[^\\[\\]]*\\]|\\s+)+MMMM?/,Kr=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),Qr=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),Jr=Rr,ti=Rr,ni=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?/,ei=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?/,ri=/Z|[+-]\\d\\d(?::?\\d\\d)?/,ii=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],ai=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],ui=/^\\/?Date\\((\\-?\\d+)/i;e.createFromInputFallback=w(\"moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.\",function(t){t._d=new Date(t._i+(t._useUTC?\" UTC\":\"\"))}),q(\"Y\",0,0,function(){var t=this.year();return 9999>=t?\"\"+t:\"+\"+t}),q(0,[\"YY\",2],0,function(){return this.year()%100}),q(0,[\"YYYY\",4],0,\"year\"),q(0,[\"YYYYY\",5],0,\"year\"),q(0,[\"YYYYYY\",6,!0],0,\"year\"),P(\"year\",\"y\"),X(\"Y\",Ir),X(\"YY\",Sr,Ar),X(\"YYYY\",Fr,Er),X(\"YYYYY\",Or,Mr),X(\"YYYYYY\",Or,Mr),tt([\"YYYYY\",\"YYYYYY\"],Ur),tt(\"YYYY\",function(t,n){n[Ur]=2===t.length?e.parseTwoDigitYear(t):_(t)}),tt(\"YY\",function(t,n){n[Ur]=e.parseTwoDigitYear(t)}),tt(\"Y\",function(t,n){n[Ur]=parseInt(t,10)}),e.parseTwoDigitYear=function(t){return _(t)+(_(t)>68?1900:2e3)};var oi=Y(\"FullYear\",!0);e.ISO_8601=function(){};var si=w(\"moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548\",function(){var t=Rt.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:d()}),ci=w(\"moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548\",function(){var t=Rt.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:d()}),li=function(){return Date.now?Date.now():+new Date};zt(\"Z\",\":\"),zt(\"ZZ\",\"\"),X(\"Z\",Nr),X(\"ZZ\",Nr),tt([\"Z\",\"ZZ\"],function(t,n,e){e._useUTC=!0,e._tzm=qt(Nr,t)});var hi=/([\\+\\-]|\\d\\d)/gi;e.updateOffset=function(){};var fi=/^(\\-)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)\\.?(\\d{3})?\\d*)?$/,di=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;un.fn=$t.prototype;var pi=hn(1,\"add\"),gi=hn(-1,\"subtract\");e.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",e.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var yi=w(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(t){return void 0===t?this.localeData():this.locale(t)});q(0,[\"gg\",2],0,function(){return this.weekYear()%100}),q(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),zn(\"gggg\",\"weekYear\"),zn(\"ggggg\",\"weekYear\"),zn(\"GGGG\",\"isoWeekYear\"),zn(\"GGGGG\",\"isoWeekYear\"),P(\"weekYear\",\"gg\"),P(\"isoWeekYear\",\"GG\"),X(\"G\",Ir),X(\"g\",Ir),X(\"GG\",Sr,Ar),X(\"gg\",Sr,Ar),X(\"GGGG\",Fr,Er),X(\"gggg\",Fr,Er),X(\"GGGGG\",Or,Mr),X(\"ggggg\",Or,Mr),nt([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(t,n,e,r){n[r.substr(0,2)]=_(t)}),nt([\"gg\",\"GG\"],function(t,n,r,i){n[i]=e.parseTwoDigitYear(t)}),q(\"Q\",0,\"Qo\",\"quarter\"),P(\"quarter\",\"Q\"),X(\"Q\",wr),tt(\"Q\",function(t,n){n[$r]=3*(_(t)-1)}),q(\"w\",[\"ww\",2],\"wo\",\"week\"),q(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),P(\"week\",\"w\"),P(\"isoWeek\",\"W\"),X(\"w\",Sr),X(\"ww\",Sr,Ar),X(\"W\",Sr),X(\"WW\",Sr,Ar),nt([\"w\",\"ww\",\"W\",\"WW\"],function(t,n,e,r){n[r.substr(0,1)]=_(t)});var mi={dow:0,doy:6};q(\"D\",[\"DD\",2],\"Do\",\"date\"),P(\"date\",\"D\"),X(\"D\",Sr),X(\"DD\",Sr,Ar),X(\"Do\",function(t,n){return t?n._ordinalParse:n._ordinalParseLenient}),tt([\"D\",\"DD\"],Wr),tt(\"Do\",function(t,n){n[Wr]=_(t.match(Sr)[0],10)});var vi=Y(\"Date\",!0);q(\"d\",0,\"do\",\"day\"),q(\"dd\",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),q(\"ddd\",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),q(\"dddd\",0,0,function(t){return this.localeData().weekdays(this,t)}),q(\"e\",0,0,\"weekday\"),q(\"E\",0,0,\"isoWeekday\"),P(\"day\",\"d\"),P(\"weekday\",\"e\"),P(\"isoWeekday\",\"E\"),X(\"d\",Sr),X(\"e\",Sr),X(\"E\",Sr),X(\"dd\",function(t,n){return n.weekdaysMinRegex(t)}),X(\"ddd\",function(t,n){return n.weekdaysShortRegex(t)}),X(\"dddd\",function(t,n){return n.weekdaysRegex(t)}),nt([\"dd\",\"ddd\",\"dddd\"],function(t,n,e,r){var i=e._locale.weekdaysParse(t,r,e._strict);null!=i?n.d=i:h(e).invalidWeekday=t}),nt([\"d\",\"e\",\"E\"],function(t,n,e,r){n[r]=_(t)});var _i=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),bi=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),xi=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),wi=Rr,Ai=Rr,ki=Rr;q(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),P(\"dayOfYear\",\"DDD\"),X(\"DDD\",Tr),X(\"DDDD\",kr),tt([\"DDD\",\"DDDD\"],function(t,n,e){e._dayOfYear=_(t)}),q(\"H\",[\"HH\",2],0,\"hour\"),q(\"h\",[\"hh\",2],0,me),q(\"k\",[\"kk\",2],0,ve),q(\"hmm\",0,0,function(){return\"\"+me.apply(this)+z(this.minutes(),2)}),q(\"hmmss\",0,0,function(){return\"\"+me.apply(this)+z(this.minutes(),2)+z(this.seconds(),2)}),q(\"Hmm\",0,0,function(){return\"\"+this.hours()+z(this.minutes(),2)}),q(\"Hmmss\",0,0,function(){return\"\"+this.hours()+z(this.minutes(),2)+z(this.seconds(),2)}),_e(\"a\",!0),_e(\"A\",!1),P(\"hour\",\"h\"),X(\"a\",be),X(\"A\",be),X(\"H\",Sr),X(\"h\",Sr),X(\"HH\",Sr,Ar),X(\"hh\",Sr,Ar),X(\"hmm\",Dr),X(\"hmmss\",Cr),X(\"Hmm\",Dr),X(\"Hmmss\",Cr),tt([\"H\",\"HH\"],zr),tt([\"a\",\"A\"],function(t,n,e){e._isPm=e._locale.isPM(t),e._meridiem=t}),tt([\"h\",\"hh\"],function(t,n,e){n[zr]=_(t),h(e).bigHour=!0}),tt(\"hmm\",function(t,n,e){var r=t.length-2;n[zr]=_(t.substr(0,r)),n[qr]=_(t.substr(r)),h(e).bigHour=!0}),tt(\"hmmss\",function(t,n,e){var r=t.length-4,i=t.length-2;n[zr]=_(t.substr(0,r)),n[qr]=_(t.substr(r,2)),n[Gr]=_(t.substr(i)),h(e).bigHour=!0}),tt(\"Hmm\",function(t,n){var e=t.length-2;n[zr]=_(t.substr(0,e)),n[qr]=_(t.substr(e))}),tt(\"Hmmss\",function(t,n){var e=t.length-4,r=t.length-2;n[zr]=_(t.substr(0,e)),n[qr]=_(t.substr(e,2)),n[Gr]=_(t.substr(r))});var Ei=/[ap]\\.?m?\\.?/i,Mi=Y(\"Hours\",!0);q(\"m\",[\"mm\",2],0,\"minute\"),P(\"minute\",\"m\"),X(\"m\",Sr),X(\"mm\",Sr,Ar),tt([\"m\",\"mm\"],qr);var Si=Y(\"Minutes\",!1);q(\"s\",[\"ss\",2],0,\"second\"),P(\"second\",\"s\"),X(\"s\",Sr),X(\"ss\",Sr,Ar),tt([\"s\",\"ss\"],Gr);var Di=Y(\"Seconds\",!1);q(\"S\",0,0,function(){return~~(this.millisecond()/100)}),q(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),q(0,[\"SSS\",3],0,\"millisecond\"),q(0,[\"SSSS\",4],0,function(){return 10*this.millisecond()}),q(0,[\"SSSSS\",5],0,function(){return 100*this.millisecond()}),q(0,[\"SSSSSS\",6],0,function(){return 1e3*this.millisecond()}),q(0,[\"SSSSSSS\",7],0,function(){return 1e4*this.millisecond()}),q(0,[\"SSSSSSSS\",8],0,function(){return 1e5*this.millisecond()}),q(0,[\"SSSSSSSSS\",9],0,function(){return 1e6*this.millisecond()}),P(\"millisecond\",\"ms\"),X(\"S\",Tr,wr),X(\"SS\",Tr,Ar),X(\"SSS\",Tr,kr);var Ci;for(Ci=\"SSSS\";Ci.length<=9;Ci+=\"S\")X(Ci,Lr);for(Ci=\"S\";Ci.length<=9;Ci+=\"S\")tt(Ci,Ae);var Ti=Y(\"Milliseconds\",!1);q(\"z\",0,0,\"zoneAbbr\"),q(\"zz\",0,0,\"zoneName\");var Fi=y.prototype;Fi.add=pi,Fi.calendar=dn,Fi.clone=pn,Fi.diff=xn,Fi.endOf=Ln,Fi.format=En,Fi.from=Mn,Fi.fromNow=Sn,Fi.to=Dn,Fi.toNow=Cn,Fi.get=W,Fi.invalidAt=$n,Fi.isAfter=gn,Fi.isBefore=yn,Fi.isBetween=mn,Fi.isSame=vn,Fi.isSameOrAfter=_n,Fi.isSameOrBefore=bn,Fi.isValid=Yn,Fi.lang=yi,Fi.locale=Tn,Fi.localeData=Fn,Fi.max=ci,Fi.min=si,Fi.parsingFlags=Un,Fi.set=W,Fi.startOf=On,Fi.subtract=gi,Fi.toArray=Pn,Fi.toObject=Rn,Fi.toDate=Nn,Fi.toISOString=kn,Fi.toJSON=jn,Fi.toString=An,Fi.unix=Bn,Fi.valueOf=In,Fi.creationData=Wn,Fi.year=oi,Fi.isLeapYear=xt,Fi.weekYear=qn,Fi.isoWeekYear=Gn,Fi.quarter=Fi.quarters=Kn,Fi.month=ct,Fi.daysInMonth=lt,Fi.week=Fi.weeks=ne,Fi.isoWeek=Fi.isoWeeks=ee,Fi.weeksInYear=Vn,Fi.isoWeeksInYear=Hn,Fi.date=vi,Fi.day=Fi.days=ce,Fi.weekday=le,Fi.isoWeekday=he,Fi.dayOfYear=ye,Fi.hour=Fi.hours=Mi,Fi.minute=Fi.minutes=Si,Fi.second=Fi.seconds=Di,Fi.millisecond=Fi.milliseconds=Ti,Fi.utcOffset=Vt,Fi.utc=Xt,Fi.local=Kt,Fi.parseZone=Qt,Fi.hasAlignedHourOffset=Jt,Fi.isDST=tn,Fi.isDSTShifted=nn,Fi.isLocal=en,Fi.isUtcOffset=rn,Fi.isUtc=an,Fi.isUTC=an,Fi.zoneAbbr=ke,Fi.zoneName=Ee,Fi.dates=w(\"dates accessor is deprecated. Use date instead.\",vi),Fi.months=w(\"months accessor is deprecated. Use month instead\",ct),Fi.years=w(\"years accessor is deprecated. Use year instead\",oi),Fi.zone=w(\"moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779\",Zt);var Oi=Fi,Li={sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},Ii={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},Bi=\"Invalid date\",Ni=\"%d\",Pi=/\\d{1,2}/,Ri={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},ji=D.prototype;ji._calendar=Li,ji.calendar=De,ji._longDateFormat=Ii,ji.longDateFormat=Ce,ji._invalidDate=Bi,ji.invalidDate=Te,ji._ordinal=Ni,ji.ordinal=Fe,ji._ordinalParse=Pi,ji.preparse=Oe,ji.postformat=Oe,ji._relativeTime=Ri,ji.relativeTime=Le,ji.pastFuture=Ie,ji.set=M,ji.months=it,ji._months=Kr,ji.monthsShort=at,ji._monthsShort=Qr,ji.monthsParse=ot,ji._monthsRegex=ti,ji.monthsRegex=ft,ji._monthsShortRegex=Jr,ji.monthsShortRegex=ht,ji.week=Qn,ji._week=mi,ji.firstDayOfYear=te,ji.firstDayOfWeek=Jn,ji.weekdays=ie,ji._weekdays=_i,ji.weekdaysMin=ue,ji._weekdaysMin=xi,ji.weekdaysShort=ae,ji._weekdaysShort=bi,ji.weekdaysParse=se,ji._weekdaysRegex=wi,ji.weekdaysRegex=fe,ji._weekdaysShortRegex=Ai,ji.weekdaysShortRegex=de,ji._weekdaysMinRegex=ki,ji.weekdaysMinRegex=pe,ji.isPM=xe,ji._meridiemParse=Ei,ji.meridiem=we,O(\"en\",{ordinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var n=t%10,e=1===_(t%100/10)?\"th\":1===n?\"st\":2===n?\"nd\":3===n?\"rd\":\"th\";return t+e}}),e.lang=w(\"moment.lang is deprecated. Use moment.locale instead.\",O),e.langData=w(\"moment.langData is deprecated. Use moment.localeData instead.\",B);var Yi=Math.abs,Ui=Je(\"ms\"),$i=Je(\"s\"),Wi=Je(\"m\"),zi=Je(\"h\"),qi=Je(\"d\"),Gi=Je(\"w\"),Hi=Je(\"M\"),Vi=Je(\"y\"),Zi=nr(\"milliseconds\"),Xi=nr(\"seconds\"),Ki=nr(\"minutes\"),Qi=nr(\"hours\"),Ji=nr(\"days\"),ta=nr(\"months\"),na=nr(\"years\"),ea=Math.round,ra={s:45,m:45,h:22,d:26,M:11},ia=Math.abs,aa=$t.prototype;aa.abs=We,aa.add=qe,aa.subtract=Ge,aa.as=Ke,aa.asMilliseconds=Ui,aa.asSeconds=$i,aa.asMinutes=Wi,aa.asHours=zi,aa.asDays=qi,aa.asWeeks=Gi,aa.asMonths=Hi,aa.asYears=Vi,aa.valueOf=Qe,aa._bubble=Ve,aa.get=tr,aa.milliseconds=Zi,aa.seconds=Xi,aa.minutes=Ki,aa.hours=Qi,aa.days=Ji,aa.weeks=er,aa.months=ta,aa.years=na,aa.humanize=ur,aa.toISOString=or,aa.toString=or,aa.toJSON=or,aa.locale=Tn,aa.localeData=Fn,aa.toIsoString=w(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",or),aa.lang=yi,q(\"X\",0,0,\"unix\"),q(\"x\",0,0,\"valueOf\"),X(\"x\",Ir),X(\"X\",Pr),tt(\"X\",function(t,n,e){e._d=new Date(1e3*parseFloat(t,10))}),tt(\"x\",function(t,n,e){e._d=new Date(_(t))}),e.version=\"2.13.0\",r(Rt),e.fn=Oi,e.min=Yt,e.max=Ut,e.now=li,e.utc=c,e.unix=Me,e.months=Re,e.isDate=a,e.locale=O,e.invalid=d,e.duration=un,e.isMoment=m,e.weekdays=Ye,e.parseZone=Se,e.localeData=B,e.isDuration=Wt,e.monthsShort=je,e.weekdaysMin=$e,e.defineLocale=L,e.updateLocale=I,e.locales=N,e.weekdaysShort=Ue,e.normalizeUnits=R,e.relativeTimeThreshold=ar,e.prototype=Oi;var ua=e;return ua})},{}],105:[function(t,n,e){(function(t){function n(t,n){for(var e=0,r=t.length-1;r>=0;r--){var i=t[r];\".\"===i?t.splice(r,1):\"..\"===i?(t.splice(r,1),e++):e&&(t.splice(r,1),e--)}if(n)for(;e--;e)t.unshift(\"..\");return t}function r(t,n){if(t.filter)return t.filter(n);for(var e=[],r=0;r<t.length;r++)n(t[r],r,t)&&e.push(t[r]);return e}var i=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/,a=function(t){return i.exec(t).slice(1)};e.resolve=function(){for(var e=\"\",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var u=a>=0?arguments[a]:t.cwd();if(\"string\"!=typeof u)throw new TypeError(\"Arguments to path.resolve must be strings\");u&&(e=u+\"/\"+e,i=\"/\"===u.charAt(0))}return e=n(r(e.split(\"/\"),function(t){return!!t}),!i).join(\"/\"),(i?\"/\":\"\")+e||\".\"},e.normalize=function(t){var i=e.isAbsolute(t),a=\"/\"===u(t,-1);return t=n(r(t.split(\"/\"),function(t){return!!t}),!i).join(\"/\"),t||i||(t=\".\"),t&&a&&(t+=\"/\"),(i?\"/\":\"\")+t},e.isAbsolute=function(t){return\"/\"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(r(t,function(t){if(\"string\"!=typeof t)throw new TypeError(\"Arguments to path.join must be strings\");return t}).join(\"/\"))},e.relative=function(t,n){function r(t){for(var n=0;n<t.length&&\"\"===t[n];n++);for(var e=t.length-1;e>=0&&\"\"===t[e];e--);return n>e?[]:t.slice(n,e-n+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split(\"/\")),a=r(n.split(\"/\")),u=Math.min(i.length,a.length),o=u,s=0;u>s;s++)if(i[s]!==a[s]){o=s;break}for(var c=[],s=o;s<i.length;s++)c.push(\"..\");return c=c.concat(a.slice(o)),c.join(\"/\")},e.sep=\"/\",e.delimiter=\":\",e.dirname=function(t){var n=a(t),e=n[0],r=n[1];return e||r?(r&&(r=r.substr(0,r.length-1)),e+r):\".\"},e.basename=function(t,n){var e=a(t)[2];return n&&e.substr(-1*n.length)===n&&(e=e.substr(0,e.length-n.length)),e},e.extname=function(t){return a(t)[3]};var u=\"b\"===\"ab\".substr(-1)?function(t,n,e){return t.substr(n,e)}:function(t,n,e){return 0>n&&(n=t.length+n),t.substr(n,e)}}).call(this,t(\"_process\"))},{_process:106}],106:[function(t,n){function e(){}var r=n.exports={};r.nextTick=function(){var t=\"undefined\"!=typeof window&&window.setImmediate,n=\"undefined\"!=typeof window&&window.MutationObserver,e=\"undefined\"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var r=[];if(n){var i=document.createElement(\"div\"),a=new MutationObserver(function(){var t=r.slice();r.length=0,t.forEach(function(t){t()})});return a.observe(i,{attributes:!0}),function(t){r.length||i.setAttribute(\"yes\",\"no\"),r.push(t)}}return e?(window.addEventListener(\"message\",function(t){var n=t.source;if((n===window||null===n)&&\"process-tick\"===t.data&&(t.stopPropagation(),r.length>0)){var e=r.shift();e()}},!0),function(t){r.push(t),window.postMessage(\"process-tick\",\"*\")}):function(t){setTimeout(t,0)}}(),r.title=\"browser\",r.browser=!0,r.env={},r.argv=[],r.on=e,r.addListener=e,r.once=e,r.off=e,r.removeListener=e,r.removeAllListeners=e,r.emit=e,r.binding=function(){throw new Error(\"process.binding is not supported\")},r.cwd=function(){return\"/\"},r.chdir=function(){throw new Error(\"process.chdir is not supported\")}},{}],107:[function(t,n){n.exports={name:\"mermaid\",version:\"7.0.0\",description:\"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams and gantt charts.\",main:\"src/mermaid.js\",keywords:[\"diagram\",\"markdown\",\"flowchart\",\"sequence diagram\",\"gantt\"],bin:{mermaid:\"./bin/mermaid.js\"},scripts:{live:\"live-server ./test/examples\",lint:\"node node_modules/eslint/bin/eslint.js src\",jison:\"gulp jison_legacy\",karma:\"node node_modules/karma/bin/karma start karma.conf.js --single-run\",watch:\"source  ./scripts/watch.sh\",doc:\"rm -r build;rm -r dist/www;gulp vartree;cp dist/www/all.html ../mermaid-pages/index.html;cp dist/mermaid.js ../mermaid-pages/javascripts/lib;cp dist/mermaid.forest.css ../mermaid-pages/stylesheets\",tape:\"node node_modules/tape/bin/tape test/cli_test-*.js\",jasmine:\"npm run jison &&node node_modules/jasmine-es6/bin/jasmine.js\",pretest:\"npm run jison\",test:\"npm run dist && npm run karma && npm run tape\",\"dist-slim-mermaid\":\"node node_modules/browserify/bin/cmd.js src/mermaid.js  -t babelify  -s mermaid    -o dist/mermaid.slim.js    -x d3   && cat dist/mermaid.slim.js    | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js\",\"dist-slim-mermaidAPI\":\"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js\",\n\"dist-mermaid\":\"node node_modules/browserify/bin/cmd.js src/mermaid.js  -t babelify  -s mermaid    -o dist/mermaid.js         && cat dist/mermaid.js         | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js\",\"dist-mermaid-nomin\":\"node node_modules/browserify/bin/cmd.js src/mermaid.js  -t babelify  -s mermaid  -o dist/mermaid.js\",\"dist-mermaidAPI\":\"node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js      && cat dist/mermaidAPI.js      | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js\",dist:\"npm run dist-slim-mermaid && npm run dist-slim-mermaidAPI && npm run dist-mermaid && npm run dist-mermaidAPI\"},repository:{type:\"git\",url:\"https://github.com/knsv/mermaid\"},author:\"Knut Sveidqvist\",license:\"MIT\",dependencies:{chalk:\"^0.5.1\",d3:\"3.5.6\",dagre:\"^0.7.4\",\"dagre-d3\":\"0.4.10\",he:\"^0.5.0\",lodash:\"^4.6.1\",minimist:\"^1.1.0\",mkdirp:\"^0.5.0\",moment:\"^2.9.0\",semver:\"^4.1.1\",which:\"^1.0.8\"},devDependencies:{async:\"^0.9.0\",\"babel-eslint\":\"^4.1.3\",babelify:\"^6.4.0\",browserify:\"~6.2.0\",clone:\"^0.2.0\",\"codeclimate-test-reporter\":\"0.0.4\",dateformat:\"^1.0.11\",dox:\"^0.8.0\",eslint:\"^1.6.0\",\"eslint-watch\":\"^2.1.2\",\"event-stream\":\"^3.2.0\",foundation:\"^4.2.1-1\",\"front-matter\":\"^0.2.0\",gulp:\"~3.9.0\",\"gulp-bower\":\"0.0.10\",\"gulp-browserify\":\"^0.5.0\",\"gulp-bump\":\"^0.1.11\",\"gulp-concat\":\"~2.4.1\",\"gulp-data\":\"^1.1.1\",\"gulp-dox\":\"^0.1.6\",\"gulp-ext-replace\":\"^0.2.0\",\"gulp-filelog\":\"^0.4.1\",\"gulp-front-matter\":\"^1.2.3\",\"gulp-hogan\":\"^1.1.0\",\"gulp-if\":\"^1.2.5\",\"gulp-insert\":\"^0.4.0\",\"gulp-istanbul\":\"^0.4.0\",\"gulp-jasmine\":\"~2.1.0\",\"gulp-jasmine-browser\":\"^0.2.3\",\"gulp-jison\":\"~1.2.0\",\"gulp-jshint\":\"^1.9.0\",\"gulp-less\":\"^3.0.1\",\"gulp-livereload\":\"^3.8.0\",\"gulp-marked\":\"^1.0.0\",\"gulp-mdvars\":\"^2.0.0\",\"gulp-qunit\":\"~1.2.1\",\"gulp-rename\":\"~1.2.0\",\"gulp-shell\":\"^0.2.10\",\"gulp-tag-version\":\"^1.2.1\",\"gulp-uglify\":\"~1.0.1\",\"gulp-util\":\"^3.0.7\",\"gulp-vartree\":\"^2.0.1\",\"hogan.js\":\"^3.0.2\",jasmine:\"2.3.2\",\"jasmine-es6\":\"0.0.18\",jison:\"zaach/jison\",jsdom:\"^7.0.2\",\"jshint-stylish\":\"^2.0.1\",karma:\"^0.13.15\",\"karma-babel-preprocessor\":\"^6.0.1\",\"karma-browserify\":\"^4.4.0\",\"karma-jasmine\":\"^0.3.6\",\"karma-phantomjs-launcher\":\"^0.2.1\",\"live-server\":\"^0.9.0\",\"map-stream\":\"0.0.6\",marked:\"^0.3.2\",\"mock-browser\":\"^0.91.34\",path:\"^0.4.9\",phantomjs:\"^2.1.3\",proxyquire:\"^1.7.3\",\"proxyquire-universal\":\"^1.0.8\",proxyquireify:\"^3.0.0\",\"require-dir\":\"^0.3.0\",rewire:\"^2.1.3\",rimraf:\"^2.2.8\",tape:\"^3.0.3\",testdom:\"^2.0.0\",uglifyjs:\"^2.4.10\",\"vinyl-source-stream\":\"^1.1.0\",watchify:\"^3.6.1\"}}},{}],108:[function(t,n){\"use strict\";var e;if(\"undefined\"!=typeof t)try{e=t(\"d3\")}catch(r){}e||(e=window.d3),n.exports=e,function(){var t=!1;if(t=\"tspans\",e.selection.prototype.textwrap)return!1;if(\"undefined\"==typeof t)var t=!1;e.selection.prototype.textwrap=e.selection.enter.prototype.textwrap=function(n,r){var i,r=parseInt(r)||0,a=this,u=function(t){var n=t[0][0],r=n.tagName.toString();if(\"rect\"!==r)return!1;var i={};return i.x=e.select(n).attr(\"x\")||0,i.y=e.select(n).attr(\"y\")||0,i.width=e.select(n).attr(\"width\")||0,i.height=e.select(n).attr(\"height\")||0,i.attr=t.attr,i},o=function(t){if(t.attr||(t.attr=function(t){return this[t]?this[t]:void 0}),\"object\"==typeof t&&\"undefined\"!=typeof t.x&&\"undefined\"!=typeof t.y&&\"undefined\"!=typeof t.width&&\"undefined\"!=typeof t.height)return t;if(\"function\"==typeof Array.isArray&&Array.isArray(t)||\"[object Array]\"===Object.prototype.toString.call(t)){var n=u(t);return n}return!1},s=function(t,n){var e=t;return 0!==n&&(e.x=parseInt(e.x)+n,e.y=parseInt(e.y)+n,e.width-=2*n,e.height-=2*n),e},c=o(n);if(r&&(c=s(c,r)),0!=a.length&&e&&n&&c){n=c;var l,h=function(t){var r=e.select(t[0].parentNode),a=r.select(\"text\"),u=a.style(\"line-height\"),o=a.text();a.remove();var s=r.append(\"foreignObject\");s.attr(\"requiredFeatures\",\"http://www.w3.org/TR/SVG11/feature#Extensibility\").attr(\"x\",n.x).attr(\"y\",n.y).attr(\"width\",n.width).attr(\"height\",n.height);var c=s.append(\"xhtml:div\").attr(\"class\",\"wrapped\");c.style(\"height\",n.height).style(\"width\",n.width).html(o),u&&c.style(\"line-height\",u),i=r.select(\"foreignObject\")},f=function(t){var a,u=t[0],o=u.parentNode,s=e.select(u),c=u.getBBox().height,l=u.getBBox().width,h=c,f=s.style(\"line-height\");if(a=f&&parseInt(f)?parseInt(f.replace(\"px\",\"\")):h,l>n.width){var d=s.text();if(s.text(\"\"),d){var p,g;if(-1!==d.indexOf(\" \")){var p=\" \";g=d.split(\" \")}else{p=\"\";var y=d.length,m=Math.ceil(l/n.width),v=Math.floor(y/m);v*m>=y||m++;for(var _,b,g=[],x=0;m>x;x++)b=x*v,_=d.substr(b,v),g.push(_)}for(var w=[],A=0,k={},x=0;x<g.length;x++){var E,M=g[x],S=s.text(),D=u.getComputedTextLength();E=S?S+p+M:M,s.text(E);var C=u.getComputedTextLength();if(C>n.width&&S&&\"\"!==S&&(A+=D,k={string:S,width:D,offset:A},w.push(k),s.text(\"\"),s.text(M),x==g.length-1&&(E=M,s.text(E),C=u.getComputedTextLength())),x==g.length-1){s.text(\"\");var T=E;T&&\"\"!==T&&(C-A>0&&(C-=A),k={string:T,width:C,offset:A},w.push(k))}}var F;s.text(\"\");for(var x=0;x<w.length;x++){var _=w[x].string;if(x>0){w[x-1]}x*a<n.height-1.5*a&&(F=s.append(\"tspan\").text(_),F.attr(\"dy\",function(){return x>0?a:void 0}),F.attr(\"x\",function(){var t=n.x;return r&&(t+=r),t}))}}}s.attr(\"y\",function(){var t=n.y;return a&&(t+=a),r&&(t+=r),t}),s.attr(\"x\",function(){var t=n.x;return r&&(t+=r),t}),i=e.select(o).selectAll(\"text\")};t&&(\"foreignobjects\"==t?l=h:\"tspans\"==t&&(l=f)),t||(l=\"undefined\"!=typeof SVGForeignObjectElement?h:f);for(var d=0;d<a.length;d++){var p=a[d];l(p)}return i}return a?a:!1}}()},{d3:2}],109:[function(t,n,e){\"use strict\";var r,i=t(\"../../logger\"),a=new i.Log,u=[];r={};e.addClass=function(t){\"undefined\"==typeof r[t]&&(r[t]={id:t,methods:[],members:[]})},e.clear=function(){u=[],r={}},n.exports.getClass=function(t){return r[t]},n.exports.getClasses=function(){return r},n.exports.getRelations=function(){return u},e.addRelation=function(t){a.warn(\"Adding relation: \"+JSON.stringify(t)),e.addClass(t.id1),e.addClass(t.id2),u.push(t)},e.addMembers=function(t,n){var e=r[t];\"string\"==typeof n&&(\")\"===n.substr(-1)?e.methods.push(n):e.members.push(n))},e.cleanupLabel=function(t){return\":\"===t.substring(0,1)?t.substr(2).trim():t.trim()},e.lineType={LINE:0,DOTTED_LINE:1},e.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}},{\"../../logger\":130}],110:[function(t,n){\"use strict\";var e=t(\"./parser/classDiagram\").parser,r=t(\"./classDb\");e.yy=r;var i,a=t(\"../../d3\"),u=t(\"../../logger\"),o=t(\"dagre\"),s=new u.Log;i={};var c=0,l={dividerMargin:10,padding:5,textHeight:14},h=function(t){var n,e=Object.keys(i);for(n=0;n<e.length;n++)if(i[e[n]].label===t)return e[n];return void 0},f=function(t){t.append(\"defs\").append(\"marker\").attr(\"id\",\"extensionStart\").attr(\"class\",\"extension\").attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 1,7 L18,13 V 1 Z\"),t.append(\"defs\").append(\"marker\").attr(\"id\",\"extensionEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 1,1 V 13 L18,7 Z\"),t.append(\"defs\").append(\"marker\").attr(\"id\",\"compositionStart\").attr(\"class\",\"extension\").attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),t.append(\"defs\").append(\"marker\").attr(\"id\",\"compositionEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),t.append(\"defs\").append(\"marker\").attr(\"id\",\"aggregationStart\").attr(\"class\",\"extension\").attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),t.append(\"defs\").append(\"marker\").attr(\"id\",\"aggregationEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L1,7 L9,1 Z\"),t.append(\"defs\").append(\"marker\").attr(\"id\",\"dependencyStart\").attr(\"class\",\"extension\").attr(\"refX\",0).attr(\"refY\",7).attr(\"markerWidth\",190).attr(\"markerHeight\",240).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 5,7 L9,13 L1,7 L9,1 Z\"),t.append(\"defs\").append(\"marker\").attr(\"id\",\"dependencyEnd\").attr(\"refX\",19).attr(\"refY\",7).attr(\"markerWidth\",20).attr(\"markerHeight\",28).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 18,7 L9,13 L14,7 L9,1 Z\")},d=0,p=function(t,n,e){var i=function(t){switch(t){case r.relationType.AGGREGATION:return\"aggregation\";case r.relationType.EXTENSION:return\"extension\";case r.relationType.COMPOSITION:return\"composition\";case r.relationType.DEPENDENCY:return\"dependency\"}},u=n.points,o=a.svg.line().x(function(t){return t.x}).y(function(t){return t.y}).interpolate(\"basis\"),s=t.append(\"path\").attr(\"d\",o(u)).attr(\"id\",\"edge\"+d).attr(\"class\",\"relation\"),c=\"\";l.arrowMarkerAbsolute&&(c=window.location.protocol+\"//\"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\\(/g,\"\\\\(\"),c=c.replace(/\\)/g,\"\\\\)\")),\"none\"!==e.relation.type1&&s.attr(\"marker-start\",\"url(\"+c+\"#\"+i(e.relation.type1)+\"Start)\"),\"none\"!==e.relation.type2&&s.attr(\"marker-end\",\"url(\"+c+\"#\"+i(e.relation.type2)+\"End)\");var h,f,p=n.points.length;if(p%2!==0){var g=n.points[Math.floor(p/2)],y=n.points[Math.ceil(p/2)];h=(g.x+y.x)/2,f=(g.y+y.y)/2}else{var m=n.points[Math.floor(p/2)];h=m.x,f=m.y}if(\"undefined\"!=typeof e.title){var v=t.append(\"g\").attr(\"class\",\"classLabel\"),_=v.append(\"text\").attr(\"class\",\"label\").attr(\"x\",h).attr(\"y\",f).attr(\"fill\",\"red\").attr(\"text-anchor\",\"middle\").text(e.title);window.label=_;var b=_.node().getBBox();v.insert(\"rect\",\":first-child\").attr(\"class\",\"box\").attr(\"x\",b.x-l.padding/2).attr(\"y\",b.y-l.padding/2).attr(\"width\",b.width+2*l.padding/2).attr(\"height\",b.height+2*l.padding/2)}d++},g=function(t,n){s.info(\"Rendering class \"+n);var e=function(t,n,e){var r=t.append(\"tspan\").attr(\"x\",l.padding).text(n);e||r.attr(\"dy\",l.textHeight)},r=\"classId\"+c,a={id:r,label:n.id,width:0,height:0},u=t.append(\"g\").attr(\"id\",r).attr(\"class\",\"classGroup\"),o=u.append(\"text\").attr(\"x\",l.padding).attr(\"y\",l.textHeight+l.padding).text(n.id),h=o.node().getBBox().height,f=u.append(\"line\").attr(\"x1\",0).attr(\"y1\",l.padding+h+l.dividerMargin/2).attr(\"y2\",l.padding+h+l.dividerMargin/2),d=u.append(\"text\").attr(\"x\",l.padding).attr(\"y\",h+l.dividerMargin+l.textHeight).attr(\"fill\",\"white\").attr(\"class\",\"classText\"),p=!0;n.members.forEach(function(t){e(d,t,p),p=!1});var g=d.node().getBBox(),y=u.append(\"line\").attr(\"x1\",0).attr(\"y1\",l.padding+h+3*l.dividerMargin/2+g.height).attr(\"y2\",l.padding+h+3*l.dividerMargin/2+g.height),m=u.append(\"text\").attr(\"x\",l.padding).attr(\"y\",h+2*l.dividerMargin+g.height+l.textHeight).attr(\"fill\",\"white\").attr(\"class\",\"classText\");p=!0,n.methods.forEach(function(t){e(m,t,p),p=!1});var v=u.node().getBBox();return u.insert(\"rect\",\":first-child\").attr(\"x\",0).attr(\"y\",0).attr(\"width\",v.width+2*l.padding).attr(\"height\",v.height+l.padding+.5*l.dividerMargin),f.attr(\"x2\",v.width+2*l.padding),y.attr(\"x2\",v.width+2*l.padding),a.width=v.width+2*l.padding,a.height=v.height+l.padding+.5*l.dividerMargin,i[r]=a,c++,a};n.exports.setConf=function(t){var n=Object.keys(t);n.forEach(function(n){l[n]=t[n]})},n.exports.draw=function(t,n){e.yy.clear(),e.parse(t),s.info(\"Rendering diagram \"+t);var i=a.select(\"#\"+n);f(i);var u=new o.graphlib.Graph({multigraph:!0});u.setGraph({isMultiGraph:!0}),u.setDefaultEdgeLabel(function(){return{}});var c,l=r.getClasses(),d=Object.keys(l);for(c=0;c<d.length;c++){var y=l[d[c]],m=g(i,y);u.setNode(m.id,m),s.info(\"Org height: \"+m.height)}var v=r.getRelations(),c=0;v.forEach(function(t){c+=1,s.info(\"tjoho\"+h(t.id1)+h(t.id2)+JSON.stringify(t)),u.setEdge(h(t.id1),h(t.id2),{relation:t})}),o.layout(u),u.nodes().forEach(function(t){\"undefined\"!=typeof t&&(s.debug(\"Node \"+t+\": \"+JSON.stringify(u.node(t))),a.select(\"#\"+t).attr(\"transform\",\"translate(\"+(u.node(t).x-u.node(t).width/2)+\",\"+(u.node(t).y-u.node(t).height/2)+\" )\"))}),u.edges().forEach(function(t){s.debug(\"Edge \"+t.v+\" -> \"+t.w+\": \"+JSON.stringify(u.edge(t))),p(i,u.edge(t),u.edge(t).relation)}),i.attr(\"height\",\"100%\"),i.attr(\"width\",\"100%\")}},{\"../../d3\":108,\"../../logger\":130,\"./classDb\":109,\"./parser/classDiagram\":111,dagre:52}],111:[function(t,n,e){(function(r){\"use strict\";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[1,11],r=[1,12],i=[1,13],a=[1,15],u=[1,16],o=[1,17],s=[6,8],c=[1,26],l=[1,27],h=[1,28],f=[1,29],d=[1,30],p=[1,31],g=[6,8,13,17,23,26,27,28,29,30,31],y=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],m=[23,45,46,47],v=[23,30,31,45,46,47],_=[23,26,27,28,29,45,46,47],b=[6,8,13],x=[1,46],w={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,\"==\":38,\"--\":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:\"error\",5:\"CLASS_DIAGRAM\",6:\"NEWLINE\",8:\"EOF\",13:\"LABEL\",16:\"CLASS\",17:\"STRUCT_START\",19:\"STRUCT_STOP\",20:\"MEMBER\",21:\"SEPARATOR\",23:\"STR\",26:\"AGGREGATION\",27:\"EXTENSION\",28:\"COMPOSITION\",29:\"DEPENDENCY\",30:\"LINE\",31:\"DOTTED_LINE\",34:\"graphCodeTokens\",36:\"TAGSTART\",37:\"TAGEND\",38:\"==\",39:\"--\",40:\"PCT\",41:\"DEFAULT\",42:\"SPACE\",43:\"MINUS\",44:\"keywords\",45:\"UNICODE_TEXT\",46:\"NUM\",47:\"ALPHA\"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,n,e,r,i,a){var u=a.length-1;switch(i){case 5:this.$=a[u-1]+a[u];break;case 6:this.$=a[u];break;case 7:r.addRelation(a[u]);break;case 8:a[u-1].title=r.cleanupLabel(a[u]),r.addRelation(a[u-1]);break;case 12:r.addMembers(a[u-3],a[u-1]);break;case 13:this.$=[a[u]];break;case 14:a[u].push(a[u-1]),this.$=a[u];break;case 15:break;case 16:r.addMembers(a[u-1],r.cleanupLabel(a[u]));break;case 17:console.warn(\"Member\",a[u]);break;case 18:break;case 19:this.$={id1:a[u-2],id2:a[u],relation:a[u-1],relationTitle1:\"none\",relationTitle2:\"none\"};break;case 20:this.$={id1:a[u-3],id2:a[u],relation:a[u-1],relationTitle1:a[u-2],relationTitle2:\"none\"};break;case 21:this.$={id1:a[u-3],id2:a[u],relation:a[u-2],relationTitle1:\"none\",relationTitle2:a[u-1]};break;case 22:this.$={id1:a[u-4],id2:a[u],relation:a[u-2],relationTitle1:a[u-3],relationTitle2:a[u-1]};break;case 23:this.$={type1:a[u-2],type2:a[u],lineType:a[u-1]};break;case 24:this.$={type1:\"none\",type2:a[u],lineType:a[u-1]};break;case 25:this.$={type1:a[u-1],type2:\"none\",lineType:a[u]};break;case 26:this.$={type1:\"none\",type2:\"none\",lineType:a[u]};break;case 27:this.$=r.relationType.AGGREGATION;break;case 28:this.$=r.relationType.EXTENSION;break;case 29:this.$=r.relationType.COMPOSITION;break;case 30:this.$=r.relationType.DEPENDENCY;break;case 31:this.$=r.lineType.LINE;break;case 32:this.$=r.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:e,20:r,21:i,45:a,46:u,47:o},{8:[1,18]},{6:[1,19],8:[2,3]},n(s,[2,7],{13:[1,20]}),n(s,[2,9]),n(s,[2,10]),n(s,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:c,27:l,28:h,29:f,30:d,31:p}),{10:32,11:14,45:a,46:u,47:o},n(s,[2,17]),n(s,[2,18]),n(g,[2,6],{11:14,10:33,45:a,46:u,47:o}),n(y,[2,46]),n(y,[2,47]),n(y,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:e,20:r,21:i,45:a,46:u,47:o},n(s,[2,8]),{10:35,11:14,23:[1,36],45:a,46:u,47:o},{22:37,24:24,25:25,26:c,27:l,28:h,29:f,30:d,31:p},n(s,[2,16]),{25:38,30:d,31:p},n(m,[2,26],{24:39,26:c,27:l,28:h,29:f}),n(v,[2,27]),n(v,[2,28]),n(v,[2,29]),n(v,[2,30]),n(_,[2,31]),n(_,[2,32]),n(s,[2,11],{17:[1,40]}),n(g,[2,5]),{8:[2,4]},n(b,[2,19]),{10:41,11:14,45:a,46:u,47:o},{10:42,11:14,23:[1,43],45:a,46:u,47:o},n(m,[2,25],{24:44,26:c,27:l,28:h,29:f}),n(m,[2,24]),{18:45,20:x},n(b,[2,21]),n(b,[2,20]),{10:47,11:14,45:a,46:u,47:o},n(m,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:x},n(b,[2,22]),n(s,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},parseError:function(t,n){if(!n.recoverable){var e=function(t,n){this.message=t,this.hash=n};throw e.prototype=Error,new e(t,n)}this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,u=\"\",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,\"undefined\"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError=\"function\"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,M,S=function(){var t;return t=d.lex()||h,\"number\"!=typeof t&&(t=n.symbols_[t]||t),t},D={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||\"undefined\"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),\"undefined\"==typeof x||!x.length||!x[0]){var C=\"\";M=[];for(A in a[b])this.terminals_[A]&&A>l&&M.push(\"'\"+this.terminals_[A]+\"'\");C=d.showPosition?\"Parse error on line \"+(o+1)+\":\\n\"+d.showPosition()+\"\\nExpecting \"+M.join(\", \")+\", got '\"+(this.terminals_[v]||v)+\"'\":\"Parse error on line \"+(o+1)+\": Unexpected \"+(v==h?\"end of input\":\"'\"+(this.terminals_[v]||v)+\"'\"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+b+\", token: \"+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],D.$=r[r.length-k],D._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(D._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(D,[u,s,o,p.yy,x[1],r,i].concat(f)),\"undefined\"!=typeof w)return w;k&&(e=e.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),e.push(this.productions_[x[1]][0]),r.push(D.$),i.push(D._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},A=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\\r\\n?|\\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var n=t.length,e=t.split(/(?:\\r\\n?|\\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?\"...\":\"\")+t.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var t=this.pastInput(),n=new Array(t.length+1).join(\"-\");return t+this.upcomingInput()+\"\\n\"+n+\"^\"},test_match:function(t,n){var e,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\\r\\n?|\\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,n,e,r;this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),a=0;a<i.length;a++)if(e=this._input.match(this.rules[i[a]]),e&&(!n||e[0].length>n[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:\"INITIAL\"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,n,e,r){switch(e){case 0:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin(\"struct\"),17;case 5:return this.popState(),19;case 6:break;case 7:return\"MEMBER\";case 8:return 16;case 9:this.begin(\"string\");break;case 10:this.popState();break;case 11:return\"STR\";case 12:return 27;case 13:return 27;case 14:return 29;case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return\"DOT\";case 23:return\"PLUS\";case 24:return 40;case 25:return\"EQUALS\";case 26:return\"EQUALS\";case 27:return 47;case 28:return\"PUNCTUATION\";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\\n]*)/,/^(?:\\n+)/,/^(?:\\s+)/,/^(?:classDiagram\\b)/,/^(?:[\\{])/,/^(?:\\})/,/^(?:[\\n])/,/^(?:[^\\{\\}\\n]*)/,/^(?:class\\b)/,/^(?:[\"])/,/^(?:[\"])/,/^(?:[^\"]*)/,/^(?:\\s*<\\|)/,/^(?:\\s*\\|>)/,/^(?:\\s*>)/,/^(?:\\s*<)/,/^(?:\\s*\\*)/,/^(?:\\s*o\\b)/,/^(?:--)/,/^(?:\\.\\.)/,/^(?::[^#\\n;]+)/,/^(?:-)/,/^(?:\\.)/,/^(?:\\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!\"#$%&'*+,-.`?\\\\_\\/])/,/^(?:[0-9]+)/,/^(?:[\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC])/,/^(?:\\s)/,/^(?:$)/],conditions:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}};return t}();return w.lexer=A,t.prototype=w,w.Parser=t,new t}();\"undefined\"!=typeof t&&\"undefined\"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log(\"Usage: \"+n[0]+\" FILE\"),r.exit(1));var i=t(\"fs\").readFileSync(t(\"path\").normalize(n[1]),\"utf8\");return e.parser.parse(i)},\"undefined\"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t(\"_process\"))},{_process:106,fs:1,path:105}],112:[function(t,n,e){(function(n){\"use strict\";var r=t(\"../../logger\"),i=new r.Log,a=\"\",u=!1;e.setMessage=function(t){i.debug(\"Setting message to: \"+t),a=t},e.getMessage=function(){return a},e.setInfo=function(t){u=t},e.getInfo=function(){return u},e.parseError=function(t,e){n.mermaidAPI.parseError(t,e)}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../../logger\":130}],113:[function(t,n,e){\"use strict\";var r=t(\"./exampleDb\"),i=t(\"./parser/example.js\"),a=t(\"../../d3\"),u=t(\"../../logger\"),o=new u.Log;e.draw=function(t,n,e){var u;u=i.parser,u.yy=r,o.debug(\"Renering example diagram\"),u.parse(t);var s=a.select(\"#\"+n),c=s.append(\"g\");c.append(\"text\").attr(\"x\",100).attr(\"y\",40).attr(\"class\",\"version\").attr(\"font-size\",\"32px\").style(\"text-anchor\",\"middle\").text(\"mermaid \"+e),s.attr(\"height\",100),s.attr(\"width\",400)}},{\"../../d3\":108,\"../../logger\":130,\"./exampleDb\":112,\"./parser/example.js\":114}],114:[function(t,n,e){(function(r){\"use strict\";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[6,9,10,12],r={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,message:11,say:12,TXT:13,$accept:0,$end:1},terminals_:{2:\"error\",4:\"info\",6:\"EOF\",9:\"NL\",10:\"showInfo\",12:\"say\",13:\"TXT\"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1],[8,1],[11,2]],performAction:function(t,n,e,r,i,a){var u=a.length-1;switch(i){case 1:return r;case 4:break;case 6:r.setInfo(!0);break;case 7:r.setMessage(a[u]);break;case 8:this.$=a[u-1].substring(1).trim().replace(/\\\\n/gm,\"\\n\")}},table:[{3:1,4:[1,2]},{1:[3]},n(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:9,12:[1,10]},{1:[2,1]},n(e,[2,3]),n(e,[2,4]),n(e,[2,5]),n(e,[2,6]),n(e,[2,7]),{13:[1,11]},n(e,[2,8])],defaultActions:{4:[2,1]},parseError:function(t,n){if(!n.recoverable){var e=function(t,n){this.message=t,this.hash=n};throw e.prototype=Error,new e(t,n)}this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,u=\"\",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={\nyy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,\"undefined\"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError=\"function\"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,M,S=function(){var t;return t=d.lex()||h,\"number\"!=typeof t&&(t=n.symbols_[t]||t),t},D={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||\"undefined\"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),\"undefined\"==typeof x||!x.length||!x[0]){var C=\"\";M=[];for(A in a[b])this.terminals_[A]&&A>l&&M.push(\"'\"+this.terminals_[A]+\"'\");C=d.showPosition?\"Parse error on line \"+(o+1)+\":\\n\"+d.showPosition()+\"\\nExpecting \"+M.join(\", \")+\", got '\"+(this.terminals_[v]||v)+\"'\":\"Parse error on line \"+(o+1)+\": Unexpected \"+(v==h?\"end of input\":\"'\"+(this.terminals_[v]||v)+\"'\"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+b+\", token: \"+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],D.$=r[r.length-k],D._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(D._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(D,[u,s,o,p.yy,x[1],r,i].concat(f)),\"undefined\"!=typeof w)return w;k&&(e=e.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),e.push(this.productions_[x[1]][0]),r.push(D.$),i.push(D._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},i=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\\r\\n?|\\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var n=t.length,e=t.split(/(?:\\r\\n?|\\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?\"...\":\"\")+t.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var t=this.pastInput(),n=new Array(t.length+1).join(\"-\");return t+this.upcomingInput()+\"\\n\"+n+\"^\"},test_match:function(t,n){var e,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\\r\\n?|\\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,n,e,r;this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),a=0;a<i.length;a++)if(e=this._input.match(this.rules[i[a]]),e&&(!n||e[0].length>n[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:\"INITIAL\"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(t,n,e,r){switch(e){case 0:return 9;case 1:return 10;case 2:return 4;case 3:return 12;case 4:return 13;case 5:return 6;case 6:return\"INVALID\"}},rules:[/^(?:[\\n]+)/i,/^(?:showInfo\\b)/i,/^(?:info\\b)/i,/^(?:say\\b)/i,/^(?::[^#\\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6],inclusive:!0}}};return t}();return r.lexer=i,t.prototype=r,r.Parser=t,new t}();\"undefined\"!=typeof t&&\"undefined\"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log(\"Usage: \"+n[0]+\" FILE\"),r.exit(1));var i=t(\"fs\").readFileSync(t(\"path\").normalize(n[1]),\"utf8\");return e.parser.parse(i)},\"undefined\"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t(\"_process\"))},{_process:106,fs:1,path:105}],115:[function(t,n){\"use strict\";var e,r=t(\"../../logger\"),i=new r.Log;if(t)try{e=t(\"dagre-d3\")}catch(a){i.debug(\"Could not load dagre-d3\")}e||(e=window.dagreD3),n.exports=e},{\"../../logger\":130,\"dagre-d3\":3}],116:[function(t,n,e){\"use strict\";var r=t(\"./graphDb\"),i=t(\"./parser/flow\"),a=t(\"./parser/dot\"),u=t(\"../../d3\"),o=t(\"./dagre-d3\"),s=t(\"../../logger\"),c=new s.Log,l={};n.exports.setConf=function(t){var n,e=Object.keys(t);for(n=0;n<e.length;n++)l[e[n]]=t[e[n]]},e.addVertices=function(t,n){var e=Object.keys(t),r=function(t,n){var e;for(e=0;e<n.length;e++)\"undefined\"!=typeof n[e]&&(t=t+n[e]+\";\");return t};e.forEach(function(e){var i,a=t[e],u=\"\";a.classes.length>0&&(u=a.classes.join(\" \"));var o=\"\";o=r(o,a.styles),i=\"undefined\"==typeof a.text?a.id:a.text;var s=\"\";if(l.htmlLabels)s=\"html\",i=i.replace(/fa:fa[\\w\\-]+/g,function(t){return'<i class=\"fa '+t.substring(3)+'\"></i>'});else{var c=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),h=i.split(/<br>/),f=0;for(f=0;f<h.length;f++){var d=document.createElementNS(\"http://www.w3.org/2000/svg\",\"tspan\");d.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\",\"xml:space\",\"preserve\"),d.setAttribute(\"dy\",\"1em\"),d.setAttribute(\"x\",\"1\"),d.textContent=h[f],c.appendChild(d)}s=\"svg\",i=c}var p=0,g=\"\";switch(a.type){case\"round\":p=5,g=\"rect\";break;case\"square\":g=\"rect\";break;case\"diamond\":g=\"question\";break;case\"odd\":g=\"rect_left_inv_arrow\";break;case\"odd_right\":g=\"rect_left_inv_arrow\";break;case\"circle\":g=\"circle\";break;case\"ellipse\":g=\"ellipse\";break;case\"group\":g=\"rect\",i=l.htmlLabels?\"\":document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\");break;default:g=\"rect\"}n.setNode(a.id,{labelType:s,shape:g,label:i,rx:p,ry:p,\"class\":u,style:o,id:a.id})})},e.addEdges=function(t,n){var e,r=0;\"undefined\"!=typeof t.defaultStyle&&(e=t.defaultStyle.toString().replace(/,/g,\";\")),t.forEach(function(i){r++;var a={};a.arrowhead=\"arrow_open\"===i.type?\"none\":\"normal\";var u=\"\";if(\"undefined\"!=typeof i.style)i.style.forEach(function(t){u=u+t+\";\"});else switch(i.stroke){case\"normal\":u=\"fill:none\",\"undefined\"!=typeof e&&(u=e);break;case\"dotted\":u=\"stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;\";break;case\"thick\":u=\"stroke: #333; stroke-width: 3.5px;fill:none\"}a.style=u,\"undefined\"!=typeof i.interpolate?a.lineInterpolate=i.interpolate:\"undefined\"!=typeof t.defaultInterpolate&&(a.lineInterpolate=t.defaultInterpolate),\"undefined\"==typeof i.text?\"undefined\"!=typeof i.style&&(a.arrowheadStyle=\"fill: #333\"):(a.arrowheadStyle=\"fill: #333\",\"undefined\"==typeof i.style?(a.labelpos=\"c\",l.htmlLabels?(a.labelType=\"html\",a.label='<span class=\"edgeLabel\">'+i.text+\"</span>\"):(a.labelType=\"text\",a.style=\"stroke: #333; stroke-width: 1.5px;fill:none\",a.label=i.text.replace(/<br>/g,\"\\n\"))):a.label=i.text.replace(/<br>/g,\"\\n\")),n.setEdge(i.start,i.end,a,r)})},e.getClasses=function(t,n){var e;r.clear(),e=n?a.parser:i.parser,e.yy=r,e.parse(t);var u=r.getClasses();return\"undefined\"==typeof u[\"default\"]&&(u[\"default\"]={id:\"default\"},u[\"default\"].styles=[],u[\"default\"].clusterStyles=[\"rx:4px\",\"fill: rgb(255, 255, 222)\",\"rx: 4px\",\"stroke: rgb(170, 170, 51)\",\"stroke-width: 1px\"],u[\"default\"].nodeLabelStyles=[\"fill:#000\",\"stroke:none\",\"font-weight:300\",'font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serf',\"font-size:14px\"],u[\"default\"].edgeLabelStyles=[\"fill:#000\",\"stroke:none\",\"font-weight:300\",'font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serf',\"font-size:14px\"]),u},e.draw=function(t,n,s){c.debug(\"Drawing flowchart\");var h;r.clear(),h=s?a.parser:i.parser,h.yy=r;try{h.parse(t)}catch(f){c.debug(\"Parsing failed\")}var d;d=r.getDirection(),\"undefined\"==typeof d&&(d=\"TD\");var p,g=new o.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:d,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),y=r.getSubGraphs(),m=0;for(m=y.length-1;m>=0;m--)p=y[m],r.addVertex(p.id,p.title,\"group\",void 0);var v=r.getVertices(),_=r.getEdges();m=0;var b;for(m=y.length-1;m>=0;m--)for(p=y[m],u.selectAll(\"cluster\").append(\"text\"),b=0;b<p.nodes.length;b++)g.setParent(p.nodes[b],p.id);e.addVertices(v,g),e.addEdges(_,g);var x=new o.render;x.shapes().question=function(t,n,e){var r=n.width,i=n.height,a=.8*(r+i),u=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=t.insert(\"polygon\",\":first-child\").attr(\"points\",u.map(function(t){return t.x+\",\"+t.y}).join(\" \")).attr(\"rx\",5).attr(\"ry\",5).attr(\"transform\",\"translate(\"+-a/2+\",\"+2*a/4+\")\");return e.intersect=function(t){return o.intersect.polygon(e,u,t)},s},x.shapes().rect_left_inv_arrow=function(t,n,e){var r=n.width,i=n.height,a=[{x:-i/2,y:0},{x:r,y:0},{x:r,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],u=t.insert(\"polygon\",\":first-child\").attr(\"points\",a.map(function(t){return t.x+\",\"+t.y}).join(\" \")).attr(\"transform\",\"translate(\"+-r/2+\",\"+2*i/4+\")\");return e.intersect=function(t){return o.intersect.polygon(e,a,t)},u},x.shapes().rect_right_inv_arrow=function(t,n,e){var r=n.width,i=n.height,a=[{x:0,y:0},{x:r+i/2,y:0},{x:r,y:-i/2},{x:r+i/2,y:-i},{x:0,y:-i}],u=t.insert(\"polygon\",\":first-child\").attr(\"points\",a.map(function(t){return t.x+\",\"+t.y}).join(\" \")).attr(\"transform\",\"translate(\"+-r/2+\",\"+2*i/4+\")\");return e.intersect=function(t){return o.intersect.polygon(e,a,t)},u},x.arrows().none=function(t,n,e,r){var i=t.append(\"marker\").attr(\"id\",n).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\"),a=i.append(\"path\").attr(\"d\",\"M 0 0 L 0 0 L 0 0 z\");o.util.applyStyle(a,e[r+\"Style\"])},x.arrows().normal=function(t,n){{var e=t.append(\"marker\").attr(\"id\",n).attr(\"viewBox\",\"0 0 10 10\").attr(\"refX\",9).attr(\"refY\",5).attr(\"markerUnits\",\"strokeWidth\").attr(\"markerWidth\",8).attr(\"markerHeight\",6).attr(\"orient\",\"auto\");e.append(\"path\").attr(\"d\",\"M 0 0 L 10 5 L 0 10 z\").attr(\"class\",\"arrowheadPath\").style(\"stroke-width\",1).style(\"stroke-dasharray\",\"1,0\")}};var w=u.select(\"#\"+n),A=u.select(\"#\"+n+\" g\");for(x(A,g),A.selectAll(\"g.node\").attr(\"title\",function(){return r.getTooltip(this.id)}),l.useMaxWidth?(w.attr(\"height\",\"100%\"),w.attr(\"width\",l.width),w.attr(\"viewBox\",\"0 0 \"+(g.graph().width+20)+\" \"+(g.graph().height+20)),w.attr(\"style\",\"max-width:\"+(g.graph().width+20)+\"px;\")):(w.attr(\"height\",g.graph().height),\"undefined\"==typeof l.width?w.attr(\"width\",g.graph().width):w.attr(\"width\",l.width),w.attr(\"viewBox\",\"0 0 \"+(g.graph().width+20)+\" \"+(g.graph().height+20))),r.indexNodes(\"subGraph\"+m),m=0;m<y.length;m++)if(p=y[m],\"undefined\"!==p.title){var k=document.querySelectorAll(\"#\"+n+\" #\"+p.id+\" rect\"),E=document.querySelectorAll(\"#\"+n+\" #\"+p.id),M=k[0].x.baseVal.value,S=k[0].y.baseVal.value,D=k[0].width.baseVal.value,C=u.select(E[0]),T=C.append(\"text\");T.attr(\"x\",M+D/2),T.attr(\"y\",S+14),T.attr(\"fill\",\"black\"),T.attr(\"stroke\",\"none\"),T.attr(\"id\",n+\"Text\"),T.style(\"text-anchor\",\"middle\"),T.text(\"undefined\"==typeof p.title?\"Undef\":p.title)}if(!l.htmlLabels){var m,F=document.querySelectorAll(\"#\"+n+\" .edgeLabel .label\");for(m=0;m<F.length;m++){var O=F[m],L=O.getBBox(),I=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");I.setAttribute(\"rx\",0),I.setAttribute(\"ry\",0),I.setAttribute(\"width\",L.width),I.setAttribute(\"height\",L.height),I.setAttribute(\"style\",\"fill:#e8e8e8;\"),O.insertBefore(I,O.firstChild)}}}},{\"../../d3\":108,\"../../logger\":130,\"./dagre-d3\":115,\"./graphDb\":117,\"./parser/dot\":118,\"./parser/flow\":119}],117:[function(require,module,exports){(function(global){\"use strict\";var Logger=require(\"../../logger\"),log=new Logger.Log,utils=require(\"../../utils\"),d3=require(\"../../d3\"),vertices={},edges=[],classes=[],subGraphs=[],tooltips={},subCount=0,direction,funs=[];exports.addVertex=function(t,n,e,r){var i;\"undefined\"!=typeof t&&0!==t.trim().length&&(\"undefined\"==typeof vertices[t]&&(vertices[t]={id:t,styles:[],classes:[]}),\"undefined\"!=typeof n&&(i=n.trim(),'\"'===i[0]&&'\"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),vertices[t].text=i),\"undefined\"!=typeof e&&(vertices[t].type=e),\"undefined\"!=typeof e&&(vertices[t].type=e),\"undefined\"!=typeof r&&null!==r&&r.forEach(function(n){vertices[t].styles.push(n)}))},exports.addLink=function(t,n,e,r){log.info(\"Got edge...\",t,n);var i={start:t,end:n,type:void 0,text:\"\"};r=e.text,\"undefined\"!=typeof r&&(i.text=r.trim(),'\"'===i.text[0]&&'\"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),\"undefined\"!=typeof e&&(i.type=e.type,i.stroke=e.stroke),edges.push(i)},exports.updateLinkInterpolate=function(t,n){\"default\"===t?edges.defaultInterpolate=n:edges[t].interpolate=n},exports.updateLink=function(t,n){\"default\"===t?edges.defaultStyle=n:(-1===utils.isSubstringInArray(\"fill\",n)&&n.push(\"fill:none\"),edges[t].style=n)},exports.addClass=function(t,n){\"undefined\"==typeof classes[t]&&(classes[t]={id:t,styles:[]}),\"undefined\"!=typeof n&&null!==n&&n.forEach(function(n){classes[t].styles.push(n)})},exports.setDirection=function(t){direction=t},exports.setClass=function(t,n){t.indexOf(\",\")>0?t.split(\",\").forEach(function(t){\"undefined\"!=typeof vertices[t]&&vertices[t].classes.push(n)}):\"undefined\"!=typeof vertices[t]&&vertices[t].classes.push(n)};var setTooltip=function(t,n){\"undefined\"!=typeof n&&(tooltips[t]=n)},setClickFun=function setClickFun(id,functionName){\"undefined\"!=typeof functionName&&\"undefined\"!=typeof vertices[id]&&funs.push(function(element){var elem=d3.select(element).select(\"#\"+id);null!==elem&&elem.on(\"click\",function(){eval(functionName+\"('\"+id+\"')\")})})},setLink=function(t,n){\"undefined\"!=typeof n&&\"undefined\"!=typeof vertices[t]&&funs.push(function(e){var r=d3.select(e).select(\"#\"+t);null!==r&&r.on(\"click\",function(){window.open(n,\"newTab\")})})};exports.getTooltip=function(t){return tooltips[t]},exports.setClickEvent=function(t,n,e,r){t.indexOf(\",\")>0?t.split(\",\").forEach(function(t){setTooltip(t,r),setClickFun(t,n),setLink(t,e)}):(setTooltip(t,r),setClickFun(t,n),setLink(t,e))},exports.bindFunctions=function(t){funs.forEach(function(n){n(t)})},exports.getDirection=function(){return direction},exports.getVertices=function(){return vertices},exports.getEdges=function(){return edges},exports.getClasses=function(){return classes};var setupToolTips=function(t){var n=d3.select(\".mermaidTooltip\");null===n[0][0]&&(n=d3.select(\"body\").append(\"div\").attr(\"class\",\"mermaidTooltip\").style(\"opacity\",0));var e=d3.select(t).select(\"svg\"),r=e.selectAll(\"g.node\");r.on(\"mouseover\",function(){var t=d3.select(this),e=t.attr(\"title\");if(null!==e){var r=this.getBoundingClientRect();n.transition().duration(200).style(\"opacity\",\".9\"),n.html(t.attr(\"title\")).style(\"left\",r.left+(r.right-r.left)/2+\"px\").style(\"top\",r.top-14+document.body.scrollTop+\"px\"),t.classed(\"hover\",!0)}}).on(\"mouseout\",function(){n.transition().duration(500).style(\"opacity\",0);var t=d3.select(this);t.classed(\"hover\",!1)})};funs.push(setupToolTips),exports.clear=function(){vertices={},classes={},edges=[],funs=[],funs.push(setupToolTips),subGraphs=[],subCount=0,tooltips=[]},exports.defaultStyle=function(){return\"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;\"},exports.addSubGraph=function(t,n){function e(t){var n={\"boolean\":{},number:{},string:{}},e=[];return t.filter(function(t){var r=typeof t;return\" \"===t?!1:r in n?n[r].hasOwnProperty(t)?!1:n[r][t]=!0:e.indexOf(t)>=0?!1:e.push(t)})}var r=[];r=e(r.concat.apply(r,t));var i={id:\"subGraph\"+subCount,nodes:r,title:n};return subGraphs.push(i),subCount+=1,i.id};var getPosForId=function(t){var n;for(n=0;n<subGraphs.length;n++)if(subGraphs[n].id===t)return n;return-1},secCount=-1,posCrossRef=[],indexNodes=function t(n,e){var r=subGraphs[e].nodes;if(secCount+=1,!(secCount>2e3)){if(posCrossRef[secCount]=e,subGraphs[e].id===n)return{result:!0,count:0};for(var i=0,a=1;i<r.length;){var u=getPosForId(r[i]);if(u>=0){var o=t(n,u);if(o.result)return{result:!0,count:a+o.count};a+=o.count}i+=1}return{result:!1,count:a}}};exports.getDepthFirstPos=function(t){return posCrossRef[t]},exports.indexNodes=function(){secCount=-1,subGraphs.length>0&&indexNodes(\"none\",subGraphs.length-1,0)},exports.getSubGraphs=function(){return subGraphs},exports.parseError=function(t,n){global.mermaidAPI.parseError(t,n)}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../../d3\":108,\"../../logger\":130,\"../../utils\":132}],118:[function(t,n,e){(function(r){\"use strict\";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[1,5],r=[1,6],i=[1,12],a=[1,13],u=[1,14],o=[1,15],s=[1,16],c=[1,17],l=[1,18],h=[1,19],f=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],y=[1,37],m=[1,33],v=[1,34],_=[1,35],b=[1,36],x=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],w=[10,28],A=[10,28,37,57,58],k=[2,49],E=[1,45],M=[1,48],S=[1,49],D=[1,52],C=[2,65],T=[1,65],F=[1,66],O=[1,67],L=[1,68],I=[1,69],B=[1,70],N=[1,71],P=[1,72],R=[1,73],j=[8,16,17,18,19,20,21,22,23,24,25,26,47],Y=[10,28,37],U={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,\"{\":8,stmt_list:9,\"}\":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,\";\":28,node_stmt:29,edge_stmt:30,attr_stmt:31,\"=\":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,\"[\":37,a_list:38,\"]\":39,\",\":40,edgeRHS:41,node_id:42,edgeop:43,port:44,\":\":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:\"error\",5:\"EOF\",8:\"{\",10:\"}\",11:\"strict\",12:\"GRAPH\",13:\"DIGRAPH\",16:\"ALPHA\",17:\"NUM\",18:\"COLON\",19:\"PLUS\",20:\"EQUALS\",21:\"MULT\",22:\"DOT\",23:\"BRKT\",24:\"SPACE\",25:\"MINUS\",26:\"keywords\",28:\";\",32:\"=\",35:\"NODE\",36:\"EDGE\",37:\"[\",39:\"]\",40:\",\",45:\":\",47:\"SUBGRAPH\",48:\"n\",49:\"ne\",50:\"e\",51:\"se\",52:\"s\",53:\"sw\",54:\"w\",55:\"nw\",56:\"c\",57:\"ARROW_POINT\",58:\"ARROW_OPEN\"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(t,n,e,r,i,a){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+\"\"+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$=\"<br>\";break;case 39:this.$=\"oy\";break;case 40:r.addLink(a[u-1],a[u].id,a[u].op),this.$=\"oy\";break;case 42:r.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:r.addVertex(a[u-1]),this.$=a[u-1];break;case 49:r.addVertex(a[u]),this.$=a[u];break;case 66:this.$=\"arrow\";break;case 67:this.$=\"arrow_open\"}},table:[{3:1,4:2,6:3,11:[1,4],12:e,13:r},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{6:23,12:e,13:r},n(g,[2,5]),n(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:y,9:25,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},n([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p}),n(x,[2,8]),n(x,[2,10]),n(x,[2,11]),n(x,[2,12]),n(x,[2,13]),n(x,[2,14]),n(x,[2,15]),n(x,[2,16]),n(x,[2,17]),n(x,[2,18]),n(x,[2,19]),n(x,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:40,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,41]},{10:[2,21],28:[1,42]},n(w,[2,23]),n(w,[2,24]),n(w,[2,25]),n(A,k,{44:44,32:[1,43],45:E}),n(w,[2,27],{41:46,43:47,57:M,58:S}),n(w,[2,47],{43:47,34:50,41:51,37:D,57:M,58:S}),{34:53,37:D},{34:54,37:D},{34:55,37:D},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{7:30,8:y,9:58,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},n(x,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:y,9:61,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{7:62,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},n(A,[2,48]),n(A,C,{14:10,15:11,7:63,46:64,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,48:T,49:F,50:O,51:L,52:I,53:B,54:N,55:P,56:R}),n(w,[2,41],{34:74,37:D}),{7:77,8:y,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,33:76,42:75,47:b},n(j,[2,66]),n(j,[2,67]),n(w,[2,46]),n(w,[2,40],{34:78,37:D}),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:79,39:[1,80]},n(w,[2,28]),n(w,[2,29]),n(w,[2,30]),{8:[1,82]},{7:30,8:y,9:83,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,84]},{7:30,8:y,9:85,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{5:[2,2]},{10:[2,22]},n(w,[2,26]),n(A,[2,51],{45:[1,86]}),n(A,[2,52]),n(A,[2,56]),n(A,[2,57]),n(A,[2,58]),n(A,[2,59]),n(A,[2,60]),n(A,[2,61]),n(A,[2,62]),n(A,[2,63]),n(A,[2,64]),n(w,[2,38]),n(Y,[2,44],{43:47,41:87,57:M,58:S}),n(Y,[2,45],{43:47,41:88,57:M,58:S}),n(A,k,{44:44,45:E}),n(w,[2,39]),{39:[1,89]},n(w,[2,34],{34:90,37:D}),{32:[1,91]},{7:30,8:y,9:92,12:m,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:v,36:_,42:32,47:b},{10:[1,93]},n(A,[2,55]),{10:[1,94]},n(A,C,{46:95,48:T,49:F,50:O,51:L,52:I,53:B,54:N,55:P,56:R}),n(Y,[2,42]),n(Y,[2,43]),n(w,[2,33],{34:96,37:D}),n(w,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p},{10:[1,98]},n(A,[2,54]),{5:[2,3]},n(A,[2,50]),n(w,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},n(A,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:a,18:u,19:o,20:s,21:c,22:l,23:h,24:f,25:d,26:p,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(t,n){if(!n.recoverable){var e=function(t,n){this.message=t,this.hash=n};throw e.prototype=Error,new e(t,n)}this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,u=\"\",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,\"undefined\"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError=\"function\"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,M,S=function(){var t;return t=d.lex()||h,\"number\"!=typeof t&&(t=n.symbols_[t]||t),t},D={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||\"undefined\"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),\"undefined\"==typeof x||!x.length||!x[0]){var C=\"\";M=[];for(A in a[b])this.terminals_[A]&&A>l&&M.push(\"'\"+this.terminals_[A]+\"'\");C=d.showPosition?\"Parse error on line \"+(o+1)+\":\\n\"+d.showPosition()+\"\\nExpecting \"+M.join(\", \")+\", got '\"+(this.terminals_[v]||v)+\"'\":\"Parse error on line \"+(o+1)+\": Unexpected \"+(v==h?\"end of input\":\"'\"+(this.terminals_[v]||v)+\"'\"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+b+\", token: \"+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],D.$=r[r.length-k],D._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(D._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(D,[u,s,o,p.yy,x[1],r,i].concat(f)),\"undefined\"!=typeof w)return w;k&&(e=e.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),e.push(this.productions_[x[1]][0]),r.push(D.$),i.push(D._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},$=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\\r\\n?|\\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var n=t.length,e=t.split(/(?:\\r\\n?|\\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?\"...\":\"\")+t.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var t=this.pastInput(),n=new Array(t.length+1).join(\"-\");return t+this.upcomingInput()+\"\\n\"+n+\"^\"},test_match:function(t,n){var e,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\\r\\n?|\\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;\n\nthis._input||(this.done=!0);var t,n,e,r;this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),a=0;a<i.length;a++)if(e=this._input.match(this.rules[i[a]]),e&&(!n||e[0].length>n[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:\"INITIAL\"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,n,e,r){switch(e){case 0:return\"STYLE\";case 1:return\"LINKSTYLE\";case 2:return\"CLASSDEF\";case 3:return\"CLASS\";case 4:return\"CLICK\";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:return\"DIR\";case 11:return\"DIR\";case 12:return\"DIR\";case 13:return\"DIR\";case 14:return\"DIR\";case 15:return\"DIR\";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return\"ARROW_CROSS\";case 25:return 57;case 26:return\"ARROW_CIRCLE\";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return\"PIPE\";case 33:return\"PS\";case 34:return\"PE\";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return\"QUOTE\";case 40:return 24;case 41:return\"NEWLINE\";case 42:return 5}},rules:[/^(?:style\\b)/,/^(?:linkStyle\\b)/,/^(?:classDef\\b)/,/^(?:class\\b)/,/^(?:click\\b)/,/^(?:graph\\b)/,/^(?:digraph\\b)/,/^(?:subgraph\\b)/,/^(?:node\\b)/,/^(?:edge\\b)/,/^(?:LR\\b)/,/^(?:RL\\b)/,/^(?:TB\\b)/,/^(?:BT\\b)/,/^(?:TD\\b)/,/^(?:BR\\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\\*)/,/^(?:\\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\\+)/,/^(?:=)/,/^(?:[\\u0021-\\u0027\\u002A-\\u002E\\u003F\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC_])/,/^(?:\\|)/,/^(?:\\()/,/^(?:\\))/,/^(?:\\[)/,/^(?:\\])/,/^(?:\\{)/,/^(?:\\})/,/^(?:\")/,/^(?:\\s)/,/^(?:\\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!0}}};return t}();return U.lexer=$,t.prototype=U,U.Parser=t,new t}();\"undefined\"!=typeof t&&\"undefined\"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log(\"Usage: \"+n[0]+\" FILE\"),r.exit(1));var i=t(\"fs\").readFileSync(t(\"path\").normalize(n[1]),\"utf8\");return e.parser.parse(i)},\"undefined\"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t(\"_process\"))},{_process:106,fs:1,path:105}],119:[function(t,n,e){(function(r){\"use strict\";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[1,4],r=[1,3],i=[1,5],a=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],u=[2,2],o=[1,12],s=[1,13],c=[1,14],l=[1,15],h=[1,31],f=[1,33],d=[1,22],p=[1,34],g=[1,24],y=[1,25],m=[1,26],v=[1,27],_=[1,28],b=[1,38],x=[1,40],w=[1,35],A=[1,39],k=[1,45],E=[1,44],M=[1,36],S=[1,37],D=[1,41],C=[1,42],T=[1,43],F=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],O=[1,53],L=[1,52],I=[1,54],B=[1,72],N=[1,80],P=[1,81],R=[1,66],j=[1,65],Y=[1,85],U=[1,84],$=[1,82],W=[1,83],z=[1,73],q=[1,68],G=[1,67],H=[1,63],V=[1,75],Z=[1,76],X=[1,77],K=[1,78],Q=[1,79],J=[1,70],tt=[1,69],nt=[8,9,11],et=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],rt=[1,115],it=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],at=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],ut=[1,117],ot=[1,118],st=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ct=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],ht=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],ft=[1,191],dt=[1,188],pt=[1,195],gt=[1,192],yt=[1,189],mt=[1,196],vt=[1,186],_t=[1,187],bt=[1,190],xt=[1,193],wt=[1,194],At=[1,213],kt=[8,9,11,86],Et=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],Mt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,\"(-\":40,\"-)\":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,\"--\":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,\"-.\":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,\"==\":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:\"error\",8:\"SEMI\",9:\"NEWLINE\",10:\"SPACE\",11:\"EOF\",12:\"GRAPH\",13:\"DIR\",15:\"TAGEND\",16:\"TAGSTART\",17:\"UP\",18:\"DOWN\",30:\"subgraph\",32:\"end\",36:\"SQS\",37:\"SQE\",38:\"PS\",39:\"PE\",40:\"(-\",41:\"-)\",42:\"DIAMOND_START\",43:\"DIAMOND_STOP\",46:\"MINUS\",49:\"TESTSTR\",50:\"--\",51:\"ARROW_POINT\",52:\"ARROW_CIRCLE\",53:\"ARROW_CROSS\",54:\"ARROW_OPEN\",55:\"-.\",56:\"DOTTED_ARROW_POINT\",57:\"DOTTED_ARROW_CIRCLE\",58:\"DOTTED_ARROW_CROSS\",59:\"DOTTED_ARROW_OPEN\",60:\"==\",61:\"THICK_ARROW_POINT\",62:\"THICK_ARROW_CIRCLE\",63:\"THICK_ARROW_CROSS\",64:\"THICK_ARROW_OPEN\",65:\"PIPE\",67:\"STR\",71:\"STYLE\",72:\"LINKSTYLE\",73:\"CLASSDEF\",74:\"CLASS\",75:\"CLICK\",78:\"DEFAULT\",80:\"HEX\",81:\"NUM\",82:\"INTERPOLATE\",84:\"PCT\",86:\"COMMA\",88:\"ALPHA\",89:\"COLON\",90:\"UNIT\",91:\"BRKT\",92:\"DOT\",94:\"PUNCTUATION\",95:\"UNICODE_TEXT\",96:\"PLUS\",97:\"EQUALS\",98:\"MULT\",99:\"TAG_START\",100:\"TAG_END\",101:\"QUOTE\"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,n,e,r,i,a){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=a[u];break;case 11:r.setDirection(a[u-1]),this.$=a[u-1];break;case 12:r.setDirection(\"LR\"),this.$=a[u-1];break;case 13:r.setDirection(\"RL\"),this.$=a[u-1];break;case 14:r.setDirection(\"BT\"),this.$=a[u-1];break;case 15:r.setDirection(\"TB\"),this.$=a[u-1];break;case 30:this.$=a[u-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=r.addSubGraph(a[u-1],a[u-3]);break;case 37:this.$=r.addSubGraph(a[u-1],void 0);break;case 41:r.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 42:this.$=[a[u]];break;case 43:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],\"square\");break;case 44:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],\"square\");break;case 45:this.$=a[u-5],r.addVertex(a[u-5],a[u-2],\"circle\");break;case 46:this.$=a[u-6],r.addVertex(a[u-6],a[u-3],\"circle\");break;case 47:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],\"ellipse\");break;case 48:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],\"ellipse\");break;case 49:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],\"round\");break;case 50:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],\"round\");break;case 51:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],\"diamond\");break;case 52:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],\"diamond\");break;case 53:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],\"odd\");break;case 54:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],\"odd\");break;case 55:this.$=a[u],r.addVertex(a[u]);break;case 56:this.$=a[u-1],r.addVertex(a[u-1]);break;case 58:case 93:case 96:case 109:this.$=a[u-1]+\"\"+a[u];break;case 61:this.$=\"v\";break;case 62:this.$=\"-\";break;case 63:a[u-1].text=a[u],this.$=a[u-1];break;case 64:case 65:a[u-2].text=a[u-1],this.$=a[u-2];break;case 66:this.$=a[u];break;case 67:this.$={type:\"arrow\",stroke:\"normal\",text:a[u-1]};break;case 68:this.$={type:\"arrow_circle\",stroke:\"normal\",text:a[u-1]};break;case 69:this.$={type:\"arrow_cross\",stroke:\"normal\",text:a[u-1]};break;case 70:this.$={type:\"arrow_open\",stroke:\"normal\",text:a[u-1]};break;case 71:this.$={type:\"arrow\",stroke:\"dotted\",text:a[u-1]};break;case 72:this.$={type:\"arrow_circle\",stroke:\"dotted\",text:a[u-1]};break;case 73:this.$={type:\"arrow_cross\",stroke:\"dotted\",text:a[u-1]};break;case 74:this.$={type:\"arrow_open\",stroke:\"dotted\",text:a[u-1]};break;case 75:this.$={type:\"arrow\",stroke:\"thick\",text:a[u-1]};break;case 76:this.$={type:\"arrow_circle\",stroke:\"thick\",text:a[u-1]};break;case 77:this.$={type:\"arrow_cross\",stroke:\"thick\",text:a[u-1]};break;case 78:this.$={type:\"arrow_open\",stroke:\"thick\",text:a[u-1]};break;case 79:this.$={type:\"arrow\",stroke:\"normal\"};break;case 80:this.$={type:\"arrow_circle\",stroke:\"normal\"};break;case 81:this.$={type:\"arrow_cross\",stroke:\"normal\"};break;case 82:this.$={type:\"arrow_open\",stroke:\"normal\"};break;case 83:this.$={type:\"arrow\",stroke:\"dotted\"};break;case 84:this.$={type:\"arrow_circle\",stroke:\"dotted\"};break;case 85:this.$={type:\"arrow_cross\",stroke:\"dotted\"};break;case 86:this.$={type:\"arrow_open\",stroke:\"dotted\"};break;case 87:this.$={type:\"arrow\",stroke:\"thick\"};break;case 88:this.$={type:\"arrow_circle\",stroke:\"thick\"};break;case 89:this.$={type:\"arrow_cross\",stroke:\"thick\"};break;case 90:this.$={type:\"arrow_open\",stroke:\"thick\"};break;case 91:this.$=a[u-1];break;case 110:case 111:this.$=a[u-4],r.addClass(a[u-2],a[u]);break;case 112:this.$=a[u-4],r.setClass(a[u-2],a[u]);break;case 113:this.$=a[u-4],r.setClickEvent(a[u-2],a[u],void 0,void 0);break;case 114:this.$=a[u-6],r.setClickEvent(a[u-4],a[u-2],void 0,a[u]);break;case 115:this.$=a[u-4],r.setClickEvent(a[u-2],void 0,a[u],void 0);break;case 116:this.$=a[u-6],r.setClickEvent(a[u-4],void 0,a[u-2],a[u]);break;case 117:this.$=a[u-4],r.addVertex(a[u-2],void 0,void 0,a[u]);break;case 118:case 119:case 120:this.$=a[u-4],r.updateLink(a[u-2],a[u]);break;case 121:case 122:this.$=a[u-8],r.updateLinkInterpolate(a[u-6],a[u-2]),r.updateLink(a[u-6],a[u]);break;case 123:case 124:this.$=a[u-6],r.updateLinkInterpolate(a[u-4],a[u]);break;case 126:this.$=[a[u]];break;case 127:a[u-2].push(a[u]),this.$=a[u-2];break;case 129:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,9:e,10:r,12:i},{1:[3]},n(a,u,{5:6}),{4:7,9:e,10:r,12:i},{4:8,9:e,10:r,12:i},{10:[1,9]},{1:[2,1],6:10,7:11,8:o,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,44:30,45:32,46:p,71:g,72:y,73:m,74:v,75:_,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(a,[2,9]),n(a,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},n(F,[2,3]),n(F,[2,4]),n(F,[2,5]),n(F,[2,6]),n(F,[2,7]),n(F,[2,8]),{8:O,9:L,11:I,24:51},{8:O,9:L,11:I,24:55},{8:O,9:L,11:I,24:56},{8:O,9:L,11:I,24:57},{8:O,9:L,11:I,24:58},{8:O,9:L,11:I,24:59},{8:O,9:L,10:B,11:I,12:N,13:P,15:R,16:j,17:Y,18:U,24:61,30:$,31:60,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(nt,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},n(et,[2,55],{45:32,21:113,44:114,10:rt,13:h,15:[1,112],18:f,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T}),n(it,[2,57]),n(it,[2,59]),n(it,[2,60]),n(it,[2,61]),n(it,[2,62]),n(at,[2,154]),n(at,[2,155]),n(at,[2,156]),n(at,[2,157]),n(at,[2,158]),n(at,[2,159]),n(at,[2,160]),n(at,[2,161]),n(at,[2,162]),n(at,[2,163]),n(at,[2,164]),{8:ut,9:ot,10:rt,14:116,21:119},{8:ut,9:ot,10:rt,14:120,21:119},{8:ut,9:ot,10:rt,14:121,21:119},{8:ut,9:ot,10:rt,14:122,21:119},{8:ut,9:ot,10:rt,14:123,21:119},n(F,[2,30]),n(F,[2,38]),n(F,[2,39]),n(F,[2,40]),n(F,[2,31]),n(F,[2,32]),n(F,[2,33]),n(F,[2,34]),n(F,[2,35]),{8:O,9:L,10:B,11:I,12:N,13:P,15:R,16:j,17:Y,18:U,24:124,30:$,32:W,45:71,46:z,50:q,60:G,66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(st,u,{5:126}),n(ct,[2,92]),n(ct,[2,94]),n(ct,[2,143]),n(ct,[2,144]),n(ct,[2,145]),n(ct,[2,146]),n(ct,[2,147]),n(ct,[2,148]),n(ct,[2,149]),n(ct,[2,150]),n(ct,[2,151]),n(ct,[2,152]),n(ct,[2,153]),n(ct,[2,97]),n(ct,[2,98]),n(ct,[2,99]),n(ct,[2,100]),n(ct,[2,101]),n(ct,[2,102]),n(ct,[2,103]),n(ct,[2,104]),n(ct,[2,105]),n(ct,[2,106]),n(ct,[2,107]),{13:h,18:f,33:127,35:29,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(lt,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:131,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:132,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:133,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(ht,[2,79]),n(ht,[2,80]),n(ht,[2,81]),n(ht,[2,82]),n(ht,[2,83]),n(ht,[2,84]),n(ht,[2,85]),n(ht,[2,86]),n(ht,[2,87]),n(ht,[2,88]),n(ht,[2,89]),n(ht,[2,90]),{13:h,18:f,35:134,44:30,45:32,46:p,80:[1,135],81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{78:[1,136],81:[1,137]},{13:h,18:f,35:139,44:30,45:32,46:p,78:[1,138],81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{13:h,18:f,35:140,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{13:h,18:f,35:141,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:142,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:144,32:W,38:[1,143],45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:145,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:146,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:147,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(et,[2,56]),n(it,[2,58]),n(et,[2,29],{21:148,10:rt}),n(a,[2,11]),n(a,[2,21]),n(a,[2,22]),{9:[1,149]},n(a,[2,12]),n(a,[2,13]),n(a,[2,14]),n(a,[2,15]),n(st,u,{5:150}),n(ct,[2,93]),{6:10,7:11,8:o,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,151],33:23,35:29,44:30,45:32,46:p,71:g,72:y,73:m,74:v,75:_,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(nt,[2,41]),n(lt,[2,63],{10:[1,152]}),{10:[1,153]},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:154,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,45:71,46:z,50:q,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:G,66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,45:71,46:z,50:q,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:G,66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,45:71,46:z,50:q,60:G,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:[1,167],13:h,18:f,44:114,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:h,18:f,44:114,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:[1,173],13:h,18:f,44:114,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:[1,174],13:h,18:f,44:114,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,37:[1,175],45:71,46:z,50:q,60:G,66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,31:176,32:W,45:71,46:z,50:q,60:G,66:62,67:H,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,39:[1,177],45:71,46:z,50:q,60:G,66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,41:[1,178],45:71,46:z,50:q,60:G,66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,43:[1,179],45:71,46:z,50:q,60:G,66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,37:[1,180],45:71,46:z,50:q,60:G,66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(et,[2,28]),n(a,[2,23]),{6:10,7:11,8:o,9:s,10:c,11:l,13:h,18:f,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,181],33:23,35:29,44:30,45:32,46:p,71:g,72:y,73:m,74:v,75:_,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(F,[2,37]),n(lt,[2,65]),n(lt,[2,64]),{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,45:71,46:z,50:q,60:G,65:[1,182],66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(lt,[2,67]),n(lt,[2,68]),n(lt,[2,69]),n(lt,[2,70]),n(lt,[2,71]),n(lt,[2,72]),n(lt,[2,73]),n(lt,[2,74]),n(lt,[2,75]),n(lt,[2,76]),n(lt,[2,77]),n(lt,[2,78]),{10:ft,46:dt,71:pt,79:183,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:197,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:198,80:gt,81:yt,82:[1,199],84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:200,80:gt,81:yt,82:[1,201],84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:202,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:203,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{13:h,18:f,35:204,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{13:h,18:f,35:205,44:30,45:32,46:p,67:[1,206],81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(et,[2,43],{21:207,10:rt}),{10:B,12:N,13:P,15:R,16:j,17:Y,18:U,30:$,32:W,39:[1,208],45:71,46:z,50:q,60:G,66:125,70:74,71:V,72:Z,73:X,74:K,75:Q,77:64,78:J,81:b,84:tt,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},n(et,[2,49],{21:209,10:rt}),n(et,[2,47],{21:210,10:rt}),n(et,[2,51],{21:211,10:rt}),n(et,[2,53],{21:212,10:rt}),n(F,[2,36]),n([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),n(nt,[2,117],{86:At}),n(kt,[2,126],{87:214,10:ft,46:dt,71:pt,80:gt,81:yt,84:mt,88:vt,89:_t,90:bt,91:xt,92:wt}),n(Et,[2,128]),n(Et,[2,130]),n(Et,[2,131]),n(Et,[2,132]),n(Et,[2,133]),n(Et,[2,134]),n(Et,[2,135]),n(Et,[2,136]),n(Et,[2,137]),n(Et,[2,138]),n(Et,[2,139]),n(Et,[2,140]),n(nt,[2,118],{86:At}),n(nt,[2,119],{86:At}),{10:[1,215]},n(nt,[2,120],{86:At}),{10:[1,216]},n(nt,[2,110],{86:At}),n(nt,[2,111],{86:At}),n(nt,[2,112],{45:32,44:114,13:h,18:f,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T}),n(nt,[2,113],{45:32,44:114,10:[1,217],13:h,18:f,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T}),n(nt,[2,115],{10:[1,218]}),n(et,[2,44]),{39:[1,219]},n(et,[2,50]),n(et,[2,48]),n(et,[2,52]),n(et,[2,54]),{10:ft,46:dt,71:pt,80:gt,81:yt,84:mt,85:220,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},n(Et,[2,129]),{13:h,18:f,35:221,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{13:h,18:f,35:222,44:30,45:32,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T},{67:[1,223]},{67:[1,224]},n(et,[2,45],{21:225,10:rt}),n(kt,[2,127],{87:214,10:ft,46:dt,71:pt,80:gt,81:yt,84:mt,88:vt,89:_t,90:bt,91:xt,92:wt}),n(nt,[2,123],{45:32,44:114,10:[1,226],13:h,18:f,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T}),n(nt,[2,124],{45:32,44:114,10:[1,227],13:h,18:f,46:p,81:b,86:x,88:w,89:A,91:k,92:E,94:M,95:S,96:D,97:C,98:T}),n(nt,[2,114]),n(nt,[2,116]),n(et,[2,46]),{10:ft,46:dt,71:pt,79:228,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},{10:ft,46:dt,71:pt,79:229,80:gt,81:yt,84:mt,85:184,87:185,88:vt,89:_t,90:bt,91:xt,92:wt},n(nt,[2,121],{86:At}),n(nt,[2,122],{86:At})],defaultActions:{},parseError:function(t,n){if(!n.recoverable){var e=function(t,n){this.message=t,this.hash=n};throw e.prototype=Error,new e(t,n)}this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,u=\"\",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,\"undefined\"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError=\"function\"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,M,S=function(){var t;return t=d.lex()||h,\"number\"!=typeof t&&(t=n.symbols_[t]||t),t},D={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||\"undefined\"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),\"undefined\"==typeof x||!x.length||!x[0]){var C=\"\";M=[];for(A in a[b])this.terminals_[A]&&A>l&&M.push(\"'\"+this.terminals_[A]+\"'\");C=d.showPosition?\"Parse error on line \"+(o+1)+\":\\n\"+d.showPosition()+\"\\nExpecting \"+M.join(\", \")+\", got '\"+(this.terminals_[v]||v)+\"'\":\"Parse error on line \"+(o+1)+\": Unexpected \"+(v==h?\"end of input\":\"'\"+(this.terminals_[v]||v)+\"'\"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+b+\", token: \"+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],D.$=r[r.length-k],D._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(D._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(D,[u,s,o,p.yy,x[1],r,i].concat(f)),\"undefined\"!=typeof w)return w;k&&(e=e.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),e.push(this.productions_[x[1]][0]),r.push(D.$),i.push(D._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},St=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\\r\\n?|\\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var n=t.length,e=t.split(/(?:\\r\\n?|\\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?\"...\":\"\")+t.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var t=this.match;\n\nreturn t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var t=this.pastInput(),n=new Array(t.length+1).join(\"-\");return t+this.upcomingInput()+\"\\n\"+n+\"^\"},test_match:function(t,n){var e,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\\r\\n?|\\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,n,e,r;this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),a=0;a<i.length;a++)if(e=this._input.match(this.rules[i[a]]),e&&(!n||e[0].length>n[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:\"INITIAL\"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,n,e,r){switch(e){case 0:break;case 1:this.begin(\"string\");break;case 2:this.popState();break;case 3:return\"STR\";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:return 13;case 15:return 13;case 16:return 13;case 17:return 13;case 18:return 13;case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:return 97;case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\\n]*)/,/^(?:[\"])/,/^(?:[\"])/,/^(?:[^\"]*)/,/^(?:style\\b)/,/^(?:default\\b)/,/^(?:linkStyle\\b)/,/^(?:interpolate\\b)/,/^(?:classDef\\b)/,/^(?:class\\b)/,/^(?:click\\b)/,/^(?:graph\\b)/,/^(?:subgraph\\b)/,/^(?:end\\b\\s*)/,/^(?:LR\\b)/,/^(?:RL\\b)/,/^(?:TB\\b)/,/^(?:BT\\b)/,/^(?:TD\\b)/,/^(?:BR\\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\\*)/,/^(?:<)/,/^(?:>)/,/^(?:\\^)/,/^(?:v\\b)/,/^(?:\\s*--[x]\\s*)/,/^(?:\\s*-->\\s*)/,/^(?:\\s*--[o]\\s*)/,/^(?:\\s*---\\s*)/,/^(?:\\s*-\\.-[x]\\s*)/,/^(?:\\s*-\\.->\\s*)/,/^(?:\\s*-\\.-[o]\\s*)/,/^(?:\\s*-\\.-\\s*)/,/^(?:\\s*.-[x]\\s*)/,/^(?:\\s*\\.->\\s*)/,/^(?:\\s*\\.-[o]\\s*)/,/^(?:\\s*\\.-\\s*)/,/^(?:\\s*==[x]\\s*)/,/^(?:\\s*==>\\s*)/,/^(?:\\s*==[o]\\s*)/,/^(?:\\s*==[\\=]\\s*)/,/^(?:\\s*--\\s*)/,/^(?:\\s*-\\.\\s*)/,/^(?:\\s*==\\s*)/,/^(?:\\(-)/,/^(?:-\\))/,/^(?:-)/,/^(?:\\.)/,/^(?:\\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!\"#$%&'*+,-.`?\\\\_\\/])/,/^(?:[\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC])/,/^(?:\\|)/,/^(?:\\()/,/^(?:\\))/,/^(?:\\[)/,/^(?:\\])/,/^(?:\\{)/,/^(?:\\})/,/^(?:\")/,/^(?:\\n+)/,/^(?:\\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}};return t}();return Mt.lexer=St,t.prototype=Mt,Mt.Parser=t,new t}();\"undefined\"!=typeof t&&\"undefined\"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log(\"Usage: \"+n[0]+\" FILE\"),r.exit(1));var i=t(\"fs\").readFileSync(t(\"path\").normalize(n[1]),\"utf8\");return e.parser.parse(i)},\"undefined\"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t(\"_process\"))},{_process:106,fs:1,path:105}],120:[function(t,n,e){(function(n){\"use strict\";var r=t(\"moment\"),i=t(\"../../logger\"),a=new i.Log,u=\"\",o=\"\",s=[],c=[],l=\"\";e.clear=function(){s=[],c=[],l=\"\",o=\"\",g=0,h=void 0,f=void 0,_=[]},e.setDateFormat=function(t){u=t},e.getDateFormat=function(){return u},e.setTitle=function(t){o=t},e.getTitle=function(){return o},e.addSection=function(t){l=t,s.push(t)},e.getTasks=function(){for(var t=x(),n=10,e=0;!t&&n>e;)t=x(),e++;return c=_};var h,f,d=function(t,n,i){i=i.trim();var u=/^after\\s+([\\d\\w\\-]+)/,o=u.exec(i.trim());if(null!==o){var s=e.findTaskById(o[1]);if(\"undefined\"==typeof s){var c=new Date;return c.setHours(0,0,0,0),c}return s.endTime}return r(i,n.trim(),!0).isValid()?r(i,n.trim(),!0).toDate():(a.debug(\"Invalid date:\"+i),a.debug(\"With date format:\"+n.trim()),new Date)},p=function(t,n,e){if(e=e.trim(),r(e,n.trim(),!0).isValid())return r(e,n.trim()).toDate();var i=r(t),a=/^([\\d]+)([wdhms])/,u=a.exec(e.trim());if(null!==u){switch(u[2]){case\"s\":i.add(u[1],\"seconds\");break;case\"m\":i.add(u[1],\"minutes\");break;case\"h\":i.add(u[1],\"hours\");break;case\"d\":i.add(u[1],\"days\");break;case\"w\":i.add(u[1],\"weeks\")}return i.toDate()}return i.toDate()},g=0,y=function(t){return\"undefined\"==typeof t?(g+=1,\"task\"+g):t},m=function(t,n){var r;r=\":\"===n.substr(0,1)?n.substr(1,n.length):n;for(var i=r.split(\",\"),a={},u=e.getDateFormat(),o=!0;o;)o=!1,i[0].match(/^\\s*active\\s*$/)&&(a.active=!0,i.shift(1),o=!0),i[0].match(/^\\s*done\\s*$/)&&(a.done=!0,i.shift(1),o=!0),i[0].match(/^\\s*crit\\s*$/)&&(a.crit=!0,i.shift(1),o=!0);var s;for(s=0;s<i.length;s++)i[s]=i[s].trim();switch(i.length){case 1:a.id=y(),a.startTime=t.endTime,a.endTime=p(a.startTime,u,i[0]);break;case 2:a.id=y(),a.startTime=d(void 0,u,i[0]),a.endTime=p(a.startTime,u,i[1]);break;case 3:a.id=y(i[0]),a.startTime=d(void 0,u,i[1]),a.endTime=p(a.startTime,u,i[2])}return a},v=function(t,n){var e;e=\":\"===n.substr(0,1)?n.substr(1,n.length):n;for(var r=e.split(\",\"),i={},a=!0;a;)a=!1,r[0].match(/^\\s*active\\s*$/)&&(i.active=!0,r.shift(1),a=!0),r[0].match(/^\\s*done\\s*$/)&&(i.done=!0,r.shift(1),a=!0),r[0].match(/^\\s*crit\\s*$/)&&(i.crit=!0,r.shift(1),a=!0);var u;for(u=0;u<r.length;u++)r[u]=r[u].trim();switch(r.length){case 1:i.id=y(),i.startTime={type:\"prevTaskEnd\",id:t},i.endTime={data:r[0]};break;case 2:i.id=y(),i.startTime={type:\"getStartDate\",startData:r[0]},i.endTime={data:r[1]};break;case 3:i.id=y(r[0]),i.startTime={type:\"getStartDate\",startData:r[1]},i.endTime={data:r[2]}}return i},_=[],b={};e.addTask=function(t,n){var e={section:l,type:l,processed:!1,raw:{data:n},task:t},r=v(f,n);e.raw.startTime=r.startTime,e.raw.endTime=r.endTime,e.id=r.id,e.prevTaskId=f,e.active=r.active,e.done=r.done,e.crit=r.crit;var i=_.push(e);f=e.id,b[e.id]=i-1},e.findTaskById=function(t){var n=b[t];return _[n]},e.addTaskOrg=function(t,n){var e={section:l,type:l,description:t,task:t},r=m(h,n);e.startTime=r.startTime,e.endTime=r.endTime,e.id=r.id,e.active=r.active,e.done=r.done,e.crit=r.crit,h=e,c.push(e)};var x=function(){var t,n=e.getDateFormat(),r=function(t){var r=_[t],i=\"\";switch(_[t].raw.startTime.type){case\"prevTaskEnd\":var a=e.findTaskById(r.prevTaskId);r.startTime=a.endTime;break;case\"getStartDate\":i=d(void 0,n,_[t].raw.startTime.startData),i&&(_[t].startTime=i)}return _[t].startTime&&(_[t].endTime=p(_[t].startTime,n,_[t].raw.endTime.data),_[t].endTime&&(_[t].processed=!0)),_[t].processed},i=!0;for(t=0;t<_.length;t++)r(t),i=i&&_[t].processed;return i};e.parseError=function(t,e){n.mermaidAPI.parseError(t,e)}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../../logger\":130,moment:104}],121:[function(t,n){\"use strict\";var e=t(\"./parser/gantt\").parser;e.yy=t(\"./ganttDb\");var r,i=t(\"../../d3\"),a=t(\"moment\"),u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'\"Open-Sans\", \"sans-serif\"'};n.exports.setConf=function(t){var n=Object.keys(t);n.forEach(function(n){u[n]=t[n]})};var o;n.exports.draw=function(t,n){function s(t,n,e){var r=u.barHeight,a=r+u.barGap,o=u.topPadding,s=u.leftPadding,d=i.scale.linear().domain([0,A.length]).range([\"#00B9FA\",\"#F95002\"]).interpolate(i.interpolateHcl);l(s,o,n,e),c(t,a,o,s,r,d,n,e),h(a,o,s,r,d),f(s,o,n,e)}function c(t,n,e,r,i,a,o){_.append(\"g\").selectAll(\"rect\").data(t).enter().append(\"rect\").attr(\"x\",0).attr(\"y\",function(t,r){return r*n+e-2}).attr(\"width\",function(){return o-u.rightPadding/2}).attr(\"height\",n).attr(\"class\",function(t){for(var n=0;n<A.length;n++)if(t.type===A[n])return\"section section\"+n%u.numberSectionStyles;return\"section section0\"});var s=_.append(\"g\").selectAll(\"rect\").data(t).enter();s.append(\"rect\").attr(\"rx\",3).attr(\"ry\",3).attr(\"x\",function(t){return w(t.startTime)+r}).attr(\"y\",function(t,r){return r*n+e}).attr(\"width\",function(t){return w(t.endTime)-w(t.startTime)}).attr(\"height\",i).attr(\"class\",function(t){for(var n=\"task \",e=0,r=0;r<A.length;r++)t.type===A[r]&&(e=r%u.numberSectionStyles);return t.active?t.crit?n+\" activeCrit\"+e:n+\" active\"+e:t.done?t.crit?n+\" doneCrit\"+e:n+\" done\"+e:t.crit?n+\" crit\"+e:n+\" task\"+e}),s.append(\"text\").text(function(t){return t.task}).attr(\"font-size\",u.fontSize).attr(\"x\",function(t){var n=w(t.startTime),e=w(t.endTime),i=this.getBBox().width;return i>e-n?e+i+1.5*u.leftPadding>o?n+r-5:e+r+5:(e-n)/2+n+r}).attr(\"y\",function(t,r){return r*n+u.barHeight/2+(u.fontSize/2-2)+e}).attr(\"text-height\",i).attr(\"class\",function(t){for(var n=w(t.startTime),e=w(t.endTime),r=this.getBBox().width,i=0,a=0;a<A.length;a++)t.type===A[a]&&(i=a%u.numberSectionStyles);var s=\"\";return t.active&&(s=t.crit?\"activeCritText\"+i:\"activeText\"+i),t.done?s=t.crit?s+\" doneCritText\"+i:s+\" doneText\"+i:t.crit&&(s=s+\" critText\"+i),r>e-n?e+r+1.5*u.leftPadding>o?\"taskTextOutsideLeft taskTextOutside\"+i+\" \"+s:\"taskTextOutsideRight taskTextOutside\"+i+\" \"+s:\"taskText taskText\"+i+\" \"+s})}function l(t,n,e,a){var o,s=[[\".%L\",function(t){return t.getMilliseconds()}],[\":%S\",function(t){return t.getSeconds()}],[\"h1 %I:%M\",function(t){return t.getMinutes()}]],c=[[\"%Y\",function(){return!0}]],l=[[\"%I:%M\",function(t){return t.getHours()}],[\"%a %d\",function(t){return t.getDay()&&1!=t.getDate()}],[\"%b %d\",function(t){return 1!=t.getDate()}],[\"%B\",function(t){return t.getMonth()}]];\"undefined\"!=typeof u.axisFormatter&&(l=[],u.axisFormatter.forEach(function(t){var n=[];n[0]=t[0],n[1]=t[1],l.push(n)})),o=s.concat(l).concat(c);var h=i.svg.axis().scale(w).orient(\"bottom\").tickSize(-a+n+u.gridLineStartPadding,0,0).tickFormat(i.time.format.multi(o));r>7&&230>r&&(h=h.ticks(i.time.monday.range)),_.append(\"g\").attr(\"class\",\"grid\").attr(\"transform\",\"translate(\"+t+\", \"+(a-50)+\")\").call(h).selectAll(\"text\").style(\"text-anchor\",\"middle\").attr(\"fill\",\"#000\").attr(\"stroke\",\"none\").attr(\"font-size\",10).attr(\"dy\",\"1em\")}function h(t,n){for(var e=[],r=0,i=0;i<A.length;i++)e[i]=[A[i],g(A[i],E)];_.append(\"g\").selectAll(\"text\").data(e).enter().append(\"text\").text(function(t){return t[0]}).attr(\"x\",10).attr(\"y\",function(i,a){if(!(a>0))return i[1]*t/2+n;for(var u=0;a>u;u++)return r+=e[a-1][1],i[1]*t/2+r*t+n}).attr(\"class\",function(t){for(var n=0;n<A.length;n++)if(t[0]===A[n])return\"sectionTitle sectionTitle\"+n%u.numberSectionStyles;return\"sectionTitle\"})}function f(t,n,e,r){var i=_.append(\"g\").attr(\"class\",\"today\"),a=new Date;i.append(\"line\").attr(\"x1\",w(a)+t).attr(\"x2\",w(a)+t).attr(\"y1\",u.titleTopMargin).attr(\"y2\",r-u.titleTopMargin).attr(\"class\",\"today\")}function d(t){for(var n={},e=[],r=0,i=t.length;i>r;++r)n.hasOwnProperty(t[r])||(n[t[r]]=!0,e.push(t[r]));return e}function p(t){for(var n=t.length,e={};n;)e[t[--n]]=(e[t[n]]||0)+1;return e}function g(t,n){return p(n)[t]||0}e.yy.clear(),e.parse(t);var y=document.getElementById(n);o=y.parentElement.offsetWidth,\"undefined\"==typeof o&&(o=1200),\"undefined\"!=typeof u.useWidth&&(o=u.useWidth);var m=e.yy.getTasks(),v=m.length*(u.barHeight+u.barGap)+2*u.topPadding;y.setAttribute(\"height\",\"100%\"),y.setAttribute(\"viewBox\",\"0 0 \"+o+\" \"+v);var _=i.select(\"#\"+n),b=i.min(m,function(t){return t.startTime}),x=i.max(m,function(t){return t.endTime}),w=i.time.scale().domain([i.min(m,function(t){return t.startTime}),i.max(m,function(t){return t.endTime})]).rangeRound([0,o-u.leftPadding-u.rightPadding]),A=[];r=a.duration(x-b).asDays();for(var k=0;k<m.length;k++)A.push(m[k].type);var E=A;A=d(A),s(m,o,v),\"undefined\"!=typeof u.useWidth&&y.setAttribute(\"width\",o),_.append(\"text\").text(e.yy.getTitle()).attr(\"x\",o/2).attr(\"y\",u.titleTopMargin).attr(\"class\",\"titleText\")}},{\"../../d3\":108,\"./ganttDb\":120,\"./parser/gantt\":122,moment:104}],122:[function(t,n,e){(function(r){\"use strict\";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[6,8,10,11,12,13,14],r=[1,9],i=[1,10],a=[1,11],u=[1,12],o={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,title:12,section:13,taskTxt:14,taskData:15,$accept:0,$end:1},terminals_:{2:\"error\",4:\"gantt\",6:\"EOF\",8:\"SPACE\",10:\"NL\",11:\"dateFormat\",12:\"title\",13:\"section\",14:\"taskTxt\",15:\"taskData\"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,2]],performAction:function(t,n,e,r,i,a){var u=a.length-1;switch(i){case 1:return a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:r.setDateFormat(a[u].substr(11)),this.$=a[u].substr(11);break;case 9:r.setTitle(a[u].substr(6)),this.$=a[u].substr(6);break;case 10:r.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 11:r.addTask(a[u-1],a[u]),this.$=\"task\"}},table:[{3:1,4:[1,2]},{1:[3]},n(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,13:a,14:u},n(e,[2,7],{1:[2,1]}),n(e,[2,3]),{9:13,11:r,12:i,13:a,14:u},n(e,[2,5]),n(e,[2,6]),n(e,[2,8]),n(e,[2,9]),n(e,[2,10]),{15:[1,14]},n(e,[2,4]),n(e,[2,11])],defaultActions:{},parseError:function(t,n){if(!n.recoverable){var e=function(t,n){this.message=t,this.hash=n};throw e.prototype=Error,new e(t,n)}this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,u=\"\",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,\"undefined\"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError=\"function\"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,M,S=function(){var t;return t=d.lex()||h,\"number\"!=typeof t&&(t=n.symbols_[t]||t),t},D={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||\"undefined\"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),\"undefined\"==typeof x||!x.length||!x[0]){var C=\"\";M=[];for(A in a[b])this.terminals_[A]&&A>l&&M.push(\"'\"+this.terminals_[A]+\"'\");C=d.showPosition?\"Parse error on line \"+(o+1)+\":\\n\"+d.showPosition()+\"\\nExpecting \"+M.join(\", \")+\", got '\"+(this.terminals_[v]||v)+\"'\":\"Parse error on line \"+(o+1)+\": Unexpected \"+(v==h?\"end of input\":\"'\"+(this.terminals_[v]||v)+\"'\"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+b+\", token: \"+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],D.$=r[r.length-k],D._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(D._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(D,[u,s,o,p.yy,x[1],r,i].concat(f)),\"undefined\"!=typeof w)return w;k&&(e=e.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),e.push(this.productions_[x[1]][0]),r.push(D.$),i.push(D._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},s=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\\r\\n?|\\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var n=t.length,e=t.split(/(?:\\r\\n?|\\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?\"...\":\"\")+t.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var t=this.pastInput(),n=new Array(t.length+1).join(\"-\");return t+this.upcomingInput()+\"\\n\"+n+\"^\"},test_match:function(t,n){var e,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\\r\\n?|\\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,n,e,r;this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),a=0;a<i.length;a++)if(e=this._input.match(this.rules[i[a]]),e&&(!n||e[0].length>n[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:\"INITIAL\"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(t,n,e,r){switch(e){case 0:return 10;case 1:break;case 2:break;case 3:break;case 4:return 4;case 5:return 11;case 6:return\"date\";case 7:return 12;case 8:return 13;case 9:return 14;case 10:return 15;case 11:return\":\";case 12:return 6;case 13:return\"INVALID\"}},rules:[/^(?:[\\n]+)/i,/^(?:\\s+)/i,/^(?:#[^\\n]*)/i,/^(?:%[^\\n]*)/i,/^(?:gantt\\b)/i,/^(?:dateFormat\\s[^#\\n;]+)/i,/^(?:\\d\\d\\d\\d-\\d\\d-\\d\\d\\b)/i,/^(?:title\\s[^#\\n;]+)/i,/^(?:section\\s[^#:\\n;]+)/i,/^(?:[^#:\\n;]+)/i,/^(?::[^#\\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}};return t}();return o.lexer=s,t.prototype=o,o.Parser=t,new t}();\"undefined\"!=typeof t&&\"undefined\"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log(\"Usage: \"+n[0]+\" FILE\"),r.exit(1));var i=t(\"fs\").readFileSync(t(\"path\").normalize(n[1]),\"utf8\");return e.parser.parse(i)},\"undefined\"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t(\"_process\"))},{_process:106,fs:1,path:105}],123:[function(t,n,e){\"use strict\";function r(t,n){return Math.floor(Math.random()*(n-t))+t}function i(){for(var t=\"0123456789abcdef\",n=\"\",e=0;7>e;e++)n+=t[r(0,16)];return n}function a(t,n){var e,r=!0;t:for(;r;){var i=t,u=n;for(r=!1,h.debug(\"Entering isfastforwardable:\",i.id,u.id);i.seq<=u.seq&&i!=u&&null!=u.parent;){if(Array.isArray(u.parent)){if(h.debug(\"In merge commit:\",u.parent),e=a(i,f[u.parent[0]]))return e;t=i,n=f[u.parent[1]],r=!0;continue t}u=f[u.parent]}return h.debug(i.id,u.id),i.id==u.id}}function u(t,n){var e=t.seq,r=n.seq;return e>r?a(n,t):!1}function o(t,n,e){var r=l.find(t,n);if(r){var i=l.indexOf(t,l.find(t,n));t.splice(i,1,e)}else t.push(e)}function s(t){var n=l.maxBy(t,\"seq\"),e=\"\";l.each(t,function(t){e+=t==n?\"\t*\":\"\t|\"});var r=[e,n.id,n.seq];if(l.each(p,function(t,e){t==n.id&&r.push(e)}),h.debug(r.join(\" \")),Array.isArray(n.parent)){var i=f[n.parent[0]];o(t,n,i),t.push(f[n.parent[1]])}else{if(null==n.parent)return;var a=f[n.parent];o(t,n,a)}t=l.uniqBy(t,\"id\"),s(t)}var c=t(\"../../logger\"),l=t(\"lodash\"),h=new c.Log(1),f={},d=null,p={master:d},g=\"master\",y=\"LR\",m=0;e.setDirection=function(t){y=t};var v={};e.setOptions=function(t){h.debug(\"options str\",t),t=t&&t.trim(),t=t||\"{}\";try{v=JSON.parse(t)}catch(n){h.error(\"error while parsing gitGraph options\",n.message)}},e.getOptions=function(){return v},e.commit=function(t){var n={id:i(),message:t,seq:m++,parent:null==d?null:d.id};d=n,f[n.id]=n,p[g]=n.id,h.debug(\"in pushCommit \"+n.id)},e.branch=function(t){p[t]=null!=d?d.id:null,h.debug(\"in createBranch\")},e.merge=function(t){var n=f[p[g]],e=f[p[t]];if(u(n,e))return void h.debug(\"Already merged\");if(a(n,e))p[g]=p[t],d=f[p[g]];else{var r={id:i(),message:\"merged branch \"+t+\" into \"+g,seq:m++,parent:[null==d?null:d.id,p[t]]};d=r,f[r.id]=r,p[g]=r.id}h.debug(p),h.debug(\"in mergeBranch\")},e.checkout=function(t){h.debug(\"in checkout\"),g=t;var n=p[g];d=f[n]},e.reset=function(t){h.debug(\"in reset\",t);var n=t.split(\":\")[0],e=parseInt(t.split(\":\")[1]),r=\"HEAD\"==n?d:f[p[n]];for(h.debug(r,e);e>0;)if(r=f[r.parent],e--,!r){var i=\"Critical error - unique parent commit not found during reset\";throw h.error(i),i}d=r,p[g]=r.id},e.prettyPrint=function(){h.debug(f);var t=e.getCommitsArray()[0];s([t])},e.clear=function(){f={},d=null,p={master:d},g=\"master\",m=0},e.getBranchesAsObjArray=function(){var t=l.map(p,function(t,n){return{name:n,commit:f[t]}});return t},e.getBranches=function(){return p},e.getCommits=function(){return f},e.getCommitsArray=function(){var t=Object.keys(f).map(function(t){return f[t]});return l.each(t,function(t){h.debug(t.id)}),l.orderBy(t,[\"seq\"],[\"desc\"])},e.getCurrentBranch=function(){return g},e.getDirection=function(){return y},e.getHead=function(){return d}},{\"../../logger\":130,lodash:103}],124:[function(t,n,e){\"use strict\";function r(t){t.append(\"defs\").append(\"g\").attr(\"id\",\"def-commit\").append(\"circle\").attr(\"r\",v.nodeRadius).attr(\"cx\",0).attr(\"cy\",0),t.select(\"#def-commit\").append(\"foreignObject\").attr(\"width\",v.nodeLabel.width).attr(\"height\",v.nodeLabel.height).attr(\"x\",v.nodeLabel.x).attr(\"y\",v.nodeLabel.y).attr(\"class\",\"node-label\").attr(\"requiredFeatures\",\"http://www.w3.org/TR/SVG11/feature#Extensibility\").append(\"xhtml:p\").html(\"\")}function i(t,n,e,r){r=r||\"basis\";var i=v.branchColors[e%v.branchColors.length],a=p.svg.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).interpolate(r);t.append(\"svg:path\").attr(\"d\",a(n)).style(\"stroke\",i).style(\"stroke-width\",v.lineStrokeWidth).style(\"fill\",\"none\")}function a(t,n){n=n||t.node().getBBox();var e=t.node().getCTM(),r=e.e+n.x*e.a,i=e.f+n.y*e.d;\n\nreturn{left:r,top:i,width:n.width,height:n.height}}function u(t,n,e,r,u){y.debug(\"svgDrawLineForCommits: \",n,e);var o=a(t.select(\"#node-\"+n+\" circle\")),s=a(t.select(\"#node-\"+e+\" circle\"));switch(r){case\"LR\":if(o.left-s.left>v.nodeSpacing){var c={x:o.left-v.nodeSpacing,y:s.top+s.height/2},l={x:s.left+s.width,y:s.top+s.height/2};i(t,[c,l],u,\"linear\"),i(t,[{x:o.left,y:o.top+o.height/2},{x:o.left-v.nodeSpacing/2,y:o.top+o.height/2},{x:o.left-v.nodeSpacing/2,y:c.y},c],u)}else i(t,[{x:o.left,y:o.top+o.height/2},{x:o.left-v.nodeSpacing/2,y:o.top+o.height/2},{x:o.left-v.nodeSpacing/2,y:s.top+s.height/2},{x:s.left+s.width,y:s.top+s.height/2}],u);break;case\"BT\":s.top-o.top>v.nodeSpacing?(c={x:s.left+s.width/2,y:o.top+o.height+v.nodeSpacing},l={x:s.left+s.width/2,y:s.top},i(t,[c,l],u,\"linear\"),i(t,[{x:o.left+o.width/2,y:o.top+o.height},{x:o.left+o.width/2,y:o.top+o.height+v.nodeSpacing/2},{x:s.left+s.width/2,y:c.y-v.nodeSpacing/2},c],u)):i(t,[{x:o.left+o.width/2,y:o.top+o.height},{x:o.left+o.width/2,y:o.top+v.nodeSpacing/2},{x:s.left+s.width/2,y:s.top-v.nodeSpacing/2},{x:s.left+s.width/2,y:s.top}],u)}}function o(t,n){return t.select(n).node().cloneNode(!0)}function s(t,n,e,r){var i,a=Object.keys(m).length;if(f.isString(n))do{if(i=m[n],y.debug(\"in renderCommitHistory\",i.id,i.seq),t.select(\"#node-\"+n).size()>0)return;t.append(function(){return o(t,\"#def-commit\")}).attr(\"class\",\"commit\").attr(\"id\",function(){return\"node-\"+i.id}).attr(\"transform\",function(){switch(r){case\"LR\":return\"translate(\"+(i.seq*v.nodeSpacing+v.leftMargin)+\", \"+l*v.branchOffset+\")\";case\"BT\":return\"translate(\"+(l*v.branchOffset+v.leftMargin)+\", \"+(a-i.seq)*v.nodeSpacing+\")\"}}).attr(\"fill\",v.nodeFillColor).attr(\"stroke\",v.nodeStrokeColor).attr(\"stroke-width\",v.nodeStrokeWidth);var u=f.find(e,[\"commit\",i]);u&&(y.debug(\"found branch \",u.name),t.select(\"#node-\"+i.id+\" p\").append(\"xhtml:span\").attr(\"class\",\"branch-label\").text(u.name+\", \")),t.select(\"#node-\"+i.id+\" p\").append(\"xhtml:span\").attr(\"class\",\"commit-id\").text(i.id),\"\"!==i.message&&\"BT\"===r&&t.select(\"#node-\"+i.id+\" p\").append(\"xhtml:span\").attr(\"class\",\"commit-msg\").text(\", \"+i.message),n=i.parent}while(n&&m[n]);f.isArray(n)&&(y.debug(\"found merge commmit\",n),s(t,n[0],e,r),l++,s(t,n[1],e,r),l--)}function c(t,n,e,r){for(r=r||0;n.seq>0&&!n.lineDrawn;)f.isString(n.parent)?(u(t,n.id,n.parent,e,r),n.lineDrawn=!0,n=m[n.parent]):f.isArray(n.parent)&&(u(t,n.id,n.parent[0],e,r),u(t,n.id,n.parent[1],e,r+1),c(t,m[n.parent[1]],e,r+1),n.lineDrawn=!0,n=m[n.parent[0]])}var l,h=t(\"./gitGraphAst\"),f=t(\"lodash\"),d=t(\"./parser/gitGraph\"),p=t(\"../../d3\"),g=t(\"../../logger\"),y=new g.Log,m={},v={nodeSpacing:75,nodeFillColor:\"yellow\",nodeStrokeWidth:2,nodeStrokeColor:\"grey\",lineStrokeWidth:4,branchOffset:50,lineColor:\"grey\",leftMargin:50,branchColors:[\"#442f74\",\"#983351\",\"#609732\",\"#AA9A39\"],nodeRadius:15,nodeLabel:{width:75,height:100,x:-25,y:15}},_={};e.setConf=function(t){_=t},e.draw=function(t,n,e){try{var i;i=d.parser,i.yy=h,y.debug(\"in gitgraph renderer\",t,n,e),i.parse(t+\"\\n\"),v=f.extend(v,_,h.getOptions()),y.debug(\"effective options\",v);var a=h.getDirection();m=h.getCommits();var u=h.getBranchesAsObjArray();\"BT\"===a&&(v.nodeLabel.x=u.length*v.branchOffset,v.nodeLabel.width=\"100%\",v.nodeLabel.y=-2*v.nodeRadius);var o=p.select(\"#\"+n);r(o),l=1,f.each(u,function(t){s(o,t.commit.id,u,a),c(o,t.commit,a),l++}),o.attr(\"height\",function(){return\"BT\"===a?Object.keys(m).length*v.nodeSpacing:(u.length+1)*v.branchOffset})}catch(g){y.error(\"Error while rendering gitgraph\"),y.error(g.message)}}},{\"../../d3\":108,\"../../logger\":130,\"./gitGraphAst\":123,\"./parser/gitGraph\":125,lodash:103}],125:[function(t,n,e){(function(r){\"use strict\";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[2,3],r=[1,7],i=[7,12,15,17,19,20,21],a=[7,11,12,15,17,19,20,21],u=[2,20],o=[1,32],s={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,\":\":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:\"error\",4:\"GG\",5:\":\",7:\"EOF\",8:\"DIR\",11:\"OPT\",12:\"NL\",15:\"COMMIT\",17:\"BRANCH\",18:\"ID\",19:\"CHECKOUT\",20:\"MERGE\",21:\"RESET\",23:\"STR\",24:\"HEAD\",26:\"CARET\"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(t,n,e,r,i,a){var u=a.length-1;switch(i){case 1:return a[u-1];case 2:return r.setDirection(a[u-3]),a[u-1];case 4:r.setOptions(a[u-1]),this.$=a[u];break;case 5:a[u-1]+=a[u],this.$=a[u-1];break;case 7:this.$=[];break;case 8:a[u-1].push(a[u]),this.$=a[u-1];break;case 9:this.$=a[u-1];break;case 11:r.commit(a[u]);break;case 12:r.branch(a[u]);break;case 13:r.checkout(a[u]);break;case 14:r.merge(a[u]);break;case 15:r.reset(a[u]);break;case 16:this.$=\"\";break;case 17:this.$=a[u];break;case 18:this.$=a[u-1]+\":\"+a[u];break;case 19:this.$=a[u-1]+\":\"+r.count,r.count=0;break;case 20:r.count=0;break;case 21:r.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:e,9:6,12:r},{5:[1,8]},{7:[1,9]},n(i,[2,7],{10:10,11:[1,11]}),n(a,[2,6]),{6:12,7:e,9:6,12:r},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},n(a,[2,5]),{7:[1,21]},n(i,[2,8]),{12:[1,22]},n(i,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},n(i,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:u,25:31,26:o},{12:u,25:33,26:o},{12:[2,18]},{12:u,25:34,26:o},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(t,n){if(!n.recoverable){var e=function(t,n){this.message=t,this.hash=n};throw e.prototype=Error,new e(t,n)}this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,u=\"\",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,\"undefined\"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError=\"function\"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,M,S=function(){var t;return t=d.lex()||h,\"number\"!=typeof t&&(t=n.symbols_[t]||t),t},D={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||\"undefined\"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),\"undefined\"==typeof x||!x.length||!x[0]){var C=\"\";M=[];for(A in a[b])this.terminals_[A]&&A>l&&M.push(\"'\"+this.terminals_[A]+\"'\");C=d.showPosition?\"Parse error on line \"+(o+1)+\":\\n\"+d.showPosition()+\"\\nExpecting \"+M.join(\", \")+\", got '\"+(this.terminals_[v]||v)+\"'\":\"Parse error on line \"+(o+1)+\": Unexpected \"+(v==h?\"end of input\":\"'\"+(this.terminals_[v]||v)+\"'\"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+b+\", token: \"+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],D.$=r[r.length-k],D._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(D._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(D,[u,s,o,p.yy,x[1],r,i].concat(f)),\"undefined\"!=typeof w)return w;k&&(e=e.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),e.push(this.productions_[x[1]][0]),r.push(D.$),i.push(D._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},c=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\\r\\n?|\\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var n=t.length,e=t.split(/(?:\\r\\n?|\\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?\"...\":\"\")+t.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var t=this.pastInput(),n=new Array(t.length+1).join(\"-\");return t+this.upcomingInput()+\"\\n\"+n+\"^\"},test_match:function(t,n){var e,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\\r\\n?|\\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,n,e,r;this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),a=0;a<i.length;a++)if(e=this._input.match(this.rules[i[a]]),e&&(!n||e[0].length>n[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:\"INITIAL\"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(t,n,e,r){switch(e){case 0:return 12;case 1:break;case 2:break;case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:return 8;case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin(\"options\");break;case 15:this.popState();break;case 16:return 11;case 17:this.begin(\"string\");break;case 18:this.popState();break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\\r?\\n)+)/i,/^(?:\\s+)/i,/^(?:#[^\\n]*)/i,/^(?:%[^\\n]*)/i,/^(?:gitGraph\\b)/i,/^(?:commit\\b)/i,/^(?:branch\\b)/i,/^(?:merge\\b)/i,/^(?:reset\\b)/i,/^(?:checkout\\b)/i,/^(?:LR\\b)/i,/^(?:BT\\b)/i,/^(?::)/i,/^(?:\\^)/i,/^(?:options\\r?\\n)/i,/^(?:end\\r?\\n)/i,/^(?:[^\\n]+\\r?\\n)/i,/^(?:[\"])/i,/^(?:[\"])/i,/^(?:[^\"]*)/i,/^(?:[a-zA-Z][a-zA-Z0-9_]+)/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}};return t}();return s.lexer=c,t.prototype=s,s.Parser=t,new t}();\"undefined\"!=typeof t&&\"undefined\"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log(\"Usage: \"+n[0]+\" FILE\"),r.exit(1));var i=t(\"fs\").readFileSync(t(\"path\").normalize(n[1]),\"utf8\");return e.parser.parse(i)},\"undefined\"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t(\"_process\"))},{_process:106,fs:1,path:105}],126:[function(t,n,e){(function(r){\"use strict\";var i=function(){function t(){this.yy={}}var n=function(t,n,e,r){for(e=e||{},r=t.length;r--;e[t[r]]=n);return e},e=[1,2],r=[1,3],i=[1,4],a=[2,4],u=[1,9],o=[1,11],s=[1,12],c=[1,14],l=[1,15],h=[1,17],f=[1,18],d=[1,19],p=[1,20],g=[1,22],y=[1,23],m=[1,4,5,10,15,16,18,20,21,22,23,24,25,36],v=[1,31],_=[4,5,10,15,16,18,20,21,22,23,25,36],b=[34,35,36],x={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,\"else\":24,note:25,placement:26,over:27,actor_pair:28,spaceList:29,\",\":30,left_of:31,right_of:32,signaltype:33,\"+\":34,\"-\":35,ACTOR:36,SOLID_OPEN_ARROW:37,DOTTED_OPEN_ARROW:38,SOLID_ARROW:39,DOTTED_ARROW:40,SOLID_CROSS:41,DOTTED_CROSS:42,TXT:43,$accept:0,$end:1},terminals_:{2:\"error\",4:\"SPACE\",5:\"NL\",6:\"SD\",10:\"participant\",12:\"AS\",13:\"restOfLine\",15:\"activate\",16:\"deactivate\",18:\"title\",20:\"loop\",21:\"end\",22:\"opt\",23:\"alt\",24:\"else\",25:\"note\",27:\"over\",30:\",\",31:\"left_of\",32:\"right_of\",34:\"+\",35:\"-\",36:\"ACTOR\",37:\"SOLID_OPEN_ARROW\",38:\"DOTTED_OPEN_ARROW\",39:\"SOLID_ARROW\",40:\"DOTTED_ARROW\",41:\"SOLID_CROSS\",42:\"DOTTED_CROSS\",43:\"TXT\"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,7],[17,4],[17,4],[29,2],[29,1],[28,3],[28,1],[26,1],[26,1],[14,5],[14,5],[14,4],[11,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[19,1]],performAction:function(t,n,e,r,i,a){var u=a.length-1;switch(i){case 3:return r.apply(a[u]),a[u];case 4:this.$=[];break;case 5:a[u-1].push(a[u]),this.$=a[u-1];break;case 6:case 7:this.$=a[u];break;case 8:this.$=[];break;case 9:a[u-3].description=a[u-1],this.$=a[u-3];break;case 10:this.$=a[u-1];break;case 12:this.$={type:\"activeStart\",signalType:r.LINETYPE.ACTIVE_START,actor:a[u-1]};break;case 13:this.$={type:\"activeEnd\",signalType:r.LINETYPE.ACTIVE_END,actor:a[u-1]};break;case 15:this.$=[{type:\"setTitle\",text:a[u-1]}];break;case 16:a[u-1].unshift({type:\"loopStart\",loopText:a[u-2],signalType:r.LINETYPE.LOOP_START}),a[u-1].push({type:\"loopEnd\",loopText:a[u-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 17:a[u-1].unshift({type:\"optStart\",optText:a[u-2],signalType:r.LINETYPE.OPT_START}),a[u-1].push({type:\"optEnd\",optText:a[u-2],signalType:r.LINETYPE.OPT_END}),this.$=a[u-1];break;case 18:a[u-4].unshift({type:\"altStart\",altText:a[u-5],signalType:r.LINETYPE.ALT_START}),a[u-4].push({type:\"else\",altText:a[u-2],signalType:r.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:\"altEnd\",signalType:r.LINETYPE.ALT_END}),this.$=a[u-4];break;case 19:this.$=[a[u-1],{type:\"addNote\",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 20:a[u-2]=[].concat(a[u-1],a[u-1]).slice(0,2),a[u-2][0]=a[u-2][0].actor,a[u-2][1]=a[u-2][1].actor,this.$=[a[u-1],{type:\"addNote\",placement:r.PLACEMENT.OVER,actor:a[u-2].slice(0,2),text:a[u]}];break;case 23:this.$=[a[u-2],a[u]];break;case 24:this.$=a[u];break;case 25:this.$=r.PLACEMENT.LEFTOF;break;case 26:this.$=r.PLACEMENT.RIGHTOF;break;case 27:this.$=[a[u-4],a[u-1],{type:\"addMessage\",from:a[u-4].actor,to:a[u-1].actor,signalType:a[u-3],msg:a[u]},{type:\"activeStart\",signalType:r.LINETYPE.ACTIVE_START,actor:a[u-1]}];break;case 28:this.$=[a[u-4],a[u-1],{type:\"addMessage\",from:a[u-4].actor,to:a[u-1].actor,signalType:a[u-3],msg:a[u]},{type:\"activeEnd\",signalType:r.LINETYPE.ACTIVE_END,actor:a[u-4]}];break;case 29:this.$=[a[u-3],a[u-1],{type:\"addMessage\",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 30:this.$={type:\"addActor\",actor:a[u]};break;case 31:this.$=r.LINETYPE.SOLID_OPEN;break;case 32:this.$=r.LINETYPE.DOTTED_OPEN;break;case 33:this.$=r.LINETYPE.SOLID;break;case 34:this.$=r.LINETYPE.DOTTED;break;case 35:this.$=r.LINETYPE.SOLID_CROSS;break;case 36:this.$=r.LINETYPE.DOTTED_CROSS;break;case 37:this.$=a[u].substring(1).trim().replace(/\\\\n/gm,\"\\n\")}},table:[{3:1,4:e,5:r,6:i},{1:[3]},{3:5,4:e,5:r,6:i},{3:6,4:e,5:r,6:i},n([1,4,5,10,15,16,18,20,22,23,25,36],a,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,22:d,23:p,25:g,36:y},n(m,[2,5]),{9:24,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,22:d,23:p,25:g,36:y},n(m,[2,7]),n(m,[2,8]),{11:25,36:y},{5:[1,26]},{11:27,36:y},{11:28,36:y},{5:[1,29]},{19:30,43:v},{13:[1,32]},{13:[1,33]},{13:[1,34]},{33:35,37:[1,36],38:[1,37],39:[1,38],40:[1,39],41:[1,40],42:[1,41]},{26:42,27:[1,43],31:[1,44],32:[1,45]},n([5,12,30,37,38,39,40,41,42,43],[2,30]),n(m,[2,6]),{5:[1,47],12:[1,46]},n(m,[2,11]),{5:[1,48]},{5:[1,49]},n(m,[2,14]),{5:[1,50]},{5:[2,37]},n(_,a,{7:51}),n(_,a,{7:52}),n([4,5,10,15,16,18,20,22,23,24,25,36],a,{7:53}),{11:56,34:[1,54],35:[1,55],36:y},n(b,[2,31]),n(b,[2,32]),n(b,[2,33]),n(b,[2,34]),n(b,[2,35]),n(b,[2,36]),{11:57,36:y},{11:59,28:58,36:y},{36:[2,25]},{36:[2,26]},{13:[1,60]},n(m,[2,10]),n(m,[2,12]),n(m,[2,13]),n(m,[2,15]),{4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,21:[1,61],22:d,23:p,25:g,36:y},{4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,21:[1,62],22:d,23:p,25:g,36:y},{4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,22:d,23:p,24:[1,63],25:g,36:y},{11:64,36:y},{11:65,36:y},{19:66,43:v},{19:67,43:v},{19:68,43:v},{30:[1,69],43:[2,24]},{5:[1,70]},n(m,[2,16]),n(m,[2,17]),{13:[1,71]},{19:72,43:v},{19:73,43:v},{5:[2,29]},{5:[2,19]},{5:[2,20]},{11:74,36:y},n(m,[2,9]),n(_,a,{7:75}),{5:[2,27]},{5:[2,28]},{43:[2,23]},{4:u,5:o,8:8,9:10,10:s,11:21,14:13,15:c,16:l,17:16,18:h,20:f,21:[1,76],22:d,23:p,25:g,36:y},n(m,[2,18])],defaultActions:{5:[2,1],6:[2,2],31:[2,37],44:[2,25],45:[2,26],66:[2,29],67:[2,19],68:[2,20],72:[2,27],73:[2,28],74:[2,23]},parseError:function(t,n){if(!n.recoverable){var e=function(t,n){this.message=t,this.hash=n};throw e.prototype=Error,new e(t,n)}this.trace(t)},parse:function(t){var n=this,e=[0],r=[null],i=[],a=this.table,u=\"\",o=0,s=0,c=0,l=2,h=1,f=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,\"undefined\"==typeof d.yylloc&&(d.yylloc={});var y=d.yylloc;i.push(y);var m=d.options&&d.options.ranges;this.parseError=\"function\"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;for(var v,_,b,x,w,A,k,E,M,S=function(){var t;return t=d.lex()||h,\"number\"!=typeof t&&(t=n.symbols_[t]||t),t},D={};;){if(b=e[e.length-1],this.defaultActions[b]?x=this.defaultActions[b]:((null===v||\"undefined\"==typeof v)&&(v=S()),x=a[b]&&a[b][v]),\"undefined\"==typeof x||!x.length||!x[0]){var C=\"\";M=[];for(A in a[b])this.terminals_[A]&&A>l&&M.push(\"'\"+this.terminals_[A]+\"'\");C=d.showPosition?\"Parse error on line \"+(o+1)+\":\\n\"+d.showPosition()+\"\\nExpecting \"+M.join(\", \")+\", got '\"+(this.terminals_[v]||v)+\"'\":\"Parse error on line \"+(o+1)+\": Unexpected \"+(v==h?\"end of input\":\"'\"+(this.terminals_[v]||v)+\"'\"),this.parseError(C,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:y,expected:M})}if(x[0]instanceof Array&&x.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+b+\", token: \"+v);switch(x[0]){case 1:e.push(v),r.push(d.yytext),i.push(d.yylloc),e.push(x[1]),v=null,_?(v=_,_=null):(s=d.yyleng,u=d.yytext,o=d.yylineno,y=d.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[x[1]][1],D.$=r[r.length-k],D._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},m&&(D._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(D,[u,s,o,p.yy,x[1],r,i].concat(f)),\"undefined\"!=typeof w)return w;k&&(e=e.slice(0,-1*k*2),r=r.slice(0,-1*k),i=i.slice(0,-1*k)),e.push(this.productions_[x[1]][0]),r.push(D.$),i.push(D._$),E=a[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}},w=function(){var t={EOF:1,parseError:function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},setInput:function(t,n){return this.yy=n||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var n=t.match(/(?:\\r\\n?|\\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var n=t.length,e=t.split(/(?:\\r\\n?|\\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===r.length?this.yylloc.first_column:0)+r[r.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?\"...\":\"\")+t.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var t=this.pastInput(),n=new Array(t.length+1).join(\"-\");return t+this.upcomingInput()+\"\\n\"+n+\"^\"},test_match:function(t,n){var e,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\\r\\n?|\\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,n,e,r;this._more||(this.yytext=\"\",this.match=\"\");for(var i=this._currentRules(),a=0;a<i.length;a++)if(e=this._input.match(this.rules[i[a]]),e&&(!n||e[0].length>n[0].length)){if(n=e,r=a,this.options.backtrack_lexer){if(t=this.test_match(e,i[a]),t!==!1)return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?(t=this.test_match(n,i[r]),t!==!1?t:!1):\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:\"INITIAL\"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{\"case-insensitive\":!0},performAction:function(t,n,e,r){switch(e){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:return this.begin(\"ID\"),10;case 6:return this.begin(\"ALIAS\"),36;case 7:return this.popState(),this.popState(),this.begin(\"LINE\"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin(\"LINE\"),20;case 10:return this.begin(\"LINE\"),22;case 11:return this.begin(\"LINE\"),23;case 12:return this.begin(\"LINE\"),24;case 13:return this.popState(),13;case 14:return 21;case 15:return 31;case 16:return 32;case 17:return 27;case 18:return 25;case 19:return this.begin(\"ID\"),15;case 20:return this.begin(\"ID\"),16;case 21:return 18;case 22:return 6;case 23:return 30;case 24:return 5;case 25:return n.yytext=n.yytext.trim(),36;case 26:return 39;case 27:return 40;case 28:return 37;case 29:return 38;case 30:return 41;case 31:return 42;case 32:return 43;case 33:return 34;case 34:return 35;case 35:return 5;case 36:return\"INVALID\"}},rules:[/^(?:[\\n]+)/i,/^(?:\\s+)/i,/^(?:((?!\\n)\\s)+)/i,/^(?:#[^\\n]*)/i,/^(?:%[^\\n]*)/i,/^(?:participant\\b)/i,/^(?:[^\\->:\\n,;]+?(?=((?!\\n)\\s)+as(?!\\n)\\s|[#\\n;]|$))/i,/^(?:as\\b)/i,/^(?:(?:))/i,/^(?:loop\\b)/i,/^(?:opt\\b)/i,/^(?:alt\\b)/i,/^(?:else\\b)/i,/^(?:[^#\\n;]*)/i,/^(?:end\\b)/i,/^(?:left of\\b)/i,/^(?:right of\\b)/i,/^(?:over\\b)/i,/^(?:note\\b)/i,/^(?:activate\\b)/i,/^(?:deactivate\\b)/i,/^(?:title\\b)/i,/^(?:sequenceDiagram\\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\\+\\->:\\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\\n;]+)/i,/^(?:\\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,13],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],inclusive:!0}}};return t}();return x.lexer=w,t.prototype=x,x.Parser=t,new t}();\"undefined\"!=typeof t&&\"undefined\"!=typeof e&&(e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(n){n[1]||(console.log(\"Usage: \"+n[0]+\" FILE\"),r.exit(1));var i=t(\"fs\").readFileSync(t(\"path\").normalize(n[1]),\"utf8\");return e.parser.parse(i)},\"undefined\"!=typeof n&&t.main===n&&e.main(r.argv.slice(1)))}).call(this,t(\"_process\"))},{_process:106,fs:1,path:105}],127:[function(t,n,e){(function(n){\"use strict\";var r={},i=[],a=[],u=\"\",o=t(\"../../logger\"),s=new o.Log;e.addActor=function(t,n,e){var i=r[t];i&&n===i.name&&null==e||(null==e&&(e=n),r[t]={name:n,description:e})},e.addMessage=function(t,n,e,r){i.push({from:t,to:n,message:e,answer:r})},e.addSignal=function(t,n,e,r){s.debug(\"Adding message from=\"+t+\" to=\"+n+\" message=\"+e+\" type=\"+r),i.push({from:t,to:n,message:e,type:r})},e.getMessages=function(){return i},e.getActors=function(){return r},e.getActor=function(t){return r[t]},e.getActorKeys=function(){return Object.keys(r)},e.getTitle=function(){return u},e.clear=function(){r={},i=[]},e.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18},e.ARROWTYPE={FILLED:0,OPEN:1},e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},e.addNote=function(t,n,r){var u={actor:t,placement:n,message:r},o=[].concat(t,t);a.push(u),i.push({from:o[0],to:o[1],message:r,type:e.LINETYPE.NOTE,placement:n})},e.setTitle=function(t){u=t},e.parseError=function(t,e){n.mermaidAPI.parseError(t,e)},e.apply=function(t){if(t instanceof Array)t.forEach(function(t){e.apply(t)});else switch(t.type){case\"addActor\":e.addActor(t.actor,t.actor,t.description);break;case\"activeStart\":e.addSignal(t.actor,void 0,void 0,t.signalType);break;case\"activeEnd\":e.addSignal(t.actor,void 0,void 0,t.signalType);break;case\"addNote\":e.addNote(t.actor,t.placement,t.text);break;case\"addMessage\":e.addSignal(t.from,t.to,t.msg,t.signalType);break;case\"loopStart\":e.addSignal(void 0,void 0,t.loopText,t.signalType);break;case\"loopEnd\":e.addSignal(void 0,void 0,void 0,t.signalType);break;case\"optStart\":e.addSignal(void 0,void 0,t.optText,t.signalType);break;case\"optEnd\":e.addSignal(void 0,void 0,void 0,t.signalType);break;case\"altStart\":e.addSignal(void 0,void 0,t.altText,t.signalType);break;case\"else\":e.addSignal(void 0,void 0,t.altText,t.signalType);break;case\"altEnd\":e.addSignal(void 0,void 0,void 0,t.signalType);break;case\"setTitle\":e.setTitle(t.text)}}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../../logger\":130}],128:[function(t,n,e){\"use strict\";var r=t(\"./parser/sequenceDiagram\").parser;r.yy=t(\"./sequenceDb\");var i=t(\"./svgDraw\"),a=t(\"../../d3\"),u=t(\"../../logger\"),o=new u.Log,s={\ndiagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10,textPlacement:\"tspan\"};e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,n,e,r){t[n]=\"undefined\"==typeof t[n]?e:r(e,t[n])},updateBounds:function(t,n,r,i){function a(a){return function(c){o++;var l=u.sequenceItems.length-o+1;u.updateVal(c,\"starty\",n-l*s.boxMargin,Math.min),u.updateVal(c,\"stopy\",i+l*s.boxMargin,Math.max),u.updateVal(e.bounds.data,\"startx\",t-l*s.boxMargin,Math.min),u.updateVal(e.bounds.data,\"stopx\",r+l*s.boxMargin,Math.max),\"activation\"!=a&&(u.updateVal(c,\"startx\",t-l*s.boxMargin,Math.min),u.updateVal(c,\"stopx\",r+l*s.boxMargin,Math.max),u.updateVal(e.bounds.data,\"starty\",n-l*s.boxMargin,Math.min),u.updateVal(e.bounds.data,\"stopy\",i+l*s.boxMargin,Math.max))}}var u=this,o=0;this.sequenceItems.forEach(a()),this.activations.forEach(a(\"activation\"))},insert:function(t,n,r,i){var a,u,o,s;a=Math.min(t,r),o=Math.max(t,r),u=Math.min(n,i),s=Math.max(n,i),this.updateVal(e.bounds.data,\"startx\",a,Math.min),this.updateVal(e.bounds.data,\"starty\",u,Math.min),this.updateVal(e.bounds.data,\"stopx\",o,Math.max),this.updateVal(e.bounds.data,\"stopy\",s,Math.max),this.updateBounds(a,u,o,s)},newActivation:function(t,n){var e=r.yy.getActors()[t.from.actor],a=h(t.from.actor).length,u=e.x+s.width/2+(a-1)*s.activationWidth/2;this.activations.push({startx:u,starty:this.verticalPos+2,stopx:u+s.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.anchorElement(n)})},endActivation:function(t){var n=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor),e=this.activations.splice(n,1)[0];return e},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){var t=this.sequenceItems.pop();return t},addElseToLoop:function(t){var n=this.sequenceItems.pop();n.elsey=e.bounds.getVerticalPos(),n.elseText=t,this.sequenceItems.push(n)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var c=function(t,n,r,a,u){var o=i.getNoteRect();o.x=n,o.y=r,o.width=u||s.width,o[\"class\"]=\"note\";var c=t.append(\"g\"),l=i.drawRect(c,o),h=i.getTextObj();h.x=n-4,h.y=r-13,h.textMargin=s.noteMargin,h.dy=\"1em\",h.text=a.message,h[\"class\"]=\"noteText\";var f=i.drawText(c,h,o.width-s.noteMargin),d=f[0][0].getBBox().height;!u&&d>s.width?(f.remove(),c=t.append(\"g\"),f=i.drawText(c,h,2*o.width-s.noteMargin),d=f[0][0].getBBox().height,l.attr(\"width\",2*o.width),e.bounds.insert(n,r,n+2*o.width,r+2*s.noteMargin+d)):e.bounds.insert(n,r,n+o.width,r+2*s.noteMargin+d),l.attr(\"height\",d+2*s.noteMargin),e.bounds.bumpVerticalPos(d+2*s.noteMargin)},l=function(t,n,i,a,u){var o,c=t.append(\"g\"),l=n+(i-n)/2,h=c.append(\"text\").attr(\"x\",l).attr(\"y\",a-7).style(\"text-anchor\",\"middle\").attr(\"class\",\"messageText\").text(u.message);o=\"undefined\"!=typeof h[0][0].getBBox?h[0][0].getBBox().width:h[0][0].getBoundingClientRect();var f;if(n===i){f=c.append(\"path\").attr(\"d\",\"M \"+n+\",\"+a+\" C \"+(n+60)+\",\"+(a-10)+\" \"+(n+60)+\",\"+(a+30)+\" \"+n+\",\"+(a+20)),e.bounds.bumpVerticalPos(30);var d=Math.max(o/2,100);e.bounds.insert(n-d,e.bounds.getVerticalPos()-10,i+d,e.bounds.getVerticalPos())}else f=c.append(\"line\"),f.attr(\"x1\",n),f.attr(\"y1\",a),f.attr(\"x2\",i),f.attr(\"y2\",a),e.bounds.insert(n,e.bounds.getVerticalPos()-10,i,e.bounds.getVerticalPos());u.type===r.yy.LINETYPE.DOTTED||u.type===r.yy.LINETYPE.DOTTED_CROSS||u.type===r.yy.LINETYPE.DOTTED_OPEN?(f.style(\"stroke-dasharray\",\"3, 3\"),f.attr(\"class\",\"messageLine1\")):f.attr(\"class\",\"messageLine0\");var p=\"\";s.arrowMarkerAbsolute&&(p=window.location.protocol+\"//\"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\\(/g,\"\\\\(\"),p=p.replace(/\\)/g,\"\\\\)\")),f.attr(\"stroke-width\",2),f.attr(\"stroke\",\"black\"),f.style(\"fill\",\"none\"),(u.type===r.yy.LINETYPE.SOLID||u.type===r.yy.LINETYPE.DOTTED)&&f.attr(\"marker-end\",\"url(\"+p+\"#arrowhead)\"),(u.type===r.yy.LINETYPE.SOLID_CROSS||u.type===r.yy.LINETYPE.DOTTED_CROSS)&&f.attr(\"marker-end\",\"url(\"+p+\"#crosshead)\")};n.exports.drawActors=function(t,n,r,a){var u;for(u=0;u<r.length;u++){var o=r[u];n[o].x=u*s.actorMargin+u*s.width,n[o].y=a,n[o].width=s.diagramMarginX,n[o].height=s.diagramMarginY,i.drawActor(t,n[o].x,a,n[o].description,s),e.bounds.insert(n[o].x,a,n[o].x+s.width,s.height)}e.bounds.bumpVerticalPos(s.height)},n.exports.setConf=function(t){var n=Object.keys(t);n.forEach(function(n){s[n]=t[n]})};var h=function(t){return n.exports.bounds.activations.filter(function(n){return n.actor==t})},f=function(t){var n=r.yy.getActors(),e=h(t),i=e.reduce(function(t,n){return Math.min(t,n.startx)},n[t].x+s.width/2),a=e.reduce(function(t,n){return Math.max(t,n.stopx)},n[t].x+s.width/2);return[i,a]};n.exports.draw=function(t,u){function h(t,n){var r=e.bounds.endActivation(t);r.starty+18>n&&(r.starty=n-6,n+=12),i.drawActivation(y,r,n,s),e.bounds.insert(r.startx,n-10,r.stopx,n)}r.yy.clear(),r.parse(t+\"\\n\"),e.bounds.init();var d,p,g,y=a.select(\"#\"+u),m=r.yy.getActors(),v=r.yy.getActorKeys(),_=r.yy.getMessages(),b=r.yy.getTitle();n.exports.drawActors(y,m,v,0),i.insertArrowHead(y),i.insertArrowCrossHead(y);var x;_.forEach(function(t){var n;switch(t.type){case r.yy.LINETYPE.NOTE:e.bounds.bumpVerticalPos(s.boxMargin),d=m[t.from].x,p=m[t.to].x,t.placement===r.yy.PLACEMENT.RIGHTOF?c(y,d+(s.width+s.actorMargin)/2,e.bounds.getVerticalPos(),t):t.placement===r.yy.PLACEMENT.LEFTOF?c(y,d-(s.width+s.actorMargin)/2,e.bounds.getVerticalPos(),t):t.to===t.from?c(y,d,e.bounds.getVerticalPos(),t):(g=Math.abs(d-p)+s.actorMargin,c(y,(d+p+s.width-g)/2,e.bounds.getVerticalPos(),t,g));break;case r.yy.LINETYPE.ACTIVE_START:e.bounds.newActivation(t,y);break;case r.yy.LINETYPE.ACTIVE_END:h(t,e.bounds.getVerticalPos());break;case r.yy.LINETYPE.LOOP_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.LOOP_END:n=e.bounds.endLoop(),i.drawLoop(y,n,\"loop\",s),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.OPT_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.OPT_END:n=e.bounds.endLoop(),i.drawLoop(y,n,\"opt\",s),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.ALT_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.ALT_ELSE:e.bounds.bumpVerticalPos(s.boxMargin),n=e.bounds.addElseToLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.ALT_END:n=e.bounds.endLoop(),i.drawLoop(y,n,\"alt\",s),e.bounds.bumpVerticalPos(s.boxMargin);break;default:try{x=t,e.bounds.bumpVerticalPos(s.messageMargin);var a=f(t.from),u=f(t.to),o=a[0]<=u[0]?1:0,v=a[0]<u[0]?0:1;d=a[o],p=u[v];var _=e.bounds.getVerticalPos();l(y,d,p,_,t);var b=a.concat(u);e.bounds.insert(Math.min.apply(null,b),_,Math.max.apply(null,b),_)}catch(w){console.error(\"error while drawing message\",w)}}}),s.mirrorActors&&(e.bounds.bumpVerticalPos(2*s.boxMargin),n.exports.drawActors(y,m,v,e.bounds.getVerticalPos()));var w=e.bounds.getBounds();o.debug(\"For line height fix Querying: #\"+u+\" .actor-line\");var A=a.selectAll(\"#\"+u+\" .actor-line\");A.attr(\"y2\",w.stopy);var k=w.stopy-w.starty+2*s.diagramMarginY;s.mirrorActors&&(k=k-s.boxMargin+s.bottomMarginAdj);var E=w.stopx-w.startx+2*s.diagramMarginX;b&&y.append(\"text\").text(b).attr(\"x\",(w.stopx-w.startx)/2-2*s.diagramMarginX).attr(\"y\",-25),s.useMaxWidth?(y.attr(\"height\",\"100%\"),y.attr(\"width\",\"100%\"),y.attr(\"style\",\"max-width:\"+E+\"px;\")):(y.attr(\"height\",k),y.attr(\"width\",E));var M=b?40:0;y.attr(\"viewBox\",w.startx-s.diagramMarginX+\" -\"+(s.diagramMarginY+M)+\" \"+E+\" \"+(k+M))}},{\"../../d3\":108,\"../../logger\":130,\"./parser/sequenceDiagram\":126,\"./sequenceDb\":127,\"./svgDraw\":129}],129:[function(t,n,e){\"use strict\";e.drawRect=function(t,n){var e=t.append(\"rect\");return e.attr(\"x\",n.x),e.attr(\"y\",n.y),e.attr(\"fill\",n.fill),e.attr(\"stroke\",n.stroke),e.attr(\"width\",n.width),e.attr(\"height\",n.height),e.attr(\"rx\",n.rx),e.attr(\"ry\",n.ry),\"undefined\"!=typeof n[\"class\"]&&e.attr(\"class\",n[\"class\"]),e},e.drawText=function(t,n,e){var r=n.text.replace(/<br\\/?>/gi,\" \"),i=t.append(\"text\");i.attr(\"x\",n.x),i.attr(\"y\",n.y),i.style(\"text-anchor\",n.anchor),i.attr(\"fill\",n.fill),\"undefined\"!=typeof n[\"class\"]&&i.attr(\"class\",n[\"class\"]);var a=i.append(\"tspan\");return a.attr(\"x\",n.x+2*n.textMargin),a.text(r),\"undefined\"!=typeof i.textwrap&&i.textwrap({x:n.x,y:n.y,width:e,height:1800},n.textMargin),i},e.drawLabel=function(t,n){var r=e.getNoteRect();r.x=n.x,r.y=n.y,r.width=50,r.height=20,r.fill=\"#526e52\",r.stroke=\"none\",r[\"class\"]=\"labelBox\",e.drawRect(t,r),n.y=n.y+n.labelMargin,n.x=n.x+.5*n.labelMargin,n.fill=\"white\",e.drawText(t,n)};var r=-1;e.drawActor=function(t,n,a,u,o){var s=n+o.width/2,c=t.append(\"g\");0===a&&(r++,c.append(\"line\").attr(\"id\",\"actor\"+r).attr(\"x1\",s).attr(\"y1\",5).attr(\"x2\",s).attr(\"y2\",2e3).attr(\"class\",\"actor-line\").attr(\"stroke-width\",\"0.5px\").attr(\"stroke\",\"#999\"));var l=e.getNoteRect();l.x=n,l.y=a,l.fill=\"#eaeaea\",l.width=o.width,l.height=o.height,l[\"class\"]=\"actor\",l.rx=3,l.ry=3,e.drawRect(c,l),i(o)(u,c,l.x,l.y,l.width,l.height,{\"class\":\"actor\"})},e.anchorElement=function(t){return t.append(\"g\")},e.drawActivation=function(t,n,r){var i=e.getNoteRect(),a=n.anchored;i.x=n.startx,i.y=n.starty,i.fill=\"#f4f4f4\",i.width=n.stopx-n.startx,i.height=r-n.starty,e.drawRect(a,i)},e.drawLoop=function(t,n,r,i){var a=t.append(\"g\"),u=function(t,n,e,r){a.append(\"line\").attr(\"x1\",t).attr(\"y1\",n).attr(\"x2\",e).attr(\"y2\",r).attr(\"stroke-width\",2).attr(\"stroke\",\"#526e52\").attr(\"class\",\"loopLine\")};u(n.startx,n.starty,n.stopx,n.starty),u(n.stopx,n.starty,n.stopx,n.stopy),u(n.startx,n.stopy,n.stopx,n.stopy),u(n.startx,n.starty,n.startx,n.stopy),\"undefined\"!=typeof n.elsey&&u(n.startx,n.elsey,n.stopx,n.elsey);var o=e.getTextObj();o.text=r,o.x=n.startx,o.y=n.starty,o.labelMargin=15,o[\"class\"]=\"labelText\",o.fill=\"white\",e.drawLabel(a,o),o=e.getTextObj(),o.text=\"[ \"+n.title+\" ]\",o.x=n.startx+(n.stopx-n.startx)/2,o.y=n.starty+1.5*i.boxMargin,o.anchor=\"middle\",o[\"class\"]=\"loopText\",e.drawText(a,o),\"undefined\"!=typeof n.elseText&&(o.text=\"[ \"+n.elseText+\" ]\",o.y=n.elsey+1.5*i.boxMargin,e.drawText(a,o))},e.insertArrowHead=function(t){t.append(\"defs\").append(\"marker\").attr(\"id\",\"arrowhead\").attr(\"refX\",5).attr(\"refY\",2).attr(\"markerWidth\",6).attr(\"markerHeight\",4).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M 0,0 V 4 L6,2 Z\")},e.insertArrowCrossHead=function(t){var n=t.append(\"defs\"),e=n.append(\"marker\").attr(\"id\",\"crosshead\").attr(\"markerWidth\",15).attr(\"markerHeight\",8).attr(\"orient\",\"auto\").attr(\"refX\",16).attr(\"refY\",4);e.append(\"path\").attr(\"fill\",\"black\").attr(\"stroke\",\"#000000\").style(\"stroke-dasharray\",\"0, 0\").attr(\"stroke-width\",\"1px\").attr(\"d\",\"M 9,2 V 6 L16,4 Z\"),e.append(\"path\").attr(\"fill\",\"none\").attr(\"stroke\",\"#000000\").style(\"stroke-dasharray\",\"0, 0\").attr(\"stroke-width\",\"1px\").attr(\"d\",\"M 0,1 L 6,7 M 6,1 L 0,7\")},e.getTextObj=function(){var t={x:0,y:0,fill:\"black\",\"text-anchor\":\"start\",style:\"#666\",width:100,height:100,textMargin:0,rx:0,ry:0};return t},e.getNoteRect=function(){var t={x:0,y:0,fill:\"#EDF2AE\",stroke:\"#666\",width:100,anchor:\"start\",height:100,rx:0,ry:0};return t};var i=function(){function t(t,n,e,i,a,u,o){var s=n.append(\"text\").attr(\"x\",e+a/2).attr(\"y\",i+u/2+5).style(\"text-anchor\",\"middle\").text(t);r(s,o)}function n(t,n,e,i,a,u,o){var s=n.append(\"text\").attr(\"x\",e+a/2).attr(\"y\",i).style(\"text-anchor\",\"middle\");if(s.append(\"tspan\").attr(\"x\",e+a/2).attr(\"dy\",\"0\").text(t),\"undefined\"!=typeof s.textwrap){s.textwrap({x:e+a/2,y:i,width:a,height:u},0);var c=s.selectAll(\"tspan\");c.length>0&&c[0].length>0&&(c=c[0],s.attr(\"y\",i+(u/2-s[0][0].getBBox().height*(1-1/c.length)/2)).attr(\"dominant-baseline\",\"central\").attr(\"alignment-baseline\",\"central\"))}r(s,o)}function e(t,e,i,a,u,o,s){var c=e.append(\"switch\"),l=c.append(\"foreignObject\").attr(\"x\",i).attr(\"y\",a).attr(\"width\",u).attr(\"height\",o),h=l.append(\"div\").style(\"display\",\"table\").style(\"height\",\"100%\").style(\"width\",\"100%\");h.append(\"div\").style(\"display\",\"table-cell\").style(\"text-align\",\"center\").style(\"vertical-align\",\"middle\").text(t),n(t,c,i,a,u,o,s),r(h,s)}function r(t,n){for(var e in n)n.hasOwnProperty(e)&&t.attr(e,n[e])}return function(r){return\"fo\"===r.textPlacement?e:\"old\"===r.textPlacement?t:n}}()},{}],130:[function(t,n,e){\"use strict\";function r(t){var n=t.getUTCHours(),e=t.getUTCMinutes(),r=t.getSeconds(),i=t.getMilliseconds();10>n&&(n=\"0\"+n),10>e&&(e=\"0\"+e),10>r&&(r=\"0\"+r),100>i&&(i=\"0\"+i),10>i&&(i=\"00\"+i);var a=n+\":\"+e+\":\"+r+\" (\"+i+\")\";return a}function i(t){var n=r(new Date);return\"%c \"+n+\" :%c\"+t+\": \"}function a(t){this.level=t,this.log=function(){var t=Array.prototype.slice.call(arguments),n=t.shift(),e=this.level;\"undefined\"==typeof e&&(e=o),n>=e&&\"undefined\"!=typeof console&&\"undefined\"!=typeof console.log&&(t.unshift(\"[\"+r(new Date)+\"] \"),console.log.apply(console,t.map(function(t){return\"object\"==typeof t?t.toString()+JSON.stringify(t,null,2):t})))},this.trace=window.console.debug.bind(window.console,i(\"TRACE\",name),\"color:grey;\",\"color: grey;\"),this.debug=window.console.debug.bind(window.console,i(\"DEBUG\",name),\"color:grey;\",\"color: green;\"),this.info=window.console.debug.bind(window.console,i(\"INFO\",name),\"color:grey;\",\"color: blue;\"),this.warn=window.console.debug.bind(window.console,i(\"WARN\",name),\"color:grey;\",\"color: orange;\"),this.error=window.console.debug.bind(window.console,i(\"ERROR\",name),\"color:grey;\",\"color: red;\")}var u={debug:1,info:2,warn:3,error:4,fatal:5,\"default\":5},o=u.error;e.setLogLevel=function(t){o=t},e.Log=a},{}],131:[function(t,n,e){(function(n){\"use strict\";var r=t(\"./logger\"),i=new r.Log,a=t(\"./diagrams/flowchart/graphDb\"),u=t(\"./utils\"),o=t(\"./diagrams/flowchart/flowRenderer\"),s=t(\"./diagrams/sequenceDiagram/sequenceRenderer\"),c=t(\"./diagrams/example/exampleRenderer\"),l=t(\"./diagrams/example/parser/example\"),h=t(\"./diagrams/flowchart/parser/flow\"),f=t(\"./diagrams/flowchart/parser/dot\"),d=t(\"./diagrams/sequenceDiagram/parser/sequenceDiagram\"),p=t(\"./diagrams/sequenceDiagram/sequenceDb\"),g=t(\"./diagrams/example/exampleDb\"),y=t(\"./diagrams/gantt/ganttRenderer\"),m=t(\"./diagrams/gantt/parser/gantt\"),v=t(\"./diagrams/gantt/ganttDb\"),_=t(\"./diagrams/classDiagram/parser/classDiagram\"),b=t(\"./diagrams/classDiagram/classRenderer\"),x=t(\"./diagrams/classDiagram/classDb\"),w=t(\"./diagrams/gitGraph/parser/gitGraph\"),A=t(\"./diagrams/gitGraph/gitGraphRenderer\"),k=t(\"./diagrams/gitGraph/gitGraphAst\"),E=t(\"./d3\");SVGElement.prototype.getTransformToElement=SVGElement.prototype.getTransformToElement||function(t){return t.getScreenCTM().inverse().multiply(this.getScreenCTM())};var M={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequenceDiagram:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'\"Open-Sans\", \"sans-serif\"',numberSectionStyles:3,axisFormatter:[[\"%I:%M\",function(t){return t.getHours()}],[\"w. %U\",function(t){return 1==t.getDay()}],[\"%a %d\",function(t){return t.getDay()&&1!=t.getDate()}],[\"%b %d\",function(t){return 1!=t.getDate()}],[\"%m-%y\",function(t){return t.getMonth()}]]},classDiagram:{},gitGraph:{},info:{}};r.setLogLevel(M.logLevel);var S=function(t){var n,e=u.detectType(t);switch(e){case\"gitGraph\":n=w,n.parser.yy=k;break;case\"graph\":n=h,n.parser.yy=a;break;case\"dotGraph\":n=f,n.parser.yy=a;break;case\"sequenceDiagram\":n=d,n.parser.yy=p;break;case\"info\":n=l,n.parser.yy=g;break;case\"gantt\":n=m,n.parser.yy=v;break;case\"classDiagram\":n=_,n.parser.yy=x}try{return n.parse(t),!0}catch(r){return!1}};e.parse=S,e.version=function(){return t(\"../package.json\").version},e.encodeEntities=function(t){var n=t;return n=n.replace(/style.*:\\S*#.*;/g,function(t){var n=t.substring(0,t.length-1);return n}),n=n.replace(/classDef.*:\\S*#.*;/g,function(t){var n=t.substring(0,t.length-1);return n}),n=n.replace(/#\\w+\\;/g,function(t){var n=t.substring(1,t.length-1),e=/^\\+?\\d+$/.test(n);return e?\"fl°°\"+n+\"¶ß\":\"fl°\"+n+\"¶ß\"})},e.decodeEntities=function(t){var n=t;return n=n.replace(/\\fl\\°\\°/g,function(){return\"&#\"}),n=n.replace(/\\fl\\°/g,function(){return\"&\"}),n=n.replace(/¶ß/g,function(){return\";\"})};var D=function(t,n,r,l){if(\"undefined\"!=typeof l)l.innerHTML=\"\",E.select(l).append(\"div\").attr(\"id\",\"d\"+t).append(\"svg\").attr(\"id\",t).attr(\"width\",\"100%\").attr(\"xmlns\",\"http://www.w3.org/2000/svg\").append(\"g\");else{var h=document.querySelector(\"#d\"+t);h&&(h.innerHTML=\"\"),E.select(\"body\").append(\"div\").attr(\"id\",\"d\"+t).append(\"svg\").attr(\"id\",t).attr(\"width\",\"100%\").attr(\"xmlns\",\"http://www.w3.org/2000/svg\").append(\"g\")}window.txt=n,n=e.encodeEntities(n);var h=E.select(\"#d\"+t).node(),f=u.detectType(n),d={};switch(f){case\"gitGraph\":M.flowchart.arrowMarkerAbsolute=M.arrowMarkerAbsolute,A.setConf(M.gitGraph),A.draw(n,t,!1);break;case\"graph\":M.flowchart.arrowMarkerAbsolute=M.arrowMarkerAbsolute,o.setConf(M.flowchart),o.draw(n,t,!1),M.cloneCssStyles&&(d=o.getClasses(n,!1),u.cloneCssStyles(h.firstChild,d));break;case\"dotGraph\":M.flowchart.arrowMarkerAbsolute=M.arrowMarkerAbsolute,o.setConf(M.flowchart),o.draw(n,t,!0),M.cloneCssStyles&&(d=o.getClasses(n,!0),u.cloneCssStyles(h.firstChild,d));break;case\"sequenceDiagram\":M.sequenceDiagram.arrowMarkerAbsolute=M.arrowMarkerAbsolute,s.setConf(M.sequenceDiagram),s.draw(n,t),M.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case\"gantt\":M.gantt.arrowMarkerAbsolute=M.arrowMarkerAbsolute,y.setConf(M.gantt),y.draw(n,t),M.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case\"classDiagram\":M.classDiagram.arrowMarkerAbsolute=M.arrowMarkerAbsolute,b.setConf(M.classDiagram),b.draw(n,t),M.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case\"info\":M.info.arrowMarkerAbsolute=M.arrowMarkerAbsolute,c.draw(n,t,e.version()),M.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[])}E.select(\"#d\"+t).selectAll(\"foreignobject div\").attr(\"xmlns\",\"http://www.w3.org/1999/xhtml\");var p=\"\";M.arrowMarkerAbsolute&&(p=window.location.protocol+\"//\"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\\(/g,\"\\\\(\"),p=p.replace(/\\)/g,\"\\\\)\"));var g=E.select(\"#d\"+t).node().innerHTML.replace(/url\\(#arrowhead/g,\"url(\"+p+\"#arrowhead\",\"g\");g=e.decodeEntities(g),\"undefined\"!=typeof r?r(g,a.bindFunctions):i.warn(\"CB = undefined!\");var m=E.select(\"#d\"+t).node();return null!==m&&\"function\"==typeof m.remove&&E.select(\"#d\"+t).node().remove(),g};e.render=function(t,n,e,r){try{if(1===arguments.length&&(n=t,t=\"mermaidId0\"),\"undefined\"!=typeof document)return D(t,n,e,r)}catch(a){i.warn(a)}};var C=function(t){var n,e=Object.keys(t);for(n=0;n<e.length;n++)if(\"object\"==typeof t[e[n]]){var r,a=Object.keys(t[e[n]]);for(r=0;r<a.length;r++)i.debug(\"Setting conf \",e[n],\"-\",a[r]),\"undefined\"==typeof M[e[n]]&&(M[e[n]]={}),i.debug(\"Setting config: \"+e[n]+\" \"+a[r]+\" to \"+t[e[n]][a[r]]),M[e[n]][a[r]]=t[e[n]][a[r]]}else M[e[n]]=t[e[n]]};e.initialize=function(t){i.debug(\"Initializing mermaidAPI\"),\"object\"==typeof t&&C(t),r.setLogLevel(M.logLevel)},e.getConfig=function(){return M},e.parseError=function(t,e){\"undefined\"!=typeof mermaid?n.mermaid.parseError(t,e):(i.debug(\"Mermaid Syntax error:\"),i.debug(t))},n.mermaidAPI={render:e.render,parse:e.parse,initialize:e.initialize,detectType:u.detectType,parseError:e.parseError,getConfig:e.getConfig}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../package.json\":107,\"./d3\":108,\"./diagrams/classDiagram/classDb\":109,\"./diagrams/classDiagram/classRenderer\":110,\"./diagrams/classDiagram/parser/classDiagram\":111,\"./diagrams/example/exampleDb\":112,\"./diagrams/example/exampleRenderer\":113,\"./diagrams/example/parser/example\":114,\"./diagrams/flowchart/flowRenderer\":116,\"./diagrams/flowchart/graphDb\":117,\"./diagrams/flowchart/parser/dot\":118,\"./diagrams/flowchart/parser/flow\":119,\"./diagrams/gantt/ganttDb\":120,\"./diagrams/gantt/ganttRenderer\":121,\"./diagrams/gantt/parser/gantt\":122,\"./diagrams/gitGraph/gitGraphAst\":123,\"./diagrams/gitGraph/gitGraphRenderer\":124,\"./diagrams/gitGraph/parser/gitGraph\":125,\"./diagrams/sequenceDiagram/parser/sequenceDiagram\":126,\"./diagrams/sequenceDiagram/sequenceDb\":127,\"./diagrams/sequenceDiagram/sequenceRenderer\":128,\"./logger\":130,\"./utils\":132}],132:[function(t,n,e){\"use strict\";var r=t(\"./logger\"),i=new r.Log,a=function(t){return t=t.replace(/^\\s*%%.*\\n/g,\"\\n\"),t.match(/^\\s*sequenceDiagram/)?\"sequenceDiagram\":t.match(/^\\s*digraph/)?\"dotGraph\":t.match(/^\\s*info/)?\"info\":t.match(/^\\s*gantt/)?\"gantt\":t.match(/^\\s*classDiagram/)?(i.debug(\"Detected classDiagram syntax\"),\"classDiagram\"):t.match(/^\\s*gitGraph/)?(i.debug(\"Detected gitGraph syntax\"),\"gitGraph\"):\"graph\"};e.detectType=a;var u=function(t,n){for(var e,r=\"\",a=document.styleSheets,u=0;u<a.length;u++)if(\"mermaid-svg-internal-css\"!==a[u].title)try{var o=a[u].cssRules;if(null!==o)for(var s=0;s<o.length;s++)if(e=o[s],\"undefined\"!=typeof e.style){var c;c=t.querySelectorAll(e.selectorText),c.length>0&&(r+=e.selectorText+\" { \"+e.style.cssText+\"}\\n\")}}catch(l){\"undefined\"!=typeof e&&i.warn('Invalid CSS selector \"'+e.selectorText+'\"',l)}var h=\"\",f=\"\";for(var d in n)n.hasOwnProperty(d)&&\"undefined\"!=typeof d&&(\"default\"===d?(n[\"default\"].styles instanceof Array&&(h+=\"#\"+t.id.trim()+\" .node>rect { \"+n[d].styles.join(\"; \")+\"; }\\n\"),n[\"default\"].nodeLabelStyles instanceof Array&&(h+=\"#\"+t.id.trim()+\" .node text  { \"+n[d].nodeLabelStyles.join(\"; \")+\"; }\\n\"),n[\"default\"].edgeLabelStyles instanceof Array&&(h+=\"#\"+t.id.trim()+\" .edgeLabel text  { \"+n[d].edgeLabelStyles.join(\"; \")+\"; }\\n\"),n[\"default\"].clusterStyles instanceof Array&&(h+=\"#\"+t.id.trim()+\" .cluster rect  { \"+n[d].clusterStyles.join(\"; \")+\"; }\\n\")):n[d].styles instanceof Array&&(f+=\"#\"+t.id.trim()+\" .\"+d+\">rect, .\"+d+\">polygon, .\"+d+\">circle, .\"+d+\">ellipse { \"+n[d].styles.join(\"; \")+\"; }\\n\"));if(\"\"!==r||\"\"!==h||\"\"!==f){var p=document.createElement(\"style\");p.setAttribute(\"type\",\"text/css\"),p.setAttribute(\"title\",\"mermaid-svg-internal-css\"),p.innerHTML=\"/* <![CDATA[ */\\n\",\"\"!==h&&(p.innerHTML+=h),\"\"!==r&&(p.innerHTML+=r),\"\"!==f&&(p.innerHTML+=f),p.innerHTML+=\"/* ]]> */\\n\",t.insertBefore(p,t.firstChild)}};e.cloneCssStyles=u;var o=function(t,n){for(var e=0;e<n.length;e++)if(n[e].match(t))return e;return-1};e.isSubstringInArray=o},{\"./logger\":130}]},{},[131])(131)});\n})($tw.node ? $tw.fakeDocument : window.document)\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/mermaid.dark.css": {
            "type": "text/css",
            "title": "$:/plugins/gt6796c/mermaid-tw5/mermaid.dark.css",
            "tags": "$:/tags/Stylesheet",
            "text": "/* Flowchart variables */\n/* Sequence Diagram variables */\n/* Gantt chart variables */\n.mermaid .label {\n  color: #323D47;\n}\n.node rect,\n.node circle,\n.node ellipse,\n.node polygon {\n  fill: #BDD5EA;\n  stroke: #81B1DB;\n  stroke-width: 1px;\n}\n.edgePath .path {\n  stroke: lightgrey;\n}\n.edgeLabel {\n  background-color: #e8e8e8;\n}\n.cluster rect {\n  fill: #6D6D65 !important;\n  rx: 4 !important;\n  stroke: rgba(255, 255, 255, 0.25) !important;\n  stroke-width: 1px !important;\n}\n.cluster text {\n  fill: #F9FFFE;\n}\n.actor {\n  stroke: #81B1DB;\n  fill: #BDD5EA;\n}\ntext.actor {\n  fill: black;\n  stroke: none;\n}\n.actor-line {\n  stroke: lightgrey;\n}\n.messageLine0 {\n  stroke-width: 1.5;\n  stroke-dasharray: \"2 2\";\n  marker-end: \"url(#arrowhead)\";\n  stroke: lightgrey;\n}\n.messageLine1 {\n  stroke-width: 1.5;\n  stroke-dasharray: \"2 2\";\n  stroke: lightgrey;\n}\n#arrowhead {\n  fill: lightgrey !important;\n}\n#crosshead path {\n  fill: lightgrey !important;\n  stroke: lightgrey !important;\n}\n.messageText {\n  fill: lightgrey;\n  stroke: none;\n}\n.labelBox {\n  stroke: #81B1DB;\n  fill: #BDD5EA;\n}\n.labelText {\n  fill: #323D47;\n  stroke: none;\n}\n.loopText {\n  fill: lightgrey;\n  stroke: none;\n}\n.loopLine {\n  stroke-width: 2;\n  stroke-dasharray: \"2 2\";\n  marker-end: \"url(#arrowhead)\";\n  stroke: #81B1DB;\n}\n.note {\n  stroke: rgba(255, 255, 255, 0.25);\n  fill: #fff5ad;\n}\n.noteText {\n  fill: black;\n  stroke: none;\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 14px;\n}\n/** Section styling */\n.section {\n  stroke: none;\n  opacity: 0.2;\n}\n.section0 {\n  fill: rgba(255, 255, 255, 0.3);\n}\n.section2 {\n  fill: #EAE8B9;\n}\n.section1,\n.section3 {\n  fill: white;\n  opacity: 0.2;\n}\n.sectionTitle0 {\n  fill: #F9FFFE;\n}\n.sectionTitle1 {\n  fill: #F9FFFE;\n}\n.sectionTitle2 {\n  fill: #F9FFFE;\n}\n.sectionTitle3 {\n  fill: #F9FFFE;\n}\n.sectionTitle {\n  text-anchor: start;\n  font-size: 11px;\n  text-height: 14px;\n}\n/* Grid and axis */\n.grid .tick {\n  stroke: rgba(255, 255, 255, 0.3);\n  opacity: 0.3;\n  shape-rendering: crispEdges;\n}\n.grid .tick text {\n  fill: lightgrey;\n  opacity: 0.5;\n}\n.grid path {\n  stroke-width: 0;\n}\n/* Today line */\n.today {\n  fill: none;\n  stroke: #DB5757;\n  stroke-width: 2px;\n}\n/* Task styling */\n/* Default task */\n.task {\n  stroke-width: 1;\n}\n.taskText {\n  text-anchor: middle;\n  font-size: 11px;\n}\n.taskTextOutsideRight {\n  fill: #323D47;\n  text-anchor: start;\n  font-size: 11px;\n}\n.taskTextOutsideLeft {\n  fill: #323D47;\n  text-anchor: end;\n  font-size: 11px;\n}\n/* Specific task settings for the sections*/\n.taskText0,\n.taskText1,\n.taskText2,\n.taskText3 {\n  fill: #323D47;\n}\n.task0,\n.task1,\n.task2,\n.task3 {\n  fill: #BDD5EA;\n  stroke: rgba(255, 255, 255, 0.5);\n}\n.taskTextOutside0,\n.taskTextOutside2 {\n  fill: lightgrey;\n}\n.taskTextOutside1,\n.taskTextOutside3 {\n  fill: lightgrey;\n}\n/* Active task */\n.active0,\n.active1,\n.active2,\n.active3 {\n  fill: #81B1DB;\n  stroke: rgba(255, 255, 255, 0.5);\n}\n.activeText0,\n.activeText1,\n.activeText2,\n.activeText3 {\n  fill: #323D47 !important;\n}\n/* Completed task */\n.done0,\n.done1,\n.done2,\n.done3 {\n  fill: lightgrey;\n}\n.doneText0,\n.doneText1,\n.doneText2,\n.doneText3 {\n  fill: #323D47 !important;\n}\n/* Tasks on the critical line */\n.crit0,\n.crit1,\n.crit2,\n.crit3 {\n  stroke: #E83737;\n  fill: #E83737;\n  stroke-width: 2;\n}\n.activeCrit0,\n.activeCrit1,\n.activeCrit2,\n.activeCrit3 {\n  stroke: #E83737;\n  fill: #81B1DB;\n  stroke-width: 2;\n}\n.doneCrit0,\n.doneCrit1,\n.doneCrit2,\n.doneCrit3 {\n  stroke: #E83737;\n  fill: lightgrey;\n  stroke-width: 1;\n  cursor: pointer;\n  shape-rendering: crispEdges;\n}\n.doneCritText0,\n.doneCritText1,\n.doneCritText2,\n.doneCritText3 {\n  fill: lightgrey !important;\n}\n.activeCritText0,\n.activeCritText1,\n.activeCritText2,\n.activeCritText3 {\n  fill: #323D47 !important;\n}\n.titleText {\n  text-anchor: middle;\n  font-size: 18px;\n  fill: lightgrey;\n}\n/*\n\n\n*/\n.node text {\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 14px;\n}\ndiv.mermaidTooltip {\n  position: absolute;\n  text-align: center;\n  max-width: 200px;\n  padding: 2px;\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 12px;\n  background: #6D6D65;\n  border: 1px solid rgba(255, 255, 255, 0.25);\n  border-radius: 2px;\n  pointer-events: none;\n  z-index: 100;\n}\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/mermaid.css": {
            "type": "text/css",
            "title": "$:/plugins/gt6796c/mermaid-tw5/mermaid.css",
            "tags": "$:/tags/Stylesheet",
            "text": "/* Flowchart variables */\n/* Sequence Diagram variables */\n/* Gantt chart variables */\n.mermaid .label {\n  color: #333;\n}\n.node rect,\n.node circle,\n.node ellipse,\n.node polygon {\n  fill: #ECECFF;\n  stroke: #CCCCFF;\n  stroke-width: 1px;\n}\n.edgePath .path {\n  stroke: #333333;\n}\n.edgeLabel {\n  background-color: #e8e8e8;\n}\n.cluster rect {\n  fill: #ffffde !important;\n  rx: 4 !important;\n  stroke: #aaaa33 !important;\n  stroke-width: 1px !important;\n}\n.cluster text {\n  fill: #333;\n}\n.actor {\n  stroke: #CCCCFF;\n  fill: #ECECFF;\n}\ntext.actor {\n  fill: black;\n  stroke: none;\n}\n.actor-line {\n  stroke: grey;\n}\n.messageLine0 {\n  stroke-width: 1.5;\n  stroke-dasharray: \"2 2\";\n  marker-end: \"url(#arrowhead)\";\n  stroke: #333;\n}\n.messageLine1 {\n  stroke-width: 1.5;\n  stroke-dasharray: \"2 2\";\n  stroke: #333;\n}\n#arrowhead {\n  fill: #333;\n}\n#crosshead path {\n  fill: #333 !important;\n  stroke: #333 !important;\n}\n.messageText {\n  fill: #333;\n  stroke: none;\n}\n.labelBox {\n  stroke: #CCCCFF;\n  fill: #ECECFF;\n}\n.labelText {\n  fill: black;\n  stroke: none;\n}\n.loopText {\n  fill: black;\n  stroke: none;\n}\n.loopLine {\n  stroke-width: 2;\n  stroke-dasharray: \"2 2\";\n  marker-end: \"url(#arrowhead)\";\n  stroke: #CCCCFF;\n}\n.note {\n  stroke: #aaaa33;\n  fill: #fff5ad;\n}\n.noteText {\n  fill: black;\n  stroke: none;\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 14px;\n}\n/** Section styling */\n.section {\n  stroke: none;\n  opacity: 0.2;\n}\n.section0 {\n  fill: rgba(102, 102, 255, 0.49);\n}\n.section2 {\n  fill: #fff400;\n}\n.section1,\n.section3 {\n  fill: white;\n  opacity: 0.2;\n}\n.sectionTitle0 {\n  fill: #333;\n}\n.sectionTitle1 {\n  fill: #333;\n}\n.sectionTitle2 {\n  fill: #333;\n}\n.sectionTitle3 {\n  fill: #333;\n}\n.sectionTitle {\n  text-anchor: start;\n  font-size: 11px;\n  text-height: 14px;\n}\n/* Grid and axis */\n.grid .tick {\n  stroke: lightgrey;\n  opacity: 0.3;\n  shape-rendering: crispEdges;\n}\n.grid path {\n  stroke-width: 0;\n}\n/* Today line */\n.today {\n  fill: none;\n  stroke: red;\n  stroke-width: 2px;\n}\n/* Task styling */\n/* Default task */\n.task {\n  stroke-width: 2;\n}\n.taskText {\n  text-anchor: middle;\n  font-size: 11px;\n}\n.taskTextOutsideRight {\n  fill: black;\n  text-anchor: start;\n  font-size: 11px;\n}\n.taskTextOutsideLeft {\n  fill: black;\n  text-anchor: end;\n  font-size: 11px;\n}\n/* Specific task settings for the sections*/\n.taskText0,\n.taskText1,\n.taskText2,\n.taskText3 {\n  fill: white;\n}\n.task0,\n.task1,\n.task2,\n.task3 {\n  fill: #8a90dd;\n  stroke: #534fbc;\n}\n.taskTextOutside0,\n.taskTextOutside2 {\n  fill: black;\n}\n.taskTextOutside1,\n.taskTextOutside3 {\n  fill: black;\n}\n/* Active task */\n.active0,\n.active1,\n.active2,\n.active3 {\n  fill: #bfc7ff;\n  stroke: #534fbc;\n}\n.activeText0,\n.activeText1,\n.activeText2,\n.activeText3 {\n  fill: black !important;\n}\n/* Completed task */\n.done0,\n.done1,\n.done2,\n.done3 {\n  stroke: grey;\n  fill: lightgrey;\n  stroke-width: 2;\n}\n.doneText0,\n.doneText1,\n.doneText2,\n.doneText3 {\n  fill: black !important;\n}\n/* Tasks on the critical line */\n.crit0,\n.crit1,\n.crit2,\n.crit3 {\n  stroke: #ff8888;\n  fill: red;\n  stroke-width: 2;\n}\n.activeCrit0,\n.activeCrit1,\n.activeCrit2,\n.activeCrit3 {\n  stroke: #ff8888;\n  fill: #bfc7ff;\n  stroke-width: 2;\n}\n.doneCrit0,\n.doneCrit1,\n.doneCrit2,\n.doneCrit3 {\n  stroke: #ff8888;\n  fill: lightgrey;\n  stroke-width: 2;\n  cursor: pointer;\n  shape-rendering: crispEdges;\n}\n.doneCritText0,\n.doneCritText1,\n.doneCritText2,\n.doneCritText3 {\n  fill: black !important;\n}\n.activeCritText0,\n.activeCritText1,\n.activeCritText2,\n.activeCritText3 {\n  fill: black !important;\n}\n.titleText {\n  text-anchor: middle;\n  font-size: 18px;\n  fill: black;\n}\n/*\n\n\n*/\n.node text {\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 14px;\n}\ndiv.mermaidTooltip {\n  position: absolute;\n  text-align: center;\n  max-width: 200px;\n  padding: 2px;\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 12px;\n  background: #ffffde;\n  border: 1px solid #aaaa33;\n  border-radius: 2px;\n  pointer-events: none;\n  z-index: 100;\n}\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/mermaid.forest.css": {
            "type": "text/css",
            "title": "$:/plugins/gt6796c/mermaid-tw5/mermaid.forest.css",
            "tags": "$:/tags/Stylesheet",
            "text": "/* Flowchart variables */\n/* Sequence Diagram variables */\n/* Gantt chart variables */\n.mermaid .label {\n  font-family: 'trebuchet ms', verdana, arial;\n  color: #333;\n}\n.node rect,\n.node circle,\n.node ellipse,\n.node polygon {\n  fill: #cde498;\n  stroke: #13540c;\n  stroke-width: 1px;\n}\n.edgePath .path {\n  stroke: green;\n  stroke-width: 1.5px;\n}\n.edgeLabel {\n  background-color: #e8e8e8;\n}\n.cluster rect {\n  fill: #cdffb2 !important;\n  rx: 4  !important;\n  stroke: #6eaa49 !important;\n  stroke-width: 1px !important;\n}\n.cluster text {\n  fill: #333;\n}\n.actor {\n  stroke: #13540c;\n  fill: #cde498;\n}\ntext.actor {\n  fill: black;\n  stroke: none;\n}\n.actor-line {\n  stroke: grey;\n}\n.messageLine0 {\n  stroke-width: 1.5;\n  stroke-dasharray: \"2 2\";\n  marker-end: \"url(#arrowhead)\";\n  stroke: #333;\n}\n.messageLine1 {\n  stroke-width: 1.5;\n  stroke-dasharray: \"2 2\";\n  stroke: #333;\n}\n#arrowhead {\n  fill: #333;\n}\n#crosshead path {\n  fill: #333 !important;\n  stroke: #333 !important;\n}\n.messageText {\n  fill: #333;\n  stroke: none;\n}\n.labelBox {\n  stroke: #326932;\n  fill: #cde498;\n}\n.labelText {\n  fill: black;\n  stroke: none;\n}\n.loopText {\n  fill: black;\n  stroke: none;\n}\n.loopLine {\n  stroke-width: 2;\n  stroke-dasharray: \"2 2\";\n  marker-end: \"url(#arrowhead)\";\n  stroke: #326932;\n}\n.note {\n  stroke: #6eaa49;\n  fill: #fff5ad;\n}\n.noteText {\n  fill: black;\n  stroke: none;\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 14px;\n}\n/** Section styling */\n.section {\n  stroke: none;\n  opacity: 0.2;\n}\n.section0 {\n  fill: #6eaa49;\n}\n.section2 {\n  fill: #6eaa49;\n}\n.section1,\n.section3 {\n  fill: white;\n  opacity: 0.2;\n}\n.sectionTitle0 {\n  fill: #333;\n}\n.sectionTitle1 {\n  fill: #333;\n}\n.sectionTitle2 {\n  fill: #333;\n}\n.sectionTitle3 {\n  fill: #333;\n}\n.sectionTitle {\n  text-anchor: start;\n  font-size: 11px;\n  text-height: 14px;\n}\n/* Grid and axis */\n.grid .tick {\n  stroke: lightgrey;\n  opacity: 0.3;\n  shape-rendering: crispEdges;\n}\n.grid path {\n  stroke-width: 0;\n}\n/* Today line */\n.today {\n  fill: none;\n  stroke: red;\n  stroke-width: 2px;\n}\n/* Task styling */\n/* Default task */\n.task {\n  stroke-width: 2;\n}\n.taskText {\n  text-anchor: middle;\n  font-size: 11px;\n}\n.taskTextOutsideRight {\n  fill: black;\n  text-anchor: start;\n  font-size: 11px;\n}\n.taskTextOutsideLeft {\n  fill: black;\n  text-anchor: end;\n  font-size: 11px;\n}\n/* Specific task settings for the sections*/\n.taskText0,\n.taskText1,\n.taskText2,\n.taskText3 {\n  fill: white;\n}\n.task0,\n.task1,\n.task2,\n.task3 {\n  fill: #487e3a;\n  stroke: #13540c;\n}\n.taskTextOutside0,\n.taskTextOutside2 {\n  fill: black;\n}\n.taskTextOutside1,\n.taskTextOutside3 {\n  fill: black;\n}\n/* Active task */\n.active0,\n.active1,\n.active2,\n.active3 {\n  fill: #cde498;\n  stroke: #13540c;\n}\n.activeText0,\n.activeText1,\n.activeText2,\n.activeText3 {\n  fill: black !important;\n}\n/* Completed task */\n.done0,\n.done1,\n.done2,\n.done3 {\n  stroke: grey;\n  fill: lightgrey;\n  stroke-width: 2;\n}\n.doneText0,\n.doneText1,\n.doneText2,\n.doneText3 {\n  fill: black !important;\n}\n/* Tasks on the critical line */\n.crit0,\n.crit1,\n.crit2,\n.crit3 {\n  stroke: #ff8888;\n  fill: red;\n  stroke-width: 2;\n}\n.activeCrit0,\n.activeCrit1,\n.activeCrit2,\n.activeCrit3 {\n  stroke: #ff8888;\n  fill: #cde498;\n  stroke-width: 2;\n}\n.doneCrit0,\n.doneCrit1,\n.doneCrit2,\n.doneCrit3 {\n  stroke: #ff8888;\n  fill: lightgrey;\n  stroke-width: 2;\n  cursor: pointer;\n  shape-rendering: crispEdges;\n}\n.doneCritText0,\n.doneCritText1,\n.doneCritText2,\n.doneCritText3 {\n  fill: black !important;\n}\n.activeCritText0,\n.activeCritText1,\n.activeCritText2,\n.activeCritText3 {\n  fill: black !important;\n}\n.titleText {\n  text-anchor: middle;\n  font-size: 18px;\n  fill: black;\n}\n/*\n\n\n*/\ng.classGroup text {\n  fill: #13540c;\n  stroke: none;\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 14px;\n}\ng.classGroup rect {\n  fill: #cde498;\n  stroke: #13540c;\n}\ng.classGroup line {\n  stroke: #13540c;\n  stroke-width: 1;\n}\nsvg .classLabel .box {\n  stroke: none;\n  stroke-width: 0;\n  fill: #cde498;\n  opacity: 0.5;\n}\nsvg .classLabel .label {\n  fill: #13540c;\n}\n.relation {\n  stroke: #13540c;\n  stroke-width: 1;\n  fill: none;\n}\n.composition {\n  fill: #13540c;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n#compositionStart {\n  fill: #13540c;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n#compositionEnd {\n  fill: #13540c;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n.aggregation {\n  fill: #cde498;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n#aggregationStart {\n  fill: #cde498;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n#aggregationEnd {\n  fill: #cde498;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n#dependencyStart {\n  fill: #13540c;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n#dependencyEnd {\n  fill: #13540c;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n#extensionStart {\n  fill: #13540c;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n#extensionEnd {\n  fill: #13540c;\n  stroke: #13540c;\n  stroke-width: 1;\n}\n.node text {\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 14px;\n}\ndiv.mermaidTooltip {\n  position: absolute;\n  text-align: center;\n  max-width: 200px;\n  padding: 2px;\n  font-family: 'trebuchet ms', verdana, arial;\n  font-size: 12px;\n  background: #cdffb2;\n  border: 1px solid #6eaa49;\n  border-radius: 2px;\n  pointer-events: none;\n  z-index: 100;\n}\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/gant": {
            "type": "text/vnd.tiddlywiki.mermaid",
            "title": "$:/plugins/gt6796c/mermaid-tw5/gant",
            "text": "gantt\n        dateFormat  YYYY-MM-DD\n        title Adding GANTT diagram functionality to mermaid\n        section A section\n        Completed task            :done,    des1, 2014-01-06,2014-01-08\n        Active task               :active,  des2, 2014-01-09, 3d\n        Future task               :         des3, after des2, 5d\n        Future task2               :         des4, after des3, 5d\n        section Critical tasks\n        Completed task in the critical line :crit, done, 2014-01-06,24h\n        Implement parser and jison          :crit, done, after des1, 2d\n        Create tests for parser             :crit, active, 3d\n        Future task in critical line        :crit, 5d\n        Create tests for renderer           :2d\n        Add to mermaid                      :1d\n\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/seq": {
            "type": "text/vnd.tiddlywiki.mermaid",
            "title": "$:/plugins/gt6796c/mermaid-tw5/seq",
            "text": "%% Example of sequence diagram\nsequenceDiagram\n    Alice->>John: Hello John, how are you?\n    John-->>Alice: Great!\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/license": {
            "title": "$:/plugins/gt6796c/mermaid-tw5/license",
            "text": "The MIT License (MIT)\n\nCopyright (c) 2016 Nathaniel Jones\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nDependencies:\n\nDepends on mermaid.js. License can be found at https://github.com/knsv/mermaid/blob/master/LICENSE\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/readme": {
            "title": "$:/plugins/gt6796c/mermaid-tw5/readme",
            "text": "This is a TiddlyWiki plugin for using mermaid.js.\n\nIt is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js.\n\nIt is currently based on [[mermaid.js v.7.0.0|https://knsv.github.io/mermaid]]\n\n!Installation\nYou can either build from [[Source code|https://github.com/gt6796c/mermaid-tw5]] or install from [[here|https://gt6796c.github.io]]\n\n!Dependencies\n;This plugin requires:\n*[[rocklib Plugin|https://gt6796c.github.io]]\n\n!Notes\nWhen you are editing a Twiddler and have preview mode on, you will accrue lots of temporary shapes that are rendered by mermaid.js as you type. The WYSIWYG-as-you-type nature of TW does not play very nicely with mermaid's rendering. A simple page refresh clears them all away, they are completely transient. It is deep in mermaid.js code to try to change this and that outside what I want to do.\n\n!Troubleshooting\nIf you are getting just a blank preview/twiddler. Please try the mermaid commands in a Tiddler that has its type set to ''text/vnd.tiddlywiki.mermaid'' before filing any issues. This is how I understand the parser to work and there is no workaround.\n\n!History\n;0.2.1\n: Updated to use [[mermaid.js v.7.0.0|https://knsv.github.io/mermaid]]\n;0.1.1\n: Updated to use [[rocklib|$:/plugins/gt6796c/rocklib]]\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/typed-parser.js": {
            "text": "/*\\\ntitle: $:/plugins/gt6796c/mermaid-tw5/typed-parser.js\ntype: application/javascript\nmodule-type: parser\n\nThis parser wraps unadorned railroad syntax into a railroad widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n\tvar MermaidParser = function(type,text,options) {\n\t\tvar element = {\n\t\t\ttype: \"mermaid\",\n\t\t\ttag: \"$mermaid\",\n\t\t\ttext: text\n\t\t};\n\t\tthis.tree = [element];\n\t};\n\n\texports[\"text/vnd.tiddlywiki.mermaid\"] = MermaidParser;\n\n})();\n\n",
            "title": "$:/plugins/gt6796c/mermaid-tw5/typed-parser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/plugins/gt6796c/mermaid-tw5/usage": {
            "title": "$:/plugins/gt6796c/mermaid-tw5/usage",
            "text": "!mermaid\nUse the ``<$mermaid>`` widget and place the mermaid commands within it. Any of the options that can be specified\nin the ``.render()`` options variable can be specified as JSON-encoded values in attributes of the same name on the widgets.\nThe values of the attributes can also be the title of Data Tiddlers and the values will be used from the referenced Tiddler.\nYou can set the type of a Tiddler to text/vnd.tiddlywiki.mermaid and use the native commands directly in the Tiddler body. You can\nadd fields that are the names below prefixed with 'mermaid'. So \"theme\" becomes \"mermaid-theme\"\n\n!Troubleshooting\n;When in doubt, please create a test case by creating a tiddler that has ``type=text/vnd.tiddlywiki.mermaid`` and contains ''only'' mermaid commands, (no TW markup or other contents)\n:TW treats any text inside of a Tiddler designated as a \"normal Twiddler\" (meaning type=text/vnd.tiddlywiki) as Tiddler Markup. Full stop. I've put into place some \"unparsing\" but it is twitchy difficult to maintain and buggy. So if you have cool, advanced uses of mermaid that fail in the ``<$mermaid>`` tag but work on with the type setup as mermaid, then that is probably the best you're going to get\n*As much as I'd like to make this not be this way, it just isn't possible with my skills/understanding.\n*JSON encoding only allows double-quotes ``\"`` as string delimiters\n*JSON encoding requires double-quotes around single string values\n"
        },
        "$:/plugins/gt6796c/mermaid-tw5/wrapper.js": {
            "text": "/*\\\ntitle: $:/plugins/gt6796c/mermaid-tw5/wrapper.js\ntype: application/javascript\nmodule-type: widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n     var uniqueID = 1;\n\n    var Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n    var Rocklib = require(\"$:/plugins/gt6796c/rocklib/widget-tools.js\").rocklib;\n    if ($tw.browser && !window.mermaidAPI) {\n        window.rocklib = new Rocklib();\n        require(\"$:/plugins/gt6796c/mermaid-tw5/mermaidAPI.js\").mermaidAPI;\n    }\n\n\n    var MermaidWidget = function(parseTreeNode, options) {\n        this.initialise(parseTreeNode, options);\n    };\n\n    MermaidWidget.prototype = new Widget();\n\n    /*\n     Render this widget into the DOM\n     */\n    MermaidWidget.prototype.render = function(parent,nextSibling) {\n        this.parentDomNode = parent;\n        this.computeAttributes();\n        this.execute();\n\n        var tag = 'mermaid';\n        var scriptBody = rocklib.getScriptBody(this,\"text\");\n        var divNode = rocklib.getCanvas(this,tag);\n        var _insertSVG = function(svgCode, bindFunctions) {\n            divNode.innerHTML = svgCode;\n        }\n        try {\n            var options = {'theme' : 'simple'};\n            rocklib.getOptions(this, tag, options);\n            mermaidAPI.render(divNode.id, scriptBody, _insertSVG);\n        }\n        catch(ex)\n        {\n            divNode.innerText = ex;\n        }\n        parent.insertBefore(divNode, nextSibling);\n\n        this.domNodes.push(divNode);\n    };\n\n    MermaidWidget.prototype.execute = function() {\n        // Nothing to do\n    };\n\n    /*\n     Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n     */\n    MermaidWidget.prototype.refresh = function(changedTiddlers) {\n        return false;\n    };\n\n    exports.mermaid = MermaidWidget;\n\n})();\n",
            "title": "$:/plugins/gt6796c/mermaid-tw5/wrapper.js",
            "type": "application/javascript",
            "module-type": "widget"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/gt6796c/rocklib/widget-tools.js": {
            "type": "application/javascript",
            "title": "$:/plugins/gt6796c/rocklib/widget-tools.js",
            "module-type": "library",
            "text": "/*\\\n title: $:/plugins/gt6796c/rocklib/widget-tools.js\n type: application/javascript\n*/\n\n(function() {\n\n\"use strict\";\n\n    function Rocklib()\n    {\n        this.uniqueID = 1;\n        this.hue = .2;\n    };\n\n    // tries to un-parse the wikitext. of dubious value\n    Rocklib.prototype.getScriptBody = function(src,attr)\n    {\n        var scriptBody= src.getAttribute(attr, src.parseTreeNode.text || \"\");\n\n        if (src.parseTreeNode.text) {\n            scriptBody = src.parseTreeNode.text;\n        }\n        else if (src.parseTreeNode.children)\n        {\n            var kids = src.parseTreeNode.children;\n            for (var k in kids)\n            {\n                var kk = kids[k];\n                switch(kk.type)\n                {\n                    // no wikiparsing found\n                    case \"text\":\n                        scriptBody += kk.text; break;\n                    // internal link, make it a permalink reference\n                    case \"link\":\n                        scriptBody += \"#\" + kk.children[0].text; break;\n                    // -- gets interpreted as an HTML element, we don't want that\n                    case \"entity\":\n                        switch(kk.entity)\n                        {\n                            case \"&ndash;\":\n                                scriptBody+=\"--\"; break;\n                        };\n                        break;\n                    // just re-write it back out\n                    case \"element\":\n                        switch (kk.tag)\n                        {\n                            case \"a\":\n                                scriptBody+=kk.children[0].text;\n                        }\n                };\n            }\n        }\n\n        return scriptBody;\n    };\n\n    /**\n     * Runs through lots of ways to get options. It can pull them from a named data Tiddler, from the fields of the\n     * Tiddler, and from the attributes of the widget specified by 'tag'. Any value pulled is treated as JSON first\n     * and then as straight text.\n     * @param src\n     * @param tag\n     * @param options\n     * @returns {*}\n     */\n    Rocklib.prototype.getOptions = function(src, tag, options)\n    {\n        try {\n            // try to set options from fields on tiddler first\n            // [tag-xxx]\n            var tt = src.getVariable('currentTiddler');\n            if (tt) {\n                var t = src.wiki.getTiddler(tt);\n                if (t)\n                {\n                    // this looks for fields that start with our tag\n                    // and then maps a.x to aX since something is\n                    // unCamelCasing the vars\n                    for (var f in t.fields) {\n                        var fi = f.indexOf(tag);\n                        if (fi != 0) continue;\n                        var k = f.substring(tag.length + 1);\n                        var cap = k.indexOf(\".\");\n                        while (cap > -1) {\n                            if (k.length < cap+2) break;\n                            k = k.substring(0, cap) + k.charAt(cap + 1).toUpperCase() + k.substring(cap + 2);\n                            cap = k.indexOf(\".\");\n                        }\n                        var v = t.fields[f];\n                        // try as JSON\n                        try {\n                            options[k] = JSON.parse(v);\n                        }\n                            // last attempt is just a string\n                        catch (ex) {\n                            options[k] = v;\n                        }\n                    }\n                }\n            }\n            // treat any attributes as JSON representations of options\n            // for the object\n            for (var att in src.attributes) {\n\n                var attval = src.getAttribute(att);\n                // allow for data from named tiddlers\n                if ($tw.wiki.tiddlerExists(attval))\n                {\n                    var data = $tw.wiki.getTiddlerData(attval);\n                    options[att] = data;\n                }\n                else {\n                    // try as JSON\n                    try { options[att] = JSON.parse(attval); }\n                        // last attempt is just a string\n                    catch (ex) { options[att] = attval; }\n                }\n            }\n        }\n        catch (ex) { console.error(ex); }\n\n        return options;\n\n    };\n\n    /**\n     * Retrieves a canvas to work with based on the calling functions need of a \"div\" or \"canvas\" element\n     * @param src\n     * @param tag\n     * @param type\n     * @returns {Element}\n     */\n    Rocklib.prototype.getCanvas = function(src, tag, type) {\n        type = typeof(type) === \"undefined\" ? \"div\" : type;\n\n        var height = src.getAttribute(\"height\");\n        var width = src.getAttribute(\"width\");\n\n        var canvas = src.document.createElement(type);\n        var style = \"\";\n        if (type === \"canvas\") {\n            if (width) canvas.width = width;\n            if (height) canvas.height = height;\n        }\n        else {\n            if (height) style += \" height:\" + height;\n            if (width) style += \" width:\" + width;\n            if (style) canvas.setAttribute(\"style\", style);\n        }\n        canvas.setAttribute(\"id\", tag+\"_\" + this.uniqueID);\n\n        this.uniqueID++;\n        return canvas;\n    };\n\n    /**\n     * based on http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/\n     * @param s\n     * @param v\n     * @returns {string}\n     */\n    Rocklib.prototype.nextColor = function(s, v)\n    {\n        var golden_ratio_conjugate = 0.618033988749895\n        this.hue += golden_ratio_conjugate;\n        this.hue %= 1;\n        var rgb = this.hsv_to_rgb(this.hue, s, v);\n        return \"#\" + rgb.r.toString(16) + rgb.g.toString(16) + rgb.b.toString(16);\n    };\n\n\n    /**\n     * Taken from http://stackoverflow.com/questions/17242144/javascript-convert-hsb-hsv-color-to-rgb-accurately\n     */\n    /* accepts parameters\n    * r  Object = {r:x, g:y, b:z}\n        * OR\n        * r, g, b\n    */\n\n    Rocklib.prototype.rgb_to_hsv = function (r, g, b) {\n        if (arguments.length === 1) {\n            g = r.g, b = r.b, r = r.r;\n        }\n        var max = Math.max(r, g, b), min = Math.min(r, g, b),\n            d = max - min,\n            h,\n            s = (max === 0 ? 0 : d / max),\n            v = max / 255;\n\n        switch (max) {\n            case min: h = 0; break;\n            case r: h = (g - b) + d * (g < b ? 6: 0); h /= 6 * d; break;\n            case g: h = (b - r) + d * 2; h /= 6 * d; break;\n            case b: h = (r - g) + d * 4; h /= 6 * d; break;\n        }\n\n        return {\n            h: h,\n            s: s,\n            v: v\n        };\n    };\n\n    /**\n     * Taken from http://stackoverflow.com/questions/17242144/javascript-convert-hsb-hsv-color-to-rgb-accurately\n     */\n    /* accepts parameters\n     * h  Object = {h:x, s:y, v:z}\n     * OR\n     * h, s, v\n     */\n    Rocklib.prototype.hsv_to_rgb = function(h, s, v) {\n        var r, g, b, i, f, p, q, t;\n        if (arguments.length === 1) {\n            s = h.s, v = h.v, h = h.h;\n        }\n        i = Math.floor(h * 6);\n        f = h * 6 - i;\n        p = v * (1 - s);\n        q = v * (1 - f * s);\n        t = v * (1 - (1 - f) * s);\n        switch (i % 6) {\n            case 0: r = v, g = t, b = p; break;\n            case 1: r = q, g = v, b = p; break;\n            case 2: r = p, g = v, b = t; break;\n            case 3: r = p, g = q, b = v; break;\n            case 4: r = t, g = p, b = v; break;\n            case 5: r = v, g = p, b = q; break;\n        }\n        return {\n            r: Math.round(r * 255),\n            g: Math.round(g * 255),\n            b: Math.round(b * 255)\n        };\n    };\n\n    exports.rocklib = Rocklib;\n\n})();\n\n"
        },
        "$:/plugins/gt6796c/rocklib/license": {
            "title": "$:/plugins/gt6796c/rocklib/license",
            "text": "The MIT License (MIT)\n\nCopyright (c) 2016 Nathaniel Jones\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
        },
        "$:/plugins/gt6796c/rocklib/readme": {
            "title": "$:/plugins/gt6796c/rocklib/readme",
            "text": "\nThis plugin packages [[rocklib|https://github.com/gt6796c/rocklib]] for use by other plugins. It does not provide any end-user visible features.\n\nNo user-visible elements.\n\nprovides the following functions:\n\n;getScriptBody(src, att)\n: attempts to pull the text out of ``src`` element's body or the specified attribute ``att``\n\n;getOptions(src,tag,options)\n: in the case of a widget, adds all of ``src`` element's attributes into the ``options`` object\n: in the case of a Tiddler, adds all of the fields that begin with ``tag`` into the ``options`` object (minus the ``tag-`` prefix)\n: All options are first treated as Data Tiddler Names, then JSON, and finally as plain text\n\n;getCanvas(src,tag,type)\n: creates a uniquely-named \"canvas\" which may be of type ``type``. Supported types are ``div`` and ``canvas``\n: The height and width attributes from the ``src`` element will be applied to the canvas\n\n;nextColor(s,v)\n: returns a random-ish color string from the same palette as specified byt the ``s`` saturation and ``h`` hue.\n: The color is in the form of ``#rrggbb``\n\n;rgb_to_hsv(r,g,b)\n: returns array of [hue, saturation, value]\n: r can be array of [r,g,b] or individual parameters can be used\n\n;hsv_to_rgb(h,s,v)\n: returns array of [red, green, blue]\n: h can be array of [h,s,v] or individual parameters can be used\n"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/ihm/tidgraph/changelog": {
            "created": "20151024161547099",
            "creator": "ihm4u",
            "modified": "20151031061347109",
            "modifier": "ihm4u",
            "tags": "",
            "title": "$:/plugins/ihm/tidgraph/changelog",
            "text": "For the complete changelog see\n\nhttps://ihm4u.github.io/tw5plugs/#Tidgraph%20-%20Changelog\n"
        },
        "$:/plugins/ihm/tidgraph/documentation": {
            "title": "$:/plugins/ihm/tidgraph/documentation",
            "text": "!!Example\nThe following example shows a tiddler which tags 7 children:\n\n``<$tidgraph start=\"Virtues\" />``\n\nlooks like this:\n\n{{$:/plugins/ihm/tidgraph/tidgraph.png}}\n\n!!Usage\nSimple usage:\n\n``<$tidgraph start=\"MyRootTiddler\" />``\n\nThe map will start with MyRootTiddler on the left, and show all its children recursively. The default maximum depth is 10 levels, it can be changed with the `maxdepth` attribute.\n\nAll  options:\n\n|!Attribute |!Description|!Default |\n|`start`      |Initial tiddler that starts the map | none |\n|`startat`   |First level to display. 0 is the root tiddler named in the `start` attribute. 1 is the next level, etc. | 0 |\n|`maxdepth`   |Maximum depth to display.| 10 |\n|`mode` |//tagging// or //linking// or custom. This is how to identify the children of a node. With //tagging// Tiddlers that tag other tiddlers become their parent. With //linking// tiddlers that link to other tiddlers become their parent. A custom mode can be specified by a `$:/config/tidgraph/modes/MyMode` tiddler where `MyMode` is the name of the mode. The subfilter can be also specified directly; e.g. `mode=\"fields[]\"`. See [[Custom Mode Demo|https://ihm4u.github.io/tw5plugs/#Custom%20Mode%20Demo]] for an example | //tagging//  |\n|`nodetitle` |Field to use as title for the node. | //title// (or //caption// if present) |\n|`tooltip` |List of fields to use for node tooltip. The first field with a non empty value is used. | //summary// |\n|`filter` |Only tiddlers matching filter will be used | none |\n|`nocollapse` |Disable ability to collapse nodes. The graph allows node collapsing by default. | false |\n|`nodetemplate` |One or mode node templates to make node look like you want. See the [[Node Templates Demo|https://ihm4u.github.io/tw5plugs/#Node%20Templates%20Demo]] for examples of how to use them. | none |\n|`layout` |`E` for East (Vertical) or `S` for south (Horizontal) layout. | E |\n\n!CSS classes\nYou can also change colors, and other styles with the following CSS classes.\n\n|!Class |!Description |\n|tgr-node |Style for each node. If you want to change the color of the links inside the node use the `.tgr-node a` selector. |\n|tgr-edge |Style for the SVG path that connects the nodes. The old name was tgr-link. |\n|tgr-arrow |Style for the SVG polyline that draws the arrow at the end of the link |\n"
        },
        "$:/plugins/ihm/tidgraph/readme": {
            "created": "20151024054526558",
            "modified": "20151024065317719",
            "tags": "",
            "title": "$:/plugins/ihm/tidgraph/readme",
            "text": "!!How\nSimply put this in your tiddler:\n\n``<$tidgraph start=\"MyRootTiddler\" />``\n\nThere are other options covered in the [[documentation|$:/plugins/ihm/tidgraph/documentation]].\n\n!!Features\n* No third-party libraries\n* Light weight\n* Rendering of map/graph with HTML5 and SVG (no heavy png or jpg images)\n* Automatic map/graph creation, no need for dragging/connecting/etc\n* Figures out tree-graph by means of tags or links, or custom modes \n* Collapse/expand nodes\n* User defined Node Templates!!\n\n!!Limitations\n* Layout is horizontal from left to right, if needed a vertical layout will be added later\n"
        },
        "$:/plugins/ihm/tidgraph/stylesheet": {
            "tags": "$:/tags/Stylesheet",
            "title": "$:/plugins/ihm/tidgraph/stylesheet",
            "type": "text/css",
            "text": "/*Eliminate border in table and cells*/\n.ihm-tgr-table {\n   border-collapse: collapse;\n   border: none;\n   background-color: transparent;\n   padding: 0;\n   margin: 0;\n}\n\n.ihm-tgr-tablediv {\n   /* We need this margin to prevent spurius vertical scroll\n   * in tgr-container. It needs to have the SAME pixel value\n   * as top and left in tgr-svg-int class so that the SVG\n   * arrows match properly (this assures same origin coordinates\n   * for table and svg)\n   */\n   margin: 10px; \n}\n\n.tgr-container table  td {\n   border: none;\n   background-color: transparent;\n}\n\n/*nice round box around tiddlers*/\n.tgr-container td  a  {\n \n}\n\n.tgr-container {\n   position:relative; \n   left:0px; \n   top:0px; \n   background-color: transparent;\n   overflow: auto; /* This is needed to scroll on big maps */\n   z-index:1;\n}\n.tgr-svg-int { \n\tz-index: -1;\n\tposition:absolute;\n\tbackground-color:transparent;\n\topacity: 1;\n   left: 10px;\n   top: 10px;\n}\n\n/* SVG arrows */\n.ihm-tgr-link {\n   fill: none;\n   stroke-width: 2;\n   stroke: #aeb0b5;\n}\n\n.tgr-edge-weak {\n   stroke-dasharray: 3,5;\n}\n\n.tgr-arrow {\n   fill: #aeb0b5;\n   stroke-width: 0;\n}\n\n.ihm-tgr-node-container {\n   position: relative;\n}\n\n.ihm-tgr-node-container-east {\n   margin: 6px 10px;\n}\n\n.ihm-tgr-node-container-south {\n   margin: 16px 4px;\n   display: inline-block; /*FIXME*/\n}\n\n.ihm-tgr-node-container p {\n   margin-top: 0px;\n   margin-bottom: 0px;\n}\n\n.ihm-tgr-node {\n   background-color: #dce4ef;\n   border-radius: 15px;\n   padding: 0.1em 0.4em;\n   /* border: 0px dashed #cd2026; */\n   box-shadow: 4px 4px 5px #888888;\n   text-align: center;\n   vertical-align: middle;\n   font-size: 1em;\n   color: #0071bc;\n}\n\n/* Collapse feature */\n.ihm-tgr-collapse {\n    position: absolute;\n    cursor: pointer;\n    width: 14px;\n    height: 14px;\n    right: -14px;\n}\n\n.ihm-tgr-collapse-east {\n    top: 50%;\n    transform: translateY(-50%);\n    -ms-transform: translateY(-50%);\n    -webkit-transform: translateY(-50%);\n}\n\n.ihm-tgr-collapse-south {\n    left: 50%;\n    transform: translateX(-50%);\n    -ms-transform: translateX(-50%);\n    -webkit-transform: translateX(-50%);\n}\n\na.ihm-tgr-collapse:hover {\n    text-decoration: none;\n    background: #999999;\n}\n\n/* Vertical layout divs */\n.ihm-tgr-divtable {\n   display: table;\n}\n\n.ihm-tgr-node-group {\n   display: table-row;\n}\n\n.ihm-tgr-node-cell {\n   display: table-cell;\n   vertical-align: top;\n   text-align: center;\n}\n"
        },
        "$:/plugins/ihm/templates/collapse": {
            "created": "20151120174133063",
            "modified": "20151120180705805",
            "tags": "",
            "title": "$:/plugins/ihm/templates/collapse",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg version=\"1.1\"  xmlns=\"http://www.w3.org/2000/svg\"  x=\"0px\"\n\t y=\"0px\" width=\"14px\" height=\"14px\" >\n<circle cx=\"7\" cy=\"7\" r=\"6\"  stroke=\"#aeb0b5\" stroke-width=\"1\" fill=\"#aeb0b5\"/>\n<polyline points=\"4,7 10,7\" fill=\"none\" stroke=\"white\"/>\n</svg>\n"
        },
        "$:/plugins/ihm/templates/expand": {
            "created": "20151120174133063",
            "modified": "20151120180705805",
            "tags": "",
            "title": "$:/plugins/ihm/templates/expand",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg version=\"1.1\"  xmlns=\"http://www.w3.org/2000/svg\"  x=\"0px\"\n\t y=\"0px\" width=\"14px\" height=\"14px\" >\n<circle cx=\"7\" cy=\"7\" r=\"6\"  stroke=\"#aeb0b5\" stroke-width=\"1\" fill=\"#aeb0b5\"/>\n<polyline points=\"4,7 10,7 7,7 7,10 7,4\" fill=\"none\" stroke=\"white\"/>\n</svg>\n"
        },
        "$:/plugins/ihm/tidgraph/utils.js": {
            "text": "/*\\\ntitle: $:/plugins/ihm/tidgraph/utils.js\ntype: application/javascript\nmodule-type: library\n\nInternal utility functions for tidgraph plugin.\n\n\\*/\n(function(){function u(a){var c=a.getBoundingClientRect(),b=document.body,e=document.documentElement,g=c.top-(a.scrollTop||window.pageYOffset||e.scrollTop||b.scrollTop)-(e.clientTop||b.clientTop||0);a=c.left-(a.scrollLeft||window.pageXOffset||e.scrollLeft||b.scrollLeft)-(e.clientLeft||b.clientLeft||0);return{top:g,left:a,width:c.width,height:c.height,right:a+c.width,bottom:g+c.height}}function q(a,c,b){b=b||function(a,b,c){if(a)return!0};a=$tw.utils.parseStringArray(a);for(var e=a.length,g=c.length,\nf=0;f<g;f++)for(var h=0;h<e;h++){var d=$tw.wiki.getTiddler(c[f]);if(d&&(d=d.getFieldString(a[h]),b(d,a[h],c[f])))return d}return\"\"}function x(a){var c=!1;return(a=q(\"_tgr_node_class _tgr_node_class_add\",[a.id,a.template],function(a,e,g){if(a)return c=\"_tgr_node_class_add\"===e?!0:!1,!0}))&&\"tgr-default\"!==a?c?\"ihm-tgr-node tgr-node \"+a:a:\"ihm-tgr-node tgr-node\"}function w(a,c,b){var e;a=u(a);if(\"string\"===typeof b){if(e=document.querySelector(b),null==e)return null}else b instanceof HTMLElement&&(e=\nb);var g=u(e);b=g.bottom-a.top;e=g.left-a.left;var f=g.right-a.left;a=g.top-a.top;g=\"\";switch(c.toUpperCase()){case \"L\":g=[Math.round(e),Math.round(b/2+a/2)];break;case \"R\":g=[Math.round(f),Math.round(b/2+a/2)];break;case \"T\":g=[Math.round(f/2+e/2),Math.round(a)];break;case \"B\":g=[Math.round(f/2+e/2),Math.round(b)]}return g}function y(a,c,b,e,g){var f;a:{var h=u(c),d=u(b);f=h.left+h.width/2;var h=h.top+h.height/2,n=d.left+d.width/2,d=d.top+d.height/2;switch(e){case \"E\":f=4>n-f?[\"R\",\"R\"]:[\"R\",\"L\"];\nbreak a;case \"S\":f=4>d-h?[\"B\",\"B\"]:[\"B\",\"T\"];break a}f=void 0}d=w(a,f[0],c);a=w(a,f[1],b);var m,l,h=10,n=\"\";g&&(n=' class=\"tgr-edge-weak\"');if(null==c||null==b)return error(\"can't connect null element\");if(null==d)return error(\"port not found for \"+c.tagName+\" - \"+c.innerHTML);if(null==a)return error(\"port not found for \"+b.tagName+\" - \"+b.innerHTML);c=Math.abs(a[1]-d[1]);b=Math.abs(a[0]-d[0]);switch(e){case \"E\":return a[1]>d[1]&&(m=c/2),a[1]<d[1]&&(m=-c/2),5>c&&(m=0),\"L\"==f[1]&&(l=-10),\"R\"==f[1]&&\n(l=10,h=20),'<path d=\"M'+d[0]+\",\"+d[1]+\" Q\"+(d[0]+h)+\",\"+d[1]+\"  \"+(d[0]+h)+\",\"+(d[1]+m)+\" Q\"+(d[0]+h)+\",\"+a[1]+\"  \"+(a[0]+l)+\",\"+a[1]+'\"'+n+' marker-end=\"url(#tgr-arrow)\"/>';case \"S\":return a[0]>d[0]&&(l=b/2),a[0]<d[0]&&(l=-b/2),5>b&&(l=0),\"T\"==f[1]&&(m=-10,h=10),\"B\"==f[1]&&(m=10,h=20),'<path d=\"M'+d[0]+\",\"+d[1]+\" Q\"+d[0]+\",\"+(d[1]+h)+\"  \"+(d[0]+l)+\",\"+(d[1]+h)+\" Q\"+a[0]+\",\"+(d[1]+h)+\"  \"+a[0]+\",\"+(a[1]+m)+'\"'+n+' marker-end=\"url(#tgr-arrow)\"/>'}}function v(a,c){var b;switch(c.mode){case \"tagging\":b=\n\"[[\"+a+\"]tagging[]]+\"+c.filter;break;case \"linking\":b=\"[[\"+a+\"]links[]!is[missing]]+\"+c.filter;break;default:b=\"[[\"+a+\"]\"+c.mode+\"]+\"+c.filter}return $tw.wiki.filterTiddlers(b)}function z(a,c,b){switch(b.mode.toLowerCase()){case \"tagging\":return(b=$tw.wiki.getTiddler(a))?b.hasTag(c):!1;default:return b=v(c,b),-1!==b.indexOf(a)}}function A(a,c){function b(b,l,k){h=l;d=b;n=encodeURIComponent(h);m=encodeURIComponent(d);g=document.getElementById(c.id+\"-\"+n);f=document.getElementById(c.id+\"-\"+m);g&&f&&\ne.push(y(a,g,f,c.layout,k))}var e=[],g,f,h,d,n,m;p(c.root,function(a,c,d){(c=a.parent)&&b(a.id,c.id)},{},{skipvisited:!0});for(var l=c.outliers.length,k=0;k<l;k++)b(c.outliers[k][0],c.outliers[k][1],!0);return e.join(\" \")}function p(a,c,b,e){e=e||{};var g=e.done||[],f=e.getCh||function(a){return a.collapse?[]:a.children},h=e.lvl||0,d=void 0===e.skipvisited?!0:e.skipvisited;e.leave=e.leave||!1;if(d&&-1!==g.indexOf(a))return b;g.push(a);f=f(a);d=f.length;b=b||{};e.lvl=h+1;e.done=g;if(!1===c(a,b,h))return e.leave=\n!0,b;for(a=0;a<d;a++)if(b=p(f[a],c,b,e),e.leave)return b;e.lvl--;return b}function B(a,c,b,e){e=e||{};var g=e.getCh||function(a){return a.collapse?[]:a.children},f=e.getId||function(a){return a.id},h=void 0===e.skipvisited?!0:e.skipvisited,d=e.maxdepth||Number.MAX_VALUE;b=b||{};var n=[],m=[],l=[],k=0;n.push(a);l[f(a)]=void 0;do{a=n.length;for(var q=0;q<a;q++){var r=n.shift(),p;p=h?-1===m.indexOf(r)?!1:!0:!1;if(!p&&!1===c(r,l[f(r)],b,k))return b;m.push(r);p=g(r);n=n.concat(p);p&&p.forEach(function(a){var b=\nl[f(a)];b?f(b)!==f(r)&&e.outlier&&e.outlier(a,r):l[f(a)]=r})}k++}while(0!==n.length&&k<=d);return b}function C(a,c){return p(a,function(a,c){c.cnt++;return!0},{cnt:0},{skipvisited:c}).cnt-1}function D(a,c,b){function e(a,b){if(-1!==$tw.utils.parseStringArray(b).indexOf(c.toString()))return!0}b=$tw.utils.parseStringArray(b);var g=q(\"_tgr_node_template\",[a]),f=[];$tw.utils.each(b,function(b){var c=$tw.wiki.getTiddler(b),c=c?c.getFieldString(\"_tgr_node_filter\"):\"\",d=$tw.wiki.filterTiddlers(c);c&&-1===\nd.indexOf(a)&&f.push(b)});0<f.length&&$tw.utils.removeArrayEntries(b,f);g||q(\"_tgr_node_filter\",b,function(b,c,d){c=$tw.wiki.filterTiddlers(b);if(b&&-1!==c.indexOf(a))if(b=$tw.wiki.getTiddler(d).getFieldString(\"_tgr_node_level\")){if(e(d,b))return g=d,!0}else return g=d,!0});g||q(\"_tgr_node_level\",b,function(a,b,c){if(e(c,a))return g=c,!0});if(!g)for(var h=b.length,d=0;d<h;d++){var n=$tw.wiki.getTiddler(b[d]);if(n&&!n.hasField(\"_tgr_node_level\")&&!n.hasField(\"_tgr_node_filter\")){g=b[d];break}}g||(g=\n\"tgr-default\");return g}function t(a,c,b,e){if(!(this instanceof t))throw\"Error: call new tnode(id=\"+c+\")\";this.parent=a;this.id=c;this.children=[];this.collapse=!1;this.widget=e;this.template=void 0;a=D(c,b,e.nodetemplate);\"tgr-default\"!==a&&(this.transcluder=b=\"$:/temp/tidgraph/\"+e.tidtree.id+\"/\"+c,this.template=a,$tw.wiki.addTiddler(new $tw.Tiddler({title:b,text:\"{{\"+c+\"||\"+a+\"}}\"})),-1===e.templatesInUse.indexOf(a)&&e.templatesInUse.push(a))}exports.buildTable=function(a,c){function b(a,b){return $tw.utils.domMaker(a,\n$tw.utils.extend(b,{document:c.document}))}function e(a){var d=encodeURIComponent(a.id),e;var f=a.id;e=$tw.wiki.tiddlerExists(f)?c.nodetitle?q(c.nodetitle,[f]):q(\"caption title\",[f]):f;var g=$tw.wiki.tiddlerExists(a.id)?\"tc-tiddlylink-resolves\":\"tc-tiddlylink-missing\",g=\"tc-tiddlylink \"+g,f=x(a);a.template?a=b(\"div\",{\"class\":f,innerHTML:$tw.wiki.renderTiddler(\"text/html\",a.transcluder)}):(a=b(\"a\",{\"class\":g,text:e,attributes:{href:\"#\"+d}}),a=b(\"div\",{\"class\":f,children:[a]}));return a}function g(a,\nd){var e=1+C(a,!0),f=encodeURIComponent(a.id),g=q(c.tooltip,[a.id]),k;!1===c.nocollapse&&a.children&&0<a.children.length?(k=$tw.wiki.renderTiddler(\"text/html\",\"$:/plugins/ihm/templates/\"+(a.collapse?\"expand\":\"collapse\")).replace(/^<p>/,\"<span>\").replace(/<\\/p>$/,\"</span>\"),k=b(\"span\",{\"class\":\"ihm-tgr-collapse \"+(\"E\"==a.widget.tidtree.layout?\"ihm-tgr-collapse-east\":\"ihm-tgr-collapse-south\")+\" tc-tiddlylink\",innerHTML:k}),$tw.utils.addEventListeners(k,[{name:\"click\",handlerObject:a,handlerMethod:\"collapseClickEvent\"}]),\nk=[d,k]):k=[d];f=b(\"div\",{\"class\":\"ihm-tgr-node-container \"+(\"E\"==a.widget.tidtree.layout?\"ihm-tgr-node-container-east\":\"ihm-tgr-node-container-south\"),children:k,attributes:{id:c.id+\"-\"+f,title:g}});return\"E\"===c.layout?b(\"td\",{attributes:{rowspan:e},children:[f]}):b(\"div\",{attributes:{\"class\":\"ihm-tgr-node-cell\"},children:[f]})}var f;f=\"E\"==c.layout?b(\"table\",{\"class\":\"ihm-tgr-table\",attributes:{id:c.id+\"-table\"}}):b(\"div\",{\"class\":\"ihm-tgr-divtable\",attributes:{id:c.id+\"-table\"}});(function(a){switch(c.layout){case \"E\":p(c.root,\nfunction(d,f,m){m>=c.startat&&(f=e(d),d=g(d,f),d=b(\"tr\",{children:[d]}),a.appendChild(d));return!0},{},{skipvisited:!0});break;case \"S\":p(c.root,function(d,f,m){if(m>=c.startat){var l=e(d),l=g(d,l),k=f.nodegroup[f.nodegroup.length-1];k?m>=f.lastdepth?k.appendChild(l):m<f.lastdepth&&(f.nodegroup.pop(),k=f.nodegroup[f.nodegroup.length-1],k.appendChild(l)):a.appendChild(l);!d.collapse&&0<d.children.length&&(d=b(\"div\",{\"class\":\"ihm-tgr-node-group\"}),f.nodegroup.push(d),l.appendChild(d))}f.lastdepth=m;\nreturn!0},{nodegroup:[],lastdepth:-1},{skipvisited:!0})}})(f);return f};exports.error=function(a){return'<span style=\"color:green; font-size:1.5em\">\\u26a0 Tidgraph: </span><span style=\"color:red\">'+a+\"</span>\"};exports.buildSVG=function(a,c){var b=document.getElementById(c.id+\"-table\");if(b)return getComputedStyle(b),'<svg  xmlns=\"http://www.w3.org/2000/svg\" height=\"'+a.offsetHeight+'px\" width=\"'+a.offsetWidth+'px\" style=\"overflow: visible\"><g class=\"ihm-tgr-link tgr-link tgr-edge\" style=\"overflow: visible\"> <defs> <marker id=\"tgr-arrow\" viewBox=\"0 0 10 10\" refX=\"1\" refY=\"5\" markerUnits=\"strokeWidth\" orient=\"auto\" markerWidth=\"8\" markerHeight=\"6\"> <polyline class=\"ihm-tgr-arrow tgr-arrow\" points=\"0,0 10,5 0,10 0,5\" style=\"opacity:1;\" /></marker></defs> '+\nA(a,c)+\"</g> </svg>\"};exports.isDescendant=function(a,c,b){if(z(a,c,b))return!0;var e=!1;p(c,function(b,c,h){if(b===a)return e=!0,!1},{},{skipvisited:!0,getCh:function(a){return v(a,b)}});return e};exports.makeTidTree=function(a,c,b){b=b||{};var e=!1;c.outliers=[];var g=new t(void 0,a,0,b.widget);B(a,function(a,c,d,e){if(c){a:{for(var g=d.visited,l=g.length,k=0;k<l;k++)if(g[k].id===c){c=g[k];break a}c=void 0}a=c.addChild(a,e,b.widget);d.visited.push(a)}return!0},{visited:[g]},{getId:function(a){return a},\ngetCh:function(a){return v(a,c)},maxdepth:c.maxdepth,skipvisited:!0,outlier:function(a,b){e=!1;$tw.utils.each(c.outliers,function(c){c[0]===a&&c[1]===b&&(e=!0)});e||c.outliers.push([a,b])}});return g};t.prototype.addChild=function(a,c,b){a=new t(this,a,c,b);this.children.push(a);return a};t.prototype.toString=function(){return\"tnode(id=\"+this.id+\")\"};t.prototype.collapseClickEvent=function(a){this.collapse=!this.collapse;this.widget.paint()}})();\n",
            "title": "$:/plugins/ihm/tidgraph/utils.js",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/plugins/ihm/tidgraph/tidgraph.png": {
            "created": "20151024064703806",
            "modified": "20151024064720670",
            "title": "$:/plugins/ihm/tidgraph/tidgraph.png",
            "type": "image/png",
            "text": "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\n"
        },
        "$:/plugins/ihm/widgets/tidgraph.js": {
            "text": "/*\\\ntitle: $:/plugins/ihm/widgets/tidgraph.js\ntype: application/javascript\nmodule-type: widget\n\nTidgraph widget to render HTML5/SVG graph of tiddlers\n\n\\*/\n(function(){var e=require(\"$:/core/modules/widgets/widget.js\").widget,c=function(b,f){this.initialise(b,f)},d=require(\"$:/plugins/ihm/tidgraph/utils.js\");c.prototype=new e;c.prototype.render=function(b,f){this.tidtree&&this.delTempTiddlers();this.parentDomNode=b;this.nextSiblingDomNode=f;this.computeAttributes();this.execute();-1===[\"tagging\",\"linking\"].indexOf(this.mode)&&(this.mode=$tw.wiki.getTiddlerText(\"$:/config/tidgraph/modes/\"+this.mode)||this.mode);this.tidtree=[];this.tidtree.mode=this.mode;\nthis.tidtree.maxdepth=this.maxdepth;this.tidtree.startat=this.startat;this.tidtree.nodetitle=this.nodetitle;this.tidtree.tooltip=this.tooltip;this.tidtree.filter=this.filter;this.tidtree.nocollapse=this.nocollapse;this.tidtree.document=this.document;this.tidtree.nodetemplate=this.nodetemplate;this.tidtree.layout=this.layout;this.templatesInUse=$tw.utils.parseStringArray(this.nodetemplate);this.tidtree.id=(new Date).valueOf();if($tw.wiki.getTiddler(this.startTid)){this.div=this.document.createElement(\"div\");\nthis.div.className=\"tgr-container tgr\";this.tablediv=this.document.createElement(\"div\");this.tablediv.className=\"ihm-tgr-tablediv\";this.table=void 0;this.div.appendChild(this.tablediv);this.svgdiv=this.document.createElement(\"div\");this.svgdiv.className=\"tgr-svg-int\";this.div.appendChild(this.svgdiv);this.parentDomNode.insertBefore(this.div,this.nextSiblingDomNode);this.domNodes.push(this.div);this.tidtree.root=d.makeTidTree(this.startTid,this.tidtree,{widget:this});this.paint();var a=this,c=function(){a.svgdiv.innerHTML=\nd.buildSVG(a.tablediv,a.tidtree);a.oldresize&&a.oldresize()},e=function(){a.svgdiv.innerHTML=d.buildSVG(a.tablediv,a.tidtree)};this.div.onscroll=function(){a.scroll_to||clearTimeout(a.scroll_to);a.scroll_to=setTimeout(e,100)};this.onresize_updated||(window.onresize&&void 0==this.oldresize&&(this.oldresize=window.onresize),window.onresize=function(){a.resize_to||clearTimeout(a.resize_to);a.resize_to=setTimeout(c,100)},this.onresize_updated=!0)}};c.prototype.delTempTiddlers=function(){var b=$tw.wiki.filterTiddlers(\"[prefix[$:/temp/tidgraph/\"+\nthis.tidtree.id+\"]]\");$tw.utils.each(b,function(b){$tw.wiki.deleteTiddler(b)})};c.prototype.paint=function(){this.sidebar=$tw.wiki.getTiddlerText(\"$:/state/sidebar\");var b=d.buildTable(this.startTid,this.tidtree);this.table?this.tablediv.replaceChild(b,this.table):this.tablediv.appendChild(b);this.svgdiv.innerHTML=d.buildSVG(this.tablediv,this.tidtree);this.table=b};c.prototype.execute=function(){this.startTid=this.getAttribute(\"start\");this.mode=this.getAttribute(\"mode\",\"tagging\");this.maxdepth=\nparseInt(this.getAttribute(\"maxdepth\",\"10\"));this.startat=this.getAttribute(\"startat\",\"0\");this.nodetitle=this.getAttribute(\"nodetitle\");this.tooltip=this.getAttribute(\"tooltip\",\"summary\");this.filter=this.getAttribute(\"filter\",\"[!is[system]]\");this.nocollapse=this.hasAttribute(\"nocollapse\");this.nodetemplate=this.getAttribute(\"nodetemplate\",\"\");this.layout=this.getAttribute(\"layout\",\"E\");-1==[\"E\",\"S\"].indexOf(this.layout)&&(this.layout=\"E\")};c.prototype.refresh=function(b){var c=!1,a;this.computeAttributes();\nthis.execute();for(a in b)if((b=document.getElementById(this.tidtree.id+\"-\"+encodeURIComponent(a))||d.isDescendant(a,this.startTid,this.tidtree)||-1!==this.templatesInUse.indexOf(a))||(b=(b=$tw.wiki.getTiddler(a))&&b.hasTag(\"$:/tags/Stylesheet\")?!0:!1),b||-1!==a.indexOf(\"$:/config/tidgraph/modes\")){c=!0;break}$tw.wiki.getTiddlerText(\"$:/state/sidebar\")!==this.sidebar&&(c=!0);return c?(this.refreshSelf(),!0):!1};exports.tidgraph=c})();\n",
            "title": "$:/plugins/ihm/widgets/tidgraph.js",
            "type": "application/javascript",
            "module-type": "widget"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/kixam/moment/moment.js": {
            "text": "!function(e,a){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=a():\"function\"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){\"use strict\";var e,n;function l(){return e.apply(null,arguments)}function _(e){return e instanceof Array||\"[object Array]\"===Object.prototype.toString.call(e)}function i(e){return null!=e&&\"[object Object]\"===Object.prototype.toString.call(e)}function o(e){return void 0===e}function m(e){return\"number\"==typeof e||\"[object Number]\"===Object.prototype.toString.call(e)}function u(e){return e instanceof Date||\"[object Date]\"===Object.prototype.toString.call(e)}function M(e,a){var t,s=[];for(t=0;t<e.length;++t)s.push(a(e[t],t));return s}function h(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function L(e,a){for(var t in a)h(a,t)&&(e[t]=a[t]);return h(a,\"toString\")&&(e.toString=a.toString),h(a,\"valueOf\")&&(e.valueOf=a.valueOf),e}function c(e,a,t,s){return Sa(e,a,t,s,!0).utc()}function Y(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function y(e){if(null==e._isValid){var a=Y(e),t=n.call(a.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&a.overflow<0&&!a.empty&&!a.invalidMonth&&!a.invalidWeekday&&!a.weekdayMismatch&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a.meridiem||a.meridiem&&t);if(e._strict&&(s=s&&0===a.charsLeftOver&&0===a.unusedTokens.length&&void 0===a.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function f(e){var a=c(NaN);return null!=e?L(Y(a),e):Y(a).userInvalidated=!0,a}n=Array.prototype.some?Array.prototype.some:function(e){for(var a=Object(this),t=a.length>>>0,s=0;s<t;s++)if(s in a&&e.call(this,a[s],s,a))return!0;return!1};var d=l.momentProperties=[];function k(e,a){var t,s,n;if(o(a._isAMomentObject)||(e._isAMomentObject=a._isAMomentObject),o(a._i)||(e._i=a._i),o(a._f)||(e._f=a._f),o(a._l)||(e._l=a._l),o(a._strict)||(e._strict=a._strict),o(a._tzm)||(e._tzm=a._tzm),o(a._isUTC)||(e._isUTC=a._isUTC),o(a._offset)||(e._offset=a._offset),o(a._pf)||(e._pf=Y(a)),o(a._locale)||(e._locale=a._locale),0<d.length)for(t=0;t<d.length;t++)o(n=a[s=d[t]])||(e[s]=n);return e}var a=!1;function p(e){k(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===a&&(a=!0,l.updateOffset(this),a=!1)}function D(e){return e instanceof p||null!=e&&null!=e._isAMomentObject}function T(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function g(e){var a=+e,t=0;return 0!==a&&isFinite(a)&&(t=T(a)),t}function r(e,a,t){var s,n=Math.min(e.length,a.length),d=Math.abs(e.length-a.length),r=0;for(s=0;s<n;s++)(t&&e[s]!==a[s]||!t&&g(e[s])!==g(a[s]))&&r++;return r+d}function w(e){!1===l.suppressDeprecationWarnings&&\"undefined\"!=typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+e)}function t(n,d){var r=!0;return L(function(){if(null!=l.deprecationHandler&&l.deprecationHandler(null,n),r){for(var e,a=[],t=0;t<arguments.length;t++){if(e=\"\",\"object\"==typeof arguments[t]){for(var s in e+=\"\\n[\"+t+\"] \",arguments[0])e+=s+\": \"+arguments[0][s]+\", \";e=e.slice(0,-2)}else e=arguments[t];a.push(e)}w(n+\"\\nArguments: \"+Array.prototype.slice.call(a).join(\"\")+\"\\n\"+(new Error).stack),r=!1}return d.apply(this,arguments)},d)}var s,v={};function S(e,a){null!=l.deprecationHandler&&l.deprecationHandler(e,a),v[e]||(w(a),v[e]=!0)}function H(e){return e instanceof Function||\"[object Function]\"===Object.prototype.toString.call(e)}function b(e,a){var t,s=L({},e);for(t in a)h(a,t)&&(i(e[t])&&i(a[t])?(s[t]={},L(s[t],e[t]),L(s[t],a[t])):null!=a[t]?s[t]=a[t]:delete s[t]);for(t in e)h(e,t)&&!h(a,t)&&i(e[t])&&(s[t]=L({},s[t]));return s}function j(e){null!=e&&this.set(e)}l.suppressDeprecationWarnings=!1,l.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var a,t=[];for(a in e)h(e,a)&&t.push(a);return t};var x={};function O(e,a){var t=e.toLowerCase();x[t]=x[t+\"s\"]=x[a]=e}function P(e){return\"string\"==typeof e?x[e]||x[e.toLowerCase()]:void 0}function W(e){var a,t,s={};for(t in e)h(e,t)&&(a=P(t))&&(s[a]=e[t]);return s}var A={};function E(e,a){A[e]=a}function F(e,a,t){var s=\"\"+Math.abs(e),n=a-s.length;return(0<=e?t?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,n)).toString().substr(1)+s}var z=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,J=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,N={},R={};function C(e,a,t,s){var n=s;\"string\"==typeof s&&(n=function(){return this[s]()}),e&&(R[e]=n),a&&(R[a[0]]=function(){return F(n.apply(this,arguments),a[1],a[2])}),t&&(R[t]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function I(e,a){return e.isValid()?(a=U(a,e.localeData()),N[a]=N[a]||function(s){var e,n,a,d=s.match(z);for(e=0,n=d.length;e<n;e++)R[d[e]]?d[e]=R[d[e]]:d[e]=(a=d[e]).match(/\\[[\\s\\S]/)?a.replace(/^\\[|\\]$/g,\"\"):a.replace(/\\\\/g,\"\");return function(e){var a,t=\"\";for(a=0;a<n;a++)t+=H(d[a])?d[a].call(e,s):d[a];return t}}(a),N[a](e)):e.localeData().invalidDate()}function U(e,a){var t=5;function s(e){return a.longDateFormat(e)||e}for(J.lastIndex=0;0<=t&&J.test(e);)e=e.replace(J,s),J.lastIndex=0,t-=1;return e}var G=/\\d/,V=/\\d\\d/,K=/\\d{3}/,Z=/\\d{4}/,$=/[+-]?\\d{6}/,B=/\\d\\d?/,q=/\\d\\d\\d\\d?/,Q=/\\d\\d\\d\\d\\d\\d?/,X=/\\d{1,3}/,ee=/\\d{1,4}/,ae=/[+-]?\\d{1,6}/,te=/\\d+/,se=/[+-]?\\d+/,ne=/Z|[+-]\\d\\d:?\\d\\d/gi,de=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,re=/[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,_e={};function ie(e,t,s){_e[e]=H(t)?t:function(e,a){return e&&s?s:t}}function oe(e,a){return h(_e,e)?_e[e](a._strict,a._locale):new RegExp(me(e.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(e,a,t,s,n){return a||t||s||n})))}function me(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}var ue={};function le(e,t){var a,s=t;for(\"string\"==typeof e&&(e=[e]),m(t)&&(s=function(e,a){a[t]=g(e)}),a=0;a<e.length;a++)ue[e[a]]=s}function Me(e,n){le(e,function(e,a,t,s){t._w=t._w||{},n(e,t._w,t,s)})}var he=0,Le=1,ce=2,Ye=3,ye=4,fe=5,ke=6,pe=7,De=8;function Te(e){return ge(e)?366:365}function ge(e){return e%4==0&&e%100!=0||e%400==0}C(\"Y\",0,0,function(){var e=this.year();return e<=9999?\"\"+e:\"+\"+e}),C(0,[\"YY\",2],0,function(){return this.year()%100}),C(0,[\"YYYY\",4],0,\"year\"),C(0,[\"YYYYY\",5],0,\"year\"),C(0,[\"YYYYYY\",6,!0],0,\"year\"),O(\"year\",\"y\"),E(\"year\",1),ie(\"Y\",se),ie(\"YY\",B,V),ie(\"YYYY\",ee,Z),ie(\"YYYYY\",ae,$),ie(\"YYYYYY\",ae,$),le([\"YYYYY\",\"YYYYYY\"],he),le(\"YYYY\",function(e,a){a[he]=2===e.length?l.parseTwoDigitYear(e):g(e)}),le(\"YY\",function(e,a){a[he]=l.parseTwoDigitYear(e)}),le(\"Y\",function(e,a){a[he]=parseInt(e,10)}),l.parseTwoDigitYear=function(e){return g(e)+(68<g(e)?1900:2e3)};var we,ve=Se(\"FullYear\",!0);function Se(a,t){return function(e){return null!=e?(be(this,a,e),l.updateOffset(this,t),this):He(this,a)}}function He(e,a){return e.isValid()?e._d[\"get\"+(e._isUTC?\"UTC\":\"\")+a]():NaN}function be(e,a,t){e.isValid()&&!isNaN(t)&&(\"FullYear\"===a&&ge(e.year())&&1===e.month()&&29===e.date()?e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+a](t,e.month(),je(t,e.month())):e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+a](t))}function je(e,a){if(isNaN(e)||isNaN(a))return NaN;var t,s=(a%(t=12)+t)%t;return e+=(a-s)/12,1===s?ge(e)?29:28:31-s%7%2}we=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var a;for(a=0;a<this.length;++a)if(this[a]===e)return a;return-1},C(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1}),C(\"MMM\",0,0,function(e){return this.localeData().monthsShort(this,e)}),C(\"MMMM\",0,0,function(e){return this.localeData().months(this,e)}),O(\"month\",\"M\"),E(\"month\",8),ie(\"M\",B),ie(\"MM\",B,V),ie(\"MMM\",function(e,a){return a.monthsShortRegex(e)}),ie(\"MMMM\",function(e,a){return a.monthsRegex(e)}),le([\"M\",\"MM\"],function(e,a){a[Le]=g(e)-1}),le([\"MMM\",\"MMMM\"],function(e,a,t,s){var n=t._locale.monthsParse(e,s,t._strict);null!=n?a[Le]=n:Y(t).invalidMonth=e});var xe=/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,Oe=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\");var Pe=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\");function We(e,a){var t;if(!e.isValid())return e;if(\"string\"==typeof a)if(/^\\d+$/.test(a))a=g(a);else if(!m(a=e.localeData().monthsParse(a)))return e;return t=Math.min(e.date(),je(e.year(),a)),e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+\"Month\"](a,t),e}function Ae(e){return null!=e?(We(this,e),l.updateOffset(this,!0),this):He(this,\"Month\")}var Ee=re;var Fe=re;function ze(){function e(e,a){return a.length-e.length}var a,t,s=[],n=[],d=[];for(a=0;a<12;a++)t=c([2e3,a]),s.push(this.monthsShort(t,\"\")),n.push(this.months(t,\"\")),d.push(this.months(t,\"\")),d.push(this.monthsShort(t,\"\"));for(s.sort(e),n.sort(e),d.sort(e),a=0;a<12;a++)s[a]=me(s[a]),n[a]=me(n[a]);for(a=0;a<24;a++)d[a]=me(d[a]);this._monthsRegex=new RegExp(\"^(\"+d.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+n.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+s.join(\"|\")+\")\",\"i\")}function Je(e){var a;if(e<100&&0<=e){var t=Array.prototype.slice.call(arguments);t[0]=e+400,a=new Date(Date.UTC.apply(null,t)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(e)}else a=new Date(Date.UTC.apply(null,arguments));return a}function Ne(e,a,t){var s=7+a-t;return-((7+Je(e,0,s).getUTCDay()-a)%7)+s-1}function Re(e,a,t,s,n){var d,r,_=1+7*(a-1)+(7+t-s)%7+Ne(e,s,n);return r=_<=0?Te(d=e-1)+_:_>Te(e)?(d=e+1,_-Te(e)):(d=e,_),{year:d,dayOfYear:r}}function Ce(e,a,t){var s,n,d=Ne(e.year(),a,t),r=Math.floor((e.dayOfYear()-d-1)/7)+1;return r<1?s=r+Ie(n=e.year()-1,a,t):r>Ie(e.year(),a,t)?(s=r-Ie(e.year(),a,t),n=e.year()+1):(n=e.year(),s=r),{week:s,year:n}}function Ie(e,a,t){var s=Ne(e,a,t),n=Ne(e+1,a,t);return(Te(e)-s+n)/7}C(\"w\",[\"ww\",2],\"wo\",\"week\"),C(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),O(\"week\",\"w\"),O(\"isoWeek\",\"W\"),E(\"week\",5),E(\"isoWeek\",5),ie(\"w\",B),ie(\"ww\",B,V),ie(\"W\",B),ie(\"WW\",B,V),Me([\"w\",\"ww\",\"W\",\"WW\"],function(e,a,t,s){a[s.substr(0,1)]=g(e)});function Ue(e,a){return e.slice(a,7).concat(e.slice(0,a))}C(\"d\",0,\"do\",\"day\"),C(\"dd\",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),C(\"ddd\",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),C(\"dddd\",0,0,function(e){return this.localeData().weekdays(this,e)}),C(\"e\",0,0,\"weekday\"),C(\"E\",0,0,\"isoWeekday\"),O(\"day\",\"d\"),O(\"weekday\",\"e\"),O(\"isoWeekday\",\"E\"),E(\"day\",11),E(\"weekday\",11),E(\"isoWeekday\",11),ie(\"d\",B),ie(\"e\",B),ie(\"E\",B),ie(\"dd\",function(e,a){return a.weekdaysMinRegex(e)}),ie(\"ddd\",function(e,a){return a.weekdaysShortRegex(e)}),ie(\"dddd\",function(e,a){return a.weekdaysRegex(e)}),Me([\"dd\",\"ddd\",\"dddd\"],function(e,a,t,s){var n=t._locale.weekdaysParse(e,s,t._strict);null!=n?a.d=n:Y(t).invalidWeekday=e}),Me([\"d\",\"e\",\"E\"],function(e,a,t,s){a[s]=g(e)});var Ge=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\");var Ve=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\");var Ke=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\");var Ze=re;var $e=re;var Be=re;function qe(){function e(e,a){return a.length-e.length}var a,t,s,n,d,r=[],_=[],i=[],o=[];for(a=0;a<7;a++)t=c([2e3,1]).day(a),s=this.weekdaysMin(t,\"\"),n=this.weekdaysShort(t,\"\"),d=this.weekdays(t,\"\"),r.push(s),_.push(n),i.push(d),o.push(s),o.push(n),o.push(d);for(r.sort(e),_.sort(e),i.sort(e),o.sort(e),a=0;a<7;a++)_[a]=me(_[a]),i[a]=me(i[a]),o[a]=me(o[a]);this._weekdaysRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+i.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+_.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+r.join(\"|\")+\")\",\"i\")}function Qe(){return this.hours()%12||12}function Xe(e,a){C(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function ea(e,a){return a._meridiemParse}C(\"H\",[\"HH\",2],0,\"hour\"),C(\"h\",[\"hh\",2],0,Qe),C(\"k\",[\"kk\",2],0,function(){return this.hours()||24}),C(\"hmm\",0,0,function(){return\"\"+Qe.apply(this)+F(this.minutes(),2)}),C(\"hmmss\",0,0,function(){return\"\"+Qe.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),C(\"Hmm\",0,0,function(){return\"\"+this.hours()+F(this.minutes(),2)}),C(\"Hmmss\",0,0,function(){return\"\"+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),Xe(\"a\",!0),Xe(\"A\",!1),O(\"hour\",\"h\"),E(\"hour\",13),ie(\"a\",ea),ie(\"A\",ea),ie(\"H\",B),ie(\"h\",B),ie(\"k\",B),ie(\"HH\",B,V),ie(\"hh\",B,V),ie(\"kk\",B,V),ie(\"hmm\",q),ie(\"hmmss\",Q),ie(\"Hmm\",q),ie(\"Hmmss\",Q),le([\"H\",\"HH\"],Ye),le([\"k\",\"kk\"],function(e,a,t){var s=g(e);a[Ye]=24===s?0:s}),le([\"a\",\"A\"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),le([\"h\",\"hh\"],function(e,a,t){a[Ye]=g(e),Y(t).bigHour=!0}),le(\"hmm\",function(e,a,t){var s=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s)),Y(t).bigHour=!0}),le(\"hmmss\",function(e,a,t){var s=e.length-4,n=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s,2)),a[fe]=g(e.substr(n)),Y(t).bigHour=!0}),le(\"Hmm\",function(e,a,t){var s=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s))}),le(\"Hmmss\",function(e,a,t){var s=e.length-4,n=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s,2)),a[fe]=g(e.substr(n))});var aa,ta=Se(\"Hours\",!0),sa={calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},longDateFormat:{LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},invalidDate:\"Invalid date\",ordinal:\"%d\",dayOfMonthOrdinalParse:/\\d{1,2}/,relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},months:Oe,monthsShort:Pe,week:{dow:0,doy:6},weekdays:Ge,weekdaysMin:Ke,weekdaysShort:Ve,meridiemParse:/[ap]\\.?m?\\.?/i},na={},da={};function ra(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function _a(e){var a=null;if(!na[e]&&\"undefined\"!=typeof module&&module&&module.exports)try{a=aa._abbr,require(\"./locale/\"+e),ia(a)}catch(e){}return na[e]}function ia(e,a){var t;return e&&((t=o(a)?ma(e):oa(e,a))?aa=t:\"undefined\"!=typeof console&&console.warn&&console.warn(\"Locale \"+e+\" not found. Did you forget to load it?\")),aa._abbr}function oa(e,a){if(null===a)return delete na[e],null;var t,s=sa;if(a.abbr=e,null!=na[e])S(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),s=na[e]._config;else if(null!=a.parentLocale)if(null!=na[a.parentLocale])s=na[a.parentLocale]._config;else{if(null==(t=_a(a.parentLocale)))return da[a.parentLocale]||(da[a.parentLocale]=[]),da[a.parentLocale].push({name:e,config:a}),null;s=t._config}return na[e]=new j(b(s,a)),da[e]&&da[e].forEach(function(e){oa(e.name,e.config)}),ia(e),na[e]}function ma(e){var a;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return aa;if(!_(e)){if(a=_a(e))return a;e=[e]}return function(e){for(var a,t,s,n,d=0;d<e.length;){for(a=(n=ra(e[d]).split(\"-\")).length,t=(t=ra(e[d+1]))?t.split(\"-\"):null;0<a;){if(s=_a(n.slice(0,a).join(\"-\")))return s;if(t&&t.length>=a&&r(n,t,!0)>=a-1)break;a--}d++}return aa}(e)}function ua(e){var a,t=e._a;return t&&-2===Y(e).overflow&&(a=t[Le]<0||11<t[Le]?Le:t[ce]<1||t[ce]>je(t[he],t[Le])?ce:t[Ye]<0||24<t[Ye]||24===t[Ye]&&(0!==t[ye]||0!==t[fe]||0!==t[ke])?Ye:t[ye]<0||59<t[ye]?ye:t[fe]<0||59<t[fe]?fe:t[ke]<0||999<t[ke]?ke:-1,Y(e)._overflowDayOfYear&&(a<he||ce<a)&&(a=ce),Y(e)._overflowWeeks&&-1===a&&(a=pe),Y(e)._overflowWeekday&&-1===a&&(a=De),Y(e).overflow=a),e}function la(e,a,t){return null!=e?e:null!=a?a:t}function Ma(e){var a,t,s,n,d,r=[];if(!e._d){var _,i;for(_=e,i=new Date(l.now()),s=_._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()],e._w&&null==e._a[ce]&&null==e._a[Le]&&function(e){var a,t,s,n,d,r,_,i;if(null!=(a=e._w).GG||null!=a.W||null!=a.E)d=1,r=4,t=la(a.GG,e._a[he],Ce(Ha(),1,4).year),s=la(a.W,1),((n=la(a.E,1))<1||7<n)&&(i=!0);else{d=e._locale._week.dow,r=e._locale._week.doy;var o=Ce(Ha(),d,r);t=la(a.gg,e._a[he],o.year),s=la(a.w,o.week),null!=a.d?((n=a.d)<0||6<n)&&(i=!0):null!=a.e?(n=a.e+d,(a.e<0||6<a.e)&&(i=!0)):n=d}s<1||s>Ie(t,d,r)?Y(e)._overflowWeeks=!0:null!=i?Y(e)._overflowWeekday=!0:(_=Re(t,s,n,d,r),e._a[he]=_.year,e._dayOfYear=_.dayOfYear)}(e),null!=e._dayOfYear&&(d=la(e._a[he],s[he]),(e._dayOfYear>Te(d)||0===e._dayOfYear)&&(Y(e)._overflowDayOfYear=!0),t=Je(d,0,e._dayOfYear),e._a[Le]=t.getUTCMonth(),e._a[ce]=t.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=r[a]=s[a];for(;a<7;a++)e._a[a]=r[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[Ye]&&0===e._a[ye]&&0===e._a[fe]&&0===e._a[ke]&&(e._nextDay=!0,e._a[Ye]=0),e._d=(e._useUTC?Je:function(e,a,t,s,n,d,r){var _;return e<100&&0<=e?(_=new Date(e+400,a,t,s,n,d,r),isFinite(_.getFullYear())&&_.setFullYear(e)):_=new Date(e,a,t,s,n,d,r),_}).apply(null,r),n=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Ye]=24),e._w&&void 0!==e._w.d&&e._w.d!==n&&(Y(e).weekdayMismatch=!0)}}var ha=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,La=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,ca=/Z|[+-]\\d\\d(?::?\\d\\d)?/,Ya=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],ya=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],fa=/^\\/?Date\\((\\-?\\d+)/i;function ka(e){var a,t,s,n,d,r,_=e._i,i=ha.exec(_)||La.exec(_);if(i){for(Y(e).iso=!0,a=0,t=Ya.length;a<t;a++)if(Ya[a][1].exec(i[1])){n=Ya[a][0],s=!1!==Ya[a][2];break}if(null==n)return void(e._isValid=!1);if(i[3]){for(a=0,t=ya.length;a<t;a++)if(ya[a][1].exec(i[3])){d=(i[2]||\" \")+ya[a][0];break}if(null==d)return void(e._isValid=!1)}if(!s&&null!=d)return void(e._isValid=!1);if(i[4]){if(!ca.exec(i[4]))return void(e._isValid=!1);r=\"Z\"}e._f=n+(d||\"\")+(r||\"\"),wa(e)}else e._isValid=!1}var pa=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;function Da(e,a,t,s,n,d){var r=[function(e){var a=parseInt(e,10);{if(a<=49)return 2e3+a;if(a<=999)return 1900+a}return a}(e),Pe.indexOf(a),parseInt(t,10),parseInt(s,10),parseInt(n,10)];return d&&r.push(parseInt(d,10)),r}var Ta={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ga(e){var a,t,s,n=pa.exec(e._i.replace(/\\([^)]*\\)|[\\n\\t]/g,\" \").replace(/(\\s\\s+)/g,\" \").replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\"));if(n){var d=Da(n[4],n[3],n[2],n[5],n[6],n[7]);if(a=n[1],t=d,s=e,a&&Ve.indexOf(a)!==new Date(t[0],t[1],t[2]).getDay()&&(Y(s).weekdayMismatch=!0,!(s._isValid=!1)))return;e._a=d,e._tzm=function(e,a,t){if(e)return Ta[e];if(a)return 0;var s=parseInt(t,10),n=s%100;return(s-n)/100*60+n}(n[8],n[9],n[10]),e._d=Je.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),Y(e).rfc2822=!0}else e._isValid=!1}function wa(e){if(e._f!==l.ISO_8601)if(e._f!==l.RFC_2822){e._a=[],Y(e).empty=!0;var a,t,s,n,d,r,_,i,o=\"\"+e._i,m=o.length,u=0;for(s=U(e._f,e._locale).match(z)||[],a=0;a<s.length;a++)n=s[a],(t=(o.match(oe(n,e))||[])[0])&&(0<(d=o.substr(0,o.indexOf(t))).length&&Y(e).unusedInput.push(d),o=o.slice(o.indexOf(t)+t.length),u+=t.length),R[n]?(t?Y(e).empty=!1:Y(e).unusedTokens.push(n),r=n,i=e,null!=(_=t)&&h(ue,r)&&ue[r](_,i._a,i,r)):e._strict&&!t&&Y(e).unusedTokens.push(n);Y(e).charsLeftOver=m-u,0<o.length&&Y(e).unusedInput.push(o),e._a[Ye]<=12&&!0===Y(e).bigHour&&0<e._a[Ye]&&(Y(e).bigHour=void 0),Y(e).parsedDateParts=e._a.slice(0),Y(e).meridiem=e._meridiem,e._a[Ye]=function(e,a,t){var s;if(null==t)return a;return null!=e.meridiemHour?e.meridiemHour(a,t):(null!=e.isPM&&((s=e.isPM(t))&&a<12&&(a+=12),s||12!==a||(a=0)),a)}(e._locale,e._a[Ye],e._meridiem),Ma(e),ua(e)}else ga(e);else ka(e)}function va(e){var a,t,s,n,d=e._i,r=e._f;return e._locale=e._locale||ma(e._l),null===d||void 0===r&&\"\"===d?f({nullInput:!0}):(\"string\"==typeof d&&(e._i=d=e._locale.preparse(d)),D(d)?new p(ua(d)):(u(d)?e._d=d:_(r)?function(e){var a,t,s,n,d;if(0===e._f.length)return Y(e).invalidFormat=!0,e._d=new Date(NaN);for(n=0;n<e._f.length;n++)d=0,a=k({},e),null!=e._useUTC&&(a._useUTC=e._useUTC),a._f=e._f[n],wa(a),y(a)&&(d+=Y(a).charsLeftOver,d+=10*Y(a).unusedTokens.length,Y(a).score=d,(null==s||d<s)&&(s=d,t=a));L(e,t||a)}(e):r?wa(e):o(t=(a=e)._i)?a._d=new Date(l.now()):u(t)?a._d=new Date(t.valueOf()):\"string\"==typeof t?(s=a,null===(n=fa.exec(s._i))?(ka(s),!1===s._isValid&&(delete s._isValid,ga(s),!1===s._isValid&&(delete s._isValid,l.createFromInputFallback(s)))):s._d=new Date(+n[1])):_(t)?(a._a=M(t.slice(0),function(e){return parseInt(e,10)}),Ma(a)):i(t)?function(e){if(!e._d){var a=W(e._i);e._a=M([a.year,a.month,a.day||a.date,a.hour,a.minute,a.second,a.millisecond],function(e){return e&&parseInt(e,10)}),Ma(e)}}(a):m(t)?a._d=new Date(t):l.createFromInputFallback(a),y(e)||(e._d=null),e))}function Sa(e,a,t,s,n){var d,r={};return!0!==t&&!1!==t||(s=t,t=void 0),(i(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var a;for(a in e)if(e.hasOwnProperty(a))return!1;return!0}(e)||_(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=n,r._l=t,r._i=e,r._f=a,r._strict=s,(d=new p(ua(va(r))))._nextDay&&(d.add(1,\"d\"),d._nextDay=void 0),d}function Ha(e,a,t,s){return Sa(e,a,t,s,!1)}l.createFromInputFallback=t(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",function(e){e._d=new Date(e._i+(e._useUTC?\" UTC\":\"\"))}),l.ISO_8601=function(){},l.RFC_2822=function(){};var ba=t(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=Ha.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:f()}),ja=t(\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=Ha.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:f()});function xa(e,a){var t,s;if(1===a.length&&_(a[0])&&(a=a[0]),!a.length)return Ha();for(t=a[0],s=1;s<a.length;++s)a[s].isValid()&&!a[s][e](t)||(t=a[s]);return t}var Oa=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];function Pa(e){var a=W(e),t=a.year||0,s=a.quarter||0,n=a.month||0,d=a.week||a.isoWeek||0,r=a.day||0,_=a.hour||0,i=a.minute||0,o=a.second||0,m=a.millisecond||0;this._isValid=function(e){for(var a in e)if(-1===we.call(Oa,a)||null!=e[a]&&isNaN(e[a]))return!1;for(var t=!1,s=0;s<Oa.length;++s)if(e[Oa[s]]){if(t)return!1;parseFloat(e[Oa[s]])!==g(e[Oa[s]])&&(t=!0)}return!0}(a),this._milliseconds=+m+1e3*o+6e4*i+1e3*_*60*60,this._days=+r+7*d,this._months=+n+3*s+12*t,this._data={},this._locale=ma(),this._bubble()}function Wa(e){return e instanceof Pa}function Aa(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ea(e,t){C(e,0,0,function(){var e=this.utcOffset(),a=\"+\";return e<0&&(e=-e,a=\"-\"),a+F(~~(e/60),2)+t+F(~~e%60,2)})}Ea(\"Z\",\":\"),Ea(\"ZZ\",\"\"),ie(\"Z\",de),ie(\"ZZ\",de),le([\"Z\",\"ZZ\"],function(e,a,t){t._useUTC=!0,t._tzm=za(de,e)});var Fa=/([\\+\\-]|\\d\\d)/gi;function za(e,a){var t=(a||\"\").match(e);if(null===t)return null;var s=((t[t.length-1]||[])+\"\").match(Fa)||[\"-\",0,0],n=60*s[1]+g(s[2]);return 0===n?0:\"+\"===s[0]?n:-n}function Ja(e,a){var t,s;return a._isUTC?(t=a.clone(),s=(D(e)||u(e)?e.valueOf():Ha(e).valueOf())-t.valueOf(),t._d.setTime(t._d.valueOf()+s),l.updateOffset(t,!1),t):Ha(e).local()}function Na(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Ra(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}l.updateOffset=function(){};var Ca=/^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,Ia=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ua(e,a){var t,s,n,d=e,r=null;return Wa(e)?d={ms:e._milliseconds,d:e._days,M:e._months}:m(e)?(d={},a?d[a]=e:d.milliseconds=e):(r=Ca.exec(e))?(t=\"-\"===r[1]?-1:1,d={y:0,d:g(r[ce])*t,h:g(r[Ye])*t,m:g(r[ye])*t,s:g(r[fe])*t,ms:g(Aa(1e3*r[ke]))*t}):(r=Ia.exec(e))?(t=\"-\"===r[1]?-1:1,d={y:Ga(r[2],t),M:Ga(r[3],t),w:Ga(r[4],t),d:Ga(r[5],t),h:Ga(r[6],t),m:Ga(r[7],t),s:Ga(r[8],t)}):null==d?d={}:\"object\"==typeof d&&(\"from\"in d||\"to\"in d)&&(n=function(e,a){var t;if(!e.isValid()||!a.isValid())return{milliseconds:0,months:0};a=Ja(a,e),e.isBefore(a)?t=Va(e,a):((t=Va(a,e)).milliseconds=-t.milliseconds,t.months=-t.months);return t}(Ha(d.from),Ha(d.to)),(d={}).ms=n.milliseconds,d.M=n.months),s=new Pa(d),Wa(e)&&h(e,\"_locale\")&&(s._locale=e._locale),s}function Ga(e,a){var t=e&&parseFloat(e.replace(\",\",\".\"));return(isNaN(t)?0:t)*a}function Va(e,a){var t={};return t.months=a.month()-e.month()+12*(a.year()-e.year()),e.clone().add(t.months,\"M\").isAfter(a)&&--t.months,t.milliseconds=+a-+e.clone().add(t.months,\"M\"),t}function Ka(s,n){return function(e,a){var t;return null===a||isNaN(+a)||(S(n,\"moment().\"+n+\"(period, number) is deprecated. Please use moment().\"+n+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),t=e,e=a,a=t),Za(this,Ua(e=\"string\"==typeof e?+e:e,a),s),this}}function Za(e,a,t,s){var n=a._milliseconds,d=Aa(a._days),r=Aa(a._months);e.isValid()&&(s=null==s||s,r&&We(e,He(e,\"Month\")+r*t),d&&be(e,\"Date\",He(e,\"Date\")+d*t),n&&e._d.setTime(e._d.valueOf()+n*t),s&&l.updateOffset(e,d||r))}Ua.fn=Pa.prototype,Ua.invalid=function(){return Ua(NaN)};var $a=Ka(1,\"add\"),Ba=Ka(-1,\"subtract\");function qa(e,a){var t=12*(a.year()-e.year())+(a.month()-e.month()),s=e.clone().add(t,\"months\");return-(t+(a-s<0?(a-s)/(s-e.clone().add(t-1,\"months\")):(a-s)/(e.clone().add(t+1,\"months\")-s)))||0}function Qa(e){var a;return void 0===e?this._locale._abbr:(null!=(a=ma(e))&&(this._locale=a),this)}l.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",l.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var Xa=t(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(e){return void 0===e?this.localeData():this.locale(e)});function et(){return this._locale}var at=126227808e5;function tt(e,a){return(e%a+a)%a}function st(e,a,t){return e<100&&0<=e?new Date(e+400,a,t)-at:new Date(e,a,t).valueOf()}function nt(e,a,t){return e<100&&0<=e?Date.UTC(e+400,a,t)-at:Date.UTC(e,a,t)}function dt(e,a){C(0,[e,e.length],0,a)}function rt(e,a,t,s,n){var d;return null==e?Ce(this,s,n).year:((d=Ie(e,s,n))<a&&(a=d),function(e,a,t,s,n){var d=Re(e,a,t,s,n),r=Je(d.year,0,d.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}.call(this,e,a,t,s,n))}C(0,[\"gg\",2],0,function(){return this.weekYear()%100}),C(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),dt(\"gggg\",\"weekYear\"),dt(\"ggggg\",\"weekYear\"),dt(\"GGGG\",\"isoWeekYear\"),dt(\"GGGGG\",\"isoWeekYear\"),O(\"weekYear\",\"gg\"),O(\"isoWeekYear\",\"GG\"),E(\"weekYear\",1),E(\"isoWeekYear\",1),ie(\"G\",se),ie(\"g\",se),ie(\"GG\",B,V),ie(\"gg\",B,V),ie(\"GGGG\",ee,Z),ie(\"gggg\",ee,Z),ie(\"GGGGG\",ae,$),ie(\"ggggg\",ae,$),Me([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(e,a,t,s){a[s.substr(0,2)]=g(e)}),Me([\"gg\",\"GG\"],function(e,a,t,s){a[s]=l.parseTwoDigitYear(e)}),C(\"Q\",0,\"Qo\",\"quarter\"),O(\"quarter\",\"Q\"),E(\"quarter\",7),ie(\"Q\",G),le(\"Q\",function(e,a){a[Le]=3*(g(e)-1)}),C(\"D\",[\"DD\",2],\"Do\",\"date\"),O(\"date\",\"D\"),E(\"date\",9),ie(\"D\",B),ie(\"DD\",B,V),ie(\"Do\",function(e,a){return e?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),le([\"D\",\"DD\"],ce),le(\"Do\",function(e,a){a[ce]=g(e.match(B)[0])});var _t=Se(\"Date\",!0);C(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),O(\"dayOfYear\",\"DDD\"),E(\"dayOfYear\",4),ie(\"DDD\",X),ie(\"DDDD\",K),le([\"DDD\",\"DDDD\"],function(e,a,t){t._dayOfYear=g(e)}),C(\"m\",[\"mm\",2],0,\"minute\"),O(\"minute\",\"m\"),E(\"minute\",14),ie(\"m\",B),ie(\"mm\",B,V),le([\"m\",\"mm\"],ye);var it=Se(\"Minutes\",!1);C(\"s\",[\"ss\",2],0,\"second\"),O(\"second\",\"s\"),E(\"second\",15),ie(\"s\",B),ie(\"ss\",B,V),le([\"s\",\"ss\"],fe);var ot,mt=Se(\"Seconds\",!1);for(C(\"S\",0,0,function(){return~~(this.millisecond()/100)}),C(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),C(0,[\"SSS\",3],0,\"millisecond\"),C(0,[\"SSSS\",4],0,function(){return 10*this.millisecond()}),C(0,[\"SSSSS\",5],0,function(){return 100*this.millisecond()}),C(0,[\"SSSSSS\",6],0,function(){return 1e3*this.millisecond()}),C(0,[\"SSSSSSS\",7],0,function(){return 1e4*this.millisecond()}),C(0,[\"SSSSSSSS\",8],0,function(){return 1e5*this.millisecond()}),C(0,[\"SSSSSSSSS\",9],0,function(){return 1e6*this.millisecond()}),O(\"millisecond\",\"ms\"),E(\"millisecond\",16),ie(\"S\",X,G),ie(\"SS\",X,V),ie(\"SSS\",X,K),ot=\"SSSS\";ot.length<=9;ot+=\"S\")ie(ot,te);function ut(e,a){a[ke]=g(1e3*(\"0.\"+e))}for(ot=\"S\";ot.length<=9;ot+=\"S\")le(ot,ut);var lt=Se(\"Milliseconds\",!1);C(\"z\",0,0,\"zoneAbbr\"),C(\"zz\",0,0,\"zoneName\");var Mt=p.prototype;function ht(e){return e}Mt.add=$a,Mt.calendar=function(e,a){var t=e||Ha(),s=Ja(t,this).startOf(\"day\"),n=l.calendarFormat(this,s)||\"sameElse\",d=a&&(H(a[n])?a[n].call(this,t):a[n]);return this.format(d||this.localeData().calendar(n,this,Ha(t)))},Mt.clone=function(){return new p(this)},Mt.diff=function(e,a,t){var s,n,d;if(!this.isValid())return NaN;if(!(s=Ja(e,this)).isValid())return NaN;switch(n=6e4*(s.utcOffset()-this.utcOffset()),a=P(a)){case\"year\":d=qa(this,s)/12;break;case\"month\":d=qa(this,s);break;case\"quarter\":d=qa(this,s)/3;break;case\"second\":d=(this-s)/1e3;break;case\"minute\":d=(this-s)/6e4;break;case\"hour\":d=(this-s)/36e5;break;case\"day\":d=(this-s-n)/864e5;break;case\"week\":d=(this-s-n)/6048e5;break;default:d=this-s}return t?d:T(d)},Mt.endOf=function(e){var a;if(void 0===(e=P(e))||\"millisecond\"===e||!this.isValid())return this;var t=this._isUTC?nt:st;switch(e){case\"year\":a=t(this.year()+1,0,1)-1;break;case\"quarter\":a=t(this.year(),this.month()-this.month()%3+3,1)-1;break;case\"month\":a=t(this.year(),this.month()+1,1)-1;break;case\"week\":a=t(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case\"isoWeek\":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case\"day\":case\"date\":a=t(this.year(),this.month(),this.date()+1)-1;break;case\"hour\":a=this._d.valueOf(),a+=36e5-tt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case\"minute\":a=this._d.valueOf(),a+=6e4-tt(a,6e4)-1;break;case\"second\":a=this._d.valueOf(),a+=1e3-tt(a,1e3)-1;break}return this._d.setTime(a),l.updateOffset(this,!0),this},Mt.format=function(e){e||(e=this.isUtc()?l.defaultFormatUtc:l.defaultFormat);var a=I(this,e);return this.localeData().postformat(a)},Mt.from=function(e,a){return this.isValid()&&(D(e)&&e.isValid()||Ha(e).isValid())?Ua({to:this,from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},Mt.fromNow=function(e){return this.from(Ha(),e)},Mt.to=function(e,a){return this.isValid()&&(D(e)&&e.isValid()||Ha(e).isValid())?Ua({from:this,to:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},Mt.toNow=function(e){return this.to(Ha(),e)},Mt.get=function(e){return H(this[e=P(e)])?this[e]():this},Mt.invalidAt=function(){return Y(this).overflow},Mt.isAfter=function(e,a){var t=D(e)?e:Ha(e);return!(!this.isValid()||!t.isValid())&&(\"millisecond\"===(a=P(a)||\"millisecond\")?this.valueOf()>t.valueOf():t.valueOf()<this.clone().startOf(a).valueOf())},Mt.isBefore=function(e,a){var t=D(e)?e:Ha(e);return!(!this.isValid()||!t.isValid())&&(\"millisecond\"===(a=P(a)||\"millisecond\")?this.valueOf()<t.valueOf():this.clone().endOf(a).valueOf()<t.valueOf())},Mt.isBetween=function(e,a,t,s){var n=D(e)?e:Ha(e),d=D(a)?a:Ha(a);return!!(this.isValid()&&n.isValid()&&d.isValid())&&(\"(\"===(s=s||\"()\")[0]?this.isAfter(n,t):!this.isBefore(n,t))&&(\")\"===s[1]?this.isBefore(d,t):!this.isAfter(d,t))},Mt.isSame=function(e,a){var t,s=D(e)?e:Ha(e);return!(!this.isValid()||!s.isValid())&&(\"millisecond\"===(a=P(a)||\"millisecond\")?this.valueOf()===s.valueOf():(t=s.valueOf(),this.clone().startOf(a).valueOf()<=t&&t<=this.clone().endOf(a).valueOf()))},Mt.isSameOrAfter=function(e,a){return this.isSame(e,a)||this.isAfter(e,a)},Mt.isSameOrBefore=function(e,a){return this.isSame(e,a)||this.isBefore(e,a)},Mt.isValid=function(){return y(this)},Mt.lang=Xa,Mt.locale=Qa,Mt.localeData=et,Mt.max=ja,Mt.min=ba,Mt.parsingFlags=function(){return L({},Y(this))},Mt.set=function(e,a){if(\"object\"==typeof e)for(var t=function(e){var a=[];for(var t in e)a.push({unit:t,priority:A[t]});return a.sort(function(e,a){return e.priority-a.priority}),a}(e=W(e)),s=0;s<t.length;s++)this[t[s].unit](e[t[s].unit]);else if(H(this[e=P(e)]))return this[e](a);return this},Mt.startOf=function(e){var a;if(void 0===(e=P(e))||\"millisecond\"===e||!this.isValid())return this;var t=this._isUTC?nt:st;switch(e){case\"year\":a=t(this.year(),0,1);break;case\"quarter\":a=t(this.year(),this.month()-this.month()%3,1);break;case\"month\":a=t(this.year(),this.month(),1);break;case\"week\":a=t(this.year(),this.month(),this.date()-this.weekday());break;case\"isoWeek\":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case\"day\":case\"date\":a=t(this.year(),this.month(),this.date());break;case\"hour\":a=this._d.valueOf(),a-=tt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case\"minute\":a=this._d.valueOf(),a-=tt(a,6e4);break;case\"second\":a=this._d.valueOf(),a-=tt(a,1e3);break}return this._d.setTime(a),l.updateOffset(this,!0),this},Mt.subtract=Ba,Mt.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},Mt.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},Mt.toDate=function(){return new Date(this.valueOf())},Mt.toISOString=function(e){if(!this.isValid())return null;var a=!0!==e,t=a?this.clone().utc():this;return t.year()<0||9999<t.year()?I(t,a?\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"):H(Date.prototype.toISOString)?a?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace(\"Z\",I(t,\"Z\")):I(t,a?\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\")},Mt.inspect=function(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var e=\"moment\",a=\"\";this.isLocal()||(e=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",a=\"Z\");var t=\"[\"+e+'(\"]',s=0<=this.year()&&this.year()<=9999?\"YYYY\":\"YYYYYY\",n=a+'[\")]';return this.format(t+s+\"-MM-DD[T]HH:mm:ss.SSS\"+n)},Mt.toJSON=function(){return this.isValid()?this.toISOString():null},Mt.toString=function(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")},Mt.unix=function(){return Math.floor(this.valueOf()/1e3)},Mt.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Mt.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Mt.year=ve,Mt.isLeapYear=function(){return ge(this.year())},Mt.weekYear=function(e){return rt.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Mt.isoWeekYear=function(e){return rt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},Mt.quarter=Mt.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},Mt.month=Ae,Mt.daysInMonth=function(){return je(this.year(),this.month())},Mt.week=Mt.weeks=function(e){var a=this.localeData().week(this);return null==e?a:this.add(7*(e-a),\"d\")},Mt.isoWeek=Mt.isoWeeks=function(e){var a=Ce(this,1,4).week;return null==e?a:this.add(7*(e-a),\"d\")},Mt.weeksInYear=function(){var e=this.localeData()._week;return Ie(this.year(),e.dow,e.doy)},Mt.isoWeeksInYear=function(){return Ie(this.year(),1,4)},Mt.date=_t,Mt.day=Mt.days=function(e){if(!this.isValid())return null!=e?this:NaN;var a,t,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(a=e,t=this.localeData(),e=\"string\"!=typeof a?a:isNaN(a)?\"number\"==typeof(a=t.weekdaysParse(a))?a:null:parseInt(a,10),this.add(e-s,\"d\")):s},Mt.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var a=(this.day()+7-this.localeData()._week.dow)%7;return null==e?a:this.add(e-a,\"d\")},Mt.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var a,t,s=(a=e,t=this.localeData(),\"string\"==typeof a?t.weekdaysParse(a)%7||7:isNaN(a)?null:a);return this.day(this.day()%7?s:s-7)},Mt.dayOfYear=function(e){var a=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==e?a:this.add(e-a,\"d\")},Mt.hour=Mt.hours=ta,Mt.minute=Mt.minutes=it,Mt.second=Mt.seconds=mt,Mt.millisecond=Mt.milliseconds=lt,Mt.utcOffset=function(e,a,t){var s,n=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?n:Na(this);if(\"string\"==typeof e){if(null===(e=za(de,e)))return this}else Math.abs(e)<16&&!t&&(e*=60);return!this._isUTC&&a&&(s=Na(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,\"m\"),n!==e&&(!a||this._changeInProgress?Za(this,Ua(e-n,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,l.updateOffset(this,!0),this._changeInProgress=null)),this},Mt.utc=function(e){return this.utcOffset(0,e)},Mt.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Na(this),\"m\")),this},Mt.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if(\"string\"==typeof this._i){var e=za(ne,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},Mt.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Ha(e).utcOffset():0,(this.utcOffset()-e)%60==0)},Mt.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Mt.isLocal=function(){return!!this.isValid()&&!this._isUTC},Mt.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Mt.isUtc=Ra,Mt.isUTC=Ra,Mt.zoneAbbr=function(){return this._isUTC?\"UTC\":\"\"},Mt.zoneName=function(){return this._isUTC?\"Coordinated Universal Time\":\"\"},Mt.dates=t(\"dates accessor is deprecated. Use date instead.\",_t),Mt.months=t(\"months accessor is deprecated. Use month instead\",Ae),Mt.years=t(\"years accessor is deprecated. Use year instead\",ve),Mt.zone=t(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",function(e,a){return null!=e?(\"string\"!=typeof e&&(e=-e),this.utcOffset(e,a),this):-this.utcOffset()}),Mt.isDSTShifted=t(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e={};if(k(e,this),(e=va(e))._a){var a=e._isUTC?c(e._a):Ha(e._a);this._isDSTShifted=this.isValid()&&0<r(e._a,a.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var Lt=j.prototype;function ct(e,a,t,s){var n=ma(),d=c().set(s,a);return n[t](d,e)}function Yt(e,a,t){if(m(e)&&(a=e,e=void 0),e=e||\"\",null!=a)return ct(e,a,t,\"month\");var s,n=[];for(s=0;s<12;s++)n[s]=ct(e,s,t,\"month\");return n}function yt(e,a,t,s){a=(\"boolean\"==typeof e?m(a)&&(t=a,a=void 0):(a=e,e=!1,m(t=a)&&(t=a,a=void 0)),a||\"\");var n,d=ma(),r=e?d._week.dow:0;if(null!=t)return ct(a,(t+r)%7,s,\"day\");var _=[];for(n=0;n<7;n++)_[n]=ct(a,(n+r)%7,s,\"day\");return _}Lt.calendar=function(e,a,t){var s=this._calendar[e]||this._calendar.sameElse;return H(s)?s.call(a,t):s},Lt.longDateFormat=function(e){var a=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return a||!t?a:(this._longDateFormat[e]=t.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},Lt.invalidDate=function(){return this._invalidDate},Lt.ordinal=function(e){return this._ordinal.replace(\"%d\",e)},Lt.preparse=ht,Lt.postformat=ht,Lt.relativeTime=function(e,a,t,s){var n=this._relativeTime[t];return H(n)?n(e,a,t,s):n.replace(/%d/i,e)},Lt.pastFuture=function(e,a){var t=this._relativeTime[0<e?\"future\":\"past\"];return H(t)?t(a):t.replace(/%s/i,a)},Lt.set=function(e){var a,t;for(t in e)H(a=e[t])?this[t]=a:this[\"_\"+t]=a;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\"|\"+/\\d{1,2}/.source)},Lt.months=function(e,a){return e?_(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||xe).test(a)?\"format\":\"standalone\"][e.month()]:_(this._months)?this._months:this._months.standalone},Lt.monthsShort=function(e,a){return e?_(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[xe.test(a)?\"format\":\"standalone\"][e.month()]:_(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Lt.monthsParse=function(e,a,t){var s,n,d;if(this._monthsParseExact)return function(e,a,t){var s,n,d,r=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)d=c([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(d,\"\").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(d,\"\").toLocaleLowerCase();return t?\"MMM\"===a?-1!==(n=we.call(this._shortMonthsParse,r))?n:null:-1!==(n=we.call(this._longMonthsParse,r))?n:null:\"MMM\"===a?-1!==(n=we.call(this._shortMonthsParse,r))?n:-1!==(n=we.call(this._longMonthsParse,r))?n:null:-1!==(n=we.call(this._longMonthsParse,r))?n:-1!==(n=we.call(this._shortMonthsParse,r))?n:null}.call(this,e,a,t);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(n=c([2e3,s]),t&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp(\"^\"+this.months(n,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[s]=new RegExp(\"^\"+this.monthsShort(n,\"\").replace(\".\",\"\")+\"$\",\"i\")),t||this._monthsParse[s]||(d=\"^\"+this.months(n,\"\")+\"|^\"+this.monthsShort(n,\"\"),this._monthsParse[s]=new RegExp(d.replace(\".\",\"\"),\"i\")),t&&\"MMMM\"===a&&this._longMonthsParse[s].test(e))return s;if(t&&\"MMM\"===a&&this._shortMonthsParse[s].test(e))return s;if(!t&&this._monthsParse[s].test(e))return s}},Lt.monthsRegex=function(e){return this._monthsParseExact?(h(this,\"_monthsRegex\")||ze.call(this),e?this._monthsStrictRegex:this._monthsRegex):(h(this,\"_monthsRegex\")||(this._monthsRegex=Fe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},Lt.monthsShortRegex=function(e){return this._monthsParseExact?(h(this,\"_monthsRegex\")||ze.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(h(this,\"_monthsShortRegex\")||(this._monthsShortRegex=Ee),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},Lt.week=function(e){return Ce(e,this._week.dow,this._week.doy).week},Lt.firstDayOfYear=function(){return this._week.doy},Lt.firstDayOfWeek=function(){return this._week.dow},Lt.weekdays=function(e,a){var t=_(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(a)?\"format\":\"standalone\"];return!0===e?Ue(t,this._week.dow):e?t[e.day()]:t},Lt.weekdaysMin=function(e){return!0===e?Ue(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},Lt.weekdaysShort=function(e){return!0===e?Ue(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},Lt.weekdaysParse=function(e,a,t){var s,n,d;if(this._weekdaysParseExact)return function(e,a,t){var s,n,d,r=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)d=c([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(d,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(d,\"\").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(d,\"\").toLocaleLowerCase();return t?\"dddd\"===a?-1!==(n=we.call(this._weekdaysParse,r))?n:null:\"ddd\"===a?-1!==(n=we.call(this._shortWeekdaysParse,r))?n:null:-1!==(n=we.call(this._minWeekdaysParse,r))?n:null:\"dddd\"===a?-1!==(n=we.call(this._weekdaysParse,r))?n:-1!==(n=we.call(this._shortWeekdaysParse,r))?n:-1!==(n=we.call(this._minWeekdaysParse,r))?n:null:\"ddd\"===a?-1!==(n=we.call(this._shortWeekdaysParse,r))?n:-1!==(n=we.call(this._weekdaysParse,r))?n:-1!==(n=we.call(this._minWeekdaysParse,r))?n:null:-1!==(n=we.call(this._minWeekdaysParse,r))?n:-1!==(n=we.call(this._weekdaysParse,r))?n:-1!==(n=we.call(this._shortWeekdaysParse,r))?n:null}.call(this,e,a,t);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(n=c([2e3,1]).day(s),t&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp(\"^\"+this.weekdays(n,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._shortWeekdaysParse[s]=new RegExp(\"^\"+this.weekdaysShort(n,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._minWeekdaysParse[s]=new RegExp(\"^\"+this.weekdaysMin(n,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\")),this._weekdaysParse[s]||(d=\"^\"+this.weekdays(n,\"\")+\"|^\"+this.weekdaysShort(n,\"\")+\"|^\"+this.weekdaysMin(n,\"\"),this._weekdaysParse[s]=new RegExp(d.replace(\".\",\"\"),\"i\")),t&&\"dddd\"===a&&this._fullWeekdaysParse[s].test(e))return s;if(t&&\"ddd\"===a&&this._shortWeekdaysParse[s].test(e))return s;if(t&&\"dd\"===a&&this._minWeekdaysParse[s].test(e))return s;if(!t&&this._weekdaysParse[s].test(e))return s}},Lt.weekdaysRegex=function(e){return this._weekdaysParseExact?(h(this,\"_weekdaysRegex\")||qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,\"_weekdaysRegex\")||(this._weekdaysRegex=Ze),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},Lt.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(h(this,\"_weekdaysRegex\")||qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=$e),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Lt.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(h(this,\"_weekdaysRegex\")||qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=Be),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Lt.isPM=function(e){return\"p\"===(e+\"\").toLowerCase().charAt(0)},Lt.meridiem=function(e,a,t){return 11<e?t?\"pm\":\"PM\":t?\"am\":\"AM\"},ia(\"en\",{dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1===g(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")}}),l.lang=t(\"moment.lang is deprecated. Use moment.locale instead.\",ia),l.langData=t(\"moment.langData is deprecated. Use moment.localeData instead.\",ma);var ft=Math.abs;function kt(e,a,t,s){var n=Ua(a,t);return e._milliseconds+=s*n._milliseconds,e._days+=s*n._days,e._months+=s*n._months,e._bubble()}function pt(e){return e<0?Math.floor(e):Math.ceil(e)}function Dt(e){return 4800*e/146097}function Tt(e){return 146097*e/4800}function gt(e){return function(){return this.as(e)}}var wt=gt(\"ms\"),vt=gt(\"s\"),St=gt(\"m\"),Ht=gt(\"h\"),bt=gt(\"d\"),jt=gt(\"w\"),xt=gt(\"M\"),Ot=gt(\"Q\"),Pt=gt(\"y\");function Wt(e){return function(){return this.isValid()?this._data[e]:NaN}}var At=Wt(\"milliseconds\"),Et=Wt(\"seconds\"),Ft=Wt(\"minutes\"),zt=Wt(\"hours\"),Jt=Wt(\"days\"),Nt=Wt(\"months\"),Rt=Wt(\"years\");var Ct=Math.round,It={ss:44,s:45,m:45,h:22,d:26,M:11};var Ut=Math.abs;function Gt(e){return(0<e)-(e<0)||+e}function Vt(){if(!this.isValid())return this.localeData().invalidDate();var e,a,t=Ut(this._milliseconds)/1e3,s=Ut(this._days),n=Ut(this._months);a=T((e=T(t/60))/60),t%=60,e%=60;var d=T(n/12),r=n%=12,_=s,i=a,o=e,m=t?t.toFixed(3).replace(/\\.?0+$/,\"\"):\"\",u=this.asSeconds();if(!u)return\"P0D\";var l=u<0?\"-\":\"\",M=Gt(this._months)!==Gt(u)?\"-\":\"\",h=Gt(this._days)!==Gt(u)?\"-\":\"\",L=Gt(this._milliseconds)!==Gt(u)?\"-\":\"\";return l+\"P\"+(d?M+d+\"Y\":\"\")+(r?M+r+\"M\":\"\")+(_?h+_+\"D\":\"\")+(i||o||m?\"T\":\"\")+(i?L+i+\"H\":\"\")+(o?L+o+\"M\":\"\")+(m?L+m+\"S\":\"\")}var Kt=Pa.prototype;Kt.isValid=function(){return this._isValid},Kt.abs=function(){var e=this._data;return this._milliseconds=ft(this._milliseconds),this._days=ft(this._days),this._months=ft(this._months),e.milliseconds=ft(e.milliseconds),e.seconds=ft(e.seconds),e.minutes=ft(e.minutes),e.hours=ft(e.hours),e.months=ft(e.months),e.years=ft(e.years),this},Kt.add=function(e,a){return kt(this,e,a,1)},Kt.subtract=function(e,a){return kt(this,e,a,-1)},Kt.as=function(e){if(!this.isValid())return NaN;var a,t,s=this._milliseconds;if(\"month\"===(e=P(e))||\"quarter\"===e||\"year\"===e)switch(a=this._days+s/864e5,t=this._months+Dt(a),e){case\"month\":return t;case\"quarter\":return t/3;case\"year\":return t/12}else switch(a=this._days+Math.round(Tt(this._months)),e){case\"week\":return a/7+s/6048e5;case\"day\":return a+s/864e5;case\"hour\":return 24*a+s/36e5;case\"minute\":return 1440*a+s/6e4;case\"second\":return 86400*a+s/1e3;case\"millisecond\":return Math.floor(864e5*a)+s;default:throw new Error(\"Unknown unit \"+e)}},Kt.asMilliseconds=wt,Kt.asSeconds=vt,Kt.asMinutes=St,Kt.asHours=Ht,Kt.asDays=bt,Kt.asWeeks=jt,Kt.asMonths=xt,Kt.asQuarters=Ot,Kt.asYears=Pt,Kt.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12):NaN},Kt._bubble=function(){var e,a,t,s,n,d=this._milliseconds,r=this._days,_=this._months,i=this._data;return 0<=d&&0<=r&&0<=_||d<=0&&r<=0&&_<=0||(d+=864e5*pt(Tt(_)+r),_=r=0),i.milliseconds=d%1e3,e=T(d/1e3),i.seconds=e%60,a=T(e/60),i.minutes=a%60,t=T(a/60),i.hours=t%24,_+=n=T(Dt(r+=T(t/24))),r-=pt(Tt(n)),s=T(_/12),_%=12,i.days=r,i.months=_,i.years=s,this},Kt.clone=function(){return Ua(this)},Kt.get=function(e){return e=P(e),this.isValid()?this[e+\"s\"]():NaN},Kt.milliseconds=At,Kt.seconds=Et,Kt.minutes=Ft,Kt.hours=zt,Kt.days=Jt,Kt.weeks=function(){return T(this.days()/7)},Kt.months=Nt,Kt.years=Rt,Kt.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var a,t,s,n,d,r,_,i,o,m,u,l=this.localeData(),M=(t=!e,s=l,n=Ua(a=this).abs(),d=Ct(n.as(\"s\")),r=Ct(n.as(\"m\")),_=Ct(n.as(\"h\")),i=Ct(n.as(\"d\")),o=Ct(n.as(\"M\")),m=Ct(n.as(\"y\")),(u=d<=It.ss&&[\"s\",d]||d<It.s&&[\"ss\",d]||r<=1&&[\"m\"]||r<It.m&&[\"mm\",r]||_<=1&&[\"h\"]||_<It.h&&[\"hh\",_]||i<=1&&[\"d\"]||i<It.d&&[\"dd\",i]||o<=1&&[\"M\"]||o<It.M&&[\"MM\",o]||m<=1&&[\"y\"]||[\"yy\",m])[2]=t,u[3]=0<+a,u[4]=s,function(e,a,t,s,n){return n.relativeTime(a||1,!!t,e,s)}.apply(null,u));return e&&(M=l.pastFuture(+this,M)),l.postformat(M)},Kt.toISOString=Vt,Kt.toString=Vt,Kt.toJSON=Vt,Kt.locale=Qa,Kt.localeData=et,Kt.toIsoString=t(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",Vt),Kt.lang=Xa,C(\"X\",0,0,\"unix\"),C(\"x\",0,0,\"valueOf\"),ie(\"x\",se),ie(\"X\",/[+-]?\\d+(\\.\\d{1,3})?/),le(\"X\",function(e,a,t){t._d=new Date(1e3*parseFloat(e,10))}),le(\"x\",function(e,a,t){t._d=new Date(g(e))}),l.version=\"2.24.0\",e=Ha,l.fn=Mt,l.min=function(){return xa(\"isBefore\",[].slice.call(arguments,0))},l.max=function(){return xa(\"isAfter\",[].slice.call(arguments,0))},l.now=function(){return Date.now?Date.now():+new Date},l.utc=c,l.unix=function(e){return Ha(1e3*e)},l.months=function(e,a){return Yt(e,a,\"months\")},l.isDate=u,l.locale=ia,l.invalid=f,l.duration=Ua,l.isMoment=D,l.weekdays=function(e,a,t){return yt(e,a,t,\"weekdays\")},l.parseZone=function(){return Ha.apply(null,arguments).parseZone()},l.localeData=ma,l.isDuration=Wa,l.monthsShort=function(e,a){return Yt(e,a,\"monthsShort\")},l.weekdaysMin=function(e,a,t){return yt(e,a,t,\"weekdaysMin\")},l.defineLocale=oa,l.updateLocale=function(e,a){if(null!=a){var t,s,n=sa;null!=(s=_a(e))&&(n=s._config),(t=new j(a=b(n,a))).parentLocale=na[e],na[e]=t,ia(e)}else null!=na[e]&&(null!=na[e].parentLocale?na[e]=na[e].parentLocale:null!=na[e]&&delete na[e]);return na[e]},l.locales=function(){return s(na)},l.weekdaysShort=function(e,a,t){return yt(e,a,t,\"weekdaysShort\")},l.normalizeUnits=P,l.relativeTimeRounding=function(e){return void 0===e?Ct:\"function\"==typeof e&&(Ct=e,!0)},l.relativeTimeThreshold=function(e,a){return void 0!==It[e]&&(void 0===a?It[e]:(It[e]=a,\"s\"===e&&(It.ss=a-1),!0))},l.calendarFormat=function(e,a){var t=e.diff(a,\"days\",!0);return t<-6?\"sameElse\":t<-1?\"lastWeek\":t<0?\"lastDay\":t<1?\"sameDay\":t<2?\"nextDay\":t<7?\"nextWeek\":\"sameElse\"},l.prototype=Mt,l.HTML5_FMT={DATETIME_LOCAL:\"YYYY-MM-DDTHH:mm\",DATETIME_LOCAL_SECONDS:\"YYYY-MM-DDTHH:mm:ss\",DATETIME_LOCAL_MS:\"YYYY-MM-DDTHH:mm:ss.SSS\",DATE:\"YYYY-MM-DD\",TIME:\"HH:mm\",TIME_SECONDS:\"HH:mm:ss\",TIME_MS:\"HH:mm:ss.SSS\",WEEK:\"GGGG-[W]WW\",MONTH:\"YYYY-MM\"},l.defineLocale(\"af\",{months:\"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag\".split(\"_\"),weekdaysShort:\"Son_Maa_Din_Woe_Don_Vry_Sat\".split(\"_\"),weekdaysMin:\"So_Ma_Di_Wo_Do_Vr_Sa\".split(\"_\"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,t){return e<12?t?\"vm\":\"VM\":t?\"nm\":\"NM\"},longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Vandag om] LT\",nextDay:\"[M\\xf4re om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[Gister om] LT\",lastWeek:\"[Laas] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"oor %s\",past:\"%s gelede\",s:\"'n paar sekondes\",ss:\"%d sekondes\",m:\"'n minuut\",mm:\"%d minute\",h:\"'n uur\",hh:\"%d ure\",d:\"'n dag\",dd:\"%d dae\",M:\"'n maand\",MM:\"%d maande\",y:\"'n jaar\",yy:\"%d jaar\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?\"ste\":\"de\")},week:{dow:1,doy:4}}),l.defineLocale(\"ar-dz\",{months:\"\\u062c\\u0627\\u0646\\u0641\\u064a_\\u0641\\u064a\\u0641\\u0631\\u064a_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0641\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a_\\u062c\\u0648\\u0627\\u0646_\\u062c\\u0648\\u064a\\u0644\\u064a\\u0629_\\u0623\\u0648\\u062a_\\u0633\\u0628\\u062a\\u0645\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0641\\u0645\\u0628\\u0631_\\u062f\\u064a\\u0633\\u0645\\u0628\\u0631\".split(\"_\"),monthsShort:\"\\u062c\\u0627\\u0646\\u0641\\u064a_\\u0641\\u064a\\u0641\\u0631\\u064a_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0641\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a_\\u062c\\u0648\\u0627\\u0646_\\u062c\\u0648\\u064a\\u0644\\u064a\\u0629_\\u0623\\u0648\\u062a_\\u0633\\u0628\\u062a\\u0645\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0641\\u0645\\u0628\\u0631_\\u062f\\u064a\\u0633\\u0645\\u0628\\u0631\".split(\"_\"),weekdays:\"\\u0627\\u0644\\u0623\\u062d\\u062f_\\u0627\\u0644\\u0625\\u062b\\u0646\\u064a\\u0646_\\u0627\\u0644\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0644\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u0627\\u0644\\u062e\\u0645\\u064a\\u0633_\\u0627\\u0644\\u062c\\u0645\\u0639\\u0629_\\u0627\\u0644\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysShort:\"\\u0627\\u062d\\u062f_\\u0627\\u062b\\u0646\\u064a\\u0646_\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0631\\u0628\\u0639\\u0627\\u0621_\\u062e\\u0645\\u064a\\u0633_\\u062c\\u0645\\u0639\\u0629_\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysMin:\"\\u0623\\u062d_\\u0625\\u062b_\\u062b\\u0644\\u0627_\\u0623\\u0631_\\u062e\\u0645_\\u062c\\u0645_\\u0633\\u0628\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u0627\\u0644\\u064a\\u0648\\u0645 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextDay:\"[\\u063a\\u062f\\u0627 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastDay:\"[\\u0623\\u0645\\u0633 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0641\\u064a %s\",past:\"\\u0645\\u0646\\u0630 %s\",s:\"\\u062b\\u0648\\u0627\\u0646\",ss:\"%d \\u062b\\u0627\\u0646\\u064a\\u0629\",m:\"\\u062f\\u0642\\u064a\\u0642\\u0629\",mm:\"%d \\u062f\\u0642\\u0627\\u0626\\u0642\",h:\"\\u0633\\u0627\\u0639\\u0629\",hh:\"%d \\u0633\\u0627\\u0639\\u0627\\u062a\",d:\"\\u064a\\u0648\\u0645\",dd:\"%d \\u0623\\u064a\\u0627\\u0645\",M:\"\\u0634\\u0647\\u0631\",MM:\"%d \\u0623\\u0634\\u0647\\u0631\",y:\"\\u0633\\u0646\\u0629\",yy:\"%d \\u0633\\u0646\\u0648\\u0627\\u062a\"},week:{dow:0,doy:4}}),l.defineLocale(\"ar-kw\",{months:\"\\u064a\\u0646\\u0627\\u064a\\u0631_\\u0641\\u0628\\u0631\\u0627\\u064a\\u0631_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0628\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a_\\u064a\\u0648\\u0646\\u064a\\u0648_\\u064a\\u0648\\u0644\\u064a\\u0648\\u0632_\\u063a\\u0634\\u062a_\\u0634\\u062a\\u0646\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0646\\u0628\\u0631_\\u062f\\u062c\\u0646\\u0628\\u0631\".split(\"_\"),monthsShort:\"\\u064a\\u0646\\u0627\\u064a\\u0631_\\u0641\\u0628\\u0631\\u0627\\u064a\\u0631_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0628\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a_\\u064a\\u0648\\u0646\\u064a\\u0648_\\u064a\\u0648\\u0644\\u064a\\u0648\\u0632_\\u063a\\u0634\\u062a_\\u0634\\u062a\\u0646\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0646\\u0628\\u0631_\\u062f\\u062c\\u0646\\u0628\\u0631\".split(\"_\"),weekdays:\"\\u0627\\u0644\\u0623\\u062d\\u062f_\\u0627\\u0644\\u0625\\u062a\\u0646\\u064a\\u0646_\\u0627\\u0644\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0644\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u0627\\u0644\\u062e\\u0645\\u064a\\u0633_\\u0627\\u0644\\u062c\\u0645\\u0639\\u0629_\\u0627\\u0644\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysShort:\"\\u0627\\u062d\\u062f_\\u0627\\u062a\\u0646\\u064a\\u0646_\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0631\\u0628\\u0639\\u0627\\u0621_\\u062e\\u0645\\u064a\\u0633_\\u062c\\u0645\\u0639\\u0629_\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysMin:\"\\u062d_\\u0646_\\u062b_\\u0631_\\u062e_\\u062c_\\u0633\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u0627\\u0644\\u064a\\u0648\\u0645 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextDay:\"[\\u063a\\u062f\\u0627 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastDay:\"[\\u0623\\u0645\\u0633 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0641\\u064a %s\",past:\"\\u0645\\u0646\\u0630 %s\",s:\"\\u062b\\u0648\\u0627\\u0646\",ss:\"%d \\u062b\\u0627\\u0646\\u064a\\u0629\",m:\"\\u062f\\u0642\\u064a\\u0642\\u0629\",mm:\"%d \\u062f\\u0642\\u0627\\u0626\\u0642\",h:\"\\u0633\\u0627\\u0639\\u0629\",hh:\"%d \\u0633\\u0627\\u0639\\u0627\\u062a\",d:\"\\u064a\\u0648\\u0645\",dd:\"%d \\u0623\\u064a\\u0627\\u0645\",M:\"\\u0634\\u0647\\u0631\",MM:\"%d \\u0623\\u0634\\u0647\\u0631\",y:\"\\u0633\\u0646\\u0629\",yy:\"%d \\u0633\\u0646\\u0648\\u0627\\u062a\"},week:{dow:0,doy:12}});var Zt={1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",0:\"0\"},$t=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},Bt={s:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u062b\\u0627\\u0646\\u064a\\u0629\",\"\\u062b\\u0627\\u0646\\u064a\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629\",[\"\\u062b\\u0627\\u0646\\u064a\\u062a\\u0627\\u0646\",\"\\u062b\\u0627\\u0646\\u064a\\u062a\\u064a\\u0646\"],\"%d \\u062b\\u0648\\u0627\\u0646\",\"%d \\u062b\\u0627\\u0646\\u064a\\u0629\",\"%d \\u062b\\u0627\\u0646\\u064a\\u0629\"],m:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u062f\\u0642\\u064a\\u0642\\u0629\",\"\\u062f\\u0642\\u064a\\u0642\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629\",[\"\\u062f\\u0642\\u064a\\u0642\\u062a\\u0627\\u0646\",\"\\u062f\\u0642\\u064a\\u0642\\u062a\\u064a\\u0646\"],\"%d \\u062f\\u0642\\u0627\\u0626\\u0642\",\"%d \\u062f\\u0642\\u064a\\u0642\\u0629\",\"%d \\u062f\\u0642\\u064a\\u0642\\u0629\"],h:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u0633\\u0627\\u0639\\u0629\",\"\\u0633\\u0627\\u0639\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629\",[\"\\u0633\\u0627\\u0639\\u062a\\u0627\\u0646\",\"\\u0633\\u0627\\u0639\\u062a\\u064a\\u0646\"],\"%d \\u0633\\u0627\\u0639\\u0627\\u062a\",\"%d \\u0633\\u0627\\u0639\\u0629\",\"%d \\u0633\\u0627\\u0639\\u0629\"],d:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u064a\\u0648\\u0645\",\"\\u064a\\u0648\\u0645 \\u0648\\u0627\\u062d\\u062f\",[\"\\u064a\\u0648\\u0645\\u0627\\u0646\",\"\\u064a\\u0648\\u0645\\u064a\\u0646\"],\"%d \\u0623\\u064a\\u0627\\u0645\",\"%d \\u064a\\u0648\\u0645\\u064b\\u0627\",\"%d \\u064a\\u0648\\u0645\"],M:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u0634\\u0647\\u0631\",\"\\u0634\\u0647\\u0631 \\u0648\\u0627\\u062d\\u062f\",[\"\\u0634\\u0647\\u0631\\u0627\\u0646\",\"\\u0634\\u0647\\u0631\\u064a\\u0646\"],\"%d \\u0623\\u0634\\u0647\\u0631\",\"%d \\u0634\\u0647\\u0631\\u0627\",\"%d \\u0634\\u0647\\u0631\"],y:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u0639\\u0627\\u0645\",\"\\u0639\\u0627\\u0645 \\u0648\\u0627\\u062d\\u062f\",[\"\\u0639\\u0627\\u0645\\u0627\\u0646\",\"\\u0639\\u0627\\u0645\\u064a\\u0646\"],\"%d \\u0623\\u0639\\u0648\\u0627\\u0645\",\"%d \\u0639\\u0627\\u0645\\u064b\\u0627\",\"%d \\u0639\\u0627\\u0645\"]},qt=function(r){return function(e,a,t,s){var n=$t(e),d=Bt[r][$t(e)];return 2===n&&(d=d[a?0:1]),d.replace(/%d/i,e)}},Qt=[\"\\u064a\\u0646\\u0627\\u064a\\u0631\",\"\\u0641\\u0628\\u0631\\u0627\\u064a\\u0631\",\"\\u0645\\u0627\\u0631\\u0633\",\"\\u0623\\u0628\\u0631\\u064a\\u0644\",\"\\u0645\\u0627\\u064a\\u0648\",\"\\u064a\\u0648\\u0646\\u064a\\u0648\",\"\\u064a\\u0648\\u0644\\u064a\\u0648\",\"\\u0623\\u063a\\u0633\\u0637\\u0633\",\"\\u0633\\u0628\\u062a\\u0645\\u0628\\u0631\",\"\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631\",\"\\u0646\\u0648\\u0641\\u0645\\u0628\\u0631\",\"\\u062f\\u064a\\u0633\\u0645\\u0628\\u0631\"];l.defineLocale(\"ar-ly\",{months:Qt,monthsShort:Qt,weekdays:\"\\u0627\\u0644\\u0623\\u062d\\u062f_\\u0627\\u0644\\u0625\\u062b\\u0646\\u064a\\u0646_\\u0627\\u0644\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0644\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u0627\\u0644\\u062e\\u0645\\u064a\\u0633_\\u0627\\u0644\\u062c\\u0645\\u0639\\u0629_\\u0627\\u0644\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysShort:\"\\u0623\\u062d\\u062f_\\u0625\\u062b\\u0646\\u064a\\u0646_\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u062e\\u0645\\u064a\\u0633_\\u062c\\u0645\\u0639\\u0629_\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysMin:\"\\u062d_\\u0646_\\u062b_\\u0631_\\u062e_\\u062c_\\u0633\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/\\u200fM/\\u200fYYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/\\u0635|\\u0645/,isPM:function(e){return\"\\u0645\"===e},meridiem:function(e,a,t){return e<12?\"\\u0635\":\"\\u0645\"},calendar:{sameDay:\"[\\u0627\\u0644\\u064a\\u0648\\u0645 \\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextDay:\"[\\u063a\\u062f\\u064b\\u0627 \\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextWeek:\"dddd [\\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastDay:\"[\\u0623\\u0645\\u0633 \\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastWeek:\"dddd [\\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0628\\u0639\\u062f %s\",past:\"\\u0645\\u0646\\u0630 %s\",s:qt(\"s\"),ss:qt(\"s\"),m:qt(\"m\"),mm:qt(\"m\"),h:qt(\"h\"),hh:qt(\"h\"),d:qt(\"d\"),dd:qt(\"d\"),M:qt(\"M\"),MM:qt(\"M\"),y:qt(\"y\"),yy:qt(\"y\")},preparse:function(e){return e.replace(/\\u060c/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return Zt[e]}).replace(/,/g,\"\\u060c\")},week:{dow:6,doy:12}}),l.defineLocale(\"ar-ma\",{months:\"\\u064a\\u0646\\u0627\\u064a\\u0631_\\u0641\\u0628\\u0631\\u0627\\u064a\\u0631_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0628\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a_\\u064a\\u0648\\u0646\\u064a\\u0648_\\u064a\\u0648\\u0644\\u064a\\u0648\\u0632_\\u063a\\u0634\\u062a_\\u0634\\u062a\\u0646\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0646\\u0628\\u0631_\\u062f\\u062c\\u0646\\u0628\\u0631\".split(\"_\"),monthsShort:\"\\u064a\\u0646\\u0627\\u064a\\u0631_\\u0641\\u0628\\u0631\\u0627\\u064a\\u0631_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0628\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a_\\u064a\\u0648\\u0646\\u064a\\u0648_\\u064a\\u0648\\u0644\\u064a\\u0648\\u0632_\\u063a\\u0634\\u062a_\\u0634\\u062a\\u0646\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0646\\u0628\\u0631_\\u062f\\u062c\\u0646\\u0628\\u0631\".split(\"_\"),weekdays:\"\\u0627\\u0644\\u0623\\u062d\\u062f_\\u0627\\u0644\\u0625\\u062a\\u0646\\u064a\\u0646_\\u0627\\u0644\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0644\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u0627\\u0644\\u062e\\u0645\\u064a\\u0633_\\u0627\\u0644\\u062c\\u0645\\u0639\\u0629_\\u0627\\u0644\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysShort:\"\\u0627\\u062d\\u062f_\\u0627\\u062a\\u0646\\u064a\\u0646_\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0631\\u0628\\u0639\\u0627\\u0621_\\u062e\\u0645\\u064a\\u0633_\\u062c\\u0645\\u0639\\u0629_\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysMin:\"\\u062d_\\u0646_\\u062b_\\u0631_\\u062e_\\u062c_\\u0633\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u0627\\u0644\\u064a\\u0648\\u0645 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextDay:\"[\\u063a\\u062f\\u0627 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastDay:\"[\\u0623\\u0645\\u0633 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0641\\u064a %s\",past:\"\\u0645\\u0646\\u0630 %s\",s:\"\\u062b\\u0648\\u0627\\u0646\",ss:\"%d \\u062b\\u0627\\u0646\\u064a\\u0629\",m:\"\\u062f\\u0642\\u064a\\u0642\\u0629\",mm:\"%d \\u062f\\u0642\\u0627\\u0626\\u0642\",h:\"\\u0633\\u0627\\u0639\\u0629\",hh:\"%d \\u0633\\u0627\\u0639\\u0627\\u062a\",d:\"\\u064a\\u0648\\u0645\",dd:\"%d \\u0623\\u064a\\u0627\\u0645\",M:\"\\u0634\\u0647\\u0631\",MM:\"%d \\u0623\\u0634\\u0647\\u0631\",y:\"\\u0633\\u0646\\u0629\",yy:\"%d \\u0633\\u0646\\u0648\\u0627\\u062a\"},week:{dow:6,doy:12}});var Xt={1:\"\\u0661\",2:\"\\u0662\",3:\"\\u0663\",4:\"\\u0664\",5:\"\\u0665\",6:\"\\u0666\",7:\"\\u0667\",8:\"\\u0668\",9:\"\\u0669\",0:\"\\u0660\"},es={\"\\u0661\":\"1\",\"\\u0662\":\"2\",\"\\u0663\":\"3\",\"\\u0664\":\"4\",\"\\u0665\":\"5\",\"\\u0666\":\"6\",\"\\u0667\":\"7\",\"\\u0668\":\"8\",\"\\u0669\":\"9\",\"\\u0660\":\"0\"};l.defineLocale(\"ar-sa\",{months:\"\\u064a\\u0646\\u0627\\u064a\\u0631_\\u0641\\u0628\\u0631\\u0627\\u064a\\u0631_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0628\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a\\u0648_\\u064a\\u0648\\u0646\\u064a\\u0648_\\u064a\\u0648\\u0644\\u064a\\u0648_\\u0623\\u063a\\u0633\\u0637\\u0633_\\u0633\\u0628\\u062a\\u0645\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0641\\u0645\\u0628\\u0631_\\u062f\\u064a\\u0633\\u0645\\u0628\\u0631\".split(\"_\"),monthsShort:\"\\u064a\\u0646\\u0627\\u064a\\u0631_\\u0641\\u0628\\u0631\\u0627\\u064a\\u0631_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0628\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a\\u0648_\\u064a\\u0648\\u0646\\u064a\\u0648_\\u064a\\u0648\\u0644\\u064a\\u0648_\\u0623\\u063a\\u0633\\u0637\\u0633_\\u0633\\u0628\\u062a\\u0645\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0641\\u0645\\u0628\\u0631_\\u062f\\u064a\\u0633\\u0645\\u0628\\u0631\".split(\"_\"),weekdays:\"\\u0627\\u0644\\u0623\\u062d\\u062f_\\u0627\\u0644\\u0625\\u062b\\u0646\\u064a\\u0646_\\u0627\\u0644\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0644\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u0627\\u0644\\u062e\\u0645\\u064a\\u0633_\\u0627\\u0644\\u062c\\u0645\\u0639\\u0629_\\u0627\\u0644\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysShort:\"\\u0623\\u062d\\u062f_\\u0625\\u062b\\u0646\\u064a\\u0646_\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u062e\\u0645\\u064a\\u0633_\\u062c\\u0645\\u0639\\u0629_\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysMin:\"\\u062d_\\u0646_\\u062b_\\u0631_\\u062e_\\u062c_\\u0633\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/\\u0635|\\u0645/,isPM:function(e){return\"\\u0645\"===e},meridiem:function(e,a,t){return e<12?\"\\u0635\":\"\\u0645\"},calendar:{sameDay:\"[\\u0627\\u0644\\u064a\\u0648\\u0645 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextDay:\"[\\u063a\\u062f\\u0627 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastDay:\"[\\u0623\\u0645\\u0633 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0641\\u064a %s\",past:\"\\u0645\\u0646\\u0630 %s\",s:\"\\u062b\\u0648\\u0627\\u0646\",ss:\"%d \\u062b\\u0627\\u0646\\u064a\\u0629\",m:\"\\u062f\\u0642\\u064a\\u0642\\u0629\",mm:\"%d \\u062f\\u0642\\u0627\\u0626\\u0642\",h:\"\\u0633\\u0627\\u0639\\u0629\",hh:\"%d \\u0633\\u0627\\u0639\\u0627\\u062a\",d:\"\\u064a\\u0648\\u0645\",dd:\"%d \\u0623\\u064a\\u0627\\u0645\",M:\"\\u0634\\u0647\\u0631\",MM:\"%d \\u0623\\u0634\\u0647\\u0631\",y:\"\\u0633\\u0646\\u0629\",yy:\"%d \\u0633\\u0646\\u0648\\u0627\\u062a\"},preparse:function(e){return e.replace(/[\\u0661\\u0662\\u0663\\u0664\\u0665\\u0666\\u0667\\u0668\\u0669\\u0660]/g,function(e){return es[e]}).replace(/\\u060c/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return Xt[e]}).replace(/,/g,\"\\u060c\")},week:{dow:0,doy:6}}),l.defineLocale(\"ar-tn\",{months:\"\\u062c\\u0627\\u0646\\u0641\\u064a_\\u0641\\u064a\\u0641\\u0631\\u064a_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0641\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a_\\u062c\\u0648\\u0627\\u0646_\\u062c\\u0648\\u064a\\u0644\\u064a\\u0629_\\u0623\\u0648\\u062a_\\u0633\\u0628\\u062a\\u0645\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0641\\u0645\\u0628\\u0631_\\u062f\\u064a\\u0633\\u0645\\u0628\\u0631\".split(\"_\"),monthsShort:\"\\u062c\\u0627\\u0646\\u0641\\u064a_\\u0641\\u064a\\u0641\\u0631\\u064a_\\u0645\\u0627\\u0631\\u0633_\\u0623\\u0641\\u0631\\u064a\\u0644_\\u0645\\u0627\\u064a_\\u062c\\u0648\\u0627\\u0646_\\u062c\\u0648\\u064a\\u0644\\u064a\\u0629_\\u0623\\u0648\\u062a_\\u0633\\u0628\\u062a\\u0645\\u0628\\u0631_\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631_\\u0646\\u0648\\u0641\\u0645\\u0628\\u0631_\\u062f\\u064a\\u0633\\u0645\\u0628\\u0631\".split(\"_\"),weekdays:\"\\u0627\\u0644\\u0623\\u062d\\u062f_\\u0627\\u0644\\u0625\\u062b\\u0646\\u064a\\u0646_\\u0627\\u0644\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0644\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u0627\\u0644\\u062e\\u0645\\u064a\\u0633_\\u0627\\u0644\\u062c\\u0645\\u0639\\u0629_\\u0627\\u0644\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysShort:\"\\u0623\\u062d\\u062f_\\u0625\\u062b\\u0646\\u064a\\u0646_\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u062e\\u0645\\u064a\\u0633_\\u062c\\u0645\\u0639\\u0629_\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysMin:\"\\u062d_\\u0646_\\u062b_\\u0631_\\u062e_\\u062c_\\u0633\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u0627\\u0644\\u064a\\u0648\\u0645 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextDay:\"[\\u063a\\u062f\\u0627 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastDay:\"[\\u0623\\u0645\\u0633 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastWeek:\"dddd [\\u0639\\u0644\\u0649 \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0641\\u064a %s\",past:\"\\u0645\\u0646\\u0630 %s\",s:\"\\u062b\\u0648\\u0627\\u0646\",ss:\"%d \\u062b\\u0627\\u0646\\u064a\\u0629\",m:\"\\u062f\\u0642\\u064a\\u0642\\u0629\",mm:\"%d \\u062f\\u0642\\u0627\\u0626\\u0642\",h:\"\\u0633\\u0627\\u0639\\u0629\",hh:\"%d \\u0633\\u0627\\u0639\\u0627\\u062a\",d:\"\\u064a\\u0648\\u0645\",dd:\"%d \\u0623\\u064a\\u0627\\u0645\",M:\"\\u0634\\u0647\\u0631\",MM:\"%d \\u0623\\u0634\\u0647\\u0631\",y:\"\\u0633\\u0646\\u0629\",yy:\"%d \\u0633\\u0646\\u0648\\u0627\\u062a\"},week:{dow:1,doy:4}});var as={1:\"\\u0661\",2:\"\\u0662\",3:\"\\u0663\",4:\"\\u0664\",5:\"\\u0665\",6:\"\\u0666\",7:\"\\u0667\",8:\"\\u0668\",9:\"\\u0669\",0:\"\\u0660\"},ts={\"\\u0661\":\"1\",\"\\u0662\":\"2\",\"\\u0663\":\"3\",\"\\u0664\":\"4\",\"\\u0665\":\"5\",\"\\u0666\":\"6\",\"\\u0667\":\"7\",\"\\u0668\":\"8\",\"\\u0669\":\"9\",\"\\u0660\":\"0\"},ss=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},ns={s:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u062b\\u0627\\u0646\\u064a\\u0629\",\"\\u062b\\u0627\\u0646\\u064a\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629\",[\"\\u062b\\u0627\\u0646\\u064a\\u062a\\u0627\\u0646\",\"\\u062b\\u0627\\u0646\\u064a\\u062a\\u064a\\u0646\"],\"%d \\u062b\\u0648\\u0627\\u0646\",\"%d \\u062b\\u0627\\u0646\\u064a\\u0629\",\"%d \\u062b\\u0627\\u0646\\u064a\\u0629\"],m:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u062f\\u0642\\u064a\\u0642\\u0629\",\"\\u062f\\u0642\\u064a\\u0642\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629\",[\"\\u062f\\u0642\\u064a\\u0642\\u062a\\u0627\\u0646\",\"\\u062f\\u0642\\u064a\\u0642\\u062a\\u064a\\u0646\"],\"%d \\u062f\\u0642\\u0627\\u0626\\u0642\",\"%d \\u062f\\u0642\\u064a\\u0642\\u0629\",\"%d \\u062f\\u0642\\u064a\\u0642\\u0629\"],h:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u0633\\u0627\\u0639\\u0629\",\"\\u0633\\u0627\\u0639\\u0629 \\u0648\\u0627\\u062d\\u062f\\u0629\",[\"\\u0633\\u0627\\u0639\\u062a\\u0627\\u0646\",\"\\u0633\\u0627\\u0639\\u062a\\u064a\\u0646\"],\"%d \\u0633\\u0627\\u0639\\u0627\\u062a\",\"%d \\u0633\\u0627\\u0639\\u0629\",\"%d \\u0633\\u0627\\u0639\\u0629\"],d:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u064a\\u0648\\u0645\",\"\\u064a\\u0648\\u0645 \\u0648\\u0627\\u062d\\u062f\",[\"\\u064a\\u0648\\u0645\\u0627\\u0646\",\"\\u064a\\u0648\\u0645\\u064a\\u0646\"],\"%d \\u0623\\u064a\\u0627\\u0645\",\"%d \\u064a\\u0648\\u0645\\u064b\\u0627\",\"%d \\u064a\\u0648\\u0645\"],M:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u0634\\u0647\\u0631\",\"\\u0634\\u0647\\u0631 \\u0648\\u0627\\u062d\\u062f\",[\"\\u0634\\u0647\\u0631\\u0627\\u0646\",\"\\u0634\\u0647\\u0631\\u064a\\u0646\"],\"%d \\u0623\\u0634\\u0647\\u0631\",\"%d \\u0634\\u0647\\u0631\\u0627\",\"%d \\u0634\\u0647\\u0631\"],y:[\"\\u0623\\u0642\\u0644 \\u0645\\u0646 \\u0639\\u0627\\u0645\",\"\\u0639\\u0627\\u0645 \\u0648\\u0627\\u062d\\u062f\",[\"\\u0639\\u0627\\u0645\\u0627\\u0646\",\"\\u0639\\u0627\\u0645\\u064a\\u0646\"],\"%d \\u0623\\u0639\\u0648\\u0627\\u0645\",\"%d \\u0639\\u0627\\u0645\\u064b\\u0627\",\"%d \\u0639\\u0627\\u0645\"]},ds=function(r){return function(e,a,t,s){var n=ss(e),d=ns[r][ss(e)];return 2===n&&(d=d[a?0:1]),d.replace(/%d/i,e)}},rs=[\"\\u064a\\u0646\\u0627\\u064a\\u0631\",\"\\u0641\\u0628\\u0631\\u0627\\u064a\\u0631\",\"\\u0645\\u0627\\u0631\\u0633\",\"\\u0623\\u0628\\u0631\\u064a\\u0644\",\"\\u0645\\u0627\\u064a\\u0648\",\"\\u064a\\u0648\\u0646\\u064a\\u0648\",\"\\u064a\\u0648\\u0644\\u064a\\u0648\",\"\\u0623\\u063a\\u0633\\u0637\\u0633\",\"\\u0633\\u0628\\u062a\\u0645\\u0628\\u0631\",\"\\u0623\\u0643\\u062a\\u0648\\u0628\\u0631\",\"\\u0646\\u0648\\u0641\\u0645\\u0628\\u0631\",\"\\u062f\\u064a\\u0633\\u0645\\u0628\\u0631\"];l.defineLocale(\"ar\",{months:rs,monthsShort:rs,weekdays:\"\\u0627\\u0644\\u0623\\u062d\\u062f_\\u0627\\u0644\\u0625\\u062b\\u0646\\u064a\\u0646_\\u0627\\u0644\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0627\\u0644\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u0627\\u0644\\u062e\\u0645\\u064a\\u0633_\\u0627\\u0644\\u062c\\u0645\\u0639\\u0629_\\u0627\\u0644\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysShort:\"\\u0623\\u062d\\u062f_\\u0625\\u062b\\u0646\\u064a\\u0646_\\u062b\\u0644\\u0627\\u062b\\u0627\\u0621_\\u0623\\u0631\\u0628\\u0639\\u0627\\u0621_\\u062e\\u0645\\u064a\\u0633_\\u062c\\u0645\\u0639\\u0629_\\u0633\\u0628\\u062a\".split(\"_\"),weekdaysMin:\"\\u062d_\\u0646_\\u062b_\\u0631_\\u062e_\\u062c_\\u0633\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/\\u200fM/\\u200fYYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/\\u0635|\\u0645/,isPM:function(e){return\"\\u0645\"===e},meridiem:function(e,a,t){return e<12?\"\\u0635\":\"\\u0645\"},calendar:{sameDay:\"[\\u0627\\u0644\\u064a\\u0648\\u0645 \\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextDay:\"[\\u063a\\u062f\\u064b\\u0627 \\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",nextWeek:\"dddd [\\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastDay:\"[\\u0623\\u0645\\u0633 \\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",lastWeek:\"dddd [\\u0639\\u0646\\u062f \\u0627\\u0644\\u0633\\u0627\\u0639\\u0629] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0628\\u0639\\u062f %s\",past:\"\\u0645\\u0646\\u0630 %s\",s:ds(\"s\"),ss:ds(\"s\"),m:ds(\"m\"),mm:ds(\"m\"),h:ds(\"h\"),hh:ds(\"h\"),d:ds(\"d\"),dd:ds(\"d\"),M:ds(\"M\"),MM:ds(\"M\"),y:ds(\"y\"),yy:ds(\"y\")},preparse:function(e){return e.replace(/[\\u0661\\u0662\\u0663\\u0664\\u0665\\u0666\\u0667\\u0668\\u0669\\u0660]/g,function(e){return ts[e]}).replace(/\\u060c/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return as[e]}).replace(/,/g,\"\\u060c\")},week:{dow:6,doy:12}});var _s={1:\"-inci\",5:\"-inci\",8:\"-inci\",70:\"-inci\",80:\"-inci\",2:\"-nci\",7:\"-nci\",20:\"-nci\",50:\"-nci\",3:\"-\\xfcnc\\xfc\",4:\"-\\xfcnc\\xfc\",100:\"-\\xfcnc\\xfc\",6:\"-nc\\u0131\",9:\"-uncu\",10:\"-uncu\",30:\"-uncu\",60:\"-\\u0131nc\\u0131\",90:\"-\\u0131nc\\u0131\"};function is(e,a,t){var s,n;return\"m\"===t?a?\"\\u0445\\u0432\\u0456\\u043b\\u0456\\u043d\\u0430\":\"\\u0445\\u0432\\u0456\\u043b\\u0456\\u043d\\u0443\":\"h\"===t?a?\"\\u0433\\u0430\\u0434\\u0437\\u0456\\u043d\\u0430\":\"\\u0433\\u0430\\u0434\\u0437\\u0456\\u043d\\u0443\":e+\" \"+(s=+e,n={ss:a?\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0430_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u044b_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\":\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0443_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u044b_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",mm:a?\"\\u0445\\u0432\\u0456\\u043b\\u0456\\u043d\\u0430_\\u0445\\u0432\\u0456\\u043b\\u0456\\u043d\\u044b_\\u0445\\u0432\\u0456\\u043b\\u0456\\u043d\":\"\\u0445\\u0432\\u0456\\u043b\\u0456\\u043d\\u0443_\\u0445\\u0432\\u0456\\u043b\\u0456\\u043d\\u044b_\\u0445\\u0432\\u0456\\u043b\\u0456\\u043d\",hh:a?\"\\u0433\\u0430\\u0434\\u0437\\u0456\\u043d\\u0430_\\u0433\\u0430\\u0434\\u0437\\u0456\\u043d\\u044b_\\u0433\\u0430\\u0434\\u0437\\u0456\\u043d\":\"\\u0433\\u0430\\u0434\\u0437\\u0456\\u043d\\u0443_\\u0433\\u0430\\u0434\\u0437\\u0456\\u043d\\u044b_\\u0433\\u0430\\u0434\\u0437\\u0456\\u043d\",dd:\"\\u0434\\u0437\\u0435\\u043d\\u044c_\\u0434\\u043d\\u0456_\\u0434\\u0437\\u0451\\u043d\",MM:\"\\u043c\\u0435\\u0441\\u044f\\u0446_\\u043c\\u0435\\u0441\\u044f\\u0446\\u044b_\\u043c\\u0435\\u0441\\u044f\\u0446\\u0430\\u045e\",yy:\"\\u0433\\u043e\\u0434_\\u0433\\u0430\\u0434\\u044b_\\u0433\\u0430\\u0434\\u043e\\u045e\"}[t].split(\"_\"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}l.defineLocale(\"az\",{months:\"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr\".split(\"_\"),monthsShort:\"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek\".split(\"_\"),weekdays:\"Bazar_Bazar ert\\u0259si_\\xc7\\u0259r\\u015f\\u0259nb\\u0259 ax\\u015fam\\u0131_\\xc7\\u0259r\\u015f\\u0259nb\\u0259_C\\xfcm\\u0259 ax\\u015fam\\u0131_C\\xfcm\\u0259_\\u015e\\u0259nb\\u0259\".split(\"_\"),weekdaysShort:\"Baz_BzE_\\xc7Ax_\\xc7\\u0259r_CAx_C\\xfcm_\\u015e\\u0259n\".split(\"_\"),weekdaysMin:\"Bz_BE_\\xc7A_\\xc7\\u0259_CA_C\\xfc_\\u015e\\u0259\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[bug\\xfcn saat] LT\",nextDay:\"[sabah saat] LT\",nextWeek:\"[g\\u0259l\\u0259n h\\u0259ft\\u0259] dddd [saat] LT\",lastDay:\"[d\\xfcn\\u0259n] LT\",lastWeek:\"[ke\\xe7\\u0259n h\\u0259ft\\u0259] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s sonra\",past:\"%s \\u0259vv\\u0259l\",s:\"birne\\xe7\\u0259 saniy\\u0259\",ss:\"%d saniy\\u0259\",m:\"bir d\\u0259qiq\\u0259\",mm:\"%d d\\u0259qiq\\u0259\",h:\"bir saat\",hh:\"%d saat\",d:\"bir g\\xfcn\",dd:\"%d g\\xfcn\",M:\"bir ay\",MM:\"%d ay\",y:\"bir il\",yy:\"%d il\"},meridiemParse:/gec\\u0259|s\\u0259h\\u0259r|g\\xfcnd\\xfcz|ax\\u015fam/,isPM:function(e){return/^(g\\xfcnd\\xfcz|ax\\u015fam)$/.test(e)},meridiem:function(e,a,t){return e<4?\"gec\\u0259\":e<12?\"s\\u0259h\\u0259r\":e<17?\"g\\xfcnd\\xfcz\":\"ax\\u015fam\"},dayOfMonthOrdinalParse:/\\d{1,2}-(\\u0131nc\\u0131|inci|nci|\\xfcnc\\xfc|nc\\u0131|uncu)/,ordinal:function(e){if(0===e)return e+\"-\\u0131nc\\u0131\";var a=e%10;return e+(_s[a]||_s[e%100-a]||_s[100<=e?100:null])},week:{dow:1,doy:7}}),l.defineLocale(\"be\",{months:{format:\"\\u0441\\u0442\\u0443\\u0434\\u0437\\u0435\\u043d\\u044f_\\u043b\\u044e\\u0442\\u0430\\u0433\\u0430_\\u0441\\u0430\\u043a\\u0430\\u0432\\u0456\\u043a\\u0430_\\u043a\\u0440\\u0430\\u0441\\u0430\\u0432\\u0456\\u043a\\u0430_\\u0442\\u0440\\u0430\\u045e\\u043d\\u044f_\\u0447\\u044d\\u0440\\u0432\\u0435\\u043d\\u044f_\\u043b\\u0456\\u043f\\u0435\\u043d\\u044f_\\u0436\\u043d\\u0456\\u045e\\u043d\\u044f_\\u0432\\u0435\\u0440\\u0430\\u0441\\u043d\\u044f_\\u043a\\u0430\\u0441\\u0442\\u0440\\u044b\\u0447\\u043d\\u0456\\u043a\\u0430_\\u043b\\u0456\\u0441\\u0442\\u0430\\u043f\\u0430\\u0434\\u0430_\\u0441\\u043d\\u0435\\u0436\\u043d\\u044f\".split(\"_\"),standalone:\"\\u0441\\u0442\\u0443\\u0434\\u0437\\u0435\\u043d\\u044c_\\u043b\\u044e\\u0442\\u044b_\\u0441\\u0430\\u043a\\u0430\\u0432\\u0456\\u043a_\\u043a\\u0440\\u0430\\u0441\\u0430\\u0432\\u0456\\u043a_\\u0442\\u0440\\u0430\\u0432\\u0435\\u043d\\u044c_\\u0447\\u044d\\u0440\\u0432\\u0435\\u043d\\u044c_\\u043b\\u0456\\u043f\\u0435\\u043d\\u044c_\\u0436\\u043d\\u0456\\u0432\\u0435\\u043d\\u044c_\\u0432\\u0435\\u0440\\u0430\\u0441\\u0435\\u043d\\u044c_\\u043a\\u0430\\u0441\\u0442\\u0440\\u044b\\u0447\\u043d\\u0456\\u043a_\\u043b\\u0456\\u0441\\u0442\\u0430\\u043f\\u0430\\u0434_\\u0441\\u043d\\u0435\\u0436\\u0430\\u043d\\u044c\".split(\"_\")},monthsShort:\"\\u0441\\u0442\\u0443\\u0434_\\u043b\\u044e\\u0442_\\u0441\\u0430\\u043a_\\u043a\\u0440\\u0430\\u0441_\\u0442\\u0440\\u0430\\u0432_\\u0447\\u044d\\u0440\\u0432_\\u043b\\u0456\\u043f_\\u0436\\u043d\\u0456\\u0432_\\u0432\\u0435\\u0440_\\u043a\\u0430\\u0441\\u0442_\\u043b\\u0456\\u0441\\u0442_\\u0441\\u043d\\u0435\\u0436\".split(\"_\"),weekdays:{format:\"\\u043d\\u044f\\u0434\\u0437\\u0435\\u043b\\u044e_\\u043f\\u0430\\u043d\\u044f\\u0434\\u0437\\u0435\\u043b\\u0430\\u043a_\\u0430\\u045e\\u0442\\u043e\\u0440\\u0430\\u043a_\\u0441\\u0435\\u0440\\u0430\\u0434\\u0443_\\u0447\\u0430\\u0446\\u0432\\u0435\\u0440_\\u043f\\u044f\\u0442\\u043d\\u0456\\u0446\\u0443_\\u0441\\u0443\\u0431\\u043e\\u0442\\u0443\".split(\"_\"),standalone:\"\\u043d\\u044f\\u0434\\u0437\\u0435\\u043b\\u044f_\\u043f\\u0430\\u043d\\u044f\\u0434\\u0437\\u0435\\u043b\\u0430\\u043a_\\u0430\\u045e\\u0442\\u043e\\u0440\\u0430\\u043a_\\u0441\\u0435\\u0440\\u0430\\u0434\\u0430_\\u0447\\u0430\\u0446\\u0432\\u0435\\u0440_\\u043f\\u044f\\u0442\\u043d\\u0456\\u0446\\u0430_\\u0441\\u0443\\u0431\\u043e\\u0442\\u0430\".split(\"_\"),isFormat:/\\[ ?[\\u0423\\u0443\\u045e] ?(?:\\u043c\\u0456\\u043d\\u0443\\u043b\\u0443\\u044e|\\u043d\\u0430\\u0441\\u0442\\u0443\\u043f\\u043d\\u0443\\u044e)? ?\\] ?dddd/},weekdaysShort:\"\\u043d\\u0434_\\u043f\\u043d_\\u0430\\u0442_\\u0441\\u0440_\\u0447\\u0446_\\u043f\\u0442_\\u0441\\u0431\".split(\"_\"),weekdaysMin:\"\\u043d\\u0434_\\u043f\\u043d_\\u0430\\u0442_\\u0441\\u0440_\\u0447\\u0446_\\u043f\\u0442_\\u0441\\u0431\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY \\u0433.\",LLL:\"D MMMM YYYY \\u0433., HH:mm\",LLLL:\"dddd, D MMMM YYYY \\u0433., HH:mm\"},calendar:{sameDay:\"[\\u0421\\u0451\\u043d\\u043d\\u044f \\u045e] LT\",nextDay:\"[\\u0417\\u0430\\u045e\\u0442\\u0440\\u0430 \\u045e] LT\",lastDay:\"[\\u0423\\u0447\\u043e\\u0440\\u0430 \\u045e] LT\",nextWeek:function(){return\"[\\u0423] dddd [\\u045e] LT\"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return\"[\\u0423 \\u043c\\u0456\\u043d\\u0443\\u043b\\u0443\\u044e] dddd [\\u045e] LT\";case 1:case 2:case 4:return\"[\\u0423 \\u043c\\u0456\\u043d\\u0443\\u043b\\u044b] dddd [\\u045e] LT\"}},sameElse:\"L\"},relativeTime:{future:\"\\u043f\\u0440\\u0430\\u0437 %s\",past:\"%s \\u0442\\u0430\\u043c\\u0443\",s:\"\\u043d\\u0435\\u043a\\u0430\\u043b\\u044c\\u043a\\u0456 \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",m:is,mm:is,h:is,hh:is,d:\"\\u0434\\u0437\\u0435\\u043d\\u044c\",dd:is,M:\"\\u043c\\u0435\\u0441\\u044f\\u0446\",MM:is,y:\"\\u0433\\u043e\\u0434\",yy:is},meridiemParse:/\\u043d\\u043e\\u0447\\u044b|\\u0440\\u0430\\u043d\\u0456\\u0446\\u044b|\\u0434\\u043d\\u044f|\\u0432\\u0435\\u0447\\u0430\\u0440\\u0430/,isPM:function(e){return/^(\\u0434\\u043d\\u044f|\\u0432\\u0435\\u0447\\u0430\\u0440\\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?\"\\u043d\\u043e\\u0447\\u044b\":e<12?\"\\u0440\\u0430\\u043d\\u0456\\u0446\\u044b\":e<17?\"\\u0434\\u043d\\u044f\":\"\\u0432\\u0435\\u0447\\u0430\\u0440\\u0430\"},dayOfMonthOrdinalParse:/\\d{1,2}-(\\u0456|\\u044b|\\u0433\\u0430)/,ordinal:function(e,a){switch(a){case\"M\":case\"d\":case\"DDD\":case\"w\":case\"W\":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+\"-\\u044b\":e+\"-\\u0456\";case\"D\":return e+\"-\\u0433\\u0430\";default:return e}},week:{dow:1,doy:7}}),l.defineLocale(\"bg\",{months:\"\\u044f\\u043d\\u0443\\u0430\\u0440\\u0438_\\u0444\\u0435\\u0432\\u0440\\u0443\\u0430\\u0440\\u0438_\\u043c\\u0430\\u0440\\u0442_\\u0430\\u043f\\u0440\\u0438\\u043b_\\u043c\\u0430\\u0439_\\u044e\\u043d\\u0438_\\u044e\\u043b\\u0438_\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442_\\u0441\\u0435\\u043f\\u0442\\u0435\\u043c\\u0432\\u0440\\u0438_\\u043e\\u043a\\u0442\\u043e\\u043c\\u0432\\u0440\\u0438_\\u043d\\u043e\\u0435\\u043c\\u0432\\u0440\\u0438_\\u0434\\u0435\\u043a\\u0435\\u043c\\u0432\\u0440\\u0438\".split(\"_\"),monthsShort:\"\\u044f\\u043d\\u0440_\\u0444\\u0435\\u0432_\\u043c\\u0430\\u0440_\\u0430\\u043f\\u0440_\\u043c\\u0430\\u0439_\\u044e\\u043d\\u0438_\\u044e\\u043b\\u0438_\\u0430\\u0432\\u0433_\\u0441\\u0435\\u043f_\\u043e\\u043a\\u0442_\\u043d\\u043e\\u0435_\\u0434\\u0435\\u043a\".split(\"_\"),weekdays:\"\\u043d\\u0435\\u0434\\u0435\\u043b\\u044f_\\u043f\\u043e\\u043d\\u0435\\u0434\\u0435\\u043b\\u043d\\u0438\\u043a_\\u0432\\u0442\\u043e\\u0440\\u043d\\u0438\\u043a_\\u0441\\u0440\\u044f\\u0434\\u0430_\\u0447\\u0435\\u0442\\u0432\\u044a\\u0440\\u0442\\u044a\\u043a_\\u043f\\u0435\\u0442\\u044a\\u043a_\\u0441\\u044a\\u0431\\u043e\\u0442\\u0430\".split(\"_\"),weekdaysShort:\"\\u043d\\u0435\\u0434_\\u043f\\u043e\\u043d_\\u0432\\u0442\\u043e_\\u0441\\u0440\\u044f_\\u0447\\u0435\\u0442_\\u043f\\u0435\\u0442_\\u0441\\u044a\\u0431\".split(\"_\"),weekdaysMin:\"\\u043d\\u0434_\\u043f\\u043d_\\u0432\\u0442_\\u0441\\u0440_\\u0447\\u0442_\\u043f\\u0442_\\u0441\\u0431\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"D.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[\\u0414\\u043d\\u0435\\u0441 \\u0432] LT\",nextDay:\"[\\u0423\\u0442\\u0440\\u0435 \\u0432] LT\",nextWeek:\"dddd [\\u0432] LT\",lastDay:\"[\\u0412\\u0447\\u0435\\u0440\\u0430 \\u0432] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return\"[\\u0412 \\u0438\\u0437\\u043c\\u0438\\u043d\\u0430\\u043b\\u0430\\u0442\\u0430] dddd [\\u0432] LT\";case 1:case 2:case 4:case 5:return\"[\\u0412 \\u0438\\u0437\\u043c\\u0438\\u043d\\u0430\\u043b\\u0438\\u044f] dddd [\\u0432] LT\"}},sameElse:\"L\"},relativeTime:{future:\"\\u0441\\u043b\\u0435\\u0434 %s\",past:\"\\u043f\\u0440\\u0435\\u0434\\u0438 %s\",s:\"\\u043d\\u044f\\u043a\\u043e\\u043b\\u043a\\u043e \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0438\",ss:\"%d \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0438\",m:\"\\u043c\\u0438\\u043d\\u0443\\u0442\\u0430\",mm:\"%d \\u043c\\u0438\\u043d\\u0443\\u0442\\u0438\",h:\"\\u0447\\u0430\\u0441\",hh:\"%d \\u0447\\u0430\\u0441\\u0430\",d:\"\\u0434\\u0435\\u043d\",dd:\"%d \\u0434\\u043d\\u0438\",M:\"\\u043c\\u0435\\u0441\\u0435\\u0446\",MM:\"%d \\u043c\\u0435\\u0441\\u0435\\u0446\\u0430\",y:\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0430\",yy:\"%d \\u0433\\u043e\\u0434\\u0438\\u043d\\u0438\"},dayOfMonthOrdinalParse:/\\d{1,2}-(\\u0435\\u0432|\\u0435\\u043d|\\u0442\\u0438|\\u0432\\u0438|\\u0440\\u0438|\\u043c\\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+\"-\\u0435\\u0432\":0===t?e+\"-\\u0435\\u043d\":10<t&&t<20?e+\"-\\u0442\\u0438\":1===a?e+\"-\\u0432\\u0438\":2===a?e+\"-\\u0440\\u0438\":7===a||8===a?e+\"-\\u043c\\u0438\":e+\"-\\u0442\\u0438\"},week:{dow:1,doy:7}}),l.defineLocale(\"bm\",{months:\"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\\u025bkalo_Zuw\\u025bnkalo_Zuluyekalo_Utikalo_S\\u025btanburukalo_\\u0254kut\\u0254burukalo_Nowanburukalo_Desanburukalo\".split(\"_\"),monthsShort:\"Zan_Few_Mar_Awi_M\\u025b_Zuw_Zul_Uti_S\\u025bt_\\u0254ku_Now_Des\".split(\"_\"),weekdays:\"Kari_Nt\\u025bn\\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri\".split(\"_\"),weekdaysShort:\"Kar_Nt\\u025b_Tar_Ara_Ala_Jum_Sib\".split(\"_\"),weekdaysMin:\"Ka_Nt_Ta_Ar_Al_Ju_Si\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"MMMM [tile] D [san] YYYY\",LLL:\"MMMM [tile] D [san] YYYY [l\\u025br\\u025b] HH:mm\",LLLL:\"dddd MMMM [tile] D [san] YYYY [l\\u025br\\u025b] HH:mm\"},calendar:{sameDay:\"[Bi l\\u025br\\u025b] LT\",nextDay:\"[Sini l\\u025br\\u025b] LT\",nextWeek:\"dddd [don l\\u025br\\u025b] LT\",lastDay:\"[Kunu l\\u025br\\u025b] LT\",lastWeek:\"dddd [t\\u025bm\\u025bnen l\\u025br\\u025b] LT\",sameElse:\"L\"},relativeTime:{future:\"%s k\\u0254n\\u0254\",past:\"a b\\u025b %s b\\u0254\",s:\"sanga dama dama\",ss:\"sekondi %d\",m:\"miniti kelen\",mm:\"miniti %d\",h:\"l\\u025br\\u025b kelen\",hh:\"l\\u025br\\u025b %d\",d:\"tile kelen\",dd:\"tile %d\",M:\"kalo kelen\",MM:\"kalo %d\",y:\"san kelen\",yy:\"san %d\"},week:{dow:1,doy:4}});var os={1:\"\\u09e7\",2:\"\\u09e8\",3:\"\\u09e9\",4:\"\\u09ea\",5:\"\\u09eb\",6:\"\\u09ec\",7:\"\\u09ed\",8:\"\\u09ee\",9:\"\\u09ef\",0:\"\\u09e6\"},ms={\"\\u09e7\":\"1\",\"\\u09e8\":\"2\",\"\\u09e9\":\"3\",\"\\u09ea\":\"4\",\"\\u09eb\":\"5\",\"\\u09ec\":\"6\",\"\\u09ed\":\"7\",\"\\u09ee\":\"8\",\"\\u09ef\":\"9\",\"\\u09e6\":\"0\"};l.defineLocale(\"bn\",{months:\"\\u099c\\u09be\\u09a8\\u09c1\\u09df\\u09be\\u09b0\\u09c0_\\u09ab\\u09c7\\u09ac\\u09cd\\u09b0\\u09c1\\u09df\\u09be\\u09b0\\u09bf_\\u09ae\\u09be\\u09b0\\u09cd\\u099a_\\u098f\\u09aa\\u09cd\\u09b0\\u09bf\\u09b2_\\u09ae\\u09c7_\\u099c\\u09c1\\u09a8_\\u099c\\u09c1\\u09b2\\u09be\\u0987_\\u0986\\u0997\\u09b8\\u09cd\\u099f_\\u09b8\\u09c7\\u09aa\\u09cd\\u099f\\u09c7\\u09ae\\u09cd\\u09ac\\u09b0_\\u0985\\u0995\\u09cd\\u099f\\u09cb\\u09ac\\u09b0_\\u09a8\\u09ad\\u09c7\\u09ae\\u09cd\\u09ac\\u09b0_\\u09a1\\u09bf\\u09b8\\u09c7\\u09ae\\u09cd\\u09ac\\u09b0\".split(\"_\"),monthsShort:\"\\u099c\\u09be\\u09a8\\u09c1_\\u09ab\\u09c7\\u09ac_\\u09ae\\u09be\\u09b0\\u09cd\\u099a_\\u098f\\u09aa\\u09cd\\u09b0_\\u09ae\\u09c7_\\u099c\\u09c1\\u09a8_\\u099c\\u09c1\\u09b2_\\u0986\\u0997_\\u09b8\\u09c7\\u09aa\\u09cd\\u099f_\\u0985\\u0995\\u09cd\\u099f\\u09cb_\\u09a8\\u09ad\\u09c7_\\u09a1\\u09bf\\u09b8\\u09c7\".split(\"_\"),weekdays:\"\\u09b0\\u09ac\\u09bf\\u09ac\\u09be\\u09b0_\\u09b8\\u09cb\\u09ae\\u09ac\\u09be\\u09b0_\\u09ae\\u0999\\u09cd\\u0997\\u09b2\\u09ac\\u09be\\u09b0_\\u09ac\\u09c1\\u09a7\\u09ac\\u09be\\u09b0_\\u09ac\\u09c3\\u09b9\\u09b8\\u09cd\\u09aa\\u09a4\\u09bf\\u09ac\\u09be\\u09b0_\\u09b6\\u09c1\\u0995\\u09cd\\u09b0\\u09ac\\u09be\\u09b0_\\u09b6\\u09a8\\u09bf\\u09ac\\u09be\\u09b0\".split(\"_\"),weekdaysShort:\"\\u09b0\\u09ac\\u09bf_\\u09b8\\u09cb\\u09ae_\\u09ae\\u0999\\u09cd\\u0997\\u09b2_\\u09ac\\u09c1\\u09a7_\\u09ac\\u09c3\\u09b9\\u09b8\\u09cd\\u09aa\\u09a4\\u09bf_\\u09b6\\u09c1\\u0995\\u09cd\\u09b0_\\u09b6\\u09a8\\u09bf\".split(\"_\"),weekdaysMin:\"\\u09b0\\u09ac\\u09bf_\\u09b8\\u09cb\\u09ae_\\u09ae\\u0999\\u09cd\\u0997_\\u09ac\\u09c1\\u09a7_\\u09ac\\u09c3\\u09b9\\u0983_\\u09b6\\u09c1\\u0995\\u09cd\\u09b0_\\u09b6\\u09a8\\u09bf\".split(\"_\"),longDateFormat:{LT:\"A h:mm \\u09b8\\u09ae\\u09df\",LTS:\"A h:mm:ss \\u09b8\\u09ae\\u09df\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm \\u09b8\\u09ae\\u09df\",LLLL:\"dddd, D MMMM YYYY, A h:mm \\u09b8\\u09ae\\u09df\"},calendar:{sameDay:\"[\\u0986\\u099c] LT\",nextDay:\"[\\u0986\\u0997\\u09be\\u09ae\\u09c0\\u0995\\u09be\\u09b2] LT\",nextWeek:\"dddd, LT\",lastDay:\"[\\u0997\\u09a4\\u0995\\u09be\\u09b2] LT\",lastWeek:\"[\\u0997\\u09a4] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u09aa\\u09b0\\u09c7\",past:\"%s \\u0986\\u0997\\u09c7\",s:\"\\u0995\\u09df\\u09c7\\u0995 \\u09b8\\u09c7\\u0995\\u09c7\\u09a8\\u09cd\\u09a1\",ss:\"%d \\u09b8\\u09c7\\u0995\\u09c7\\u09a8\\u09cd\\u09a1\",m:\"\\u098f\\u0995 \\u09ae\\u09bf\\u09a8\\u09bf\\u099f\",mm:\"%d \\u09ae\\u09bf\\u09a8\\u09bf\\u099f\",h:\"\\u098f\\u0995 \\u0998\\u09a8\\u09cd\\u099f\\u09be\",hh:\"%d \\u0998\\u09a8\\u09cd\\u099f\\u09be\",d:\"\\u098f\\u0995 \\u09a6\\u09bf\\u09a8\",dd:\"%d \\u09a6\\u09bf\\u09a8\",M:\"\\u098f\\u0995 \\u09ae\\u09be\\u09b8\",MM:\"%d \\u09ae\\u09be\\u09b8\",y:\"\\u098f\\u0995 \\u09ac\\u099b\\u09b0\",yy:\"%d \\u09ac\\u099b\\u09b0\"},preparse:function(e){return e.replace(/[\\u09e7\\u09e8\\u09e9\\u09ea\\u09eb\\u09ec\\u09ed\\u09ee\\u09ef\\u09e6]/g,function(e){return ms[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return os[e]})},meridiemParse:/\\u09b0\\u09be\\u09a4|\\u09b8\\u0995\\u09be\\u09b2|\\u09a6\\u09c1\\u09aa\\u09c1\\u09b0|\\u09ac\\u09bf\\u0995\\u09be\\u09b2|\\u09b0\\u09be\\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u09b0\\u09be\\u09a4\"===a&&4<=e||\"\\u09a6\\u09c1\\u09aa\\u09c1\\u09b0\"===a&&e<5||\"\\u09ac\\u09bf\\u0995\\u09be\\u09b2\"===a?e+12:e},meridiem:function(e,a,t){return e<4?\"\\u09b0\\u09be\\u09a4\":e<10?\"\\u09b8\\u0995\\u09be\\u09b2\":e<17?\"\\u09a6\\u09c1\\u09aa\\u09c1\\u09b0\":e<20?\"\\u09ac\\u09bf\\u0995\\u09be\\u09b2\":\"\\u09b0\\u09be\\u09a4\"},week:{dow:0,doy:6}});var us={1:\"\\u0f21\",2:\"\\u0f22\",3:\"\\u0f23\",4:\"\\u0f24\",5:\"\\u0f25\",6:\"\\u0f26\",7:\"\\u0f27\",8:\"\\u0f28\",9:\"\\u0f29\",0:\"\\u0f20\"},ls={\"\\u0f21\":\"1\",\"\\u0f22\":\"2\",\"\\u0f23\":\"3\",\"\\u0f24\":\"4\",\"\\u0f25\":\"5\",\"\\u0f26\":\"6\",\"\\u0f27\":\"7\",\"\\u0f28\":\"8\",\"\\u0f29\":\"9\",\"\\u0f20\":\"0\"};function Ms(e,a,t){var s,n,d;return e+\" \"+(s={mm:\"munutenn\",MM:\"miz\",dd:\"devezh\"}[t],2!==e?s:void 0!==(d={m:\"v\",b:\"v\",d:\"z\"})[(n=s).charAt(0)]?d[n.charAt(0)]+n.substring(1):n)}function hs(e,a,t){var s=e+\" \";switch(t){case\"ss\":return s+=1===e?\"sekunda\":2===e||3===e||4===e?\"sekunde\":\"sekundi\";case\"m\":return a?\"jedna minuta\":\"jedne minute\";case\"mm\":return s+=1===e?\"minuta\":2===e||3===e||4===e?\"minute\":\"minuta\";case\"h\":return a?\"jedan sat\":\"jednog sata\";case\"hh\":return s+=1===e?\"sat\":2===e||3===e||4===e?\"sata\":\"sati\";case\"dd\":return s+=1===e?\"dan\":\"dana\";case\"MM\":return s+=1===e?\"mjesec\":2===e||3===e||4===e?\"mjeseca\":\"mjeseci\";case\"yy\":return s+=1===e?\"godina\":2===e||3===e||4===e?\"godine\":\"godina\"}}l.defineLocale(\"bo\",{months:\"\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f51\\u0f44\\u0f0b\\u0f54\\u0f7c_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f42\\u0f49\\u0f72\\u0f66\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f42\\u0f66\\u0f74\\u0f58\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f5e\\u0f72\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f63\\u0f94\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f51\\u0fb2\\u0f74\\u0f42\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f51\\u0f74\\u0f53\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f62\\u0f92\\u0fb1\\u0f51\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f51\\u0f42\\u0f74\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f45\\u0f74\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f45\\u0f74\\u0f0b\\u0f42\\u0f45\\u0f72\\u0f42\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f45\\u0f74\\u0f0b\\u0f42\\u0f49\\u0f72\\u0f66\\u0f0b\\u0f54\".split(\"_\"),monthsShort:\"\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f51\\u0f44\\u0f0b\\u0f54\\u0f7c_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f42\\u0f49\\u0f72\\u0f66\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f42\\u0f66\\u0f74\\u0f58\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f5e\\u0f72\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f63\\u0f94\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f51\\u0fb2\\u0f74\\u0f42\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f51\\u0f74\\u0f53\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f62\\u0f92\\u0fb1\\u0f51\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f51\\u0f42\\u0f74\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f45\\u0f74\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f45\\u0f74\\u0f0b\\u0f42\\u0f45\\u0f72\\u0f42\\u0f0b\\u0f54_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f56\\u0f45\\u0f74\\u0f0b\\u0f42\\u0f49\\u0f72\\u0f66\\u0f0b\\u0f54\".split(\"_\"),weekdays:\"\\u0f42\\u0f5f\\u0f60\\u0f0b\\u0f49\\u0f72\\u0f0b\\u0f58\\u0f0b_\\u0f42\\u0f5f\\u0f60\\u0f0b\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b_\\u0f42\\u0f5f\\u0f60\\u0f0b\\u0f58\\u0f72\\u0f42\\u0f0b\\u0f51\\u0f58\\u0f62\\u0f0b_\\u0f42\\u0f5f\\u0f60\\u0f0b\\u0f63\\u0fb7\\u0f42\\u0f0b\\u0f54\\u0f0b_\\u0f42\\u0f5f\\u0f60\\u0f0b\\u0f55\\u0f74\\u0f62\\u0f0b\\u0f56\\u0f74_\\u0f42\\u0f5f\\u0f60\\u0f0b\\u0f54\\u0f0b\\u0f66\\u0f44\\u0f66\\u0f0b_\\u0f42\\u0f5f\\u0f60\\u0f0b\\u0f66\\u0fa4\\u0f7a\\u0f53\\u0f0b\\u0f54\\u0f0b\".split(\"_\"),weekdaysShort:\"\\u0f49\\u0f72\\u0f0b\\u0f58\\u0f0b_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b_\\u0f58\\u0f72\\u0f42\\u0f0b\\u0f51\\u0f58\\u0f62\\u0f0b_\\u0f63\\u0fb7\\u0f42\\u0f0b\\u0f54\\u0f0b_\\u0f55\\u0f74\\u0f62\\u0f0b\\u0f56\\u0f74_\\u0f54\\u0f0b\\u0f66\\u0f44\\u0f66\\u0f0b_\\u0f66\\u0fa4\\u0f7a\\u0f53\\u0f0b\\u0f54\\u0f0b\".split(\"_\"),weekdaysMin:\"\\u0f49\\u0f72\\u0f0b\\u0f58\\u0f0b_\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b_\\u0f58\\u0f72\\u0f42\\u0f0b\\u0f51\\u0f58\\u0f62\\u0f0b_\\u0f63\\u0fb7\\u0f42\\u0f0b\\u0f54\\u0f0b_\\u0f55\\u0f74\\u0f62\\u0f0b\\u0f56\\u0f74_\\u0f54\\u0f0b\\u0f66\\u0f44\\u0f66\\u0f0b_\\u0f66\\u0fa4\\u0f7a\\u0f53\\u0f0b\\u0f54\\u0f0b\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm\",LLLL:\"dddd, D MMMM YYYY, A h:mm\"},calendar:{sameDay:\"[\\u0f51\\u0f72\\u0f0b\\u0f62\\u0f72\\u0f44] LT\",nextDay:\"[\\u0f66\\u0f44\\u0f0b\\u0f49\\u0f72\\u0f53] LT\",nextWeek:\"[\\u0f56\\u0f51\\u0f74\\u0f53\\u0f0b\\u0f55\\u0fb2\\u0f42\\u0f0b\\u0f62\\u0f97\\u0f7a\\u0f66\\u0f0b\\u0f58], LT\",lastDay:\"[\\u0f41\\u0f0b\\u0f66\\u0f44] LT\",lastWeek:\"[\\u0f56\\u0f51\\u0f74\\u0f53\\u0f0b\\u0f55\\u0fb2\\u0f42\\u0f0b\\u0f58\\u0f50\\u0f60\\u0f0b\\u0f58] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0f63\\u0f0b\",past:\"%s \\u0f66\\u0f94\\u0f53\\u0f0b\\u0f63\",s:\"\\u0f63\\u0f58\\u0f0b\\u0f66\\u0f44\",ss:\"%d \\u0f66\\u0f90\\u0f62\\u0f0b\\u0f46\\u0f0d\",m:\"\\u0f66\\u0f90\\u0f62\\u0f0b\\u0f58\\u0f0b\\u0f42\\u0f45\\u0f72\\u0f42\",mm:\"%d \\u0f66\\u0f90\\u0f62\\u0f0b\\u0f58\",h:\"\\u0f46\\u0f74\\u0f0b\\u0f5a\\u0f7c\\u0f51\\u0f0b\\u0f42\\u0f45\\u0f72\\u0f42\",hh:\"%d \\u0f46\\u0f74\\u0f0b\\u0f5a\\u0f7c\\u0f51\",d:\"\\u0f49\\u0f72\\u0f53\\u0f0b\\u0f42\\u0f45\\u0f72\\u0f42\",dd:\"%d \\u0f49\\u0f72\\u0f53\\u0f0b\",M:\"\\u0f5f\\u0fb3\\u0f0b\\u0f56\\u0f0b\\u0f42\\u0f45\\u0f72\\u0f42\",MM:\"%d \\u0f5f\\u0fb3\\u0f0b\\u0f56\",y:\"\\u0f63\\u0f7c\\u0f0b\\u0f42\\u0f45\\u0f72\\u0f42\",yy:\"%d \\u0f63\\u0f7c\"},preparse:function(e){return e.replace(/[\\u0f21\\u0f22\\u0f23\\u0f24\\u0f25\\u0f26\\u0f27\\u0f28\\u0f29\\u0f20]/g,function(e){return ls[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return us[e]})},meridiemParse:/\\u0f58\\u0f5a\\u0f53\\u0f0b\\u0f58\\u0f7c|\\u0f5e\\u0f7c\\u0f42\\u0f66\\u0f0b\\u0f40\\u0f66|\\u0f49\\u0f72\\u0f53\\u0f0b\\u0f42\\u0f74\\u0f44|\\u0f51\\u0f42\\u0f7c\\u0f44\\u0f0b\\u0f51\\u0f42|\\u0f58\\u0f5a\\u0f53\\u0f0b\\u0f58\\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0f58\\u0f5a\\u0f53\\u0f0b\\u0f58\\u0f7c\"===a&&4<=e||\"\\u0f49\\u0f72\\u0f53\\u0f0b\\u0f42\\u0f74\\u0f44\"===a&&e<5||\"\\u0f51\\u0f42\\u0f7c\\u0f44\\u0f0b\\u0f51\\u0f42\"===a?e+12:e},meridiem:function(e,a,t){return e<4?\"\\u0f58\\u0f5a\\u0f53\\u0f0b\\u0f58\\u0f7c\":e<10?\"\\u0f5e\\u0f7c\\u0f42\\u0f66\\u0f0b\\u0f40\\u0f66\":e<17?\"\\u0f49\\u0f72\\u0f53\\u0f0b\\u0f42\\u0f74\\u0f44\":e<20?\"\\u0f51\\u0f42\\u0f7c\\u0f44\\u0f0b\\u0f51\\u0f42\":\"\\u0f58\\u0f5a\\u0f53\\u0f0b\\u0f58\\u0f7c\"},week:{dow:0,doy:6}}),l.defineLocale(\"br\",{months:\"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu\".split(\"_\"),monthsShort:\"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker\".split(\"_\"),weekdays:\"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn\".split(\"_\"),weekdaysShort:\"Sul_Lun_Meu_Mer_Yao_Gwe_Sad\".split(\"_\"),weekdaysMin:\"Su_Lu_Me_Mer_Ya_Gw_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h[e]mm A\",LTS:\"h[e]mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D [a viz] MMMM YYYY\",LLL:\"D [a viz] MMMM YYYY h[e]mm A\",LLLL:\"dddd, D [a viz] MMMM YYYY h[e]mm A\"},calendar:{sameDay:\"[Hiziv da] LT\",nextDay:\"[Warc'hoazh da] LT\",nextWeek:\"dddd [da] LT\",lastDay:\"[Dec'h da] LT\",lastWeek:\"dddd [paset da] LT\",sameElse:\"L\"},relativeTime:{future:\"a-benn %s\",past:\"%s 'zo\",s:\"un nebeud segondenno\\xf9\",ss:\"%d eilenn\",m:\"ur vunutenn\",mm:Ms,h:\"un eur\",hh:\"%d eur\",d:\"un devezh\",dd:Ms,M:\"ur miz\",MM:Ms,y:\"ur bloaz\",yy:function(e){switch(function e(a){return 9<a?e(a%10):a}(e)){case 1:case 3:case 4:case 5:case 9:return e+\" bloaz\";default:return e+\" vloaz\"}}},dayOfMonthOrdinalParse:/\\d{1,2}(a\\xf1|vet)/,ordinal:function(e){return e+(1===e?\"a\\xf1\":\"vet\")},week:{dow:1,doy:4}}),l.defineLocale(\"bs\",{months:\"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_\\u010detvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._\\u010det._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_\\u010de_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[ju\\u010der u] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:return\"[pro\\u0161lu] dddd [u] LT\";case 6:return\"[pro\\u0161le] [subote] [u] LT\";case 1:case 2:case 4:case 5:return\"[pro\\u0161li] dddd [u] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"par sekundi\",ss:hs,m:hs,mm:hs,h:hs,hh:hs,d:\"dan\",dd:hs,M:\"mjesec\",MM:hs,y:\"godinu\",yy:hs},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),l.defineLocale(\"ca\",{months:{standalone:\"gener_febrer_mar\\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre\".split(\"_\"),format:\"de gener_de febrer_de mar\\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\"_\"),isFormat:/D[oD]?(\\s)+MMMM/},monthsShort:\"gen._febr._mar\\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.\".split(\"_\"),monthsParseExact:!0,weekdays:\"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte\".split(\"_\"),weekdaysShort:\"dg._dl._dt._dc._dj._dv._ds.\".split(\"_\"),weekdaysMin:\"dg_dl_dt_dc_dj_dv_ds\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM [de] YYYY\",ll:\"D MMM YYYY\",LLL:\"D MMMM [de] YYYY [a les] H:mm\",lll:\"D MMM YYYY, H:mm\",LLLL:\"dddd D MMMM [de] YYYY [a les] H:mm\",llll:\"ddd D MMM YYYY, H:mm\"},calendar:{sameDay:function(){return\"[avui a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},nextDay:function(){return\"[dem\\xe0 a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},nextWeek:function(){return\"dddd [a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},lastDay:function(){return\"[ahir a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [passat a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"d'aqu\\xed %s\",past:\"fa %s\",s:\"uns segons\",ss:\"%d segons\",m:\"un minut\",mm:\"%d minuts\",h:\"una hora\",hh:\"%d hores\",d:\"un dia\",dd:\"%d dies\",M:\"un mes\",MM:\"%d mesos\",y:\"un any\",yy:\"%d anys\"},dayOfMonthOrdinalParse:/\\d{1,2}(r|n|t|\\xe8|a)/,ordinal:function(e,a){var t=1===e?\"r\":2===e?\"n\":3===e?\"r\":4===e?\"t\":\"\\xe8\";return\"w\"!==a&&\"W\"!==a||(t=\"a\"),e+t},week:{dow:1,doy:4}});var Ls=\"leden_\\xfanor_b\\u0159ezen_duben_kv\\u011bten_\\u010derven_\\u010dervenec_srpen_z\\xe1\\u0159\\xed_\\u0159\\xedjen_listopad_prosinec\".split(\"_\"),cs=\"led_\\xfano_b\\u0159e_dub_kv\\u011b_\\u010dvn_\\u010dvc_srp_z\\xe1\\u0159_\\u0159\\xedj_lis_pro\".split(\"_\"),Ys=[/^led/i,/^\\xfano/i,/^b\\u0159e/i,/^dub/i,/^kv\\u011b/i,/^(\\u010dvn|\\u010derven$|\\u010dervna)/i,/^(\\u010dvc|\\u010dervenec|\\u010dervence)/i,/^srp/i,/^z\\xe1\\u0159/i,/^\\u0159\\xedj/i,/^lis/i,/^pro/i],ys=/^(leden|\\xfanor|b\\u0159ezen|duben|kv\\u011bten|\\u010dervenec|\\u010dervence|\\u010derven|\\u010dervna|srpen|z\\xe1\\u0159\\xed|\\u0159\\xedjen|listopad|prosinec|led|\\xfano|b\\u0159e|dub|kv\\u011b|\\u010dvn|\\u010dvc|srp|z\\xe1\\u0159|\\u0159\\xedj|lis|pro)/i;function fs(e){return 1<e&&e<5&&1!=~~(e/10)}function ks(e,a,t,s){var n=e+\" \";switch(t){case\"s\":return a||s?\"p\\xe1r sekund\":\"p\\xe1r sekundami\";case\"ss\":return a||s?n+(fs(e)?\"sekundy\":\"sekund\"):n+\"sekundami\";break;case\"m\":return a?\"minuta\":s?\"minutu\":\"minutou\";case\"mm\":return a||s?n+(fs(e)?\"minuty\":\"minut\"):n+\"minutami\";break;case\"h\":return a?\"hodina\":s?\"hodinu\":\"hodinou\";case\"hh\":return a||s?n+(fs(e)?\"hodiny\":\"hodin\"):n+\"hodinami\";break;case\"d\":return a||s?\"den\":\"dnem\";case\"dd\":return a||s?n+(fs(e)?\"dny\":\"dn\\xed\"):n+\"dny\";break;case\"M\":return a||s?\"m\\u011bs\\xedc\":\"m\\u011bs\\xedcem\";case\"MM\":return a||s?n+(fs(e)?\"m\\u011bs\\xedce\":\"m\\u011bs\\xedc\\u016f\"):n+\"m\\u011bs\\xedci\";break;case\"y\":return a||s?\"rok\":\"rokem\";case\"yy\":return a||s?n+(fs(e)?\"roky\":\"let\"):n+\"lety\";break}}function ps(e,a,t,s){var n={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[e+\" Tage\",e+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[e+\" Monate\",e+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[e+\" Jahre\",e+\" Jahren\"]};return a?n[t][0]:n[t][1]}function Ds(e,a,t,s){var n={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[e+\" Tage\",e+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[e+\" Monate\",e+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[e+\" Jahre\",e+\" Jahren\"]};return a?n[t][0]:n[t][1]}function Ts(e,a,t,s){var n={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[e+\" Tage\",e+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[e+\" Monate\",e+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[e+\" Jahre\",e+\" Jahren\"]};return a?n[t][0]:n[t][1]}l.defineLocale(\"cs\",{months:Ls,monthsShort:cs,monthsRegex:ys,monthsShortRegex:ys,monthsStrictRegex:/^(leden|ledna|\\xfanora|\\xfanor|b\\u0159ezen|b\\u0159ezna|duben|dubna|kv\\u011bten|kv\\u011btna|\\u010dervenec|\\u010dervence|\\u010derven|\\u010dervna|srpen|srpna|z\\xe1\\u0159\\xed|\\u0159\\xedjen|\\u0159\\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\\xfano|b\\u0159e|dub|kv\\u011b|\\u010dvn|\\u010dvc|srp|z\\xe1\\u0159|\\u0159\\xedj|lis|pro)/i,monthsParse:Ys,longMonthsParse:Ys,shortMonthsParse:Ys,weekdays:\"ned\\u011ble_pond\\u011bl\\xed_\\xfater\\xfd_st\\u0159eda_\\u010dtvrtek_p\\xe1tek_sobota\".split(\"_\"),weekdaysShort:\"ne_po_\\xfat_st_\\u010dt_p\\xe1_so\".split(\"_\"),weekdaysMin:\"ne_po_\\xfat_st_\\u010dt_p\\xe1_so\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd D. MMMM YYYY H:mm\",l:\"D. M. YYYY\"},calendar:{sameDay:\"[dnes v] LT\",nextDay:\"[z\\xedtra v] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v ned\\u011bli v] LT\";case 1:case 2:return\"[v] dddd [v] LT\";case 3:return\"[ve st\\u0159edu v] LT\";case 4:return\"[ve \\u010dtvrtek v] LT\";case 5:return\"[v p\\xe1tek v] LT\";case 6:return\"[v sobotu v] LT\"}},lastDay:\"[v\\u010dera v] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[minulou ned\\u011bli v] LT\";case 1:case 2:return\"[minul\\xe9] dddd [v] LT\";case 3:return\"[minulou st\\u0159edu v] LT\";case 4:case 5:return\"[minul\\xfd] dddd [v] LT\";case 6:return\"[minulou sobotu v] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"p\\u0159ed %s\",s:ks,ss:ks,m:ks,mm:ks,h:ks,hh:ks,d:ks,dd:ks,M:ks,MM:ks,y:ks,yy:ks},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"cv\",{months:\"\\u043a\\u04d1\\u0440\\u043b\\u0430\\u0447_\\u043d\\u0430\\u0440\\u04d1\\u0441_\\u043f\\u0443\\u0448_\\u0430\\u043a\\u0430_\\u043c\\u0430\\u0439_\\u04ab\\u04d7\\u0440\\u0442\\u043c\\u0435_\\u0443\\u0442\\u04d1_\\u04ab\\u0443\\u0440\\u043b\\u0430_\\u0430\\u0432\\u04d1\\u043d_\\u044e\\u043f\\u0430_\\u0447\\u04f3\\u043a_\\u0440\\u0430\\u0448\\u0442\\u0430\\u0432\".split(\"_\"),monthsShort:\"\\u043a\\u04d1\\u0440_\\u043d\\u0430\\u0440_\\u043f\\u0443\\u0448_\\u0430\\u043a\\u0430_\\u043c\\u0430\\u0439_\\u04ab\\u04d7\\u0440_\\u0443\\u0442\\u04d1_\\u04ab\\u0443\\u0440_\\u0430\\u0432\\u043d_\\u044e\\u043f\\u0430_\\u0447\\u04f3\\u043a_\\u0440\\u0430\\u0448\".split(\"_\"),weekdays:\"\\u0432\\u044b\\u0440\\u0441\\u0430\\u0440\\u043d\\u0438\\u043a\\u0443\\u043d_\\u0442\\u0443\\u043d\\u0442\\u0438\\u043a\\u0443\\u043d_\\u044b\\u0442\\u043b\\u0430\\u0440\\u0438\\u043a\\u0443\\u043d_\\u044e\\u043d\\u043a\\u0443\\u043d_\\u043a\\u04d7\\u04ab\\u043d\\u0435\\u0440\\u043d\\u0438\\u043a\\u0443\\u043d_\\u044d\\u0440\\u043d\\u0435\\u043a\\u0443\\u043d_\\u0448\\u04d1\\u043c\\u0430\\u0442\\u043a\\u0443\\u043d\".split(\"_\"),weekdaysShort:\"\\u0432\\u044b\\u0440_\\u0442\\u0443\\u043d_\\u044b\\u0442\\u043b_\\u044e\\u043d_\\u043a\\u04d7\\u04ab_\\u044d\\u0440\\u043d_\\u0448\\u04d1\\u043c\".split(\"_\"),weekdaysMin:\"\\u0432\\u0440_\\u0442\\u043d_\\u044b\\u0442_\\u044e\\u043d_\\u043a\\u04ab_\\u044d\\u0440_\\u0448\\u043c\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"YYYY [\\u04ab\\u0443\\u043b\\u0445\\u0438] MMMM [\\u0443\\u0439\\u04d1\\u0445\\u04d7\\u043d] D[-\\u043c\\u04d7\\u0448\\u04d7]\",LLL:\"YYYY [\\u04ab\\u0443\\u043b\\u0445\\u0438] MMMM [\\u0443\\u0439\\u04d1\\u0445\\u04d7\\u043d] D[-\\u043c\\u04d7\\u0448\\u04d7], HH:mm\",LLLL:\"dddd, YYYY [\\u04ab\\u0443\\u043b\\u0445\\u0438] MMMM [\\u0443\\u0439\\u04d1\\u0445\\u04d7\\u043d] D[-\\u043c\\u04d7\\u0448\\u04d7], HH:mm\"},calendar:{sameDay:\"[\\u041f\\u0430\\u044f\\u043d] LT [\\u0441\\u0435\\u0445\\u0435\\u0442\\u0440\\u0435]\",nextDay:\"[\\u042b\\u0440\\u0430\\u043d] LT [\\u0441\\u0435\\u0445\\u0435\\u0442\\u0440\\u0435]\",lastDay:\"[\\u04d6\\u043d\\u0435\\u0440] LT [\\u0441\\u0435\\u0445\\u0435\\u0442\\u0440\\u0435]\",nextWeek:\"[\\u04aa\\u0438\\u0442\\u0435\\u0441] dddd LT [\\u0441\\u0435\\u0445\\u0435\\u0442\\u0440\\u0435]\",lastWeek:\"[\\u0418\\u0440\\u0442\\u043d\\u04d7] dddd LT [\\u0441\\u0435\\u0445\\u0435\\u0442\\u0440\\u0435]\",sameElse:\"L\"},relativeTime:{future:function(e){return e+(/\\u0441\\u0435\\u0445\\u0435\\u0442$/i.exec(e)?\"\\u0440\\u0435\\u043d\":/\\u04ab\\u0443\\u043b$/i.exec(e)?\"\\u0442\\u0430\\u043d\":\"\\u0440\\u0430\\u043d\")},past:\"%s \\u043a\\u0430\\u044f\\u043b\\u043b\\u0430\",s:\"\\u043f\\u04d7\\u0440-\\u0438\\u043a \\u04ab\\u0435\\u043a\\u043a\\u0443\\u043d\\u0442\",ss:\"%d \\u04ab\\u0435\\u043a\\u043a\\u0443\\u043d\\u0442\",m:\"\\u043f\\u04d7\\u0440 \\u043c\\u0438\\u043d\\u0443\\u0442\",mm:\"%d \\u043c\\u0438\\u043d\\u0443\\u0442\",h:\"\\u043f\\u04d7\\u0440 \\u0441\\u0435\\u0445\\u0435\\u0442\",hh:\"%d \\u0441\\u0435\\u0445\\u0435\\u0442\",d:\"\\u043f\\u04d7\\u0440 \\u043a\\u0443\\u043d\",dd:\"%d \\u043a\\u0443\\u043d\",M:\"\\u043f\\u04d7\\u0440 \\u0443\\u0439\\u04d1\\u0445\",MM:\"%d \\u0443\\u0439\\u04d1\\u0445\",y:\"\\u043f\\u04d7\\u0440 \\u04ab\\u0443\\u043b\",yy:\"%d \\u04ab\\u0443\\u043b\"},dayOfMonthOrdinalParse:/\\d{1,2}-\\u043c\\u04d7\\u0448/,ordinal:\"%d-\\u043c\\u04d7\\u0448\",week:{dow:1,doy:7}}),l.defineLocale(\"cy\",{months:\"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr\".split(\"_\"),monthsShort:\"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag\".split(\"_\"),weekdays:\"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn\".split(\"_\"),weekdaysShort:\"Sul_Llun_Maw_Mer_Iau_Gwe_Sad\".split(\"_\"),weekdaysMin:\"Su_Ll_Ma_Me_Ia_Gw_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Heddiw am] LT\",nextDay:\"[Yfory am] LT\",nextWeek:\"dddd [am] LT\",lastDay:\"[Ddoe am] LT\",lastWeek:\"dddd [diwethaf am] LT\",sameElse:\"L\"},relativeTime:{future:\"mewn %s\",past:\"%s yn \\xf4l\",s:\"ychydig eiliadau\",ss:\"%d eiliad\",m:\"munud\",mm:\"%d munud\",h:\"awr\",hh:\"%d awr\",d:\"diwrnod\",dd:\"%d diwrnod\",M:\"mis\",MM:\"%d mis\",y:\"blwyddyn\",yy:\"%d flynedd\"},dayOfMonthOrdinalParse:/\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a=\"\";return 20<e?a=40===e||50===e||60===e||80===e||100===e?\"fed\":\"ain\":0<e&&(a=[\"\",\"af\",\"il\",\"ydd\",\"ydd\",\"ed\",\"ed\",\"ed\",\"fed\",\"fed\",\"fed\",\"eg\",\"fed\",\"eg\",\"eg\",\"fed\",\"eg\",\"eg\",\"fed\",\"eg\",\"fed\"][e]),e+a},week:{dow:1,doy:4}}),l.defineLocale(\"da\",{months:\"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"s\\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\\xf8rdag\".split(\"_\"),weekdaysShort:\"s\\xf8n_man_tir_ons_tor_fre_l\\xf8r\".split(\"_\"),weekdaysMin:\"s\\xf8_ma_ti_on_to_fr_l\\xf8\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd [d.] D. MMMM YYYY [kl.] HH:mm\"},calendar:{sameDay:\"[i dag kl.] LT\",nextDay:\"[i morgen kl.] LT\",nextWeek:\"p\\xe5 dddd [kl.] LT\",lastDay:\"[i g\\xe5r kl.] LT\",lastWeek:\"[i] dddd[s kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"f\\xe5 sekunder\",ss:\"%d sekunder\",m:\"et minut\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dage\",M:\"en m\\xe5ned\",MM:\"%d m\\xe5neder\",y:\"et \\xe5r\",yy:\"%d \\xe5r\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"de-at\",{months:\"J\\xe4nner_Februar_M\\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"J\\xe4n._Feb._M\\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},calendar:{sameDay:\"[heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",ss:\"%d Sekunden\",m:ps,mm:\"%d Minuten\",h:ps,hh:\"%d Stunden\",d:ps,dd:ps,M:ps,MM:ps,y:ps,yy:ps},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"de-ch\",{months:\"Januar_Februar_M\\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Feb._M\\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},calendar:{sameDay:\"[heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",ss:\"%d Sekunden\",m:Ds,mm:\"%d Minuten\",h:Ds,hh:\"%d Stunden\",d:Ds,dd:Ds,M:Ds,MM:Ds,y:Ds,yy:Ds},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"de\",{months:\"Januar_Februar_M\\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Feb._M\\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},calendar:{sameDay:\"[heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",ss:\"%d Sekunden\",m:Ts,mm:\"%d Minuten\",h:Ts,hh:\"%d Stunden\",d:Ts,dd:Ts,M:Ts,MM:Ts,y:Ts,yy:Ts},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});var gs=[\"\\u0796\\u07ac\\u0782\\u07aa\\u0787\\u07a6\\u0783\\u07a9\",\"\\u078a\\u07ac\\u0784\\u07b0\\u0783\\u07aa\\u0787\\u07a6\\u0783\\u07a9\",\"\\u0789\\u07a7\\u0783\\u07a8\\u0797\\u07aa\",\"\\u0787\\u07ad\\u0795\\u07b0\\u0783\\u07a9\\u078d\\u07aa\",\"\\u0789\\u07ad\",\"\\u0796\\u07ab\\u0782\\u07b0\",\"\\u0796\\u07aa\\u078d\\u07a6\\u0787\\u07a8\",\"\\u0787\\u07af\\u078e\\u07a6\\u0790\\u07b0\\u0793\\u07aa\",\"\\u0790\\u07ac\\u0795\\u07b0\\u0793\\u07ac\\u0789\\u07b0\\u0784\\u07a6\\u0783\\u07aa\",\"\\u0787\\u07ae\\u0786\\u07b0\\u0793\\u07af\\u0784\\u07a6\\u0783\\u07aa\",\"\\u0782\\u07ae\\u0788\\u07ac\\u0789\\u07b0\\u0784\\u07a6\\u0783\\u07aa\",\"\\u0791\\u07a8\\u0790\\u07ac\\u0789\\u07b0\\u0784\\u07a6\\u0783\\u07aa\"],ws=[\"\\u0787\\u07a7\\u078b\\u07a8\\u0787\\u07b0\\u078c\\u07a6\",\"\\u0780\\u07af\\u0789\\u07a6\",\"\\u0787\\u07a6\\u0782\\u07b0\\u078e\\u07a7\\u0783\\u07a6\",\"\\u0784\\u07aa\\u078b\\u07a6\",\"\\u0784\\u07aa\\u0783\\u07a7\\u0790\\u07b0\\u078a\\u07a6\\u078c\\u07a8\",\"\\u0780\\u07aa\\u0786\\u07aa\\u0783\\u07aa\",\"\\u0780\\u07ae\\u0782\\u07a8\\u0780\\u07a8\\u0783\\u07aa\"];l.defineLocale(\"dv\",{months:gs,monthsShort:gs,weekdays:ws,weekdaysShort:ws,weekdaysMin:\"\\u0787\\u07a7\\u078b\\u07a8_\\u0780\\u07af\\u0789\\u07a6_\\u0787\\u07a6\\u0782\\u07b0_\\u0784\\u07aa\\u078b\\u07a6_\\u0784\\u07aa\\u0783\\u07a7_\\u0780\\u07aa\\u0786\\u07aa_\\u0780\\u07ae\\u0782\\u07a8\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/M/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/\\u0789\\u0786|\\u0789\\u078a/,isPM:function(e){return\"\\u0789\\u078a\"===e},meridiem:function(e,a,t){return e<12?\"\\u0789\\u0786\":\"\\u0789\\u078a\"},calendar:{sameDay:\"[\\u0789\\u07a8\\u0787\\u07a6\\u078b\\u07aa] LT\",nextDay:\"[\\u0789\\u07a7\\u078b\\u07a6\\u0789\\u07a7] LT\",nextWeek:\"dddd LT\",lastDay:\"[\\u0787\\u07a8\\u0787\\u07b0\\u0794\\u07ac] LT\",lastWeek:\"[\\u078a\\u07a7\\u0787\\u07a8\\u078c\\u07aa\\u0788\\u07a8] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"\\u078c\\u07ac\\u0783\\u07ad\\u078e\\u07a6\\u0787\\u07a8 %s\",past:\"\\u0786\\u07aa\\u0783\\u07a8\\u0782\\u07b0 %s\",s:\"\\u0790\\u07a8\\u0786\\u07aa\\u0782\\u07b0\\u078c\\u07aa\\u0786\\u07ae\\u0785\\u07ac\\u0787\\u07b0\",ss:\"d% \\u0790\\u07a8\\u0786\\u07aa\\u0782\\u07b0\\u078c\\u07aa\",m:\"\\u0789\\u07a8\\u0782\\u07a8\\u0793\\u07ac\\u0787\\u07b0\",mm:\"\\u0789\\u07a8\\u0782\\u07a8\\u0793\\u07aa %d\",h:\"\\u078e\\u07a6\\u0791\\u07a8\\u0787\\u07a8\\u0783\\u07ac\\u0787\\u07b0\",hh:\"\\u078e\\u07a6\\u0791\\u07a8\\u0787\\u07a8\\u0783\\u07aa %d\",d:\"\\u078b\\u07aa\\u0788\\u07a6\\u0780\\u07ac\\u0787\\u07b0\",dd:\"\\u078b\\u07aa\\u0788\\u07a6\\u0790\\u07b0 %d\",M:\"\\u0789\\u07a6\\u0780\\u07ac\\u0787\\u07b0\",MM:\"\\u0789\\u07a6\\u0790\\u07b0 %d\",y:\"\\u0787\\u07a6\\u0780\\u07a6\\u0783\\u07ac\\u0787\\u07b0\",yy:\"\\u0787\\u07a6\\u0780\\u07a6\\u0783\\u07aa %d\"},preparse:function(e){return e.replace(/\\u060c/g,\",\")},postformat:function(e){return e.replace(/,/g,\"\\u060c\")},week:{dow:7,doy:12}}),l.defineLocale(\"el\",{monthsNominativeEl:\"\\u0399\\u03b1\\u03bd\\u03bf\\u03c5\\u03ac\\u03c1\\u03b9\\u03bf\\u03c2_\\u03a6\\u03b5\\u03b2\\u03c1\\u03bf\\u03c5\\u03ac\\u03c1\\u03b9\\u03bf\\u03c2_\\u039c\\u03ac\\u03c1\\u03c4\\u03b9\\u03bf\\u03c2_\\u0391\\u03c0\\u03c1\\u03af\\u03bb\\u03b9\\u03bf\\u03c2_\\u039c\\u03ac\\u03b9\\u03bf\\u03c2_\\u0399\\u03bf\\u03cd\\u03bd\\u03b9\\u03bf\\u03c2_\\u0399\\u03bf\\u03cd\\u03bb\\u03b9\\u03bf\\u03c2_\\u0391\\u03cd\\u03b3\\u03bf\\u03c5\\u03c3\\u03c4\\u03bf\\u03c2_\\u03a3\\u03b5\\u03c0\\u03c4\\u03ad\\u03bc\\u03b2\\u03c1\\u03b9\\u03bf\\u03c2_\\u039f\\u03ba\\u03c4\\u03ce\\u03b2\\u03c1\\u03b9\\u03bf\\u03c2_\\u039d\\u03bf\\u03ad\\u03bc\\u03b2\\u03c1\\u03b9\\u03bf\\u03c2_\\u0394\\u03b5\\u03ba\\u03ad\\u03bc\\u03b2\\u03c1\\u03b9\\u03bf\\u03c2\".split(\"_\"),monthsGenitiveEl:\"\\u0399\\u03b1\\u03bd\\u03bf\\u03c5\\u03b1\\u03c1\\u03af\\u03bf\\u03c5_\\u03a6\\u03b5\\u03b2\\u03c1\\u03bf\\u03c5\\u03b1\\u03c1\\u03af\\u03bf\\u03c5_\\u039c\\u03b1\\u03c1\\u03c4\\u03af\\u03bf\\u03c5_\\u0391\\u03c0\\u03c1\\u03b9\\u03bb\\u03af\\u03bf\\u03c5_\\u039c\\u03b1\\u0390\\u03bf\\u03c5_\\u0399\\u03bf\\u03c5\\u03bd\\u03af\\u03bf\\u03c5_\\u0399\\u03bf\\u03c5\\u03bb\\u03af\\u03bf\\u03c5_\\u0391\\u03c5\\u03b3\\u03bf\\u03cd\\u03c3\\u03c4\\u03bf\\u03c5_\\u03a3\\u03b5\\u03c0\\u03c4\\u03b5\\u03bc\\u03b2\\u03c1\\u03af\\u03bf\\u03c5_\\u039f\\u03ba\\u03c4\\u03c9\\u03b2\\u03c1\\u03af\\u03bf\\u03c5_\\u039d\\u03bf\\u03b5\\u03bc\\u03b2\\u03c1\\u03af\\u03bf\\u03c5_\\u0394\\u03b5\\u03ba\\u03b5\\u03bc\\u03b2\\u03c1\\u03af\\u03bf\\u03c5\".split(\"_\"),months:function(e,a){return e?\"string\"==typeof a&&/D/.test(a.substring(0,a.indexOf(\"MMMM\")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:\"\\u0399\\u03b1\\u03bd_\\u03a6\\u03b5\\u03b2_\\u039c\\u03b1\\u03c1_\\u0391\\u03c0\\u03c1_\\u039c\\u03b1\\u03ca_\\u0399\\u03bf\\u03c5\\u03bd_\\u0399\\u03bf\\u03c5\\u03bb_\\u0391\\u03c5\\u03b3_\\u03a3\\u03b5\\u03c0_\\u039f\\u03ba\\u03c4_\\u039d\\u03bf\\u03b5_\\u0394\\u03b5\\u03ba\".split(\"_\"),weekdays:\"\\u039a\\u03c5\\u03c1\\u03b9\\u03b1\\u03ba\\u03ae_\\u0394\\u03b5\\u03c5\\u03c4\\u03ad\\u03c1\\u03b1_\\u03a4\\u03c1\\u03af\\u03c4\\u03b7_\\u03a4\\u03b5\\u03c4\\u03ac\\u03c1\\u03c4\\u03b7_\\u03a0\\u03ad\\u03bc\\u03c0\\u03c4\\u03b7_\\u03a0\\u03b1\\u03c1\\u03b1\\u03c3\\u03ba\\u03b5\\u03c5\\u03ae_\\u03a3\\u03ac\\u03b2\\u03b2\\u03b1\\u03c4\\u03bf\".split(\"_\"),weekdaysShort:\"\\u039a\\u03c5\\u03c1_\\u0394\\u03b5\\u03c5_\\u03a4\\u03c1\\u03b9_\\u03a4\\u03b5\\u03c4_\\u03a0\\u03b5\\u03bc_\\u03a0\\u03b1\\u03c1_\\u03a3\\u03b1\\u03b2\".split(\"_\"),weekdaysMin:\"\\u039a\\u03c5_\\u0394\\u03b5_\\u03a4\\u03c1_\\u03a4\\u03b5_\\u03a0\\u03b5_\\u03a0\\u03b1_\\u03a3\\u03b1\".split(\"_\"),meridiem:function(e,a,t){return 11<e?t?\"\\u03bc\\u03bc\":\"\\u039c\\u039c\":t?\"\\u03c0\\u03bc\":\"\\u03a0\\u039c\"},isPM:function(e){return\"\\u03bc\"===(e+\"\").toLowerCase()[0]},meridiemParse:/[\\u03a0\\u039c]\\.?\\u039c?\\.?/i,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendarEl:{sameDay:\"[\\u03a3\\u03ae\\u03bc\\u03b5\\u03c1\\u03b1 {}] LT\",nextDay:\"[\\u0391\\u03cd\\u03c1\\u03b9\\u03bf {}] LT\",nextWeek:\"dddd [{}] LT\",lastDay:\"[\\u03a7\\u03b8\\u03b5\\u03c2 {}] LT\",lastWeek:function(){switch(this.day()){case 6:return\"[\\u03c4\\u03bf \\u03c0\\u03c1\\u03bf\\u03b7\\u03b3\\u03bf\\u03cd\\u03bc\\u03b5\\u03bd\\u03bf] dddd [{}] LT\";default:return\"[\\u03c4\\u03b7\\u03bd \\u03c0\\u03c1\\u03bf\\u03b7\\u03b3\\u03bf\\u03cd\\u03bc\\u03b5\\u03bd\\u03b7] dddd [{}] LT\"}},sameElse:\"L\"},calendar:function(e,a){var t=this._calendarEl[e],s=a&&a.hours();return H(t)&&(t=t.apply(a)),t.replace(\"{}\",s%12==1?\"\\u03c3\\u03c4\\u03b7\":\"\\u03c3\\u03c4\\u03b9\\u03c2\")},relativeTime:{future:\"\\u03c3\\u03b5 %s\",past:\"%s \\u03c0\\u03c1\\u03b9\\u03bd\",s:\"\\u03bb\\u03af\\u03b3\\u03b1 \\u03b4\\u03b5\\u03c5\\u03c4\\u03b5\\u03c1\\u03cc\\u03bb\\u03b5\\u03c0\\u03c4\\u03b1\",ss:\"%d \\u03b4\\u03b5\\u03c5\\u03c4\\u03b5\\u03c1\\u03cc\\u03bb\\u03b5\\u03c0\\u03c4\\u03b1\",m:\"\\u03ad\\u03bd\\u03b1 \\u03bb\\u03b5\\u03c0\\u03c4\\u03cc\",mm:\"%d \\u03bb\\u03b5\\u03c0\\u03c4\\u03ac\",h:\"\\u03bc\\u03af\\u03b1 \\u03ce\\u03c1\\u03b1\",hh:\"%d \\u03ce\\u03c1\\u03b5\\u03c2\",d:\"\\u03bc\\u03af\\u03b1 \\u03bc\\u03ad\\u03c1\\u03b1\",dd:\"%d \\u03bc\\u03ad\\u03c1\\u03b5\\u03c2\",M:\"\\u03ad\\u03bd\\u03b1\\u03c2 \\u03bc\\u03ae\\u03bd\\u03b1\\u03c2\",MM:\"%d \\u03bc\\u03ae\\u03bd\\u03b5\\u03c2\",y:\"\\u03ad\\u03bd\\u03b1\\u03c2 \\u03c7\\u03c1\\u03cc\\u03bd\\u03bf\\u03c2\",yy:\"%d \\u03c7\\u03c1\\u03cc\\u03bd\\u03b9\\u03b1\"},dayOfMonthOrdinalParse:/\\d{1,2}\\u03b7/,ordinal:\"%d\\u03b7\",week:{dow:1,doy:4}}),l.defineLocale(\"en-SG\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")},week:{dow:1,doy:4}}),l.defineLocale(\"en-au\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")},week:{dow:1,doy:4}}),l.defineLocale(\"en-ca\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"YYYY-MM-DD\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")}}),l.defineLocale(\"en-gb\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")},week:{dow:1,doy:4}}),l.defineLocale(\"en-ie\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")},week:{dow:1,doy:4}}),l.defineLocale(\"en-il\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")}}),l.defineLocale(\"en-nz\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")},week:{dow:1,doy:4}}),l.defineLocale(\"eo\",{months:\"januaro_februaro_marto_aprilo_majo_junio_julio_a\\u016dgusto_septembro_oktobro_novembro_decembro\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_a\\u016dg_sep_okt_nov_dec\".split(\"_\"),weekdays:\"diman\\u0109o_lundo_mardo_merkredo_\\u0135a\\u016ddo_vendredo_sabato\".split(\"_\"),weekdaysShort:\"dim_lun_mard_merk_\\u0135a\\u016d_ven_sab\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_\\u0135a_ve_sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D[-a de] MMMM, YYYY\",LLL:\"D[-a de] MMMM, YYYY HH:mm\",LLLL:\"dddd, [la] D[-a de] MMMM, YYYY HH:mm\"},meridiemParse:/[ap]\\.t\\.m/i,isPM:function(e){return\"p\"===e.charAt(0).toLowerCase()},meridiem:function(e,a,t){return 11<e?t?\"p.t.m.\":\"P.T.M.\":t?\"a.t.m.\":\"A.T.M.\"},calendar:{sameDay:\"[Hodia\\u016d je] LT\",nextDay:\"[Morga\\u016d je] LT\",nextWeek:\"dddd [je] LT\",lastDay:\"[Hiera\\u016d je] LT\",lastWeek:\"[pasinta] dddd [je] LT\",sameElse:\"L\"},relativeTime:{future:\"post %s\",past:\"anta\\u016d %s\",s:\"sekundoj\",ss:\"%d sekundoj\",m:\"minuto\",mm:\"%d minutoj\",h:\"horo\",hh:\"%d horoj\",d:\"tago\",dd:\"%d tagoj\",M:\"monato\",MM:\"%d monatoj\",y:\"jaro\",yy:\"%d jaroj\"},dayOfMonthOrdinalParse:/\\d{1,2}a/,ordinal:\"%da\",week:{dow:1,doy:7}});var vs=\"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.\".split(\"_\"),Ss=\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),Hs=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],bs=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;l.defineLocale(\"es-do\",{months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Ss[e.month()]:vs[e.month()]:vs},monthsRegex:bs,monthsShortRegex:bs,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,monthsParse:Hs,longMonthsParse:Hs,shortMonthsParse:Hs,weekdays:\"domingo_lunes_martes_mi\\xe9rcoles_jueves_viernes_s\\xe1bado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mi\\xe9._jue._vie._s\\xe1b.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_s\\xe1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY h:mm A\",LLLL:\"dddd, D [de] MMMM [de] YYYY h:mm A\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[ma\\xf1ana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un d\\xeda\",dd:\"%d d\\xedas\",M:\"un mes\",MM:\"%d meses\",y:\"un a\\xf1o\",yy:\"%d a\\xf1os\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\",week:{dow:1,doy:4}});var js=\"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.\".split(\"_\"),xs=\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),Os=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Ps=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;l.defineLocale(\"es-us\",{months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?xs[e.month()]:js[e.month()]:js},monthsRegex:Ps,monthsShortRegex:Ps,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,monthsParse:Os,longMonthsParse:Os,shortMonthsParse:Os,weekdays:\"domingo_lunes_martes_mi\\xe9rcoles_jueves_viernes_s\\xe1bado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mi\\xe9._jue._vie._s\\xe1b.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_s\\xe1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"MM/DD/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY h:mm A\",LLLL:\"dddd, D [de] MMMM [de] YYYY h:mm A\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[ma\\xf1ana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un d\\xeda\",dd:\"%d d\\xedas\",M:\"un mes\",MM:\"%d meses\",y:\"un a\\xf1o\",yy:\"%d a\\xf1os\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\",week:{dow:0,doy:6}});var Ws=\"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.\".split(\"_\"),As=\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),Es=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Fs=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;function zs(e,a,t,s){var n={s:[\"m\\xf5ne sekundi\",\"m\\xf5ni sekund\",\"paar sekundit\"],ss:[e+\"sekundi\",e+\"sekundit\"],m:[\"\\xfche minuti\",\"\\xfcks minut\"],mm:[e+\" minuti\",e+\" minutit\"],h:[\"\\xfche tunni\",\"tund aega\",\"\\xfcks tund\"],hh:[e+\" tunni\",e+\" tundi\"],d:[\"\\xfche p\\xe4eva\",\"\\xfcks p\\xe4ev\"],M:[\"kuu aja\",\"kuu aega\",\"\\xfcks kuu\"],MM:[e+\" kuu\",e+\" kuud\"],y:[\"\\xfche aasta\",\"aasta\",\"\\xfcks aasta\"],yy:[e+\" aasta\",e+\" aastat\"]};return a?n[t][2]?n[t][2]:n[t][1]:s?n[t][0]:n[t][1]}l.defineLocale(\"es\",{months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?As[e.month()]:Ws[e.month()]:Ws},monthsRegex:Fs,monthsShortRegex:Fs,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,monthsParse:Es,longMonthsParse:Es,shortMonthsParse:Es,weekdays:\"domingo_lunes_martes_mi\\xe9rcoles_jueves_viernes_s\\xe1bado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mi\\xe9._jue._vie._s\\xe1b.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_s\\xe1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY H:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY H:mm\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[ma\\xf1ana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un d\\xeda\",dd:\"%d d\\xedas\",M:\"un mes\",MM:\"%d meses\",y:\"un a\\xf1o\",yy:\"%d a\\xf1os\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\",week:{dow:1,doy:4}}),l.defineLocale(\"et\",{months:\"jaanuar_veebruar_m\\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember\".split(\"_\"),monthsShort:\"jaan_veebr_m\\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets\".split(\"_\"),weekdays:\"p\\xfchap\\xe4ev_esmasp\\xe4ev_teisip\\xe4ev_kolmap\\xe4ev_neljap\\xe4ev_reede_laup\\xe4ev\".split(\"_\"),weekdaysShort:\"P_E_T_K_N_R_L\".split(\"_\"),weekdaysMin:\"P_E_T_K_N_R_L\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[T\\xe4na,] LT\",nextDay:\"[Homme,] LT\",nextWeek:\"[J\\xe4rgmine] dddd LT\",lastDay:\"[Eile,] LT\",lastWeek:\"[Eelmine] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s p\\xe4rast\",past:\"%s tagasi\",s:zs,ss:zs,m:zs,mm:zs,h:zs,hh:zs,d:zs,dd:\"%d p\\xe4eva\",M:zs,MM:zs,y:zs,yy:zs},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"eu\",{months:\"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua\".split(\"_\"),monthsShort:\"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.\".split(\"_\"),monthsParseExact:!0,weekdays:\"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata\".split(\"_\"),weekdaysShort:\"ig._al._ar._az._og._ol._lr.\".split(\"_\"),weekdaysMin:\"ig_al_ar_az_og_ol_lr\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY[ko] MMMM[ren] D[a]\",LLL:\"YYYY[ko] MMMM[ren] D[a] HH:mm\",LLLL:\"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm\",l:\"YYYY-M-D\",ll:\"YYYY[ko] MMM D[a]\",lll:\"YYYY[ko] MMM D[a] HH:mm\",llll:\"ddd, YYYY[ko] MMM D[a] HH:mm\"},calendar:{sameDay:\"[gaur] LT[etan]\",nextDay:\"[bihar] LT[etan]\",nextWeek:\"dddd LT[etan]\",lastDay:\"[atzo] LT[etan]\",lastWeek:\"[aurreko] dddd LT[etan]\",sameElse:\"L\"},relativeTime:{future:\"%s barru\",past:\"duela %s\",s:\"segundo batzuk\",ss:\"%d segundo\",m:\"minutu bat\",mm:\"%d minutu\",h:\"ordu bat\",hh:\"%d ordu\",d:\"egun bat\",dd:\"%d egun\",M:\"hilabete bat\",MM:\"%d hilabete\",y:\"urte bat\",yy:\"%d urte\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});var Js={1:\"\\u06f1\",2:\"\\u06f2\",3:\"\\u06f3\",4:\"\\u06f4\",5:\"\\u06f5\",6:\"\\u06f6\",7:\"\\u06f7\",8:\"\\u06f8\",9:\"\\u06f9\",0:\"\\u06f0\"},Ns={\"\\u06f1\":\"1\",\"\\u06f2\":\"2\",\"\\u06f3\":\"3\",\"\\u06f4\":\"4\",\"\\u06f5\":\"5\",\"\\u06f6\":\"6\",\"\\u06f7\":\"7\",\"\\u06f8\":\"8\",\"\\u06f9\":\"9\",\"\\u06f0\":\"0\"};l.defineLocale(\"fa\",{months:\"\\u0698\\u0627\\u0646\\u0648\\u06cc\\u0647_\\u0641\\u0648\\u0631\\u06cc\\u0647_\\u0645\\u0627\\u0631\\u0633_\\u0622\\u0648\\u0631\\u06cc\\u0644_\\u0645\\u0647_\\u0698\\u0648\\u0626\\u0646_\\u0698\\u0648\\u0626\\u06cc\\u0647_\\u0627\\u0648\\u062a_\\u0633\\u067e\\u062a\\u0627\\u0645\\u0628\\u0631_\\u0627\\u06a9\\u062a\\u0628\\u0631_\\u0646\\u0648\\u0627\\u0645\\u0628\\u0631_\\u062f\\u0633\\u0627\\u0645\\u0628\\u0631\".split(\"_\"),monthsShort:\"\\u0698\\u0627\\u0646\\u0648\\u06cc\\u0647_\\u0641\\u0648\\u0631\\u06cc\\u0647_\\u0645\\u0627\\u0631\\u0633_\\u0622\\u0648\\u0631\\u06cc\\u0644_\\u0645\\u0647_\\u0698\\u0648\\u0626\\u0646_\\u0698\\u0648\\u0626\\u06cc\\u0647_\\u0627\\u0648\\u062a_\\u0633\\u067e\\u062a\\u0627\\u0645\\u0628\\u0631_\\u0627\\u06a9\\u062a\\u0628\\u0631_\\u0646\\u0648\\u0627\\u0645\\u0628\\u0631_\\u062f\\u0633\\u0627\\u0645\\u0628\\u0631\".split(\"_\"),weekdays:\"\\u06cc\\u06a9\\u200c\\u0634\\u0646\\u0628\\u0647_\\u062f\\u0648\\u0634\\u0646\\u0628\\u0647_\\u0633\\u0647\\u200c\\u0634\\u0646\\u0628\\u0647_\\u0686\\u0647\\u0627\\u0631\\u0634\\u0646\\u0628\\u0647_\\u067e\\u0646\\u062c\\u200c\\u0634\\u0646\\u0628\\u0647_\\u062c\\u0645\\u0639\\u0647_\\u0634\\u0646\\u0628\\u0647\".split(\"_\"),weekdaysShort:\"\\u06cc\\u06a9\\u200c\\u0634\\u0646\\u0628\\u0647_\\u062f\\u0648\\u0634\\u0646\\u0628\\u0647_\\u0633\\u0647\\u200c\\u0634\\u0646\\u0628\\u0647_\\u0686\\u0647\\u0627\\u0631\\u0634\\u0646\\u0628\\u0647_\\u067e\\u0646\\u062c\\u200c\\u0634\\u0646\\u0628\\u0647_\\u062c\\u0645\\u0639\\u0647_\\u0634\\u0646\\u0628\\u0647\".split(\"_\"),weekdaysMin:\"\\u06cc_\\u062f_\\u0633_\\u0686_\\u067e_\\u062c_\\u0634\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},meridiemParse:/\\u0642\\u0628\\u0644 \\u0627\\u0632 \\u0638\\u0647\\u0631|\\u0628\\u0639\\u062f \\u0627\\u0632 \\u0638\\u0647\\u0631/,isPM:function(e){return/\\u0628\\u0639\\u062f \\u0627\\u0632 \\u0638\\u0647\\u0631/.test(e)},meridiem:function(e,a,t){return e<12?\"\\u0642\\u0628\\u0644 \\u0627\\u0632 \\u0638\\u0647\\u0631\":\"\\u0628\\u0639\\u062f \\u0627\\u0632 \\u0638\\u0647\\u0631\"},calendar:{sameDay:\"[\\u0627\\u0645\\u0631\\u0648\\u0632 \\u0633\\u0627\\u0639\\u062a] LT\",nextDay:\"[\\u0641\\u0631\\u062f\\u0627 \\u0633\\u0627\\u0639\\u062a] LT\",nextWeek:\"dddd [\\u0633\\u0627\\u0639\\u062a] LT\",lastDay:\"[\\u062f\\u06cc\\u0631\\u0648\\u0632 \\u0633\\u0627\\u0639\\u062a] LT\",lastWeek:\"dddd [\\u067e\\u06cc\\u0634] [\\u0633\\u0627\\u0639\\u062a] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u062f\\u0631 %s\",past:\"%s \\u067e\\u06cc\\u0634\",s:\"\\u0686\\u0646\\u062f \\u062b\\u0627\\u0646\\u06cc\\u0647\",ss:\"\\u062b\\u0627\\u0646\\u06cc\\u0647 d%\",m:\"\\u06cc\\u06a9 \\u062f\\u0642\\u06cc\\u0642\\u0647\",mm:\"%d \\u062f\\u0642\\u06cc\\u0642\\u0647\",h:\"\\u06cc\\u06a9 \\u0633\\u0627\\u0639\\u062a\",hh:\"%d \\u0633\\u0627\\u0639\\u062a\",d:\"\\u06cc\\u06a9 \\u0631\\u0648\\u0632\",dd:\"%d \\u0631\\u0648\\u0632\",M:\"\\u06cc\\u06a9 \\u0645\\u0627\\u0647\",MM:\"%d \\u0645\\u0627\\u0647\",y:\"\\u06cc\\u06a9 \\u0633\\u0627\\u0644\",yy:\"%d \\u0633\\u0627\\u0644\"},preparse:function(e){return e.replace(/[\\u06f0-\\u06f9]/g,function(e){return Ns[e]}).replace(/\\u060c/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return Js[e]}).replace(/,/g,\"\\u060c\")},dayOfMonthOrdinalParse:/\\d{1,2}\\u0645/,ordinal:\"%d\\u0645\",week:{dow:6,doy:12}});var Rs=\"nolla yksi kaksi kolme nelj\\xe4 viisi kuusi seitsem\\xe4n kahdeksan yhdeks\\xe4n\".split(\" \"),Cs=[\"nolla\",\"yhden\",\"kahden\",\"kolmen\",\"nelj\\xe4n\",\"viiden\",\"kuuden\",Rs[7],Rs[8],Rs[9]];function Is(e,a,t,s){var n,d,r=\"\";switch(t){case\"s\":return s?\"muutaman sekunnin\":\"muutama sekunti\";case\"ss\":return s?\"sekunnin\":\"sekuntia\";case\"m\":return s?\"minuutin\":\"minuutti\";case\"mm\":r=s?\"minuutin\":\"minuuttia\";break;case\"h\":return s?\"tunnin\":\"tunti\";case\"hh\":r=s?\"tunnin\":\"tuntia\";break;case\"d\":return s?\"p\\xe4iv\\xe4n\":\"p\\xe4iv\\xe4\";case\"dd\":r=s?\"p\\xe4iv\\xe4n\":\"p\\xe4iv\\xe4\\xe4\";break;case\"M\":return s?\"kuukauden\":\"kuukausi\";case\"MM\":r=s?\"kuukauden\":\"kuukautta\";break;case\"y\":return s?\"vuoden\":\"vuosi\";case\"yy\":r=s?\"vuoden\":\"vuotta\";break}return d=s,r=((n=e)<10?d?Cs[n]:Rs[n]:n)+\" \"+r}l.defineLocale(\"fi\",{months:\"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\\xe4kuu_hein\\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu\".split(\"_\"),monthsShort:\"tammi_helmi_maalis_huhti_touko_kes\\xe4_hein\\xe4_elo_syys_loka_marras_joulu\".split(\"_\"),weekdays:\"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai\".split(\"_\"),weekdaysShort:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),weekdaysMin:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD.MM.YYYY\",LL:\"Do MMMM[ta] YYYY\",LLL:\"Do MMMM[ta] YYYY, [klo] HH.mm\",LLLL:\"dddd, Do MMMM[ta] YYYY, [klo] HH.mm\",l:\"D.M.YYYY\",ll:\"Do MMM YYYY\",lll:\"Do MMM YYYY, [klo] HH.mm\",llll:\"ddd, Do MMM YYYY, [klo] HH.mm\"},calendar:{sameDay:\"[t\\xe4n\\xe4\\xe4n] [klo] LT\",nextDay:\"[huomenna] [klo] LT\",nextWeek:\"dddd [klo] LT\",lastDay:\"[eilen] [klo] LT\",lastWeek:\"[viime] dddd[na] [klo] LT\",sameElse:\"L\"},relativeTime:{future:\"%s p\\xe4\\xe4st\\xe4\",past:\"%s sitten\",s:Is,ss:Is,m:Is,mm:Is,h:Is,hh:Is,d:Is,dd:Is,M:Is,MM:Is,y:Is,yy:Is},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"fo\",{months:\"januar_februar_mars_apr\\xedl_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),weekdays:\"sunnudagur_m\\xe1nadagur_t\\xfdsdagur_mikudagur_h\\xf3sdagur_fr\\xedggjadagur_leygardagur\".split(\"_\"),weekdaysShort:\"sun_m\\xe1n_t\\xfds_mik_h\\xf3s_fr\\xed_ley\".split(\"_\"),weekdaysMin:\"su_m\\xe1_t\\xfd_mi_h\\xf3_fr_le\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D. MMMM, YYYY HH:mm\"},calendar:{sameDay:\"[\\xcd dag kl.] LT\",nextDay:\"[\\xcd morgin kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[\\xcd gj\\xe1r kl.] LT\",lastWeek:\"[s\\xed\\xf0stu] dddd [kl] LT\",sameElse:\"L\"},relativeTime:{future:\"um %s\",past:\"%s s\\xed\\xf0ani\",s:\"f\\xe1 sekund\",ss:\"%d sekundir\",m:\"ein minuttur\",mm:\"%d minuttir\",h:\"ein t\\xedmi\",hh:\"%d t\\xedmar\",d:\"ein dagur\",dd:\"%d dagar\",M:\"ein m\\xe1na\\xf0ur\",MM:\"%d m\\xe1na\\xf0ir\",y:\"eitt \\xe1r\",yy:\"%d \\xe1r\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"fr-ca\",{months:\"janvier_f\\xe9vrier_mars_avril_mai_juin_juillet_ao\\xfbt_septembre_octobre_novembre_d\\xe9cembre\".split(\"_\"),monthsShort:\"janv._f\\xe9vr._mars_avr._mai_juin_juil._ao\\xfbt_sept._oct._nov._d\\xe9c.\".split(\"_\"),monthsParseExact:!0,weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Aujourd\\u2019hui \\xe0] LT\",nextDay:\"[Demain \\xe0] LT\",nextWeek:\"dddd [\\xe0] LT\",lastDay:\"[Hier \\xe0] LT\",lastWeek:\"dddd [dernier \\xe0] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",ss:\"%d secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},dayOfMonthOrdinalParse:/\\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case\"M\":case\"Q\":case\"D\":case\"DDD\":case\"d\":return e+(1===e?\"er\":\"e\");case\"w\":case\"W\":return e+(1===e?\"re\":\"e\")}}}),l.defineLocale(\"fr-ch\",{months:\"janvier_f\\xe9vrier_mars_avril_mai_juin_juillet_ao\\xfbt_septembre_octobre_novembre_d\\xe9cembre\".split(\"_\"),monthsShort:\"janv._f\\xe9vr._mars_avr._mai_juin_juil._ao\\xfbt_sept._oct._nov._d\\xe9c.\".split(\"_\"),monthsParseExact:!0,weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Aujourd\\u2019hui \\xe0] LT\",nextDay:\"[Demain \\xe0] LT\",nextWeek:\"dddd [\\xe0] LT\",lastDay:\"[Hier \\xe0] LT\",lastWeek:\"dddd [dernier \\xe0] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",ss:\"%d secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},dayOfMonthOrdinalParse:/\\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case\"M\":case\"Q\":case\"D\":case\"DDD\":case\"d\":return e+(1===e?\"er\":\"e\");case\"w\":case\"W\":return e+(1===e?\"re\":\"e\")}},week:{dow:1,doy:4}}),l.defineLocale(\"fr\",{months:\"janvier_f\\xe9vrier_mars_avril_mai_juin_juillet_ao\\xfbt_septembre_octobre_novembre_d\\xe9cembre\".split(\"_\"),monthsShort:\"janv._f\\xe9vr._mars_avr._mai_juin_juil._ao\\xfbt_sept._oct._nov._d\\xe9c.\".split(\"_\"),monthsParseExact:!0,weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Aujourd\\u2019hui \\xe0] LT\",nextDay:\"[Demain \\xe0] LT\",nextWeek:\"dddd [\\xe0] LT\",lastDay:\"[Hier \\xe0] LT\",lastWeek:\"dddd [dernier \\xe0] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",ss:\"%d secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},dayOfMonthOrdinalParse:/\\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case\"D\":return e+(1===e?\"er\":\"\");default:case\"M\":case\"Q\":case\"DDD\":case\"d\":return e+(1===e?\"er\":\"e\");case\"w\":case\"W\":return e+(1===e?\"re\":\"e\")}},week:{dow:1,doy:4}});var Us=\"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.\".split(\"_\"),Gs=\"jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\");l.defineLocale(\"fy\",{months:\"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber\".split(\"_\"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Gs[e.month()]:Us[e.month()]:Us},monthsParseExact:!0,weekdays:\"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon\".split(\"_\"),weekdaysShort:\"si._mo._ti._wo._to._fr._so.\".split(\"_\"),weekdaysMin:\"Si_Mo_Ti_Wo_To_Fr_So\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[hjoed om] LT\",nextDay:\"[moarn om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[juster om] LT\",lastWeek:\"[\\xf4fr\\xfbne] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"oer %s\",past:\"%s lyn\",s:\"in pear sekonden\",ss:\"%d sekonden\",m:\"ien min\\xfat\",mm:\"%d minuten\",h:\"ien oere\",hh:\"%d oeren\",d:\"ien dei\",dd:\"%d dagen\",M:\"ien moanne\",MM:\"%d moannen\",y:\"ien jier\",yy:\"%d jierren\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?\"ste\":\"de\")},week:{dow:1,doy:4}});l.defineLocale(\"ga\",{months:[\"Ean\\xe1ir\",\"Feabhra\",\"M\\xe1rta\",\"Aibre\\xe1n\",\"Bealtaine\",\"M\\xe9itheamh\",\"I\\xfail\",\"L\\xfanasa\",\"Me\\xe1n F\\xf3mhair\",\"Deaireadh F\\xf3mhair\",\"Samhain\",\"Nollaig\"],monthsShort:[\"Ean\\xe1\",\"Feab\",\"M\\xe1rt\",\"Aibr\",\"Beal\",\"M\\xe9it\",\"I\\xfail\",\"L\\xfana\",\"Me\\xe1n\",\"Deai\",\"Samh\",\"Noll\"],monthsParseExact:!0,weekdays:[\"D\\xe9 Domhnaigh\",\"D\\xe9 Luain\",\"D\\xe9 M\\xe1irt\",\"D\\xe9 C\\xe9adaoin\",\"D\\xe9ardaoin\",\"D\\xe9 hAoine\",\"D\\xe9 Satharn\"],weekdaysShort:[\"Dom\",\"Lua\",\"M\\xe1i\",\"C\\xe9a\",\"D\\xe9a\",\"hAo\",\"Sat\"],weekdaysMin:[\"Do\",\"Lu\",\"M\\xe1\",\"Ce\",\"D\\xe9\",\"hA\",\"Sa\"],longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Inniu ag] LT\",nextDay:\"[Am\\xe1rach ag] LT\",nextWeek:\"dddd [ag] LT\",lastDay:\"[Inn\\xe9 aig] LT\",lastWeek:\"dddd [seo caite] [ag] LT\",sameElse:\"L\"},relativeTime:{future:\"i %s\",past:\"%s \\xf3 shin\",s:\"c\\xfapla soicind\",ss:\"%d soicind\",m:\"n\\xf3im\\xe9ad\",mm:\"%d n\\xf3im\\xe9ad\",h:\"uair an chloig\",hh:\"%d uair an chloig\",d:\"l\\xe1\",dd:\"%d l\\xe1\",M:\"m\\xed\",MM:\"%d m\\xed\",y:\"bliain\",yy:\"%d bliain\"},dayOfMonthOrdinalParse:/\\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?\"d\":e%10==2?\"na\":\"mh\")},week:{dow:1,doy:4}});function Vs(e,a,t,s){var n={s:[\"thodde secondanim\",\"thodde second\"],ss:[e+\" secondanim\",e+\" second\"],m:[\"eka mintan\",\"ek minute\"],mm:[e+\" mintanim\",e+\" mintam\"],h:[\"eka voran\",\"ek vor\"],hh:[e+\" voranim\",e+\" voram\"],d:[\"eka disan\",\"ek dis\"],dd:[e+\" disanim\",e+\" dis\"],M:[\"eka mhoinean\",\"ek mhoino\"],MM:[e+\" mhoineanim\",e+\" mhoine\"],y:[\"eka vorsan\",\"ek voros\"],yy:[e+\" vorsanim\",e+\" vorsam\"]};return a?n[t][0]:n[t][1]}l.defineLocale(\"gd\",{months:[\"Am Faoilleach\",\"An Gearran\",\"Am M\\xe0rt\",\"An Giblean\",\"An C\\xe8itean\",\"An t-\\xd2gmhios\",\"An t-Iuchar\",\"An L\\xf9nastal\",\"An t-Sultain\",\"An D\\xe0mhair\",\"An t-Samhain\",\"An D\\xf9bhlachd\"],monthsShort:[\"Faoi\",\"Gear\",\"M\\xe0rt\",\"Gibl\",\"C\\xe8it\",\"\\xd2gmh\",\"Iuch\",\"L\\xf9n\",\"Sult\",\"D\\xe0mh\",\"Samh\",\"D\\xf9bh\"],monthsParseExact:!0,weekdays:[\"Did\\xf2mhnaich\",\"Diluain\",\"Dim\\xe0irt\",\"Diciadain\",\"Diardaoin\",\"Dihaoine\",\"Disathairne\"],weekdaysShort:[\"Did\",\"Dil\",\"Dim\",\"Dic\",\"Dia\",\"Dih\",\"Dis\"],weekdaysMin:[\"D\\xf2\",\"Lu\",\"M\\xe0\",\"Ci\",\"Ar\",\"Ha\",\"Sa\"],longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[An-diugh aig] LT\",nextDay:\"[A-m\\xe0ireach aig] LT\",nextWeek:\"dddd [aig] LT\",lastDay:\"[An-d\\xe8 aig] LT\",lastWeek:\"dddd [seo chaidh] [aig] LT\",sameElse:\"L\"},relativeTime:{future:\"ann an %s\",past:\"bho chionn %s\",s:\"beagan diogan\",ss:\"%d diogan\",m:\"mionaid\",mm:\"%d mionaidean\",h:\"uair\",hh:\"%d uairean\",d:\"latha\",dd:\"%d latha\",M:\"m\\xecos\",MM:\"%d m\\xecosan\",y:\"bliadhna\",yy:\"%d bliadhna\"},dayOfMonthOrdinalParse:/\\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?\"d\":e%10==2?\"na\":\"mh\")},week:{dow:1,doy:4}}),l.defineLocale(\"gl\",{months:\"xaneiro_febreiro_marzo_abril_maio_xu\\xf1o_xullo_agosto_setembro_outubro_novembro_decembro\".split(\"_\"),monthsShort:\"xan._feb._mar._abr._mai._xu\\xf1._xul._ago._set._out._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"domingo_luns_martes_m\\xe9rcores_xoves_venres_s\\xe1bado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._m\\xe9r._xov._ven._s\\xe1b.\".split(\"_\"),weekdaysMin:\"do_lu_ma_m\\xe9_xo_ve_s\\xe1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY H:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY H:mm\"},calendar:{sameDay:function(){return\"[hoxe \"+(1!==this.hours()?\"\\xe1s\":\"\\xe1\")+\"] LT\"},nextDay:function(){return\"[ma\\xf1\\xe1 \"+(1!==this.hours()?\"\\xe1s\":\"\\xe1\")+\"] LT\"},nextWeek:function(){return\"dddd [\"+(1!==this.hours()?\"\\xe1s\":\"a\")+\"] LT\"},lastDay:function(){return\"[onte \"+(1!==this.hours()?\"\\xe1\":\"a\")+\"] LT\"},lastWeek:function(){return\"[o] dddd [pasado \"+(1!==this.hours()?\"\\xe1s\":\"a\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:function(e){return 0===e.indexOf(\"un\")?\"n\"+e:\"en \"+e},past:\"hai %s\",s:\"uns segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"unha hora\",hh:\"%d horas\",d:\"un d\\xeda\",dd:\"%d d\\xedas\",M:\"un mes\",MM:\"%d meses\",y:\"un ano\",yy:\"%d anos\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\",week:{dow:1,doy:4}}),l.defineLocale(\"gom-latn\",{months:\"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr\".split(\"_\"),monthsShort:\"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var\".split(\"_\"),weekdaysShort:\"Ait._Som._Mon._Bud._Bre._Suk._Son.\".split(\"_\"),weekdaysMin:\"Ai_Sm_Mo_Bu_Br_Su_Sn\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"A h:mm [vazta]\",LTS:\"A h:mm:ss [vazta]\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY A h:mm [vazta]\",LLLL:\"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]\",llll:\"ddd, D MMM YYYY, A h:mm [vazta]\"},calendar:{sameDay:\"[Aiz] LT\",nextDay:\"[Faleam] LT\",nextWeek:\"[Ieta to] dddd[,] LT\",lastDay:\"[Kal] LT\",lastWeek:\"[Fatlo] dddd[,] LT\",sameElse:\"L\"},relativeTime:{future:\"%s\",past:\"%s adim\",s:Vs,ss:Vs,m:Vs,mm:Vs,h:Vs,hh:Vs,d:Vs,dd:Vs,M:Vs,MM:Vs,y:Vs,yy:Vs},dayOfMonthOrdinalParse:/\\d{1,2}(er)/,ordinal:function(e,a){switch(a){case\"D\":return e+\"er\";default:case\"M\":case\"Q\":case\"DDD\":case\"d\":case\"w\":case\"W\":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),\"rati\"===a?e<4?e:e+12:\"sokalli\"===a?e:\"donparam\"===a?12<e?e:e+12:\"sanje\"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?\"rati\":e<12?\"sokalli\":e<16?\"donparam\":e<20?\"sanje\":\"rati\"}});var Ks={1:\"\\u0ae7\",2:\"\\u0ae8\",3:\"\\u0ae9\",4:\"\\u0aea\",5:\"\\u0aeb\",6:\"\\u0aec\",7:\"\\u0aed\",8:\"\\u0aee\",9:\"\\u0aef\",0:\"\\u0ae6\"},Zs={\"\\u0ae7\":\"1\",\"\\u0ae8\":\"2\",\"\\u0ae9\":\"3\",\"\\u0aea\":\"4\",\"\\u0aeb\":\"5\",\"\\u0aec\":\"6\",\"\\u0aed\":\"7\",\"\\u0aee\":\"8\",\"\\u0aef\":\"9\",\"\\u0ae6\":\"0\"};l.defineLocale(\"gu\",{months:\"\\u0a9c\\u0abe\\u0aa8\\u0acd\\u0aaf\\u0ac1\\u0a86\\u0ab0\\u0ac0_\\u0aab\\u0ac7\\u0aac\\u0acd\\u0ab0\\u0ac1\\u0a86\\u0ab0\\u0ac0_\\u0aae\\u0abe\\u0ab0\\u0acd\\u0a9a_\\u0a8f\\u0aaa\\u0acd\\u0ab0\\u0abf\\u0ab2_\\u0aae\\u0ac7_\\u0a9c\\u0ac2\\u0aa8_\\u0a9c\\u0ac1\\u0ab2\\u0abe\\u0a88_\\u0a91\\u0a97\\u0ab8\\u0acd\\u0a9f_\\u0ab8\\u0aaa\\u0acd\\u0a9f\\u0ac7\\u0aae\\u0acd\\u0aac\\u0ab0_\\u0a91\\u0a95\\u0acd\\u0a9f\\u0acd\\u0aac\\u0ab0_\\u0aa8\\u0ab5\\u0ac7\\u0aae\\u0acd\\u0aac\\u0ab0_\\u0aa1\\u0abf\\u0ab8\\u0ac7\\u0aae\\u0acd\\u0aac\\u0ab0\".split(\"_\"),monthsShort:\"\\u0a9c\\u0abe\\u0aa8\\u0acd\\u0aaf\\u0ac1._\\u0aab\\u0ac7\\u0aac\\u0acd\\u0ab0\\u0ac1._\\u0aae\\u0abe\\u0ab0\\u0acd\\u0a9a_\\u0a8f\\u0aaa\\u0acd\\u0ab0\\u0abf._\\u0aae\\u0ac7_\\u0a9c\\u0ac2\\u0aa8_\\u0a9c\\u0ac1\\u0ab2\\u0abe._\\u0a91\\u0a97._\\u0ab8\\u0aaa\\u0acd\\u0a9f\\u0ac7._\\u0a91\\u0a95\\u0acd\\u0a9f\\u0acd._\\u0aa8\\u0ab5\\u0ac7._\\u0aa1\\u0abf\\u0ab8\\u0ac7.\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u0ab0\\u0ab5\\u0abf\\u0ab5\\u0abe\\u0ab0_\\u0ab8\\u0acb\\u0aae\\u0ab5\\u0abe\\u0ab0_\\u0aae\\u0a82\\u0a97\\u0ab3\\u0ab5\\u0abe\\u0ab0_\\u0aac\\u0ac1\\u0aa7\\u0acd\\u0ab5\\u0abe\\u0ab0_\\u0a97\\u0ac1\\u0ab0\\u0ac1\\u0ab5\\u0abe\\u0ab0_\\u0ab6\\u0ac1\\u0a95\\u0acd\\u0ab0\\u0ab5\\u0abe\\u0ab0_\\u0ab6\\u0aa8\\u0abf\\u0ab5\\u0abe\\u0ab0\".split(\"_\"),weekdaysShort:\"\\u0ab0\\u0ab5\\u0abf_\\u0ab8\\u0acb\\u0aae_\\u0aae\\u0a82\\u0a97\\u0ab3_\\u0aac\\u0ac1\\u0aa7\\u0acd_\\u0a97\\u0ac1\\u0ab0\\u0ac1_\\u0ab6\\u0ac1\\u0a95\\u0acd\\u0ab0_\\u0ab6\\u0aa8\\u0abf\".split(\"_\"),weekdaysMin:\"\\u0ab0_\\u0ab8\\u0acb_\\u0aae\\u0a82_\\u0aac\\u0ac1_\\u0a97\\u0ac1_\\u0ab6\\u0ac1_\\u0ab6\".split(\"_\"),longDateFormat:{LT:\"A h:mm \\u0ab5\\u0abe\\u0a97\\u0acd\\u0aaf\\u0ac7\",LTS:\"A h:mm:ss \\u0ab5\\u0abe\\u0a97\\u0acd\\u0aaf\\u0ac7\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm \\u0ab5\\u0abe\\u0a97\\u0acd\\u0aaf\\u0ac7\",LLLL:\"dddd, D MMMM YYYY, A h:mm \\u0ab5\\u0abe\\u0a97\\u0acd\\u0aaf\\u0ac7\"},calendar:{sameDay:\"[\\u0a86\\u0a9c] LT\",nextDay:\"[\\u0a95\\u0abe\\u0ab2\\u0ac7] LT\",nextWeek:\"dddd, LT\",lastDay:\"[\\u0a97\\u0a87\\u0a95\\u0abe\\u0ab2\\u0ac7] LT\",lastWeek:\"[\\u0aaa\\u0abe\\u0a9b\\u0ab2\\u0abe] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0aae\\u0abe\",past:\"%s \\u0aaa\\u0ac7\\u0ab9\\u0ab2\\u0abe\",s:\"\\u0a85\\u0aae\\u0ac1\\u0a95 \\u0aaa\\u0ab3\\u0acb\",ss:\"%d \\u0ab8\\u0ac7\\u0a95\\u0a82\\u0aa1\",m:\"\\u0a8f\\u0a95 \\u0aae\\u0abf\\u0aa8\\u0abf\\u0a9f\",mm:\"%d \\u0aae\\u0abf\\u0aa8\\u0abf\\u0a9f\",h:\"\\u0a8f\\u0a95 \\u0a95\\u0ab2\\u0abe\\u0a95\",hh:\"%d \\u0a95\\u0ab2\\u0abe\\u0a95\",d:\"\\u0a8f\\u0a95 \\u0aa6\\u0abf\\u0ab5\\u0ab8\",dd:\"%d \\u0aa6\\u0abf\\u0ab5\\u0ab8\",M:\"\\u0a8f\\u0a95 \\u0aae\\u0ab9\\u0abf\\u0aa8\\u0acb\",MM:\"%d \\u0aae\\u0ab9\\u0abf\\u0aa8\\u0acb\",y:\"\\u0a8f\\u0a95 \\u0ab5\\u0ab0\\u0acd\\u0ab7\",yy:\"%d \\u0ab5\\u0ab0\\u0acd\\u0ab7\"},preparse:function(e){return e.replace(/[\\u0ae7\\u0ae8\\u0ae9\\u0aea\\u0aeb\\u0aec\\u0aed\\u0aee\\u0aef\\u0ae6]/g,function(e){return Zs[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return Ks[e]})},meridiemParse:/\\u0ab0\\u0abe\\u0aa4|\\u0aac\\u0aaa\\u0acb\\u0ab0|\\u0ab8\\u0ab5\\u0abe\\u0ab0|\\u0ab8\\u0abe\\u0a82\\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0ab0\\u0abe\\u0aa4\"===a?e<4?e:e+12:\"\\u0ab8\\u0ab5\\u0abe\\u0ab0\"===a?e:\"\\u0aac\\u0aaa\\u0acb\\u0ab0\"===a?10<=e?e:e+12:\"\\u0ab8\\u0abe\\u0a82\\u0a9c\"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?\"\\u0ab0\\u0abe\\u0aa4\":e<10?\"\\u0ab8\\u0ab5\\u0abe\\u0ab0\":e<17?\"\\u0aac\\u0aaa\\u0acb\\u0ab0\":e<20?\"\\u0ab8\\u0abe\\u0a82\\u0a9c\":\"\\u0ab0\\u0abe\\u0aa4\"},week:{dow:0,doy:6}}),l.defineLocale(\"he\",{months:\"\\u05d9\\u05e0\\u05d5\\u05d0\\u05e8_\\u05e4\\u05d1\\u05e8\\u05d5\\u05d0\\u05e8_\\u05de\\u05e8\\u05e5_\\u05d0\\u05e4\\u05e8\\u05d9\\u05dc_\\u05de\\u05d0\\u05d9_\\u05d9\\u05d5\\u05e0\\u05d9_\\u05d9\\u05d5\\u05dc\\u05d9_\\u05d0\\u05d5\\u05d2\\u05d5\\u05e1\\u05d8_\\u05e1\\u05e4\\u05d8\\u05de\\u05d1\\u05e8_\\u05d0\\u05d5\\u05e7\\u05d8\\u05d5\\u05d1\\u05e8_\\u05e0\\u05d5\\u05d1\\u05de\\u05d1\\u05e8_\\u05d3\\u05e6\\u05de\\u05d1\\u05e8\".split(\"_\"),monthsShort:\"\\u05d9\\u05e0\\u05d5\\u05f3_\\u05e4\\u05d1\\u05e8\\u05f3_\\u05de\\u05e8\\u05e5_\\u05d0\\u05e4\\u05e8\\u05f3_\\u05de\\u05d0\\u05d9_\\u05d9\\u05d5\\u05e0\\u05d9_\\u05d9\\u05d5\\u05dc\\u05d9_\\u05d0\\u05d5\\u05d2\\u05f3_\\u05e1\\u05e4\\u05d8\\u05f3_\\u05d0\\u05d5\\u05e7\\u05f3_\\u05e0\\u05d5\\u05d1\\u05f3_\\u05d3\\u05e6\\u05de\\u05f3\".split(\"_\"),weekdays:\"\\u05e8\\u05d0\\u05e9\\u05d5\\u05df_\\u05e9\\u05e0\\u05d9_\\u05e9\\u05dc\\u05d9\\u05e9\\u05d9_\\u05e8\\u05d1\\u05d9\\u05e2\\u05d9_\\u05d7\\u05de\\u05d9\\u05e9\\u05d9_\\u05e9\\u05d9\\u05e9\\u05d9_\\u05e9\\u05d1\\u05ea\".split(\"_\"),weekdaysShort:\"\\u05d0\\u05f3_\\u05d1\\u05f3_\\u05d2\\u05f3_\\u05d3\\u05f3_\\u05d4\\u05f3_\\u05d5\\u05f3_\\u05e9\\u05f3\".split(\"_\"),weekdaysMin:\"\\u05d0_\\u05d1_\\u05d2_\\u05d3_\\u05d4_\\u05d5_\\u05e9\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [\\u05d1]MMMM YYYY\",LLL:\"D [\\u05d1]MMMM YYYY HH:mm\",LLLL:\"dddd, D [\\u05d1]MMMM YYYY HH:mm\",l:\"D/M/YYYY\",ll:\"D MMM YYYY\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd, D MMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u05d4\\u05d9\\u05d5\\u05dd \\u05d1\\u05be]LT\",nextDay:\"[\\u05de\\u05d7\\u05e8 \\u05d1\\u05be]LT\",nextWeek:\"dddd [\\u05d1\\u05e9\\u05e2\\u05d4] LT\",lastDay:\"[\\u05d0\\u05ea\\u05de\\u05d5\\u05dc \\u05d1\\u05be]LT\",lastWeek:\"[\\u05d1\\u05d9\\u05d5\\u05dd] dddd [\\u05d4\\u05d0\\u05d7\\u05e8\\u05d5\\u05df \\u05d1\\u05e9\\u05e2\\u05d4] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u05d1\\u05e2\\u05d5\\u05d3 %s\",past:\"\\u05dc\\u05e4\\u05e0\\u05d9 %s\",s:\"\\u05de\\u05e1\\u05e4\\u05e8 \\u05e9\\u05e0\\u05d9\\u05d5\\u05ea\",ss:\"%d \\u05e9\\u05e0\\u05d9\\u05d5\\u05ea\",m:\"\\u05d3\\u05e7\\u05d4\",mm:\"%d \\u05d3\\u05e7\\u05d5\\u05ea\",h:\"\\u05e9\\u05e2\\u05d4\",hh:function(e){return 2===e?\"\\u05e9\\u05e2\\u05ea\\u05d9\\u05d9\\u05dd\":e+\" \\u05e9\\u05e2\\u05d5\\u05ea\"},d:\"\\u05d9\\u05d5\\u05dd\",dd:function(e){return 2===e?\"\\u05d9\\u05d5\\u05de\\u05d9\\u05d9\\u05dd\":e+\" \\u05d9\\u05de\\u05d9\\u05dd\"},M:\"\\u05d7\\u05d5\\u05d3\\u05e9\",MM:function(e){return 2===e?\"\\u05d7\\u05d5\\u05d3\\u05e9\\u05d9\\u05d9\\u05dd\":e+\" \\u05d7\\u05d5\\u05d3\\u05e9\\u05d9\\u05dd\"},y:\"\\u05e9\\u05e0\\u05d4\",yy:function(e){return 2===e?\"\\u05e9\\u05e0\\u05ea\\u05d9\\u05d9\\u05dd\":e%10==0&&10!==e?e+\" \\u05e9\\u05e0\\u05d4\":e+\" \\u05e9\\u05e0\\u05d9\\u05dd\"}},meridiemParse:/\\u05d0\\u05d7\\u05d4\"\\u05e6|\\u05dc\\u05e4\\u05e0\\u05d4\"\\u05e6|\\u05d0\\u05d7\\u05e8\\u05d9 \\u05d4\\u05e6\\u05d4\\u05e8\\u05d9\\u05d9\\u05dd|\\u05dc\\u05e4\\u05e0\\u05d9 \\u05d4\\u05e6\\u05d4\\u05e8\\u05d9\\u05d9\\u05dd|\\u05dc\\u05e4\\u05e0\\u05d5\\u05ea \\u05d1\\u05d5\\u05e7\\u05e8|\\u05d1\\u05d1\\u05d5\\u05e7\\u05e8|\\u05d1\\u05e2\\u05e8\\u05d1/i,isPM:function(e){return/^(\\u05d0\\u05d7\\u05d4\"\\u05e6|\\u05d0\\u05d7\\u05e8\\u05d9 \\u05d4\\u05e6\\u05d4\\u05e8\\u05d9\\u05d9\\u05dd|\\u05d1\\u05e2\\u05e8\\u05d1)$/.test(e)},meridiem:function(e,a,t){return e<5?\"\\u05dc\\u05e4\\u05e0\\u05d5\\u05ea \\u05d1\\u05d5\\u05e7\\u05e8\":e<10?\"\\u05d1\\u05d1\\u05d5\\u05e7\\u05e8\":e<12?t?'\\u05dc\\u05e4\\u05e0\\u05d4\"\\u05e6':\"\\u05dc\\u05e4\\u05e0\\u05d9 \\u05d4\\u05e6\\u05d4\\u05e8\\u05d9\\u05d9\\u05dd\":e<18?t?'\\u05d0\\u05d7\\u05d4\"\\u05e6':\"\\u05d0\\u05d7\\u05e8\\u05d9 \\u05d4\\u05e6\\u05d4\\u05e8\\u05d9\\u05d9\\u05dd\":\"\\u05d1\\u05e2\\u05e8\\u05d1\"}});var $s={1:\"\\u0967\",2:\"\\u0968\",3:\"\\u0969\",4:\"\\u096a\",5:\"\\u096b\",6:\"\\u096c\",7:\"\\u096d\",8:\"\\u096e\",9:\"\\u096f\",0:\"\\u0966\"},Bs={\"\\u0967\":\"1\",\"\\u0968\":\"2\",\"\\u0969\":\"3\",\"\\u096a\":\"4\",\"\\u096b\":\"5\",\"\\u096c\":\"6\",\"\\u096d\":\"7\",\"\\u096e\":\"8\",\"\\u096f\":\"9\",\"\\u0966\":\"0\"};function qs(e,a,t){var s=e+\" \";switch(t){case\"ss\":return s+=1===e?\"sekunda\":2===e||3===e||4===e?\"sekunde\":\"sekundi\";case\"m\":return a?\"jedna minuta\":\"jedne minute\";case\"mm\":return s+=1===e?\"minuta\":2===e||3===e||4===e?\"minute\":\"minuta\";case\"h\":return a?\"jedan sat\":\"jednog sata\";case\"hh\":return s+=1===e?\"sat\":2===e||3===e||4===e?\"sata\":\"sati\";case\"dd\":return s+=1===e?\"dan\":\"dana\";case\"MM\":return s+=1===e?\"mjesec\":2===e||3===e||4===e?\"mjeseca\":\"mjeseci\";case\"yy\":return s+=1===e?\"godina\":2===e||3===e||4===e?\"godine\":\"godina\"}}l.defineLocale(\"hi\",{months:\"\\u091c\\u0928\\u0935\\u0930\\u0940_\\u092b\\u093c\\u0930\\u0935\\u0930\\u0940_\\u092e\\u093e\\u0930\\u094d\\u091a_\\u0905\\u092a\\u094d\\u0930\\u0948\\u0932_\\u092e\\u0908_\\u091c\\u0942\\u0928_\\u091c\\u0941\\u0932\\u093e\\u0908_\\u0905\\u0917\\u0938\\u094d\\u0924_\\u0938\\u093f\\u0924\\u092e\\u094d\\u092c\\u0930_\\u0905\\u0915\\u094d\\u091f\\u0942\\u092c\\u0930_\\u0928\\u0935\\u092e\\u094d\\u092c\\u0930_\\u0926\\u093f\\u0938\\u092e\\u094d\\u092c\\u0930\".split(\"_\"),monthsShort:\"\\u091c\\u0928._\\u092b\\u093c\\u0930._\\u092e\\u093e\\u0930\\u094d\\u091a_\\u0905\\u092a\\u094d\\u0930\\u0948._\\u092e\\u0908_\\u091c\\u0942\\u0928_\\u091c\\u0941\\u0932._\\u0905\\u0917._\\u0938\\u093f\\u0924._\\u0905\\u0915\\u094d\\u091f\\u0942._\\u0928\\u0935._\\u0926\\u093f\\u0938.\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u0930\\u0935\\u093f\\u0935\\u093e\\u0930_\\u0938\\u094b\\u092e\\u0935\\u093e\\u0930_\\u092e\\u0902\\u0917\\u0932\\u0935\\u093e\\u0930_\\u092c\\u0941\\u0927\\u0935\\u093e\\u0930_\\u0917\\u0941\\u0930\\u0942\\u0935\\u093e\\u0930_\\u0936\\u0941\\u0915\\u094d\\u0930\\u0935\\u093e\\u0930_\\u0936\\u0928\\u093f\\u0935\\u093e\\u0930\".split(\"_\"),weekdaysShort:\"\\u0930\\u0935\\u093f_\\u0938\\u094b\\u092e_\\u092e\\u0902\\u0917\\u0932_\\u092c\\u0941\\u0927_\\u0917\\u0941\\u0930\\u0942_\\u0936\\u0941\\u0915\\u094d\\u0930_\\u0936\\u0928\\u093f\".split(\"_\"),weekdaysMin:\"\\u0930_\\u0938\\u094b_\\u092e\\u0902_\\u092c\\u0941_\\u0917\\u0941_\\u0936\\u0941_\\u0936\".split(\"_\"),longDateFormat:{LT:\"A h:mm \\u092c\\u091c\\u0947\",LTS:\"A h:mm:ss \\u092c\\u091c\\u0947\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm \\u092c\\u091c\\u0947\",LLLL:\"dddd, D MMMM YYYY, A h:mm \\u092c\\u091c\\u0947\"},calendar:{sameDay:\"[\\u0906\\u091c] LT\",nextDay:\"[\\u0915\\u0932] LT\",nextWeek:\"dddd, LT\",lastDay:\"[\\u0915\\u0932] LT\",lastWeek:\"[\\u092a\\u093f\\u091b\\u0932\\u0947] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u092e\\u0947\\u0902\",past:\"%s \\u092a\\u0939\\u0932\\u0947\",s:\"\\u0915\\u0941\\u091b \\u0939\\u0940 \\u0915\\u094d\\u0937\\u0923\",ss:\"%d \\u0938\\u0947\\u0915\\u0902\\u0921\",m:\"\\u090f\\u0915 \\u092e\\u093f\\u0928\\u091f\",mm:\"%d \\u092e\\u093f\\u0928\\u091f\",h:\"\\u090f\\u0915 \\u0918\\u0902\\u091f\\u093e\",hh:\"%d \\u0918\\u0902\\u091f\\u0947\",d:\"\\u090f\\u0915 \\u0926\\u093f\\u0928\",dd:\"%d \\u0926\\u093f\\u0928\",M:\"\\u090f\\u0915 \\u092e\\u0939\\u0940\\u0928\\u0947\",MM:\"%d \\u092e\\u0939\\u0940\\u0928\\u0947\",y:\"\\u090f\\u0915 \\u0935\\u0930\\u094d\\u0937\",yy:\"%d \\u0935\\u0930\\u094d\\u0937\"},preparse:function(e){return e.replace(/[\\u0967\\u0968\\u0969\\u096a\\u096b\\u096c\\u096d\\u096e\\u096f\\u0966]/g,function(e){return Bs[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return $s[e]})},meridiemParse:/\\u0930\\u093e\\u0924|\\u0938\\u0941\\u092c\\u0939|\\u0926\\u094b\\u092a\\u0939\\u0930|\\u0936\\u093e\\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0930\\u093e\\u0924\"===a?e<4?e:e+12:\"\\u0938\\u0941\\u092c\\u0939\"===a?e:\"\\u0926\\u094b\\u092a\\u0939\\u0930\"===a?10<=e?e:e+12:\"\\u0936\\u093e\\u092e\"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?\"\\u0930\\u093e\\u0924\":e<10?\"\\u0938\\u0941\\u092c\\u0939\":e<17?\"\\u0926\\u094b\\u092a\\u0939\\u0930\":e<20?\"\\u0936\\u093e\\u092e\":\"\\u0930\\u093e\\u0924\"},week:{dow:0,doy:6}}),l.defineLocale(\"hr\",{months:{format:\"sije\\u010dnja_velja\\u010de_o\\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca\".split(\"_\"),standalone:\"sije\\u010danj_velja\\u010da_o\\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac\".split(\"_\")},monthsShort:\"sij._velj._o\\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_\\u010detvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._\\u010det._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_\\u010de_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[ju\\u010der u] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:return\"[pro\\u0161lu] dddd [u] LT\";case 6:return\"[pro\\u0161le] [subote] [u] LT\";case 1:case 2:case 4:case 5:return\"[pro\\u0161li] dddd [u] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"par sekundi\",ss:qs,m:qs,mm:qs,h:qs,hh:qs,d:\"dan\",dd:qs,M:\"mjesec\",MM:qs,y:\"godinu\",yy:qs},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});var Qs=\"vas\\xe1rnap h\\xe9tf\\u0151n kedden szerd\\xe1n cs\\xfct\\xf6rt\\xf6k\\xf6n p\\xe9nteken szombaton\".split(\" \");function Xs(e,a,t,s){var n=e;switch(t){case\"s\":return s||a?\"n\\xe9h\\xe1ny m\\xe1sodperc\":\"n\\xe9h\\xe1ny m\\xe1sodperce\";case\"ss\":return n+(s||a)?\" m\\xe1sodperc\":\" m\\xe1sodperce\";case\"m\":return\"egy\"+(s||a?\" perc\":\" perce\");case\"mm\":return n+(s||a?\" perc\":\" perce\");case\"h\":return\"egy\"+(s||a?\" \\xf3ra\":\" \\xf3r\\xe1ja\");case\"hh\":return n+(s||a?\" \\xf3ra\":\" \\xf3r\\xe1ja\");case\"d\":return\"egy\"+(s||a?\" nap\":\" napja\");case\"dd\":return n+(s||a?\" nap\":\" napja\");case\"M\":return\"egy\"+(s||a?\" h\\xf3nap\":\" h\\xf3napja\");case\"MM\":return n+(s||a?\" h\\xf3nap\":\" h\\xf3napja\");case\"y\":return\"egy\"+(s||a?\" \\xe9v\":\" \\xe9ve\");case\"yy\":return n+(s||a?\" \\xe9v\":\" \\xe9ve\")}return\"\"}function en(e){return(e?\"\":\"[m\\xfalt] \")+\"[\"+Qs[this.day()]+\"] LT[-kor]\"}function an(e){return e%100==11||e%10!=1}function tn(e,a,t,s){var n=e+\" \";switch(t){case\"s\":return a||s?\"nokkrar sek\\xfandur\":\"nokkrum sek\\xfandum\";case\"ss\":return an(e)?n+(a||s?\"sek\\xfandur\":\"sek\\xfandum\"):n+\"sek\\xfanda\";case\"m\":return a?\"m\\xedn\\xfata\":\"m\\xedn\\xfatu\";case\"mm\":return an(e)?n+(a||s?\"m\\xedn\\xfatur\":\"m\\xedn\\xfatum\"):a?n+\"m\\xedn\\xfata\":n+\"m\\xedn\\xfatu\";case\"hh\":return an(e)?n+(a||s?\"klukkustundir\":\"klukkustundum\"):n+\"klukkustund\";case\"d\":return a?\"dagur\":s?\"dag\":\"degi\";case\"dd\":return an(e)?a?n+\"dagar\":n+(s?\"daga\":\"d\\xf6gum\"):a?n+\"dagur\":n+(s?\"dag\":\"degi\");case\"M\":return a?\"m\\xe1nu\\xf0ur\":s?\"m\\xe1nu\\xf0\":\"m\\xe1nu\\xf0i\";case\"MM\":return an(e)?a?n+\"m\\xe1nu\\xf0ir\":n+(s?\"m\\xe1nu\\xf0i\":\"m\\xe1nu\\xf0um\"):a?n+\"m\\xe1nu\\xf0ur\":n+(s?\"m\\xe1nu\\xf0\":\"m\\xe1nu\\xf0i\");case\"y\":return a||s?\"\\xe1r\":\"\\xe1ri\";case\"yy\":return an(e)?n+(a||s?\"\\xe1r\":\"\\xe1rum\"):n+(a||s?\"\\xe1r\":\"\\xe1ri\")}}l.defineLocale(\"hu\",{months:\"janu\\xe1r_febru\\xe1r_m\\xe1rcius_\\xe1prilis_m\\xe1jus_j\\xfanius_j\\xfalius_augusztus_szeptember_okt\\xf3ber_november_december\".split(\"_\"),monthsShort:\"jan_feb_m\\xe1rc_\\xe1pr_m\\xe1j_j\\xfan_j\\xfal_aug_szept_okt_nov_dec\".split(\"_\"),weekdays:\"vas\\xe1rnap_h\\xe9tf\\u0151_kedd_szerda_cs\\xfct\\xf6rt\\xf6k_p\\xe9ntek_szombat\".split(\"_\"),weekdaysShort:\"vas_h\\xe9t_kedd_sze_cs\\xfct_p\\xe9n_szo\".split(\"_\"),weekdaysMin:\"v_h_k_sze_cs_p_szo\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"YYYY.MM.DD.\",LL:\"YYYY. MMMM D.\",LLL:\"YYYY. MMMM D. H:mm\",LLLL:\"YYYY. MMMM D., dddd H:mm\"},meridiemParse:/de|du/i,isPM:function(e){return\"u\"===e.charAt(1).toLowerCase()},meridiem:function(e,a,t){return e<12?!0===t?\"de\":\"DE\":!0===t?\"du\":\"DU\"},calendar:{sameDay:\"[ma] LT[-kor]\",nextDay:\"[holnap] LT[-kor]\",nextWeek:function(){return en.call(this,!0)},lastDay:\"[tegnap] LT[-kor]\",lastWeek:function(){return en.call(this,!1)},sameElse:\"L\"},relativeTime:{future:\"%s m\\xfalva\",past:\"%s\",s:Xs,ss:Xs,m:Xs,mm:Xs,h:Xs,hh:Xs,d:Xs,dd:Xs,M:Xs,MM:Xs,y:Xs,yy:Xs},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"hy-am\",{months:{format:\"\\u0570\\u0578\\u0582\\u0576\\u057e\\u0561\\u0580\\u056b_\\u0583\\u0565\\u057f\\u0580\\u057e\\u0561\\u0580\\u056b_\\u0574\\u0561\\u0580\\u057f\\u056b_\\u0561\\u057a\\u0580\\u056b\\u056c\\u056b_\\u0574\\u0561\\u0575\\u056b\\u057d\\u056b_\\u0570\\u0578\\u0582\\u0576\\u056b\\u057d\\u056b_\\u0570\\u0578\\u0582\\u056c\\u056b\\u057d\\u056b_\\u0585\\u0563\\u0578\\u057d\\u057f\\u0578\\u057d\\u056b_\\u057d\\u0565\\u057a\\u057f\\u0565\\u0574\\u0562\\u0565\\u0580\\u056b_\\u0570\\u0578\\u056f\\u057f\\u0565\\u0574\\u0562\\u0565\\u0580\\u056b_\\u0576\\u0578\\u0575\\u0565\\u0574\\u0562\\u0565\\u0580\\u056b_\\u0564\\u0565\\u056f\\u057f\\u0565\\u0574\\u0562\\u0565\\u0580\\u056b\".split(\"_\"),standalone:\"\\u0570\\u0578\\u0582\\u0576\\u057e\\u0561\\u0580_\\u0583\\u0565\\u057f\\u0580\\u057e\\u0561\\u0580_\\u0574\\u0561\\u0580\\u057f_\\u0561\\u057a\\u0580\\u056b\\u056c_\\u0574\\u0561\\u0575\\u056b\\u057d_\\u0570\\u0578\\u0582\\u0576\\u056b\\u057d_\\u0570\\u0578\\u0582\\u056c\\u056b\\u057d_\\u0585\\u0563\\u0578\\u057d\\u057f\\u0578\\u057d_\\u057d\\u0565\\u057a\\u057f\\u0565\\u0574\\u0562\\u0565\\u0580_\\u0570\\u0578\\u056f\\u057f\\u0565\\u0574\\u0562\\u0565\\u0580_\\u0576\\u0578\\u0575\\u0565\\u0574\\u0562\\u0565\\u0580_\\u0564\\u0565\\u056f\\u057f\\u0565\\u0574\\u0562\\u0565\\u0580\".split(\"_\")},monthsShort:\"\\u0570\\u0576\\u057e_\\u0583\\u057f\\u0580_\\u0574\\u0580\\u057f_\\u0561\\u057a\\u0580_\\u0574\\u0575\\u057d_\\u0570\\u0576\\u057d_\\u0570\\u056c\\u057d_\\u0585\\u0563\\u057d_\\u057d\\u057a\\u057f_\\u0570\\u056f\\u057f_\\u0576\\u0574\\u0562_\\u0564\\u056f\\u057f\".split(\"_\"),weekdays:\"\\u056f\\u056b\\u0580\\u0561\\u056f\\u056b_\\u0565\\u0580\\u056f\\u0578\\u0582\\u0577\\u0561\\u0562\\u0569\\u056b_\\u0565\\u0580\\u0565\\u0584\\u0577\\u0561\\u0562\\u0569\\u056b_\\u0579\\u0578\\u0580\\u0565\\u0584\\u0577\\u0561\\u0562\\u0569\\u056b_\\u0570\\u056b\\u0576\\u0563\\u0577\\u0561\\u0562\\u0569\\u056b_\\u0578\\u0582\\u0580\\u0562\\u0561\\u0569_\\u0577\\u0561\\u0562\\u0561\\u0569\".split(\"_\"),weekdaysShort:\"\\u056f\\u0580\\u056f_\\u0565\\u0580\\u056f_\\u0565\\u0580\\u0584_\\u0579\\u0580\\u0584_\\u0570\\u0576\\u0563_\\u0578\\u0582\\u0580\\u0562_\\u0577\\u0562\\u0569\".split(\"_\"),weekdaysMin:\"\\u056f\\u0580\\u056f_\\u0565\\u0580\\u056f_\\u0565\\u0580\\u0584_\\u0579\\u0580\\u0584_\\u0570\\u0576\\u0563_\\u0578\\u0582\\u0580\\u0562_\\u0577\\u0562\\u0569\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY \\u0569.\",LLL:\"D MMMM YYYY \\u0569., HH:mm\",LLLL:\"dddd, D MMMM YYYY \\u0569., HH:mm\"},calendar:{sameDay:\"[\\u0561\\u0575\\u057d\\u0585\\u0580] LT\",nextDay:\"[\\u057e\\u0561\\u0572\\u0568] LT\",lastDay:\"[\\u0565\\u0580\\u0565\\u056f] LT\",nextWeek:function(){return\"dddd [\\u0585\\u0580\\u0568 \\u056a\\u0561\\u0574\\u0568] LT\"},lastWeek:function(){return\"[\\u0561\\u0576\\u0581\\u0561\\u056e] dddd [\\u0585\\u0580\\u0568 \\u056a\\u0561\\u0574\\u0568] LT\"},sameElse:\"L\"},relativeTime:{future:\"%s \\u0570\\u0565\\u057f\\u0578\",past:\"%s \\u0561\\u057c\\u0561\\u057b\",s:\"\\u0574\\u056b \\u0584\\u0561\\u0576\\u056b \\u057e\\u0561\\u0575\\u0580\\u056f\\u0575\\u0561\\u0576\",ss:\"%d \\u057e\\u0561\\u0575\\u0580\\u056f\\u0575\\u0561\\u0576\",m:\"\\u0580\\u0578\\u057a\\u0565\",mm:\"%d \\u0580\\u0578\\u057a\\u0565\",h:\"\\u056a\\u0561\\u0574\",hh:\"%d \\u056a\\u0561\\u0574\",d:\"\\u0585\\u0580\",dd:\"%d \\u0585\\u0580\",M:\"\\u0561\\u0574\\u056b\\u057d\",MM:\"%d \\u0561\\u0574\\u056b\\u057d\",y:\"\\u057f\\u0561\\u0580\\u056b\",yy:\"%d \\u057f\\u0561\\u0580\\u056b\"},meridiemParse:/\\u0563\\u056b\\u0577\\u0565\\u0580\\u057e\\u0561|\\u0561\\u057c\\u0561\\u057e\\u0578\\u057f\\u057e\\u0561|\\u0581\\u0565\\u0580\\u0565\\u056f\\u057e\\u0561|\\u0565\\u0580\\u0565\\u056f\\u0578\\u0575\\u0561\\u0576/,isPM:function(e){return/^(\\u0581\\u0565\\u0580\\u0565\\u056f\\u057e\\u0561|\\u0565\\u0580\\u0565\\u056f\\u0578\\u0575\\u0561\\u0576)$/.test(e)},meridiem:function(e){return e<4?\"\\u0563\\u056b\\u0577\\u0565\\u0580\\u057e\\u0561\":e<12?\"\\u0561\\u057c\\u0561\\u057e\\u0578\\u057f\\u057e\\u0561\":e<17?\"\\u0581\\u0565\\u0580\\u0565\\u056f\\u057e\\u0561\":\"\\u0565\\u0580\\u0565\\u056f\\u0578\\u0575\\u0561\\u0576\"},dayOfMonthOrdinalParse:/\\d{1,2}|\\d{1,2}-(\\u056b\\u0576|\\u0580\\u0564)/,ordinal:function(e,a){switch(a){case\"DDD\":case\"w\":case\"W\":case\"DDDo\":return 1===e?e+\"-\\u056b\\u0576\":e+\"-\\u0580\\u0564\";default:return e}},week:{dow:1,doy:7}}),l.defineLocale(\"id\",{months:\"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu\".split(\"_\"),weekdaysShort:\"Min_Sen_Sel_Rab_Kam_Jum_Sab\".split(\"_\"),weekdaysMin:\"Mg_Sn_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),\"pagi\"===a?e:\"siang\"===a?11<=e?e:e+12:\"sore\"===a||\"malam\"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?\"pagi\":e<15?\"siang\":e<19?\"sore\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Besok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kemarin pukul] LT\",lastWeek:\"dddd [lalu pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lalu\",s:\"beberapa detik\",ss:\"%d detik\",m:\"semenit\",mm:\"%d menit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}}),l.defineLocale(\"is\",{months:\"jan\\xfaar_febr\\xfaar_mars_apr\\xedl_ma\\xed_j\\xfan\\xed_j\\xfal\\xed_\\xe1g\\xfast_september_okt\\xf3ber_n\\xf3vember_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_ma\\xed_j\\xfan_j\\xfal_\\xe1g\\xfa_sep_okt_n\\xf3v_des\".split(\"_\"),weekdays:\"sunnudagur_m\\xe1nudagur_\\xferi\\xf0judagur_mi\\xf0vikudagur_fimmtudagur_f\\xf6studagur_laugardagur\".split(\"_\"),weekdaysShort:\"sun_m\\xe1n_\\xferi_mi\\xf0_fim_f\\xf6s_lau\".split(\"_\"),weekdaysMin:\"Su_M\\xe1_\\xder_Mi_Fi_F\\xf6_La\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] H:mm\",LLLL:\"dddd, D. MMMM YYYY [kl.] H:mm\"},calendar:{sameDay:\"[\\xed dag kl.] LT\",nextDay:\"[\\xe1 morgun kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[\\xed g\\xe6r kl.] LT\",lastWeek:\"[s\\xed\\xf0asta] dddd [kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"eftir %s\",past:\"fyrir %s s\\xed\\xf0an\",s:tn,ss:tn,m:tn,mm:tn,h:\"klukkustund\",hh:tn,d:tn,dd:tn,M:tn,MM:tn,y:tn,yy:tn},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"it-ch\",{months:\"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre\".split(\"_\"),monthsShort:\"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic\".split(\"_\"),weekdays:\"domenica_luned\\xec_marted\\xec_mercoled\\xec_gioved\\xec_venerd\\xec_sabato\".split(\"_\"),weekdaysShort:\"dom_lun_mar_mer_gio_ven_sab\".split(\"_\"),weekdaysMin:\"do_lu_ma_me_gi_ve_sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Oggi alle] LT\",nextDay:\"[Domani alle] LT\",nextWeek:\"dddd [alle] LT\",lastDay:\"[Ieri alle] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[la scorsa] dddd [alle] LT\";default:return\"[lo scorso] dddd [alle] LT\"}},sameElse:\"L\"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?\"tra\":\"in\")+\" \"+e},past:\"%s fa\",s:\"alcuni secondi\",ss:\"%d secondi\",m:\"un minuto\",mm:\"%d minuti\",h:\"un'ora\",hh:\"%d ore\",d:\"un giorno\",dd:\"%d giorni\",M:\"un mese\",MM:\"%d mesi\",y:\"un anno\",yy:\"%d anni\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\",week:{dow:1,doy:4}}),l.defineLocale(\"it\",{months:\"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre\".split(\"_\"),monthsShort:\"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic\".split(\"_\"),weekdays:\"domenica_luned\\xec_marted\\xec_mercoled\\xec_gioved\\xec_venerd\\xec_sabato\".split(\"_\"),weekdaysShort:\"dom_lun_mar_mer_gio_ven_sab\".split(\"_\"),weekdaysMin:\"do_lu_ma_me_gi_ve_sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Oggi alle] LT\",nextDay:\"[Domani alle] LT\",nextWeek:\"dddd [alle] LT\",lastDay:\"[Ieri alle] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[la scorsa] dddd [alle] LT\";default:return\"[lo scorso] dddd [alle] LT\"}},sameElse:\"L\"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?\"tra\":\"in\")+\" \"+e},past:\"%s fa\",s:\"alcuni secondi\",ss:\"%d secondi\",m:\"un minuto\",mm:\"%d minuti\",h:\"un'ora\",hh:\"%d ore\",d:\"un giorno\",dd:\"%d giorni\",M:\"un mese\",MM:\"%d mesi\",y:\"un anno\",yy:\"%d anni\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\",week:{dow:1,doy:4}}),l.defineLocale(\"ja\",{months:\"\\u4e00\\u6708_\\u4e8c\\u6708_\\u4e09\\u6708_\\u56db\\u6708_\\u4e94\\u6708_\\u516d\\u6708_\\u4e03\\u6708_\\u516b\\u6708_\\u4e5d\\u6708_\\u5341\\u6708_\\u5341\\u4e00\\u6708_\\u5341\\u4e8c\\u6708\".split(\"_\"),monthsShort:\"1\\u6708_2\\u6708_3\\u6708_4\\u6708_5\\u6708_6\\u6708_7\\u6708_8\\u6708_9\\u6708_10\\u6708_11\\u6708_12\\u6708\".split(\"_\"),weekdays:\"\\u65e5\\u66dc\\u65e5_\\u6708\\u66dc\\u65e5_\\u706b\\u66dc\\u65e5_\\u6c34\\u66dc\\u65e5_\\u6728\\u66dc\\u65e5_\\u91d1\\u66dc\\u65e5_\\u571f\\u66dc\\u65e5\".split(\"_\"),weekdaysShort:\"\\u65e5_\\u6708_\\u706b_\\u6c34_\\u6728_\\u91d1_\\u571f\".split(\"_\"),weekdaysMin:\"\\u65e5_\\u6708_\\u706b_\\u6c34_\\u6728_\\u91d1_\\u571f\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY\\u5e74M\\u6708D\\u65e5\",LLL:\"YYYY\\u5e74M\\u6708D\\u65e5 HH:mm\",LLLL:\"YYYY\\u5e74M\\u6708D\\u65e5 dddd HH:mm\",l:\"YYYY/MM/DD\",ll:\"YYYY\\u5e74M\\u6708D\\u65e5\",lll:\"YYYY\\u5e74M\\u6708D\\u65e5 HH:mm\",llll:\"YYYY\\u5e74M\\u6708D\\u65e5(ddd) HH:mm\"},meridiemParse:/\\u5348\\u524d|\\u5348\\u5f8c/i,isPM:function(e){return\"\\u5348\\u5f8c\"===e},meridiem:function(e,a,t){return e<12?\"\\u5348\\u524d\":\"\\u5348\\u5f8c\"},calendar:{sameDay:\"[\\u4eca\\u65e5] LT\",nextDay:\"[\\u660e\\u65e5] LT\",nextWeek:function(e){return e.week()<this.week()?\"[\\u6765\\u9031]dddd LT\":\"dddd LT\"},lastDay:\"[\\u6628\\u65e5] LT\",lastWeek:function(e){return this.week()<e.week()?\"[\\u5148\\u9031]dddd LT\":\"dddd LT\"},sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}\\u65e5/,ordinal:function(e,a){switch(a){case\"d\":case\"D\":case\"DDD\":return e+\"\\u65e5\";default:return e}},relativeTime:{future:\"%s\\u5f8c\",past:\"%s\\u524d\",s:\"\\u6570\\u79d2\",ss:\"%d\\u79d2\",m:\"1\\u5206\",mm:\"%d\\u5206\",h:\"1\\u6642\\u9593\",hh:\"%d\\u6642\\u9593\",d:\"1\\u65e5\",dd:\"%d\\u65e5\",M:\"1\\u30f6\\u6708\",MM:\"%d\\u30f6\\u6708\",y:\"1\\u5e74\",yy:\"%d\\u5e74\"}}),l.defineLocale(\"jv\",{months:\"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des\".split(\"_\"),weekdays:\"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu\".split(\"_\"),weekdaysShort:\"Min_Sen_Sel_Reb_Kem_Jem_Sep\".split(\"_\"),weekdaysMin:\"Mg_Sn_Sl_Rb_Km_Jm_Sp\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),\"enjing\"===a?e:\"siyang\"===a?11<=e?e:e+12:\"sonten\"===a||\"ndalu\"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?\"enjing\":e<15?\"siyang\":e<19?\"sonten\":\"ndalu\"},calendar:{sameDay:\"[Dinten puniko pukul] LT\",nextDay:\"[Mbenjang pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kala wingi pukul] LT\",lastWeek:\"dddd [kepengker pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"wonten ing %s\",past:\"%s ingkang kepengker\",s:\"sawetawis detik\",ss:\"%d detik\",m:\"setunggal menit\",mm:\"%d menit\",h:\"setunggal jam\",hh:\"%d jam\",d:\"sedinten\",dd:\"%d dinten\",M:\"sewulan\",MM:\"%d wulan\",y:\"setaun\",yy:\"%d taun\"},week:{dow:1,doy:7}}),l.defineLocale(\"ka\",{months:{standalone:\"\\u10d8\\u10d0\\u10dc\\u10d5\\u10d0\\u10e0\\u10d8_\\u10d7\\u10d4\\u10d1\\u10d4\\u10e0\\u10d5\\u10d0\\u10da\\u10d8_\\u10db\\u10d0\\u10e0\\u10e2\\u10d8_\\u10d0\\u10de\\u10e0\\u10d8\\u10da\\u10d8_\\u10db\\u10d0\\u10d8\\u10e1\\u10d8_\\u10d8\\u10d5\\u10dc\\u10d8\\u10e1\\u10d8_\\u10d8\\u10d5\\u10da\\u10d8\\u10e1\\u10d8_\\u10d0\\u10d2\\u10d5\\u10d8\\u10e1\\u10e2\\u10dd_\\u10e1\\u10d4\\u10e5\\u10e2\\u10d4\\u10db\\u10d1\\u10d4\\u10e0\\u10d8_\\u10dd\\u10e5\\u10e2\\u10dd\\u10db\\u10d1\\u10d4\\u10e0\\u10d8_\\u10dc\\u10dd\\u10d4\\u10db\\u10d1\\u10d4\\u10e0\\u10d8_\\u10d3\\u10d4\\u10d9\\u10d4\\u10db\\u10d1\\u10d4\\u10e0\\u10d8\".split(\"_\"),format:\"\\u10d8\\u10d0\\u10dc\\u10d5\\u10d0\\u10e0\\u10e1_\\u10d7\\u10d4\\u10d1\\u10d4\\u10e0\\u10d5\\u10d0\\u10da\\u10e1_\\u10db\\u10d0\\u10e0\\u10e2\\u10e1_\\u10d0\\u10de\\u10e0\\u10d8\\u10da\\u10d8\\u10e1_\\u10db\\u10d0\\u10d8\\u10e1\\u10e1_\\u10d8\\u10d5\\u10dc\\u10d8\\u10e1\\u10e1_\\u10d8\\u10d5\\u10da\\u10d8\\u10e1\\u10e1_\\u10d0\\u10d2\\u10d5\\u10d8\\u10e1\\u10e2\\u10e1_\\u10e1\\u10d4\\u10e5\\u10e2\\u10d4\\u10db\\u10d1\\u10d4\\u10e0\\u10e1_\\u10dd\\u10e5\\u10e2\\u10dd\\u10db\\u10d1\\u10d4\\u10e0\\u10e1_\\u10dc\\u10dd\\u10d4\\u10db\\u10d1\\u10d4\\u10e0\\u10e1_\\u10d3\\u10d4\\u10d9\\u10d4\\u10db\\u10d1\\u10d4\\u10e0\\u10e1\".split(\"_\")},monthsShort:\"\\u10d8\\u10d0\\u10dc_\\u10d7\\u10d4\\u10d1_\\u10db\\u10d0\\u10e0_\\u10d0\\u10de\\u10e0_\\u10db\\u10d0\\u10d8_\\u10d8\\u10d5\\u10dc_\\u10d8\\u10d5\\u10da_\\u10d0\\u10d2\\u10d5_\\u10e1\\u10d4\\u10e5_\\u10dd\\u10e5\\u10e2_\\u10dc\\u10dd\\u10d4_\\u10d3\\u10d4\\u10d9\".split(\"_\"),weekdays:{standalone:\"\\u10d9\\u10d5\\u10d8\\u10e0\\u10d0_\\u10dd\\u10e0\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10d8_\\u10e1\\u10d0\\u10db\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10d8_\\u10dd\\u10d7\\u10ee\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10d8_\\u10ee\\u10e3\\u10d7\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10d8_\\u10de\\u10d0\\u10e0\\u10d0\\u10e1\\u10d9\\u10d4\\u10d5\\u10d8_\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10d8\".split(\"_\"),format:\"\\u10d9\\u10d5\\u10d8\\u10e0\\u10d0\\u10e1_\\u10dd\\u10e0\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10e1_\\u10e1\\u10d0\\u10db\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10e1_\\u10dd\\u10d7\\u10ee\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10e1_\\u10ee\\u10e3\\u10d7\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10e1_\\u10de\\u10d0\\u10e0\\u10d0\\u10e1\\u10d9\\u10d4\\u10d5\\u10e1_\\u10e8\\u10d0\\u10d1\\u10d0\\u10d7\\u10e1\".split(\"_\"),isFormat:/(\\u10ec\\u10d8\\u10dc\\u10d0|\\u10e8\\u10d4\\u10db\\u10d3\\u10d4\\u10d2)/},weekdaysShort:\"\\u10d9\\u10d5\\u10d8_\\u10dd\\u10e0\\u10e8_\\u10e1\\u10d0\\u10db_\\u10dd\\u10d7\\u10ee_\\u10ee\\u10e3\\u10d7_\\u10de\\u10d0\\u10e0_\\u10e8\\u10d0\\u10d1\".split(\"_\"),weekdaysMin:\"\\u10d9\\u10d5_\\u10dd\\u10e0_\\u10e1\\u10d0_\\u10dd\\u10d7_\\u10ee\\u10e3_\\u10de\\u10d0_\\u10e8\\u10d0\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[\\u10d3\\u10e6\\u10d4\\u10e1] LT[-\\u10d6\\u10d4]\",nextDay:\"[\\u10ee\\u10d5\\u10d0\\u10da] LT[-\\u10d6\\u10d4]\",lastDay:\"[\\u10d2\\u10e3\\u10e8\\u10d8\\u10dc] LT[-\\u10d6\\u10d4]\",nextWeek:\"[\\u10e8\\u10d4\\u10db\\u10d3\\u10d4\\u10d2] dddd LT[-\\u10d6\\u10d4]\",lastWeek:\"[\\u10ec\\u10d8\\u10dc\\u10d0] dddd LT-\\u10d6\\u10d4\",sameElse:\"L\"},relativeTime:{future:function(e){return/(\\u10ec\\u10d0\\u10db\\u10d8|\\u10ec\\u10e3\\u10d7\\u10d8|\\u10e1\\u10d0\\u10d0\\u10d7\\u10d8|\\u10ec\\u10d4\\u10da\\u10d8)/.test(e)?e.replace(/\\u10d8$/,\"\\u10e8\\u10d8\"):e+\"\\u10e8\\u10d8\"},past:function(e){return/(\\u10ec\\u10d0\\u10db\\u10d8|\\u10ec\\u10e3\\u10d7\\u10d8|\\u10e1\\u10d0\\u10d0\\u10d7\\u10d8|\\u10d3\\u10e6\\u10d4|\\u10d7\\u10d5\\u10d4)/.test(e)?e.replace(/(\\u10d8|\\u10d4)$/,\"\\u10d8\\u10e1 \\u10ec\\u10d8\\u10dc\"):/\\u10ec\\u10d4\\u10da\\u10d8/.test(e)?e.replace(/\\u10ec\\u10d4\\u10da\\u10d8$/,\"\\u10ec\\u10da\\u10d8\\u10e1 \\u10ec\\u10d8\\u10dc\"):void 0},s:\"\\u10e0\\u10d0\\u10db\\u10d3\\u10d4\\u10dc\\u10d8\\u10db\\u10d4 \\u10ec\\u10d0\\u10db\\u10d8\",ss:\"%d \\u10ec\\u10d0\\u10db\\u10d8\",m:\"\\u10ec\\u10e3\\u10d7\\u10d8\",mm:\"%d \\u10ec\\u10e3\\u10d7\\u10d8\",h:\"\\u10e1\\u10d0\\u10d0\\u10d7\\u10d8\",hh:\"%d \\u10e1\\u10d0\\u10d0\\u10d7\\u10d8\",d:\"\\u10d3\\u10e6\\u10d4\",dd:\"%d \\u10d3\\u10e6\\u10d4\",M:\"\\u10d7\\u10d5\\u10d4\",MM:\"%d \\u10d7\\u10d5\\u10d4\",y:\"\\u10ec\\u10d4\\u10da\\u10d8\",yy:\"%d \\u10ec\\u10d4\\u10da\\u10d8\"},dayOfMonthOrdinalParse:/0|1-\\u10da\\u10d8|\\u10db\\u10d4-\\d{1,2}|\\d{1,2}-\\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+\"-\\u10da\\u10d8\":e<20||e<=100&&e%20==0||e%100==0?\"\\u10db\\u10d4-\"+e:e+\"-\\u10d4\"},week:{dow:1,doy:7}});var sn={0:\"-\\u0448\\u0456\",1:\"-\\u0448\\u0456\",2:\"-\\u0448\\u0456\",3:\"-\\u0448\\u0456\",4:\"-\\u0448\\u0456\",5:\"-\\u0448\\u0456\",6:\"-\\u0448\\u044b\",7:\"-\\u0448\\u0456\",8:\"-\\u0448\\u0456\",9:\"-\\u0448\\u044b\",10:\"-\\u0448\\u044b\",20:\"-\\u0448\\u044b\",30:\"-\\u0448\\u044b\",40:\"-\\u0448\\u044b\",50:\"-\\u0448\\u0456\",60:\"-\\u0448\\u044b\",70:\"-\\u0448\\u0456\",80:\"-\\u0448\\u0456\",90:\"-\\u0448\\u044b\",100:\"-\\u0448\\u0456\"};l.defineLocale(\"kk\",{months:\"\\u049b\\u0430\\u04a3\\u0442\\u0430\\u0440_\\u0430\\u049b\\u043f\\u0430\\u043d_\\u043d\\u0430\\u0443\\u0440\\u044b\\u0437_\\u0441\\u04d9\\u0443\\u0456\\u0440_\\u043c\\u0430\\u043c\\u044b\\u0440_\\u043c\\u0430\\u0443\\u0441\\u044b\\u043c_\\u0448\\u0456\\u043b\\u0434\\u0435_\\u0442\\u0430\\u043c\\u044b\\u0437_\\u049b\\u044b\\u0440\\u043a\\u04af\\u0439\\u0435\\u043a_\\u049b\\u0430\\u0437\\u0430\\u043d_\\u049b\\u0430\\u0440\\u0430\\u0448\\u0430_\\u0436\\u0435\\u043b\\u0442\\u043e\\u049b\\u0441\\u0430\\u043d\".split(\"_\"),monthsShort:\"\\u049b\\u0430\\u04a3_\\u0430\\u049b\\u043f_\\u043d\\u0430\\u0443_\\u0441\\u04d9\\u0443_\\u043c\\u0430\\u043c_\\u043c\\u0430\\u0443_\\u0448\\u0456\\u043b_\\u0442\\u0430\\u043c_\\u049b\\u044b\\u0440_\\u049b\\u0430\\u0437_\\u049b\\u0430\\u0440_\\u0436\\u0435\\u043b\".split(\"_\"),weekdays:\"\\u0436\\u0435\\u043a\\u0441\\u0435\\u043d\\u0431\\u0456_\\u0434\\u04af\\u0439\\u0441\\u0435\\u043d\\u0431\\u0456_\\u0441\\u0435\\u0439\\u0441\\u0435\\u043d\\u0431\\u0456_\\u0441\\u04d9\\u0440\\u0441\\u0435\\u043d\\u0431\\u0456_\\u0431\\u0435\\u0439\\u0441\\u0435\\u043d\\u0431\\u0456_\\u0436\\u04b1\\u043c\\u0430_\\u0441\\u0435\\u043d\\u0431\\u0456\".split(\"_\"),weekdaysShort:\"\\u0436\\u0435\\u043a_\\u0434\\u04af\\u0439_\\u0441\\u0435\\u0439_\\u0441\\u04d9\\u0440_\\u0431\\u0435\\u0439_\\u0436\\u04b1\\u043c_\\u0441\\u0435\\u043d\".split(\"_\"),weekdaysMin:\"\\u0436\\u043a_\\u0434\\u0439_\\u0441\\u0439_\\u0441\\u0440_\\u0431\\u0439_\\u0436\\u043c_\\u0441\\u043d\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u0411\\u04af\\u0433\\u0456\\u043d \\u0441\\u0430\\u0493\\u0430\\u0442] LT\",nextDay:\"[\\u0415\\u0440\\u0442\\u0435\\u04a3 \\u0441\\u0430\\u0493\\u0430\\u0442] LT\",nextWeek:\"dddd [\\u0441\\u0430\\u0493\\u0430\\u0442] LT\",lastDay:\"[\\u041a\\u0435\\u0448\\u0435 \\u0441\\u0430\\u0493\\u0430\\u0442] LT\",lastWeek:\"[\\u04e8\\u0442\\u043a\\u0435\\u043d \\u0430\\u043f\\u0442\\u0430\\u043d\\u044b\\u04a3] dddd [\\u0441\\u0430\\u0493\\u0430\\u0442] LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0456\\u0448\\u0456\\u043d\\u0434\\u0435\",past:\"%s \\u0431\\u04b1\\u0440\\u044b\\u043d\",s:\"\\u0431\\u0456\\u0440\\u043d\\u0435\\u0448\\u0435 \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",ss:\"%d \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",m:\"\\u0431\\u0456\\u0440 \\u043c\\u0438\\u043d\\u0443\\u0442\",mm:\"%d \\u043c\\u0438\\u043d\\u0443\\u0442\",h:\"\\u0431\\u0456\\u0440 \\u0441\\u0430\\u0493\\u0430\\u0442\",hh:\"%d \\u0441\\u0430\\u0493\\u0430\\u0442\",d:\"\\u0431\\u0456\\u0440 \\u043a\\u04af\\u043d\",dd:\"%d \\u043a\\u04af\\u043d\",M:\"\\u0431\\u0456\\u0440 \\u0430\\u0439\",MM:\"%d \\u0430\\u0439\",y:\"\\u0431\\u0456\\u0440 \\u0436\\u044b\\u043b\",yy:\"%d \\u0436\\u044b\\u043b\"},dayOfMonthOrdinalParse:/\\d{1,2}-(\\u0448\\u0456|\\u0448\\u044b)/,ordinal:function(e){return e+(sn[e]||sn[e%10]||sn[100<=e?100:null])},week:{dow:1,doy:7}});var nn={1:\"\\u17e1\",2:\"\\u17e2\",3:\"\\u17e3\",4:\"\\u17e4\",5:\"\\u17e5\",6:\"\\u17e6\",7:\"\\u17e7\",8:\"\\u17e8\",9:\"\\u17e9\",0:\"\\u17e0\"},dn={\"\\u17e1\":\"1\",\"\\u17e2\":\"2\",\"\\u17e3\":\"3\",\"\\u17e4\":\"4\",\"\\u17e5\":\"5\",\"\\u17e6\":\"6\",\"\\u17e7\":\"7\",\"\\u17e8\":\"8\",\"\\u17e9\":\"9\",\"\\u17e0\":\"0\"};l.defineLocale(\"km\",{months:\"\\u1798\\u1780\\u179a\\u17b6_\\u1780\\u17bb\\u1798\\u17d2\\u1797\\u17c8_\\u1798\\u17b8\\u1793\\u17b6_\\u1798\\u17c1\\u179f\\u17b6_\\u17a7\\u179f\\u1797\\u17b6_\\u1798\\u17b7\\u1790\\u17bb\\u1793\\u17b6_\\u1780\\u1780\\u17d2\\u1780\\u178a\\u17b6_\\u179f\\u17b8\\u17a0\\u17b6_\\u1780\\u1789\\u17d2\\u1789\\u17b6_\\u178f\\u17bb\\u179b\\u17b6_\\u179c\\u17b7\\u1785\\u17d2\\u1786\\u17b7\\u1780\\u17b6_\\u1792\\u17d2\\u1793\\u17bc\".split(\"_\"),monthsShort:\"\\u1798\\u1780\\u179a\\u17b6_\\u1780\\u17bb\\u1798\\u17d2\\u1797\\u17c8_\\u1798\\u17b8\\u1793\\u17b6_\\u1798\\u17c1\\u179f\\u17b6_\\u17a7\\u179f\\u1797\\u17b6_\\u1798\\u17b7\\u1790\\u17bb\\u1793\\u17b6_\\u1780\\u1780\\u17d2\\u1780\\u178a\\u17b6_\\u179f\\u17b8\\u17a0\\u17b6_\\u1780\\u1789\\u17d2\\u1789\\u17b6_\\u178f\\u17bb\\u179b\\u17b6_\\u179c\\u17b7\\u1785\\u17d2\\u1786\\u17b7\\u1780\\u17b6_\\u1792\\u17d2\\u1793\\u17bc\".split(\"_\"),weekdays:\"\\u17a2\\u17b6\\u1791\\u17b7\\u178f\\u17d2\\u1799_\\u1785\\u17d0\\u1793\\u17d2\\u1791_\\u17a2\\u1784\\u17d2\\u1782\\u17b6\\u179a_\\u1796\\u17bb\\u1792_\\u1796\\u17d2\\u179a\\u17a0\\u179f\\u17d2\\u1794\\u178f\\u17b7\\u17cd_\\u179f\\u17bb\\u1780\\u17d2\\u179a_\\u179f\\u17c5\\u179a\\u17cd\".split(\"_\"),weekdaysShort:\"\\u17a2\\u17b6_\\u1785_\\u17a2_\\u1796_\\u1796\\u17d2\\u179a_\\u179f\\u17bb_\\u179f\".split(\"_\"),weekdaysMin:\"\\u17a2\\u17b6_\\u1785_\\u17a2_\\u1796_\\u1796\\u17d2\\u179a_\\u179f\\u17bb_\\u179f\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},meridiemParse:/\\u1796\\u17d2\\u179a\\u17b9\\u1780|\\u179b\\u17d2\\u1784\\u17b6\\u1785/,isPM:function(e){return\"\\u179b\\u17d2\\u1784\\u17b6\\u1785\"===e},meridiem:function(e,a,t){return e<12?\"\\u1796\\u17d2\\u179a\\u17b9\\u1780\":\"\\u179b\\u17d2\\u1784\\u17b6\\u1785\"},calendar:{sameDay:\"[\\u1790\\u17d2\\u1784\\u17c3\\u1793\\u17c1\\u17c7 \\u1798\\u17c9\\u17c4\\u1784] LT\",nextDay:\"[\\u179f\\u17d2\\u17a2\\u17c2\\u1780 \\u1798\\u17c9\\u17c4\\u1784] LT\",nextWeek:\"dddd [\\u1798\\u17c9\\u17c4\\u1784] LT\",lastDay:\"[\\u1798\\u17d2\\u179f\\u17b7\\u179b\\u1798\\u17b7\\u1789 \\u1798\\u17c9\\u17c4\\u1784] LT\",lastWeek:\"dddd [\\u179f\\u1794\\u17d2\\u178f\\u17b6\\u17a0\\u17cd\\u1798\\u17bb\\u1793] [\\u1798\\u17c9\\u17c4\\u1784] LT\",sameElse:\"L\"},relativeTime:{future:\"%s\\u1791\\u17c0\\u178f\",past:\"%s\\u1798\\u17bb\\u1793\",s:\"\\u1794\\u17c9\\u17bb\\u1793\\u17d2\\u1798\\u17b6\\u1793\\u179c\\u17b7\\u1793\\u17b6\\u1791\\u17b8\",ss:\"%d \\u179c\\u17b7\\u1793\\u17b6\\u1791\\u17b8\",m:\"\\u1798\\u17bd\\u1799\\u1793\\u17b6\\u1791\\u17b8\",mm:\"%d \\u1793\\u17b6\\u1791\\u17b8\",h:\"\\u1798\\u17bd\\u1799\\u1798\\u17c9\\u17c4\\u1784\",hh:\"%d \\u1798\\u17c9\\u17c4\\u1784\",d:\"\\u1798\\u17bd\\u1799\\u1790\\u17d2\\u1784\\u17c3\",dd:\"%d \\u1790\\u17d2\\u1784\\u17c3\",M:\"\\u1798\\u17bd\\u1799\\u1781\\u17c2\",MM:\"%d \\u1781\\u17c2\",y:\"\\u1798\\u17bd\\u1799\\u1786\\u17d2\\u1793\\u17b6\\u17c6\",yy:\"%d \\u1786\\u17d2\\u1793\\u17b6\\u17c6\"},dayOfMonthOrdinalParse:/\\u1791\\u17b8\\d{1,2}/,ordinal:\"\\u1791\\u17b8%d\",preparse:function(e){return e.replace(/[\\u17e1\\u17e2\\u17e3\\u17e4\\u17e5\\u17e6\\u17e7\\u17e8\\u17e9\\u17e0]/g,function(e){return dn[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return nn[e]})},week:{dow:1,doy:4}});var rn={1:\"\\u0ce7\",2:\"\\u0ce8\",3:\"\\u0ce9\",4:\"\\u0cea\",5:\"\\u0ceb\",6:\"\\u0cec\",7:\"\\u0ced\",8:\"\\u0cee\",9:\"\\u0cef\",0:\"\\u0ce6\"},_n={\"\\u0ce7\":\"1\",\"\\u0ce8\":\"2\",\"\\u0ce9\":\"3\",\"\\u0cea\":\"4\",\"\\u0ceb\":\"5\",\"\\u0cec\":\"6\",\"\\u0ced\":\"7\",\"\\u0cee\":\"8\",\"\\u0cef\":\"9\",\"\\u0ce6\":\"0\"};l.defineLocale(\"kn\",{months:\"\\u0c9c\\u0ca8\\u0cb5\\u0cb0\\u0cbf_\\u0cab\\u0cc6\\u0cac\\u0ccd\\u0cb0\\u0cb5\\u0cb0\\u0cbf_\\u0cae\\u0cbe\\u0cb0\\u0ccd\\u0c9a\\u0ccd_\\u0c8f\\u0caa\\u0ccd\\u0cb0\\u0cbf\\u0cb2\\u0ccd_\\u0cae\\u0cc6\\u0cd5_\\u0c9c\\u0cc2\\u0ca8\\u0ccd_\\u0c9c\\u0cc1\\u0cb2\\u0cc6\\u0cd6_\\u0c86\\u0c97\\u0cb8\\u0ccd\\u0c9f\\u0ccd_\\u0cb8\\u0cc6\\u0caa\\u0ccd\\u0c9f\\u0cc6\\u0c82\\u0cac\\u0cb0\\u0ccd_\\u0c85\\u0c95\\u0ccd\\u0c9f\\u0cc6\\u0cc2\\u0cd5\\u0cac\\u0cb0\\u0ccd_\\u0ca8\\u0cb5\\u0cc6\\u0c82\\u0cac\\u0cb0\\u0ccd_\\u0ca1\\u0cbf\\u0cb8\\u0cc6\\u0c82\\u0cac\\u0cb0\\u0ccd\".split(\"_\"),monthsShort:\"\\u0c9c\\u0ca8_\\u0cab\\u0cc6\\u0cac\\u0ccd\\u0cb0_\\u0cae\\u0cbe\\u0cb0\\u0ccd\\u0c9a\\u0ccd_\\u0c8f\\u0caa\\u0ccd\\u0cb0\\u0cbf\\u0cb2\\u0ccd_\\u0cae\\u0cc6\\u0cd5_\\u0c9c\\u0cc2\\u0ca8\\u0ccd_\\u0c9c\\u0cc1\\u0cb2\\u0cc6\\u0cd6_\\u0c86\\u0c97\\u0cb8\\u0ccd\\u0c9f\\u0ccd_\\u0cb8\\u0cc6\\u0caa\\u0ccd\\u0c9f\\u0cc6\\u0c82_\\u0c85\\u0c95\\u0ccd\\u0c9f\\u0cc6\\u0cc2\\u0cd5_\\u0ca8\\u0cb5\\u0cc6\\u0c82_\\u0ca1\\u0cbf\\u0cb8\\u0cc6\\u0c82\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u0cad\\u0cbe\\u0ca8\\u0cc1\\u0cb5\\u0cbe\\u0cb0_\\u0cb8\\u0cc6\\u0cc2\\u0cd5\\u0cae\\u0cb5\\u0cbe\\u0cb0_\\u0cae\\u0c82\\u0c97\\u0cb3\\u0cb5\\u0cbe\\u0cb0_\\u0cac\\u0cc1\\u0ca7\\u0cb5\\u0cbe\\u0cb0_\\u0c97\\u0cc1\\u0cb0\\u0cc1\\u0cb5\\u0cbe\\u0cb0_\\u0cb6\\u0cc1\\u0c95\\u0ccd\\u0cb0\\u0cb5\\u0cbe\\u0cb0_\\u0cb6\\u0ca8\\u0cbf\\u0cb5\\u0cbe\\u0cb0\".split(\"_\"),weekdaysShort:\"\\u0cad\\u0cbe\\u0ca8\\u0cc1_\\u0cb8\\u0cc6\\u0cc2\\u0cd5\\u0cae_\\u0cae\\u0c82\\u0c97\\u0cb3_\\u0cac\\u0cc1\\u0ca7_\\u0c97\\u0cc1\\u0cb0\\u0cc1_\\u0cb6\\u0cc1\\u0c95\\u0ccd\\u0cb0_\\u0cb6\\u0ca8\\u0cbf\".split(\"_\"),weekdaysMin:\"\\u0cad\\u0cbe_\\u0cb8\\u0cc6\\u0cc2\\u0cd5_\\u0cae\\u0c82_\\u0cac\\u0cc1_\\u0c97\\u0cc1_\\u0cb6\\u0cc1_\\u0cb6\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm\",LLLL:\"dddd, D MMMM YYYY, A h:mm\"},calendar:{sameDay:\"[\\u0c87\\u0c82\\u0ca6\\u0cc1] LT\",nextDay:\"[\\u0ca8\\u0cbe\\u0cb3\\u0cc6] LT\",nextWeek:\"dddd, LT\",lastDay:\"[\\u0ca8\\u0cbf\\u0ca8\\u0ccd\\u0ca8\\u0cc6] LT\",lastWeek:\"[\\u0c95\\u0cc6\\u0cc2\\u0ca8\\u0cc6\\u0caf] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0ca8\\u0c82\\u0ca4\\u0cb0\",past:\"%s \\u0cb9\\u0cbf\\u0c82\\u0ca6\\u0cc6\",s:\"\\u0c95\\u0cc6\\u0cb2\\u0cb5\\u0cc1 \\u0c95\\u0ccd\\u0cb7\\u0ca3\\u0c97\\u0cb3\\u0cc1\",ss:\"%d \\u0cb8\\u0cc6\\u0c95\\u0cc6\\u0c82\\u0ca1\\u0cc1\\u0c97\\u0cb3\\u0cc1\",m:\"\\u0c92\\u0c82\\u0ca6\\u0cc1 \\u0ca8\\u0cbf\\u0cae\\u0cbf\\u0cb7\",mm:\"%d \\u0ca8\\u0cbf\\u0cae\\u0cbf\\u0cb7\",h:\"\\u0c92\\u0c82\\u0ca6\\u0cc1 \\u0c97\\u0c82\\u0c9f\\u0cc6\",hh:\"%d \\u0c97\\u0c82\\u0c9f\\u0cc6\",d:\"\\u0c92\\u0c82\\u0ca6\\u0cc1 \\u0ca6\\u0cbf\\u0ca8\",dd:\"%d \\u0ca6\\u0cbf\\u0ca8\",M:\"\\u0c92\\u0c82\\u0ca6\\u0cc1 \\u0ca4\\u0cbf\\u0c82\\u0c97\\u0cb3\\u0cc1\",MM:\"%d \\u0ca4\\u0cbf\\u0c82\\u0c97\\u0cb3\\u0cc1\",y:\"\\u0c92\\u0c82\\u0ca6\\u0cc1 \\u0cb5\\u0cb0\\u0ccd\\u0cb7\",yy:\"%d \\u0cb5\\u0cb0\\u0ccd\\u0cb7\"},preparse:function(e){return e.replace(/[\\u0ce7\\u0ce8\\u0ce9\\u0cea\\u0ceb\\u0cec\\u0ced\\u0cee\\u0cef\\u0ce6]/g,function(e){return _n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return rn[e]})},meridiemParse:/\\u0cb0\\u0cbe\\u0ca4\\u0ccd\\u0cb0\\u0cbf|\\u0cac\\u0cc6\\u0cb3\\u0cbf\\u0c97\\u0ccd\\u0c97\\u0cc6|\\u0cae\\u0ca7\\u0ccd\\u0caf\\u0cbe\\u0cb9\\u0ccd\\u0ca8|\\u0cb8\\u0c82\\u0c9c\\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0cb0\\u0cbe\\u0ca4\\u0ccd\\u0cb0\\u0cbf\"===a?e<4?e:e+12:\"\\u0cac\\u0cc6\\u0cb3\\u0cbf\\u0c97\\u0ccd\\u0c97\\u0cc6\"===a?e:\"\\u0cae\\u0ca7\\u0ccd\\u0caf\\u0cbe\\u0cb9\\u0ccd\\u0ca8\"===a?10<=e?e:e+12:\"\\u0cb8\\u0c82\\u0c9c\\u0cc6\"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?\"\\u0cb0\\u0cbe\\u0ca4\\u0ccd\\u0cb0\\u0cbf\":e<10?\"\\u0cac\\u0cc6\\u0cb3\\u0cbf\\u0c97\\u0ccd\\u0c97\\u0cc6\":e<17?\"\\u0cae\\u0ca7\\u0ccd\\u0caf\\u0cbe\\u0cb9\\u0ccd\\u0ca8\":e<20?\"\\u0cb8\\u0c82\\u0c9c\\u0cc6\":\"\\u0cb0\\u0cbe\\u0ca4\\u0ccd\\u0cb0\\u0cbf\"},dayOfMonthOrdinalParse:/\\d{1,2}(\\u0ca8\\u0cc6\\u0cd5)/,ordinal:function(e){return e+\"\\u0ca8\\u0cc6\\u0cd5\"},week:{dow:0,doy:6}}),l.defineLocale(\"ko\",{months:\"1\\uc6d4_2\\uc6d4_3\\uc6d4_4\\uc6d4_5\\uc6d4_6\\uc6d4_7\\uc6d4_8\\uc6d4_9\\uc6d4_10\\uc6d4_11\\uc6d4_12\\uc6d4\".split(\"_\"),monthsShort:\"1\\uc6d4_2\\uc6d4_3\\uc6d4_4\\uc6d4_5\\uc6d4_6\\uc6d4_7\\uc6d4_8\\uc6d4_9\\uc6d4_10\\uc6d4_11\\uc6d4_12\\uc6d4\".split(\"_\"),weekdays:\"\\uc77c\\uc694\\uc77c_\\uc6d4\\uc694\\uc77c_\\ud654\\uc694\\uc77c_\\uc218\\uc694\\uc77c_\\ubaa9\\uc694\\uc77c_\\uae08\\uc694\\uc77c_\\ud1a0\\uc694\\uc77c\".split(\"_\"),weekdaysShort:\"\\uc77c_\\uc6d4_\\ud654_\\uc218_\\ubaa9_\\uae08_\\ud1a0\".split(\"_\"),weekdaysMin:\"\\uc77c_\\uc6d4_\\ud654_\\uc218_\\ubaa9_\\uae08_\\ud1a0\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"YYYY.MM.DD.\",LL:\"YYYY\\ub144 MMMM D\\uc77c\",LLL:\"YYYY\\ub144 MMMM D\\uc77c A h:mm\",LLLL:\"YYYY\\ub144 MMMM D\\uc77c dddd A h:mm\",l:\"YYYY.MM.DD.\",ll:\"YYYY\\ub144 MMMM D\\uc77c\",lll:\"YYYY\\ub144 MMMM D\\uc77c A h:mm\",llll:\"YYYY\\ub144 MMMM D\\uc77c dddd A h:mm\"},calendar:{sameDay:\"\\uc624\\ub298 LT\",nextDay:\"\\ub0b4\\uc77c LT\",nextWeek:\"dddd LT\",lastDay:\"\\uc5b4\\uc81c LT\",lastWeek:\"\\uc9c0\\ub09c\\uc8fc dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\ud6c4\",past:\"%s \\uc804\",s:\"\\uba87 \\ucd08\",ss:\"%d\\ucd08\",m:\"1\\ubd84\",mm:\"%d\\ubd84\",h:\"\\ud55c \\uc2dc\\uac04\",hh:\"%d\\uc2dc\\uac04\",d:\"\\ud558\\ub8e8\",dd:\"%d\\uc77c\",M:\"\\ud55c \\ub2ec\",MM:\"%d\\ub2ec\",y:\"\\uc77c \\ub144\",yy:\"%d\\ub144\"},dayOfMonthOrdinalParse:/\\d{1,2}(\\uc77c|\\uc6d4|\\uc8fc)/,ordinal:function(e,a){switch(a){case\"d\":case\"D\":case\"DDD\":return e+\"\\uc77c\";case\"M\":return e+\"\\uc6d4\";case\"w\":case\"W\":return e+\"\\uc8fc\";default:return e}},meridiemParse:/\\uc624\\uc804|\\uc624\\ud6c4/,isPM:function(e){return\"\\uc624\\ud6c4\"===e},meridiem:function(e,a,t){return e<12?\"\\uc624\\uc804\":\"\\uc624\\ud6c4\"}});var on={1:\"\\u0661\",2:\"\\u0662\",3:\"\\u0663\",4:\"\\u0664\",5:\"\\u0665\",6:\"\\u0666\",7:\"\\u0667\",8:\"\\u0668\",9:\"\\u0669\",0:\"\\u0660\"},mn={\"\\u0661\":\"1\",\"\\u0662\":\"2\",\"\\u0663\":\"3\",\"\\u0664\":\"4\",\"\\u0665\":\"5\",\"\\u0666\":\"6\",\"\\u0667\":\"7\",\"\\u0668\":\"8\",\"\\u0669\":\"9\",\"\\u0660\":\"0\"},un=[\"\\u06a9\\u0627\\u0646\\u0648\\u0646\\u06cc \\u062f\\u0648\\u0648\\u06d5\\u0645\",\"\\u0634\\u0648\\u0628\\u0627\\u062a\",\"\\u0626\\u0627\\u0632\\u0627\\u0631\",\"\\u0646\\u06cc\\u0633\\u0627\\u0646\",\"\\u0626\\u0627\\u06cc\\u0627\\u0631\",\"\\u062d\\u0648\\u0632\\u06d5\\u06cc\\u0631\\u0627\\u0646\",\"\\u062a\\u06d5\\u0645\\u0645\\u0648\\u0632\",\"\\u0626\\u0627\\u0628\",\"\\u0626\\u06d5\\u06cc\\u0644\\u0648\\u0648\\u0644\",\"\\u062a\\u0634\\u0631\\u06cc\\u0646\\u06cc \\u06cc\\u06d5\\u0643\\u06d5\\u0645\",\"\\u062a\\u0634\\u0631\\u06cc\\u0646\\u06cc \\u062f\\u0648\\u0648\\u06d5\\u0645\",\"\\u0643\\u0627\\u0646\\u0648\\u0646\\u06cc \\u06cc\\u06d5\\u06a9\\u06d5\\u0645\"];l.defineLocale(\"ku\",{months:un,monthsShort:un,weekdays:\"\\u06cc\\u0647\\u200c\\u0643\\u0634\\u0647\\u200c\\u0645\\u0645\\u0647\\u200c_\\u062f\\u0648\\u0648\\u0634\\u0647\\u200c\\u0645\\u0645\\u0647\\u200c_\\u0633\\u06ce\\u0634\\u0647\\u200c\\u0645\\u0645\\u0647\\u200c_\\u0686\\u0648\\u0627\\u0631\\u0634\\u0647\\u200c\\u0645\\u0645\\u0647\\u200c_\\u067e\\u06ce\\u0646\\u062c\\u0634\\u0647\\u200c\\u0645\\u0645\\u0647\\u200c_\\u0647\\u0647\\u200c\\u06cc\\u0646\\u06cc_\\u0634\\u0647\\u200c\\u0645\\u0645\\u0647\\u200c\".split(\"_\"),weekdaysShort:\"\\u06cc\\u0647\\u200c\\u0643\\u0634\\u0647\\u200c\\u0645_\\u062f\\u0648\\u0648\\u0634\\u0647\\u200c\\u0645_\\u0633\\u06ce\\u0634\\u0647\\u200c\\u0645_\\u0686\\u0648\\u0627\\u0631\\u0634\\u0647\\u200c\\u0645_\\u067e\\u06ce\\u0646\\u062c\\u0634\\u0647\\u200c\\u0645_\\u0647\\u0647\\u200c\\u06cc\\u0646\\u06cc_\\u0634\\u0647\\u200c\\u0645\\u0645\\u0647\\u200c\".split(\"_\"),weekdaysMin:\"\\u06cc_\\u062f_\\u0633_\\u0686_\\u067e_\\u0647_\\u0634\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},meridiemParse:/\\u0626\\u06ce\\u0648\\u0627\\u0631\\u0647\\u200c|\\u0628\\u0647\\u200c\\u06cc\\u0627\\u0646\\u06cc/,isPM:function(e){return/\\u0626\\u06ce\\u0648\\u0627\\u0631\\u0647\\u200c/.test(e)},meridiem:function(e,a,t){return e<12?\"\\u0628\\u0647\\u200c\\u06cc\\u0627\\u0646\\u06cc\":\"\\u0626\\u06ce\\u0648\\u0627\\u0631\\u0647\\u200c\"},calendar:{sameDay:\"[\\u0626\\u0647\\u200c\\u0645\\u0631\\u06c6 \\u0643\\u0627\\u062a\\u0698\\u0645\\u06ce\\u0631] LT\",nextDay:\"[\\u0628\\u0647\\u200c\\u06cc\\u0627\\u0646\\u06cc \\u0643\\u0627\\u062a\\u0698\\u0645\\u06ce\\u0631] LT\",nextWeek:\"dddd [\\u0643\\u0627\\u062a\\u0698\\u0645\\u06ce\\u0631] LT\",lastDay:\"[\\u062f\\u0648\\u06ce\\u0646\\u06ce \\u0643\\u0627\\u062a\\u0698\\u0645\\u06ce\\u0631] LT\",lastWeek:\"dddd [\\u0643\\u0627\\u062a\\u0698\\u0645\\u06ce\\u0631] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0644\\u0647\\u200c %s\",past:\"%s\",s:\"\\u0686\\u0647\\u200c\\u0646\\u062f \\u0686\\u0631\\u0643\\u0647\\u200c\\u06cc\\u0647\\u200c\\u0643\",ss:\"\\u0686\\u0631\\u0643\\u0647\\u200c %d\",m:\"\\u06cc\\u0647\\u200c\\u0643 \\u062e\\u0648\\u0644\\u0647\\u200c\\u0643\",mm:\"%d \\u062e\\u0648\\u0644\\u0647\\u200c\\u0643\",h:\"\\u06cc\\u0647\\u200c\\u0643 \\u0643\\u0627\\u062a\\u0698\\u0645\\u06ce\\u0631\",hh:\"%d \\u0643\\u0627\\u062a\\u0698\\u0645\\u06ce\\u0631\",d:\"\\u06cc\\u0647\\u200c\\u0643 \\u0695\\u06c6\\u0698\",dd:\"%d \\u0695\\u06c6\\u0698\",M:\"\\u06cc\\u0647\\u200c\\u0643 \\u0645\\u0627\\u0646\\u06af\",MM:\"%d \\u0645\\u0627\\u0646\\u06af\",y:\"\\u06cc\\u0647\\u200c\\u0643 \\u0633\\u0627\\u06b5\",yy:\"%d \\u0633\\u0627\\u06b5\"},preparse:function(e){return e.replace(/[\\u0661\\u0662\\u0663\\u0664\\u0665\\u0666\\u0667\\u0668\\u0669\\u0660]/g,function(e){return mn[e]}).replace(/\\u060c/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return on[e]}).replace(/,/g,\"\\u060c\")},week:{dow:6,doy:12}});var ln={0:\"-\\u0447\\u04af\",1:\"-\\u0447\\u0438\",2:\"-\\u0447\\u0438\",3:\"-\\u0447\\u04af\",4:\"-\\u0447\\u04af\",5:\"-\\u0447\\u0438\",6:\"-\\u0447\\u044b\",7:\"-\\u0447\\u0438\",8:\"-\\u0447\\u0438\",9:\"-\\u0447\\u0443\",10:\"-\\u0447\\u0443\",20:\"-\\u0447\\u044b\",30:\"-\\u0447\\u0443\",40:\"-\\u0447\\u044b\",50:\"-\\u0447\\u04af\",60:\"-\\u0447\\u044b\",70:\"-\\u0447\\u0438\",80:\"-\\u0447\\u0438\",90:\"-\\u0447\\u0443\",100:\"-\\u0447\\u04af\"};function Mn(e,a,t,s){var n={m:[\"eng Minutt\",\"enger Minutt\"],h:[\"eng Stonn\",\"enger Stonn\"],d:[\"een Dag\",\"engem Dag\"],M:[\"ee Mount\",\"engem Mount\"],y:[\"ee Joer\",\"engem Joer\"]};return a?n[t][0]:n[t][1]}function hn(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var a=e%10;return hn(0===a?e/10:a)}if(e<1e4){for(;10<=e;)e/=10;return hn(e)}return hn(e/=1e3)}l.defineLocale(\"ky\",{months:\"\\u044f\\u043d\\u0432\\u0430\\u0440\\u044c_\\u0444\\u0435\\u0432\\u0440\\u0430\\u043b\\u044c_\\u043c\\u0430\\u0440\\u0442_\\u0430\\u043f\\u0440\\u0435\\u043b\\u044c_\\u043c\\u0430\\u0439_\\u0438\\u044e\\u043d\\u044c_\\u0438\\u044e\\u043b\\u044c_\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442_\\u0441\\u0435\\u043d\\u0442\\u044f\\u0431\\u0440\\u044c_\\u043e\\u043a\\u0442\\u044f\\u0431\\u0440\\u044c_\\u043d\\u043e\\u044f\\u0431\\u0440\\u044c_\\u0434\\u0435\\u043a\\u0430\\u0431\\u0440\\u044c\".split(\"_\"),monthsShort:\"\\u044f\\u043d\\u0432_\\u0444\\u0435\\u0432_\\u043c\\u0430\\u0440\\u0442_\\u0430\\u043f\\u0440_\\u043c\\u0430\\u0439_\\u0438\\u044e\\u043d\\u044c_\\u0438\\u044e\\u043b\\u044c_\\u0430\\u0432\\u0433_\\u0441\\u0435\\u043d_\\u043e\\u043a\\u0442_\\u043d\\u043e\\u044f_\\u0434\\u0435\\u043a\".split(\"_\"),weekdays:\"\\u0416\\u0435\\u043a\\u0448\\u0435\\u043c\\u0431\\u0438_\\u0414\\u04af\\u0439\\u0448\\u04e9\\u043c\\u0431\\u04af_\\u0428\\u0435\\u0439\\u0448\\u0435\\u043c\\u0431\\u0438_\\u0428\\u0430\\u0440\\u0448\\u0435\\u043c\\u0431\\u0438_\\u0411\\u0435\\u0439\\u0448\\u0435\\u043c\\u0431\\u0438_\\u0416\\u0443\\u043c\\u0430_\\u0418\\u0448\\u0435\\u043c\\u0431\\u0438\".split(\"_\"),weekdaysShort:\"\\u0416\\u0435\\u043a_\\u0414\\u04af\\u0439_\\u0428\\u0435\\u0439_\\u0428\\u0430\\u0440_\\u0411\\u0435\\u0439_\\u0416\\u0443\\u043c_\\u0418\\u0448\\u0435\".split(\"_\"),weekdaysMin:\"\\u0416\\u043a_\\u0414\\u0439_\\u0428\\u0439_\\u0428\\u0440_\\u0411\\u0439_\\u0416\\u043c_\\u0418\\u0448\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u0411\\u04af\\u0433\\u04af\\u043d \\u0441\\u0430\\u0430\\u0442] LT\",nextDay:\"[\\u042d\\u0440\\u0442\\u0435\\u04a3 \\u0441\\u0430\\u0430\\u0442] LT\",nextWeek:\"dddd [\\u0441\\u0430\\u0430\\u0442] LT\",lastDay:\"[\\u041a\\u0435\\u0447\\u044d\\u044d \\u0441\\u0430\\u0430\\u0442] LT\",lastWeek:\"[\\u04e8\\u0442\\u043a\\u04e9\\u043d \\u0430\\u043f\\u0442\\u0430\\u043d\\u044b\\u043d] dddd [\\u043a\\u04af\\u043d\\u04af] [\\u0441\\u0430\\u0430\\u0442] LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0438\\u0447\\u0438\\u043d\\u0434\\u0435\",past:\"%s \\u043c\\u0443\\u0440\\u0443\\u043d\",s:\"\\u0431\\u0438\\u0440\\u043d\\u0435\\u0447\\u0435 \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",ss:\"%d \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",m:\"\\u0431\\u0438\\u0440 \\u043c\\u04af\\u043d\\u04e9\\u0442\",mm:\"%d \\u043c\\u04af\\u043d\\u04e9\\u0442\",h:\"\\u0431\\u0438\\u0440 \\u0441\\u0430\\u0430\\u0442\",hh:\"%d \\u0441\\u0430\\u0430\\u0442\",d:\"\\u0431\\u0438\\u0440 \\u043a\\u04af\\u043d\",dd:\"%d \\u043a\\u04af\\u043d\",M:\"\\u0431\\u0438\\u0440 \\u0430\\u0439\",MM:\"%d \\u0430\\u0439\",y:\"\\u0431\\u0438\\u0440 \\u0436\\u044b\\u043b\",yy:\"%d \\u0436\\u044b\\u043b\"},dayOfMonthOrdinalParse:/\\d{1,2}-(\\u0447\\u0438|\\u0447\\u044b|\\u0447\\u04af|\\u0447\\u0443)/,ordinal:function(e){return e+(ln[e]||ln[e%10]||ln[100<=e?100:null])},week:{dow:1,doy:7}}),l.defineLocale(\"lb\",{months:\"Januar_Februar_M\\xe4erz_Abr\\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonndeg_M\\xe9indeg_D\\xebnschdeg_M\\xebttwoch_Donneschdeg_Freideg_Samschdeg\".split(\"_\"),weekdaysShort:\"So._M\\xe9._D\\xeb._M\\xeb._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_M\\xe9_D\\xeb_M\\xeb_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm [Auer]\",LTS:\"H:mm:ss [Auer]\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm [Auer]\",LLLL:\"dddd, D. MMMM YYYY H:mm [Auer]\"},calendar:{sameDay:\"[Haut um] LT\",sameElse:\"L\",nextDay:\"[Muer um] LT\",nextWeek:\"dddd [um] LT\",lastDay:\"[G\\xebschter um] LT\",lastWeek:function(){switch(this.day()){case 2:case 4:return\"[Leschten] dddd [um] LT\";default:return\"[Leschte] dddd [um] LT\"}}},relativeTime:{future:function(e){return hn(e.substr(0,e.indexOf(\" \")))?\"a \"+e:\"an \"+e},past:function(e){return hn(e.substr(0,e.indexOf(\" \")))?\"viru \"+e:\"virun \"+e},s:\"e puer Sekonnen\",ss:\"%d Sekonnen\",m:Mn,mm:\"%d Minutten\",h:Mn,hh:\"%d Stonnen\",d:Mn,dd:\"%d Deeg\",M:Mn,MM:\"%d M\\xe9int\",y:Mn,yy:\"%d Joer\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"lo\",{months:\"\\u0ea1\\u0eb1\\u0e87\\u0e81\\u0ead\\u0e99_\\u0e81\\u0eb8\\u0ea1\\u0e9e\\u0eb2_\\u0ea1\\u0eb5\\u0e99\\u0eb2_\\u0ec0\\u0ea1\\u0eaa\\u0eb2_\\u0e9e\\u0eb6\\u0e94\\u0eaa\\u0eb0\\u0e9e\\u0eb2_\\u0ea1\\u0eb4\\u0e96\\u0eb8\\u0e99\\u0eb2_\\u0e81\\u0ecd\\u0ea5\\u0eb0\\u0e81\\u0ebb\\u0e94_\\u0eaa\\u0eb4\\u0e87\\u0eab\\u0eb2_\\u0e81\\u0eb1\\u0e99\\u0e8d\\u0eb2_\\u0e95\\u0eb8\\u0ea5\\u0eb2_\\u0e9e\\u0eb0\\u0e88\\u0eb4\\u0e81_\\u0e97\\u0eb1\\u0e99\\u0ea7\\u0eb2\".split(\"_\"),monthsShort:\"\\u0ea1\\u0eb1\\u0e87\\u0e81\\u0ead\\u0e99_\\u0e81\\u0eb8\\u0ea1\\u0e9e\\u0eb2_\\u0ea1\\u0eb5\\u0e99\\u0eb2_\\u0ec0\\u0ea1\\u0eaa\\u0eb2_\\u0e9e\\u0eb6\\u0e94\\u0eaa\\u0eb0\\u0e9e\\u0eb2_\\u0ea1\\u0eb4\\u0e96\\u0eb8\\u0e99\\u0eb2_\\u0e81\\u0ecd\\u0ea5\\u0eb0\\u0e81\\u0ebb\\u0e94_\\u0eaa\\u0eb4\\u0e87\\u0eab\\u0eb2_\\u0e81\\u0eb1\\u0e99\\u0e8d\\u0eb2_\\u0e95\\u0eb8\\u0ea5\\u0eb2_\\u0e9e\\u0eb0\\u0e88\\u0eb4\\u0e81_\\u0e97\\u0eb1\\u0e99\\u0ea7\\u0eb2\".split(\"_\"),weekdays:\"\\u0ead\\u0eb2\\u0e97\\u0eb4\\u0e94_\\u0e88\\u0eb1\\u0e99_\\u0ead\\u0eb1\\u0e87\\u0e84\\u0eb2\\u0e99_\\u0e9e\\u0eb8\\u0e94_\\u0e9e\\u0eb0\\u0eab\\u0eb1\\u0e94_\\u0eaa\\u0eb8\\u0e81_\\u0ec0\\u0eaa\\u0ebb\\u0eb2\".split(\"_\"),weekdaysShort:\"\\u0e97\\u0eb4\\u0e94_\\u0e88\\u0eb1\\u0e99_\\u0ead\\u0eb1\\u0e87\\u0e84\\u0eb2\\u0e99_\\u0e9e\\u0eb8\\u0e94_\\u0e9e\\u0eb0\\u0eab\\u0eb1\\u0e94_\\u0eaa\\u0eb8\\u0e81_\\u0ec0\\u0eaa\\u0ebb\\u0eb2\".split(\"_\"),weekdaysMin:\"\\u0e97_\\u0e88_\\u0ead\\u0e84_\\u0e9e_\\u0e9e\\u0eab_\\u0eaa\\u0e81_\\u0eaa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"\\u0ea7\\u0eb1\\u0e99dddd D MMMM YYYY HH:mm\"},meridiemParse:/\\u0e95\\u0ead\\u0e99\\u0ec0\\u0e8a\\u0ebb\\u0ec9\\u0eb2|\\u0e95\\u0ead\\u0e99\\u0ec1\\u0ea5\\u0e87/,isPM:function(e){return\"\\u0e95\\u0ead\\u0e99\\u0ec1\\u0ea5\\u0e87\"===e},meridiem:function(e,a,t){return e<12?\"\\u0e95\\u0ead\\u0e99\\u0ec0\\u0e8a\\u0ebb\\u0ec9\\u0eb2\":\"\\u0e95\\u0ead\\u0e99\\u0ec1\\u0ea5\\u0e87\"},calendar:{sameDay:\"[\\u0ea1\\u0eb7\\u0ec9\\u0e99\\u0eb5\\u0ec9\\u0ec0\\u0ea7\\u0ea5\\u0eb2] LT\",nextDay:\"[\\u0ea1\\u0eb7\\u0ec9\\u0ead\\u0eb7\\u0ec8\\u0e99\\u0ec0\\u0ea7\\u0ea5\\u0eb2] LT\",nextWeek:\"[\\u0ea7\\u0eb1\\u0e99]dddd[\\u0edc\\u0ec9\\u0eb2\\u0ec0\\u0ea7\\u0ea5\\u0eb2] LT\",lastDay:\"[\\u0ea1\\u0eb7\\u0ec9\\u0ea7\\u0eb2\\u0e99\\u0e99\\u0eb5\\u0ec9\\u0ec0\\u0ea7\\u0ea5\\u0eb2] LT\",lastWeek:\"[\\u0ea7\\u0eb1\\u0e99]dddd[\\u0ec1\\u0ea5\\u0ec9\\u0ea7\\u0e99\\u0eb5\\u0ec9\\u0ec0\\u0ea7\\u0ea5\\u0eb2] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0ead\\u0eb5\\u0e81 %s\",past:\"%s\\u0e9c\\u0ec8\\u0eb2\\u0e99\\u0ea1\\u0eb2\",s:\"\\u0e9a\\u0ecd\\u0ec8\\u0ec0\\u0e97\\u0ebb\\u0ec8\\u0eb2\\u0ec3\\u0e94\\u0ea7\\u0eb4\\u0e99\\u0eb2\\u0e97\\u0eb5\",ss:\"%d \\u0ea7\\u0eb4\\u0e99\\u0eb2\\u0e97\\u0eb5\",m:\"1 \\u0e99\\u0eb2\\u0e97\\u0eb5\",mm:\"%d \\u0e99\\u0eb2\\u0e97\\u0eb5\",h:\"1 \\u0e8a\\u0ebb\\u0ec8\\u0ea7\\u0ec2\\u0ea1\\u0e87\",hh:\"%d \\u0e8a\\u0ebb\\u0ec8\\u0ea7\\u0ec2\\u0ea1\\u0e87\",d:\"1 \\u0ea1\\u0eb7\\u0ec9\",dd:\"%d \\u0ea1\\u0eb7\\u0ec9\",M:\"1 \\u0ec0\\u0e94\\u0eb7\\u0ead\\u0e99\",MM:\"%d \\u0ec0\\u0e94\\u0eb7\\u0ead\\u0e99\",y:\"1 \\u0e9b\\u0eb5\",yy:\"%d \\u0e9b\\u0eb5\"},dayOfMonthOrdinalParse:/(\\u0e97\\u0eb5\\u0ec8)\\d{1,2}/,ordinal:function(e){return\"\\u0e97\\u0eb5\\u0ec8\"+e}});var Ln={ss:\"sekund\\u0117_sekund\\u017ei\\u0173_sekundes\",m:\"minut\\u0117_minut\\u0117s_minut\\u0119\",mm:\"minut\\u0117s_minu\\u010di\\u0173_minutes\",h:\"valanda_valandos_valand\\u0105\",hh:\"valandos_valand\\u0173_valandas\",d:\"diena_dienos_dien\\u0105\",dd:\"dienos_dien\\u0173_dienas\",M:\"m\\u0117nuo_m\\u0117nesio_m\\u0117nes\\u012f\",MM:\"m\\u0117nesiai_m\\u0117nesi\\u0173_m\\u0117nesius\",y:\"metai_met\\u0173_metus\",yy:\"metai_met\\u0173_metus\"};function cn(e,a,t,s){return a?yn(t)[0]:s?yn(t)[1]:yn(t)[2]}function Yn(e){return e%10==0||10<e&&e<20}function yn(e){return Ln[e].split(\"_\")}function fn(e,a,t,s){var n=e+\" \";return 1===e?n+cn(0,a,t[0],s):a?n+(Yn(e)?yn(t)[1]:yn(t)[0]):s?n+yn(t)[1]:n+(Yn(e)?yn(t)[1]:yn(t)[2])}l.defineLocale(\"lt\",{months:{format:\"sausio_vasario_kovo_baland\\u017eio_gegu\\u017e\\u0117s_bir\\u017eelio_liepos_rugpj\\u016b\\u010dio_rugs\\u0117jo_spalio_lapkri\\u010dio_gruod\\u017eio\".split(\"_\"),standalone:\"sausis_vasaris_kovas_balandis_gegu\\u017e\\u0117_bir\\u017eelis_liepa_rugpj\\u016btis_rugs\\u0117jis_spalis_lapkritis_gruodis\".split(\"_\"),isFormat:/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/},monthsShort:\"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd\".split(\"_\"),weekdays:{format:\"sekmadien\\u012f_pirmadien\\u012f_antradien\\u012f_tre\\u010diadien\\u012f_ketvirtadien\\u012f_penktadien\\u012f_\\u0161e\\u0161tadien\\u012f\".split(\"_\"),standalone:\"sekmadienis_pirmadienis_antradienis_tre\\u010diadienis_ketvirtadienis_penktadienis_\\u0161e\\u0161tadienis\".split(\"_\"),isFormat:/dddd HH:mm/},weekdaysShort:\"Sek_Pir_Ant_Tre_Ket_Pen_\\u0160e\\u0161\".split(\"_\"),weekdaysMin:\"S_P_A_T_K_Pn_\\u0160\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY [m.] MMMM D [d.]\",LLL:\"YYYY [m.] MMMM D [d.], HH:mm [val.]\",LLLL:\"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]\",l:\"YYYY-MM-DD\",ll:\"YYYY [m.] MMMM D [d.]\",lll:\"YYYY [m.] MMMM D [d.], HH:mm [val.]\",llll:\"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]\"},calendar:{sameDay:\"[\\u0160iandien] LT\",nextDay:\"[Rytoj] LT\",nextWeek:\"dddd LT\",lastDay:\"[Vakar] LT\",lastWeek:\"[Pra\\u0117jus\\u012f] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"po %s\",past:\"prie\\u0161 %s\",s:function(e,a,t,s){return a?\"kelios sekund\\u0117s\":s?\"keli\\u0173 sekund\\u017ei\\u0173\":\"kelias sekundes\"},ss:fn,m:cn,mm:fn,h:cn,hh:fn,d:cn,dd:fn,M:cn,MM:fn,y:cn,yy:fn},dayOfMonthOrdinalParse:/\\d{1,2}-oji/,ordinal:function(e){return e+\"-oji\"},week:{dow:1,doy:4}});var kn={ss:\"sekundes_sekund\\u0113m_sekunde_sekundes\".split(\"_\"),m:\"min\\u016btes_min\\u016bt\\u0113m_min\\u016bte_min\\u016btes\".split(\"_\"),mm:\"min\\u016btes_min\\u016bt\\u0113m_min\\u016bte_min\\u016btes\".split(\"_\"),h:\"stundas_stund\\u0101m_stunda_stundas\".split(\"_\"),hh:\"stundas_stund\\u0101m_stunda_stundas\".split(\"_\"),d:\"dienas_dien\\u0101m_diena_dienas\".split(\"_\"),dd:\"dienas_dien\\u0101m_diena_dienas\".split(\"_\"),M:\"m\\u0113ne\\u0161a_m\\u0113ne\\u0161iem_m\\u0113nesis_m\\u0113ne\\u0161i\".split(\"_\"),MM:\"m\\u0113ne\\u0161a_m\\u0113ne\\u0161iem_m\\u0113nesis_m\\u0113ne\\u0161i\".split(\"_\"),y:\"gada_gadiem_gads_gadi\".split(\"_\"),yy:\"gada_gadiem_gads_gadi\".split(\"_\")};function pn(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function Dn(e,a,t){return e+\" \"+pn(kn[t],e,a)}function Tn(e,a,t){return pn(kn[t],e,a)}l.defineLocale(\"lv\",{months:\"janv\\u0101ris_febru\\u0101ris_marts_apr\\u012blis_maijs_j\\u016bnijs_j\\u016blijs_augusts_septembris_oktobris_novembris_decembris\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_j\\u016bn_j\\u016bl_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"sv\\u0113tdiena_pirmdiena_otrdiena_tre\\u0161diena_ceturtdiena_piektdiena_sestdiena\".split(\"_\"),weekdaysShort:\"Sv_P_O_T_C_Pk_S\".split(\"_\"),weekdaysMin:\"Sv_P_O_T_C_Pk_S\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY.\",LL:\"YYYY. [gada] D. MMMM\",LLL:\"YYYY. [gada] D. MMMM, HH:mm\",LLLL:\"YYYY. [gada] D. MMMM, dddd, HH:mm\"},calendar:{sameDay:\"[\\u0160odien pulksten] LT\",nextDay:\"[R\\u012bt pulksten] LT\",nextWeek:\"dddd [pulksten] LT\",lastDay:\"[Vakar pulksten] LT\",lastWeek:\"[Pag\\u0101ju\\u0161\\u0101] dddd [pulksten] LT\",sameElse:\"L\"},relativeTime:{future:\"p\\u0113c %s\",past:\"pirms %s\",s:function(e,a){return a?\"da\\u017eas sekundes\":\"da\\u017e\\u0101m sekund\\u0113m\"},ss:Dn,m:Tn,mm:Dn,h:Tn,hh:Dn,d:Tn,dd:Dn,M:Tn,MM:Dn,y:Tn,yy:Dn},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});var gn={words:{ss:[\"sekund\",\"sekunda\",\"sekundi\"],m:[\"jedan minut\",\"jednog minuta\"],mm:[\"minut\",\"minuta\",\"minuta\"],h:[\"jedan sat\",\"jednog sata\"],hh:[\"sat\",\"sata\",\"sati\"],dd:[\"dan\",\"dana\",\"dana\"],MM:[\"mjesec\",\"mjeseca\",\"mjeseci\"],yy:[\"godina\",\"godine\",\"godina\"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=gn.words[t];return 1===t.length?a?s[0]:s[1]:e+\" \"+gn.correctGrammaticalCase(e,s)}};function wn(e,a,t,s){switch(t){case\"s\":return a?\"\\u0445\\u044d\\u0434\\u0445\\u044d\\u043d \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\":\"\\u0445\\u044d\\u0434\\u0445\\u044d\\u043d \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u044b\\u043d\";case\"ss\":return e+(a?\" \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\":\" \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u044b\\u043d\");case\"m\":case\"mm\":return e+(a?\" \\u043c\\u0438\\u043d\\u0443\\u0442\":\" \\u043c\\u0438\\u043d\\u0443\\u0442\\u044b\\u043d\");case\"h\":case\"hh\":return e+(a?\" \\u0446\\u0430\\u0433\":\" \\u0446\\u0430\\u0433\\u0438\\u0439\\u043d\");case\"d\":case\"dd\":return e+(a?\" \\u04e9\\u0434\\u04e9\\u0440\":\" \\u04e9\\u0434\\u0440\\u0438\\u0439\\u043d\");case\"M\":case\"MM\":return e+(a?\" \\u0441\\u0430\\u0440\":\" \\u0441\\u0430\\u0440\\u044b\\u043d\");case\"y\":case\"yy\":return e+(a?\" \\u0436\\u0438\\u043b\":\" \\u0436\\u0438\\u043b\\u0438\\u0439\\u043d\");default:return e}}l.defineLocale(\"me\",{months:\"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_\\u010detvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._\\u010det._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_\\u010de_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sjutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[ju\\u010de u] LT\",lastWeek:function(){return[\"[pro\\u0161le] [nedjelje] [u] LT\",\"[pro\\u0161log] [ponedjeljka] [u] LT\",\"[pro\\u0161log] [utorka] [u] LT\",\"[pro\\u0161le] [srijede] [u] LT\",\"[pro\\u0161log] [\\u010detvrtka] [u] LT\",\"[pro\\u0161log] [petka] [u] LT\",\"[pro\\u0161le] [subote] [u] LT\"][this.day()]},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"nekoliko sekundi\",ss:gn.translate,m:gn.translate,mm:gn.translate,h:gn.translate,hh:gn.translate,d:\"dan\",dd:gn.translate,M:\"mjesec\",MM:gn.translate,y:\"godinu\",yy:gn.translate},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),l.defineLocale(\"mi\",{months:\"Kohi-t\\u0101te_Hui-tanguru_Pout\\u016b-te-rangi_Paenga-wh\\u0101wh\\u0101_Haratua_Pipiri_H\\u014dngoingoi_Here-turi-k\\u014dk\\u0101_Mahuru_Whiringa-\\u0101-nuku_Whiringa-\\u0101-rangi_Hakihea\".split(\"_\"),monthsShort:\"Kohi_Hui_Pou_Pae_Hara_Pipi_H\\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki\".split(\"_\"),monthsRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,monthsShortRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,weekdays:\"R\\u0101tapu_Mane_T\\u016brei_Wenerei_T\\u0101ite_Paraire_H\\u0101tarei\".split(\"_\"),weekdaysShort:\"Ta_Ma_T\\u016b_We_T\\u0101i_Pa_H\\u0101\".split(\"_\"),weekdaysMin:\"Ta_Ma_T\\u016b_We_T\\u0101i_Pa_H\\u0101\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [i] HH:mm\",LLLL:\"dddd, D MMMM YYYY [i] HH:mm\"},calendar:{sameDay:\"[i teie mahana, i] LT\",nextDay:\"[apopo i] LT\",nextWeek:\"dddd [i] LT\",lastDay:\"[inanahi i] LT\",lastWeek:\"dddd [whakamutunga i] LT\",sameElse:\"L\"},relativeTime:{future:\"i roto i %s\",past:\"%s i mua\",s:\"te h\\u0113kona ruarua\",ss:\"%d h\\u0113kona\",m:\"he meneti\",mm:\"%d meneti\",h:\"te haora\",hh:\"%d haora\",d:\"he ra\",dd:\"%d ra\",M:\"he marama\",MM:\"%d marama\",y:\"he tau\",yy:\"%d tau\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\",week:{dow:1,doy:4}}),l.defineLocale(\"mk\",{months:\"\\u0458\\u0430\\u043d\\u0443\\u0430\\u0440\\u0438_\\u0444\\u0435\\u0432\\u0440\\u0443\\u0430\\u0440\\u0438_\\u043c\\u0430\\u0440\\u0442_\\u0430\\u043f\\u0440\\u0438\\u043b_\\u043c\\u0430\\u0458_\\u0458\\u0443\\u043d\\u0438_\\u0458\\u0443\\u043b\\u0438_\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442_\\u0441\\u0435\\u043f\\u0442\\u0435\\u043c\\u0432\\u0440\\u0438_\\u043e\\u043a\\u0442\\u043e\\u043c\\u0432\\u0440\\u0438_\\u043d\\u043e\\u0435\\u043c\\u0432\\u0440\\u0438_\\u0434\\u0435\\u043a\\u0435\\u043c\\u0432\\u0440\\u0438\".split(\"_\"),monthsShort:\"\\u0458\\u0430\\u043d_\\u0444\\u0435\\u0432_\\u043c\\u0430\\u0440_\\u0430\\u043f\\u0440_\\u043c\\u0430\\u0458_\\u0458\\u0443\\u043d_\\u0458\\u0443\\u043b_\\u0430\\u0432\\u0433_\\u0441\\u0435\\u043f_\\u043e\\u043a\\u0442_\\u043d\\u043e\\u0435_\\u0434\\u0435\\u043a\".split(\"_\"),weekdays:\"\\u043d\\u0435\\u0434\\u0435\\u043b\\u0430_\\u043f\\u043e\\u043d\\u0435\\u0434\\u0435\\u043b\\u043d\\u0438\\u043a_\\u0432\\u0442\\u043e\\u0440\\u043d\\u0438\\u043a_\\u0441\\u0440\\u0435\\u0434\\u0430_\\u0447\\u0435\\u0442\\u0432\\u0440\\u0442\\u043e\\u043a_\\u043f\\u0435\\u0442\\u043e\\u043a_\\u0441\\u0430\\u0431\\u043e\\u0442\\u0430\".split(\"_\"),weekdaysShort:\"\\u043d\\u0435\\u0434_\\u043f\\u043e\\u043d_\\u0432\\u0442\\u043e_\\u0441\\u0440\\u0435_\\u0447\\u0435\\u0442_\\u043f\\u0435\\u0442_\\u0441\\u0430\\u0431\".split(\"_\"),weekdaysMin:\"\\u043de_\\u043fo_\\u0432\\u0442_\\u0441\\u0440_\\u0447\\u0435_\\u043f\\u0435_\\u0441a\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"D.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[\\u0414\\u0435\\u043d\\u0435\\u0441 \\u0432\\u043e] LT\",nextDay:\"[\\u0423\\u0442\\u0440\\u0435 \\u0432\\u043e] LT\",nextWeek:\"[\\u0412\\u043e] dddd [\\u0432\\u043e] LT\",lastDay:\"[\\u0412\\u0447\\u0435\\u0440\\u0430 \\u0432\\u043e] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return\"[\\u0418\\u0437\\u043c\\u0438\\u043d\\u0430\\u0442\\u0430\\u0442\\u0430] dddd [\\u0432\\u043e] LT\";case 1:case 2:case 4:case 5:return\"[\\u0418\\u0437\\u043c\\u0438\\u043d\\u0430\\u0442\\u0438\\u043e\\u0442] dddd [\\u0432\\u043e] LT\"}},sameElse:\"L\"},relativeTime:{future:\"\\u043f\\u043e\\u0441\\u043b\\u0435 %s\",past:\"\\u043f\\u0440\\u0435\\u0434 %s\",s:\"\\u043d\\u0435\\u043a\\u043e\\u043b\\u043a\\u0443 \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0438\",ss:\"%d \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0438\",m:\"\\u043c\\u0438\\u043d\\u0443\\u0442\\u0430\",mm:\"%d \\u043c\\u0438\\u043d\\u0443\\u0442\\u0438\",h:\"\\u0447\\u0430\\u0441\",hh:\"%d \\u0447\\u0430\\u0441\\u0430\",d:\"\\u0434\\u0435\\u043d\",dd:\"%d \\u0434\\u0435\\u043d\\u0430\",M:\"\\u043c\\u0435\\u0441\\u0435\\u0446\",MM:\"%d \\u043c\\u0435\\u0441\\u0435\\u0446\\u0438\",y:\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0430\",yy:\"%d \\u0433\\u043e\\u0434\\u0438\\u043d\\u0438\"},dayOfMonthOrdinalParse:/\\d{1,2}-(\\u0435\\u0432|\\u0435\\u043d|\\u0442\\u0438|\\u0432\\u0438|\\u0440\\u0438|\\u043c\\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+\"-\\u0435\\u0432\":0===t?e+\"-\\u0435\\u043d\":10<t&&t<20?e+\"-\\u0442\\u0438\":1===a?e+\"-\\u0432\\u0438\":2===a?e+\"-\\u0440\\u0438\":7===a||8===a?e+\"-\\u043c\\u0438\":e+\"-\\u0442\\u0438\"},week:{dow:1,doy:7}}),l.defineLocale(\"ml\",{months:\"\\u0d1c\\u0d28\\u0d41\\u0d35\\u0d30\\u0d3f_\\u0d2b\\u0d46\\u0d2c\\u0d4d\\u0d30\\u0d41\\u0d35\\u0d30\\u0d3f_\\u0d2e\\u0d3e\\u0d7c\\u0d1a\\u0d4d\\u0d1a\\u0d4d_\\u0d0f\\u0d2a\\u0d4d\\u0d30\\u0d3f\\u0d7d_\\u0d2e\\u0d47\\u0d2f\\u0d4d_\\u0d1c\\u0d42\\u0d7a_\\u0d1c\\u0d42\\u0d32\\u0d48_\\u0d13\\u0d17\\u0d38\\u0d4d\\u0d31\\u0d4d\\u0d31\\u0d4d_\\u0d38\\u0d46\\u0d2a\\u0d4d\\u0d31\\u0d4d\\u0d31\\u0d02\\u0d2c\\u0d7c_\\u0d12\\u0d15\\u0d4d\\u0d1f\\u0d4b\\u0d2c\\u0d7c_\\u0d28\\u0d35\\u0d02\\u0d2c\\u0d7c_\\u0d21\\u0d3f\\u0d38\\u0d02\\u0d2c\\u0d7c\".split(\"_\"),monthsShort:\"\\u0d1c\\u0d28\\u0d41._\\u0d2b\\u0d46\\u0d2c\\u0d4d\\u0d30\\u0d41._\\u0d2e\\u0d3e\\u0d7c._\\u0d0f\\u0d2a\\u0d4d\\u0d30\\u0d3f._\\u0d2e\\u0d47\\u0d2f\\u0d4d_\\u0d1c\\u0d42\\u0d7a_\\u0d1c\\u0d42\\u0d32\\u0d48._\\u0d13\\u0d17._\\u0d38\\u0d46\\u0d2a\\u0d4d\\u0d31\\u0d4d\\u0d31._\\u0d12\\u0d15\\u0d4d\\u0d1f\\u0d4b._\\u0d28\\u0d35\\u0d02._\\u0d21\\u0d3f\\u0d38\\u0d02.\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u0d1e\\u0d3e\\u0d2f\\u0d31\\u0d3e\\u0d34\\u0d4d\\u0d1a_\\u0d24\\u0d3f\\u0d19\\u0d4d\\u0d15\\u0d33\\u0d3e\\u0d34\\u0d4d\\u0d1a_\\u0d1a\\u0d4a\\u0d35\\u0d4d\\u0d35\\u0d3e\\u0d34\\u0d4d\\u0d1a_\\u0d2c\\u0d41\\u0d27\\u0d28\\u0d3e\\u0d34\\u0d4d\\u0d1a_\\u0d35\\u0d4d\\u0d2f\\u0d3e\\u0d34\\u0d3e\\u0d34\\u0d4d\\u0d1a_\\u0d35\\u0d46\\u0d33\\u0d4d\\u0d33\\u0d3f\\u0d2f\\u0d3e\\u0d34\\u0d4d\\u0d1a_\\u0d36\\u0d28\\u0d3f\\u0d2f\\u0d3e\\u0d34\\u0d4d\\u0d1a\".split(\"_\"),weekdaysShort:\"\\u0d1e\\u0d3e\\u0d2f\\u0d7c_\\u0d24\\u0d3f\\u0d19\\u0d4d\\u0d15\\u0d7e_\\u0d1a\\u0d4a\\u0d35\\u0d4d\\u0d35_\\u0d2c\\u0d41\\u0d27\\u0d7b_\\u0d35\\u0d4d\\u0d2f\\u0d3e\\u0d34\\u0d02_\\u0d35\\u0d46\\u0d33\\u0d4d\\u0d33\\u0d3f_\\u0d36\\u0d28\\u0d3f\".split(\"_\"),weekdaysMin:\"\\u0d1e\\u0d3e_\\u0d24\\u0d3f_\\u0d1a\\u0d4a_\\u0d2c\\u0d41_\\u0d35\\u0d4d\\u0d2f\\u0d3e_\\u0d35\\u0d46_\\u0d36\".split(\"_\"),longDateFormat:{LT:\"A h:mm -\\u0d28\\u0d41\",LTS:\"A h:mm:ss -\\u0d28\\u0d41\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm -\\u0d28\\u0d41\",LLLL:\"dddd, D MMMM YYYY, A h:mm -\\u0d28\\u0d41\"},calendar:{sameDay:\"[\\u0d07\\u0d28\\u0d4d\\u0d28\\u0d4d] LT\",nextDay:\"[\\u0d28\\u0d3e\\u0d33\\u0d46] LT\",nextWeek:\"dddd, LT\",lastDay:\"[\\u0d07\\u0d28\\u0d4d\\u0d28\\u0d32\\u0d46] LT\",lastWeek:\"[\\u0d15\\u0d34\\u0d3f\\u0d1e\\u0d4d\\u0d1e] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0d15\\u0d34\\u0d3f\\u0d1e\\u0d4d\\u0d1e\\u0d4d\",past:\"%s \\u0d2e\\u0d41\\u0d7b\\u0d2a\\u0d4d\",s:\"\\u0d05\\u0d7d\\u0d2a \\u0d28\\u0d3f\\u0d2e\\u0d3f\\u0d37\\u0d19\\u0d4d\\u0d19\\u0d7e\",ss:\"%d \\u0d38\\u0d46\\u0d15\\u0d4d\\u0d15\\u0d7b\\u0d21\\u0d4d\",m:\"\\u0d12\\u0d30\\u0d41 \\u0d2e\\u0d3f\\u0d28\\u0d3f\\u0d31\\u0d4d\\u0d31\\u0d4d\",mm:\"%d \\u0d2e\\u0d3f\\u0d28\\u0d3f\\u0d31\\u0d4d\\u0d31\\u0d4d\",h:\"\\u0d12\\u0d30\\u0d41 \\u0d2e\\u0d23\\u0d3f\\u0d15\\u0d4d\\u0d15\\u0d42\\u0d7c\",hh:\"%d \\u0d2e\\u0d23\\u0d3f\\u0d15\\u0d4d\\u0d15\\u0d42\\u0d7c\",d:\"\\u0d12\\u0d30\\u0d41 \\u0d26\\u0d3f\\u0d35\\u0d38\\u0d02\",dd:\"%d \\u0d26\\u0d3f\\u0d35\\u0d38\\u0d02\",M:\"\\u0d12\\u0d30\\u0d41 \\u0d2e\\u0d3e\\u0d38\\u0d02\",MM:\"%d \\u0d2e\\u0d3e\\u0d38\\u0d02\",y:\"\\u0d12\\u0d30\\u0d41 \\u0d35\\u0d7c\\u0d37\\u0d02\",yy:\"%d \\u0d35\\u0d7c\\u0d37\\u0d02\"},meridiemParse:/\\u0d30\\u0d3e\\u0d24\\u0d4d\\u0d30\\u0d3f|\\u0d30\\u0d3e\\u0d35\\u0d3f\\u0d32\\u0d46|\\u0d09\\u0d1a\\u0d4d\\u0d1a \\u0d15\\u0d34\\u0d3f\\u0d1e\\u0d4d\\u0d1e\\u0d4d|\\u0d35\\u0d48\\u0d15\\u0d41\\u0d28\\u0d4d\\u0d28\\u0d47\\u0d30\\u0d02|\\u0d30\\u0d3e\\u0d24\\u0d4d\\u0d30\\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0d30\\u0d3e\\u0d24\\u0d4d\\u0d30\\u0d3f\"===a&&4<=e||\"\\u0d09\\u0d1a\\u0d4d\\u0d1a \\u0d15\\u0d34\\u0d3f\\u0d1e\\u0d4d\\u0d1e\\u0d4d\"===a||\"\\u0d35\\u0d48\\u0d15\\u0d41\\u0d28\\u0d4d\\u0d28\\u0d47\\u0d30\\u0d02\"===a?e+12:e},meridiem:function(e,a,t){return e<4?\"\\u0d30\\u0d3e\\u0d24\\u0d4d\\u0d30\\u0d3f\":e<12?\"\\u0d30\\u0d3e\\u0d35\\u0d3f\\u0d32\\u0d46\":e<17?\"\\u0d09\\u0d1a\\u0d4d\\u0d1a \\u0d15\\u0d34\\u0d3f\\u0d1e\\u0d4d\\u0d1e\\u0d4d\":e<20?\"\\u0d35\\u0d48\\u0d15\\u0d41\\u0d28\\u0d4d\\u0d28\\u0d47\\u0d30\\u0d02\":\"\\u0d30\\u0d3e\\u0d24\\u0d4d\\u0d30\\u0d3f\"}}),l.defineLocale(\"mn\",{months:\"\\u041d\\u044d\\u0433\\u0434\\u04af\\u0433\\u044d\\u044d\\u0440 \\u0441\\u0430\\u0440_\\u0425\\u043e\\u0451\\u0440\\u0434\\u0443\\u0433\\u0430\\u0430\\u0440 \\u0441\\u0430\\u0440_\\u0413\\u0443\\u0440\\u0430\\u0432\\u0434\\u0443\\u0433\\u0430\\u0430\\u0440 \\u0441\\u0430\\u0440_\\u0414\\u04e9\\u0440\\u04e9\\u0432\\u0434\\u04af\\u0433\\u044d\\u044d\\u0440 \\u0441\\u0430\\u0440_\\u0422\\u0430\\u0432\\u0434\\u0443\\u0433\\u0430\\u0430\\u0440 \\u0441\\u0430\\u0440_\\u0417\\u0443\\u0440\\u0433\\u0430\\u0434\\u0443\\u0433\\u0430\\u0430\\u0440 \\u0441\\u0430\\u0440_\\u0414\\u043e\\u043b\\u0434\\u0443\\u0433\\u0430\\u0430\\u0440 \\u0441\\u0430\\u0440_\\u041d\\u0430\\u0439\\u043c\\u0434\\u0443\\u0433\\u0430\\u0430\\u0440 \\u0441\\u0430\\u0440_\\u0415\\u0441\\u0434\\u04af\\u0433\\u044d\\u044d\\u0440 \\u0441\\u0430\\u0440_\\u0410\\u0440\\u0430\\u0432\\u0434\\u0443\\u0433\\u0430\\u0430\\u0440 \\u0441\\u0430\\u0440_\\u0410\\u0440\\u0432\\u0430\\u043d \\u043d\\u044d\\u0433\\u0434\\u04af\\u0433\\u044d\\u044d\\u0440 \\u0441\\u0430\\u0440_\\u0410\\u0440\\u0432\\u0430\\u043d \\u0445\\u043e\\u0451\\u0440\\u0434\\u0443\\u0433\\u0430\\u0430\\u0440 \\u0441\\u0430\\u0440\".split(\"_\"),monthsShort:\"1 \\u0441\\u0430\\u0440_2 \\u0441\\u0430\\u0440_3 \\u0441\\u0430\\u0440_4 \\u0441\\u0430\\u0440_5 \\u0441\\u0430\\u0440_6 \\u0441\\u0430\\u0440_7 \\u0441\\u0430\\u0440_8 \\u0441\\u0430\\u0440_9 \\u0441\\u0430\\u0440_10 \\u0441\\u0430\\u0440_11 \\u0441\\u0430\\u0440_12 \\u0441\\u0430\\u0440\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u041d\\u044f\\u043c_\\u0414\\u0430\\u0432\\u0430\\u0430_\\u041c\\u044f\\u0433\\u043c\\u0430\\u0440_\\u041b\\u0445\\u0430\\u0433\\u0432\\u0430_\\u041f\\u04af\\u0440\\u044d\\u0432_\\u0411\\u0430\\u0430\\u0441\\u0430\\u043d_\\u0411\\u044f\\u043c\\u0431\\u0430\".split(\"_\"),weekdaysShort:\"\\u041d\\u044f\\u043c_\\u0414\\u0430\\u0432_\\u041c\\u044f\\u0433_\\u041b\\u0445\\u0430_\\u041f\\u04af\\u0440_\\u0411\\u0430\\u0430_\\u0411\\u044f\\u043c\".split(\"_\"),weekdaysMin:\"\\u041d\\u044f_\\u0414\\u0430_\\u041c\\u044f_\\u041b\\u0445_\\u041f\\u04af_\\u0411\\u0430_\\u0411\\u044f\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY \\u043e\\u043d\\u044b MMMM\\u044b\\u043d D\",LLL:\"YYYY \\u043e\\u043d\\u044b MMMM\\u044b\\u043d D HH:mm\",LLLL:\"dddd, YYYY \\u043e\\u043d\\u044b MMMM\\u044b\\u043d D HH:mm\"},meridiemParse:/\\u04ae\\u04e8|\\u04ae\\u0425/i,isPM:function(e){return\"\\u04ae\\u0425\"===e},meridiem:function(e,a,t){return e<12?\"\\u04ae\\u04e8\":\"\\u04ae\\u0425\"},calendar:{sameDay:\"[\\u04e8\\u043d\\u04e9\\u04e9\\u0434\\u04e9\\u0440] LT\",nextDay:\"[\\u041c\\u0430\\u0440\\u0433\\u0430\\u0430\\u0448] LT\",nextWeek:\"[\\u0418\\u0440\\u044d\\u0445] dddd LT\",lastDay:\"[\\u04e8\\u0447\\u0438\\u0433\\u0434\\u04e9\\u0440] LT\",lastWeek:\"[\\u04e8\\u043d\\u0433\\u04e9\\u0440\\u0441\\u04e9\\u043d] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0434\\u0430\\u0440\\u0430\\u0430\",past:\"%s \\u04e9\\u043c\\u043d\\u04e9\",s:wn,ss:wn,m:wn,mm:wn,h:wn,hh:wn,d:wn,dd:wn,M:wn,MM:wn,y:wn,yy:wn},dayOfMonthOrdinalParse:/\\d{1,2} \\u04e9\\u0434\\u04e9\\u0440/,ordinal:function(e,a){switch(a){case\"d\":case\"D\":case\"DDD\":return e+\" \\u04e9\\u0434\\u04e9\\u0440\";default:return e}}});var vn={1:\"\\u0967\",2:\"\\u0968\",3:\"\\u0969\",4:\"\\u096a\",5:\"\\u096b\",6:\"\\u096c\",7:\"\\u096d\",8:\"\\u096e\",9:\"\\u096f\",0:\"\\u0966\"},Sn={\"\\u0967\":\"1\",\"\\u0968\":\"2\",\"\\u0969\":\"3\",\"\\u096a\":\"4\",\"\\u096b\":\"5\",\"\\u096c\":\"6\",\"\\u096d\":\"7\",\"\\u096e\":\"8\",\"\\u096f\":\"9\",\"\\u0966\":\"0\"};function Hn(e,a,t,s){var n=\"\";if(a)switch(t){case\"s\":n=\"\\u0915\\u093e\\u0939\\u0940 \\u0938\\u0947\\u0915\\u0902\\u0926\";break;case\"ss\":n=\"%d \\u0938\\u0947\\u0915\\u0902\\u0926\";break;case\"m\":n=\"\\u090f\\u0915 \\u092e\\u093f\\u0928\\u093f\\u091f\";break;case\"mm\":n=\"%d \\u092e\\u093f\\u0928\\u093f\\u091f\\u0947\";break;case\"h\":n=\"\\u090f\\u0915 \\u0924\\u093e\\u0938\";break;case\"hh\":n=\"%d \\u0924\\u093e\\u0938\";break;case\"d\":n=\"\\u090f\\u0915 \\u0926\\u093f\\u0935\\u0938\";break;case\"dd\":n=\"%d \\u0926\\u093f\\u0935\\u0938\";break;case\"M\":n=\"\\u090f\\u0915 \\u092e\\u0939\\u093f\\u0928\\u093e\";break;case\"MM\":n=\"%d \\u092e\\u0939\\u093f\\u0928\\u0947\";break;case\"y\":n=\"\\u090f\\u0915 \\u0935\\u0930\\u094d\\u0937\";break;case\"yy\":n=\"%d \\u0935\\u0930\\u094d\\u0937\\u0947\";break}else switch(t){case\"s\":n=\"\\u0915\\u093e\\u0939\\u0940 \\u0938\\u0947\\u0915\\u0902\\u0926\\u093e\\u0902\";break;case\"ss\":n=\"%d \\u0938\\u0947\\u0915\\u0902\\u0926\\u093e\\u0902\";break;case\"m\":n=\"\\u090f\\u0915\\u093e \\u092e\\u093f\\u0928\\u093f\\u091f\\u093e\";break;case\"mm\":n=\"%d \\u092e\\u093f\\u0928\\u093f\\u091f\\u093e\\u0902\";break;case\"h\":n=\"\\u090f\\u0915\\u093e \\u0924\\u093e\\u0938\\u093e\";break;case\"hh\":n=\"%d \\u0924\\u093e\\u0938\\u093e\\u0902\";break;case\"d\":n=\"\\u090f\\u0915\\u093e \\u0926\\u093f\\u0935\\u0938\\u093e\";break;case\"dd\":n=\"%d \\u0926\\u093f\\u0935\\u0938\\u093e\\u0902\";break;case\"M\":n=\"\\u090f\\u0915\\u093e \\u092e\\u0939\\u093f\\u0928\\u094d\\u092f\\u093e\";break;case\"MM\":n=\"%d \\u092e\\u0939\\u093f\\u0928\\u094d\\u092f\\u093e\\u0902\";break;case\"y\":n=\"\\u090f\\u0915\\u093e \\u0935\\u0930\\u094d\\u0937\\u093e\";break;case\"yy\":n=\"%d \\u0935\\u0930\\u094d\\u0937\\u093e\\u0902\";break}return n.replace(/%d/i,e)}l.defineLocale(\"mr\",{months:\"\\u091c\\u093e\\u0928\\u0947\\u0935\\u093e\\u0930\\u0940_\\u092b\\u0947\\u092c\\u094d\\u0930\\u0941\\u0935\\u093e\\u0930\\u0940_\\u092e\\u093e\\u0930\\u094d\\u091a_\\u090f\\u092a\\u094d\\u0930\\u093f\\u0932_\\u092e\\u0947_\\u091c\\u0942\\u0928_\\u091c\\u0941\\u0932\\u0948_\\u0911\\u0917\\u0938\\u094d\\u091f_\\u0938\\u092a\\u094d\\u091f\\u0947\\u0902\\u092c\\u0930_\\u0911\\u0915\\u094d\\u091f\\u094b\\u092c\\u0930_\\u0928\\u094b\\u0935\\u094d\\u0939\\u0947\\u0902\\u092c\\u0930_\\u0921\\u093f\\u0938\\u0947\\u0902\\u092c\\u0930\".split(\"_\"),monthsShort:\"\\u091c\\u093e\\u0928\\u0947._\\u092b\\u0947\\u092c\\u094d\\u0930\\u0941._\\u092e\\u093e\\u0930\\u094d\\u091a._\\u090f\\u092a\\u094d\\u0930\\u093f._\\u092e\\u0947._\\u091c\\u0942\\u0928._\\u091c\\u0941\\u0932\\u0948._\\u0911\\u0917._\\u0938\\u092a\\u094d\\u091f\\u0947\\u0902._\\u0911\\u0915\\u094d\\u091f\\u094b._\\u0928\\u094b\\u0935\\u094d\\u0939\\u0947\\u0902._\\u0921\\u093f\\u0938\\u0947\\u0902.\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u0930\\u0935\\u093f\\u0935\\u093e\\u0930_\\u0938\\u094b\\u092e\\u0935\\u093e\\u0930_\\u092e\\u0902\\u0917\\u0933\\u0935\\u093e\\u0930_\\u092c\\u0941\\u0927\\u0935\\u093e\\u0930_\\u0917\\u0941\\u0930\\u0942\\u0935\\u093e\\u0930_\\u0936\\u0941\\u0915\\u094d\\u0930\\u0935\\u093e\\u0930_\\u0936\\u0928\\u093f\\u0935\\u093e\\u0930\".split(\"_\"),weekdaysShort:\"\\u0930\\u0935\\u093f_\\u0938\\u094b\\u092e_\\u092e\\u0902\\u0917\\u0933_\\u092c\\u0941\\u0927_\\u0917\\u0941\\u0930\\u0942_\\u0936\\u0941\\u0915\\u094d\\u0930_\\u0936\\u0928\\u093f\".split(\"_\"),weekdaysMin:\"\\u0930_\\u0938\\u094b_\\u092e\\u0902_\\u092c\\u0941_\\u0917\\u0941_\\u0936\\u0941_\\u0936\".split(\"_\"),longDateFormat:{LT:\"A h:mm \\u0935\\u093e\\u091c\\u0924\\u093e\",LTS:\"A h:mm:ss \\u0935\\u093e\\u091c\\u0924\\u093e\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm \\u0935\\u093e\\u091c\\u0924\\u093e\",LLLL:\"dddd, D MMMM YYYY, A h:mm \\u0935\\u093e\\u091c\\u0924\\u093e\"},calendar:{sameDay:\"[\\u0906\\u091c] LT\",nextDay:\"[\\u0909\\u0926\\u094d\\u092f\\u093e] LT\",nextWeek:\"dddd, LT\",lastDay:\"[\\u0915\\u093e\\u0932] LT\",lastWeek:\"[\\u092e\\u093e\\u0917\\u0940\\u0932] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s\\u092e\\u0927\\u094d\\u092f\\u0947\",past:\"%s\\u092a\\u0942\\u0930\\u094d\\u0935\\u0940\",s:Hn,ss:Hn,m:Hn,mm:Hn,h:Hn,hh:Hn,d:Hn,dd:Hn,M:Hn,MM:Hn,y:Hn,yy:Hn},preparse:function(e){return e.replace(/[\\u0967\\u0968\\u0969\\u096a\\u096b\\u096c\\u096d\\u096e\\u096f\\u0966]/g,function(e){return Sn[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return vn[e]})},meridiemParse:/\\u0930\\u093e\\u0924\\u094d\\u0930\\u0940|\\u0938\\u0915\\u093e\\u0933\\u0940|\\u0926\\u0941\\u092a\\u093e\\u0930\\u0940|\\u0938\\u093e\\u092f\\u0902\\u0915\\u093e\\u0933\\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0930\\u093e\\u0924\\u094d\\u0930\\u0940\"===a?e<4?e:e+12:\"\\u0938\\u0915\\u093e\\u0933\\u0940\"===a?e:\"\\u0926\\u0941\\u092a\\u093e\\u0930\\u0940\"===a?10<=e?e:e+12:\"\\u0938\\u093e\\u092f\\u0902\\u0915\\u093e\\u0933\\u0940\"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?\"\\u0930\\u093e\\u0924\\u094d\\u0930\\u0940\":e<10?\"\\u0938\\u0915\\u093e\\u0933\\u0940\":e<17?\"\\u0926\\u0941\\u092a\\u093e\\u0930\\u0940\":e<20?\"\\u0938\\u093e\\u092f\\u0902\\u0915\\u093e\\u0933\\u0940\":\"\\u0930\\u093e\\u0924\\u094d\\u0930\\u0940\"},week:{dow:0,doy:6}}),l.defineLocale(\"ms-my\",{months:\"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis\".split(\"_\"),weekdays:\"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu\".split(\"_\"),weekdaysShort:\"Ahd_Isn_Sel_Rab_Kha_Jum_Sab\".split(\"_\"),weekdaysMin:\"Ah_Is_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),\"pagi\"===a?e:\"tengahari\"===a?11<=e?e:e+12:\"petang\"===a||\"malam\"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?\"pagi\":e<15?\"tengahari\":e<19?\"petang\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Esok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kelmarin pukul] LT\",lastWeek:\"dddd [lepas pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lepas\",s:\"beberapa saat\",ss:\"%d saat\",m:\"seminit\",mm:\"%d minit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}}),l.defineLocale(\"ms\",{months:\"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis\".split(\"_\"),weekdays:\"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu\".split(\"_\"),weekdaysShort:\"Ahd_Isn_Sel_Rab_Kha_Jum_Sab\".split(\"_\"),weekdaysMin:\"Ah_Is_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),\"pagi\"===a?e:\"tengahari\"===a?11<=e?e:e+12:\"petang\"===a||\"malam\"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?\"pagi\":e<15?\"tengahari\":e<19?\"petang\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Esok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kelmarin pukul] LT\",lastWeek:\"dddd [lepas pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lepas\",s:\"beberapa saat\",ss:\"%d saat\",m:\"seminit\",mm:\"%d minit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}}),l.defineLocale(\"mt\",{months:\"Jannar_Frar_Marzu_April_Mejju_\\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\\u010bembru\".split(\"_\"),monthsShort:\"Jan_Fra_Mar_Apr_Mej_\\u0120un_Lul_Aww_Set_Ott_Nov_Di\\u010b\".split(\"_\"),weekdays:\"Il-\\u0126add_It-Tnejn_It-Tlieta_L-Erbg\\u0127a_Il-\\u0126amis_Il-\\u0120img\\u0127a_Is-Sibt\".split(\"_\"),weekdaysShort:\"\\u0126ad_Tne_Tli_Erb_\\u0126am_\\u0120im_Sib\".split(\"_\"),weekdaysMin:\"\\u0126a_Tn_Tl_Er_\\u0126a_\\u0120i_Si\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Illum fil-]LT\",nextDay:\"[G\\u0127ada fil-]LT\",nextWeek:\"dddd [fil-]LT\",lastDay:\"[Il-biera\\u0127 fil-]LT\",lastWeek:\"dddd [li g\\u0127adda] [fil-]LT\",sameElse:\"L\"},relativeTime:{future:\"f\\u2019 %s\",past:\"%s ilu\",s:\"ftit sekondi\",ss:\"%d sekondi\",m:\"minuta\",mm:\"%d minuti\",h:\"sieg\\u0127a\",hh:\"%d sieg\\u0127at\",d:\"\\u0121urnata\",dd:\"%d \\u0121ranet\",M:\"xahar\",MM:\"%d xhur\",y:\"sena\",yy:\"%d sni\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\",week:{dow:1,doy:4}});var bn={1:\"\\u1041\",2:\"\\u1042\",3:\"\\u1043\",4:\"\\u1044\",5:\"\\u1045\",6:\"\\u1046\",7:\"\\u1047\",8:\"\\u1048\",9:\"\\u1049\",0:\"\\u1040\"},jn={\"\\u1041\":\"1\",\"\\u1042\":\"2\",\"\\u1043\":\"3\",\"\\u1044\":\"4\",\"\\u1045\":\"5\",\"\\u1046\":\"6\",\"\\u1047\":\"7\",\"\\u1048\":\"8\",\"\\u1049\":\"9\",\"\\u1040\":\"0\"};l.defineLocale(\"my\",{months:\"\\u1007\\u1014\\u103a\\u1014\\u101d\\u102b\\u101b\\u102e_\\u1016\\u1031\\u1016\\u1031\\u102c\\u103a\\u101d\\u102b\\u101b\\u102e_\\u1019\\u1010\\u103a_\\u1027\\u1015\\u103c\\u102e_\\u1019\\u1031_\\u1007\\u103d\\u1014\\u103a_\\u1007\\u1030\\u101c\\u102d\\u102f\\u1004\\u103a_\\u101e\\u103c\\u1002\\u102f\\u1010\\u103a_\\u1005\\u1000\\u103a\\u1010\\u1004\\u103a\\u1018\\u102c_\\u1021\\u1031\\u102c\\u1000\\u103a\\u1010\\u102d\\u102f\\u1018\\u102c_\\u1014\\u102d\\u102f\\u101d\\u1004\\u103a\\u1018\\u102c_\\u1012\\u102e\\u1007\\u1004\\u103a\\u1018\\u102c\".split(\"_\"),monthsShort:\"\\u1007\\u1014\\u103a_\\u1016\\u1031_\\u1019\\u1010\\u103a_\\u1015\\u103c\\u102e_\\u1019\\u1031_\\u1007\\u103d\\u1014\\u103a_\\u101c\\u102d\\u102f\\u1004\\u103a_\\u101e\\u103c_\\u1005\\u1000\\u103a_\\u1021\\u1031\\u102c\\u1000\\u103a_\\u1014\\u102d\\u102f_\\u1012\\u102e\".split(\"_\"),weekdays:\"\\u1010\\u1014\\u1004\\u103a\\u1039\\u1002\\u1014\\u103d\\u1031_\\u1010\\u1014\\u1004\\u103a\\u1039\\u101c\\u102c_\\u1021\\u1004\\u103a\\u1039\\u1002\\u102b_\\u1017\\u102f\\u1012\\u1039\\u1013\\u101f\\u1030\\u1038_\\u1000\\u103c\\u102c\\u101e\\u1015\\u1010\\u1031\\u1038_\\u101e\\u1031\\u102c\\u1000\\u103c\\u102c_\\u1005\\u1014\\u1031\".split(\"_\"),weekdaysShort:\"\\u1014\\u103d\\u1031_\\u101c\\u102c_\\u1002\\u102b_\\u101f\\u1030\\u1038_\\u1000\\u103c\\u102c_\\u101e\\u1031\\u102c_\\u1014\\u1031\".split(\"_\"),weekdaysMin:\"\\u1014\\u103d\\u1031_\\u101c\\u102c_\\u1002\\u102b_\\u101f\\u1030\\u1038_\\u1000\\u103c\\u102c_\\u101e\\u1031\\u102c_\\u1014\\u1031\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u101a\\u1014\\u1031.] LT [\\u1019\\u103e\\u102c]\",nextDay:\"[\\u1019\\u1014\\u1000\\u103a\\u1016\\u103c\\u1014\\u103a] LT [\\u1019\\u103e\\u102c]\",nextWeek:\"dddd LT [\\u1019\\u103e\\u102c]\",lastDay:\"[\\u1019\\u1014\\u1031.\\u1000] LT [\\u1019\\u103e\\u102c]\",lastWeek:\"[\\u1015\\u103c\\u102e\\u1038\\u1001\\u1032\\u1037\\u101e\\u1031\\u102c] dddd LT [\\u1019\\u103e\\u102c]\",sameElse:\"L\"},relativeTime:{future:\"\\u101c\\u102c\\u1019\\u100a\\u103a\\u1037 %s \\u1019\\u103e\\u102c\",past:\"\\u101c\\u103d\\u1014\\u103a\\u1001\\u1032\\u1037\\u101e\\u1031\\u102c %s \\u1000\",s:\"\\u1005\\u1000\\u1039\\u1000\\u1014\\u103a.\\u1021\\u1014\\u100a\\u103a\\u1038\\u1004\\u101a\\u103a\",ss:\"%d \\u1005\\u1000\\u1039\\u1000\\u1014\\u1037\\u103a\",m:\"\\u1010\\u1005\\u103a\\u1019\\u102d\\u1014\\u1005\\u103a\",mm:\"%d \\u1019\\u102d\\u1014\\u1005\\u103a\",h:\"\\u1010\\u1005\\u103a\\u1014\\u102c\\u101b\\u102e\",hh:\"%d \\u1014\\u102c\\u101b\\u102e\",d:\"\\u1010\\u1005\\u103a\\u101b\\u1000\\u103a\",dd:\"%d \\u101b\\u1000\\u103a\",M:\"\\u1010\\u1005\\u103a\\u101c\",MM:\"%d \\u101c\",y:\"\\u1010\\u1005\\u103a\\u1014\\u103e\\u1005\\u103a\",yy:\"%d \\u1014\\u103e\\u1005\\u103a\"},preparse:function(e){return e.replace(/[\\u1041\\u1042\\u1043\\u1044\\u1045\\u1046\\u1047\\u1048\\u1049\\u1040]/g,function(e){return jn[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return bn[e]})},week:{dow:1,doy:4}}),l.defineLocale(\"nb\",{months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.\".split(\"_\"),monthsParseExact:!0,weekdays:\"s\\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\\xf8rdag\".split(\"_\"),weekdaysShort:\"s\\xf8._ma._ti._on._to._fr._l\\xf8.\".split(\"_\"),weekdaysMin:\"s\\xf8_ma_ti_on_to_fr_l\\xf8\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D. MMMM YYYY [kl.] HH:mm\"},calendar:{sameDay:\"[i dag kl.] LT\",nextDay:\"[i morgen kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[i g\\xe5r kl.] LT\",lastWeek:\"[forrige] dddd [kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"noen sekunder\",ss:\"%d sekunder\",m:\"ett minutt\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dager\",M:\"en m\\xe5ned\",MM:\"%d m\\xe5neder\",y:\"ett \\xe5r\",yy:\"%d \\xe5r\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});var xn={1:\"\\u0967\",2:\"\\u0968\",3:\"\\u0969\",4:\"\\u096a\",5:\"\\u096b\",6:\"\\u096c\",7:\"\\u096d\",8:\"\\u096e\",9:\"\\u096f\",0:\"\\u0966\"},On={\"\\u0967\":\"1\",\"\\u0968\":\"2\",\"\\u0969\":\"3\",\"\\u096a\":\"4\",\"\\u096b\":\"5\",\"\\u096c\":\"6\",\"\\u096d\":\"7\",\"\\u096e\":\"8\",\"\\u096f\":\"9\",\"\\u0966\":\"0\"};l.defineLocale(\"ne\",{months:\"\\u091c\\u0928\\u0935\\u0930\\u0940_\\u092b\\u0947\\u092c\\u094d\\u0930\\u0941\\u0935\\u0930\\u0940_\\u092e\\u093e\\u0930\\u094d\\u091a_\\u0905\\u092a\\u094d\\u0930\\u093f\\u0932_\\u092e\\u0908_\\u091c\\u0941\\u0928_\\u091c\\u0941\\u0932\\u093e\\u0908_\\u0905\\u0917\\u0937\\u094d\\u091f_\\u0938\\u0947\\u092a\\u094d\\u091f\\u0947\\u092e\\u094d\\u092c\\u0930_\\u0905\\u0915\\u094d\\u091f\\u094b\\u092c\\u0930_\\u0928\\u094b\\u092d\\u0947\\u092e\\u094d\\u092c\\u0930_\\u0921\\u093f\\u0938\\u0947\\u092e\\u094d\\u092c\\u0930\".split(\"_\"),monthsShort:\"\\u091c\\u0928._\\u092b\\u0947\\u092c\\u094d\\u0930\\u0941._\\u092e\\u093e\\u0930\\u094d\\u091a_\\u0905\\u092a\\u094d\\u0930\\u093f._\\u092e\\u0908_\\u091c\\u0941\\u0928_\\u091c\\u0941\\u0932\\u093e\\u0908._\\u0905\\u0917._\\u0938\\u0947\\u092a\\u094d\\u091f._\\u0905\\u0915\\u094d\\u091f\\u094b._\\u0928\\u094b\\u092d\\u0947._\\u0921\\u093f\\u0938\\u0947.\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u0906\\u0907\\u0924\\u092c\\u093e\\u0930_\\u0938\\u094b\\u092e\\u092c\\u093e\\u0930_\\u092e\\u0919\\u094d\\u0917\\u0932\\u092c\\u093e\\u0930_\\u092c\\u0941\\u0927\\u092c\\u093e\\u0930_\\u092c\\u093f\\u0939\\u093f\\u092c\\u093e\\u0930_\\u0936\\u0941\\u0915\\u094d\\u0930\\u092c\\u093e\\u0930_\\u0936\\u0928\\u093f\\u092c\\u093e\\u0930\".split(\"_\"),weekdaysShort:\"\\u0906\\u0907\\u0924._\\u0938\\u094b\\u092e._\\u092e\\u0919\\u094d\\u0917\\u0932._\\u092c\\u0941\\u0927._\\u092c\\u093f\\u0939\\u093f._\\u0936\\u0941\\u0915\\u094d\\u0930._\\u0936\\u0928\\u093f.\".split(\"_\"),weekdaysMin:\"\\u0906._\\u0938\\u094b._\\u092e\\u0902._\\u092c\\u0941._\\u092c\\u093f._\\u0936\\u0941._\\u0936.\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"A\\u0915\\u094b h:mm \\u092c\\u091c\\u0947\",LTS:\"A\\u0915\\u094b h:mm:ss \\u092c\\u091c\\u0947\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A\\u0915\\u094b h:mm \\u092c\\u091c\\u0947\",LLLL:\"dddd, D MMMM YYYY, A\\u0915\\u094b h:mm \\u092c\\u091c\\u0947\"},preparse:function(e){return e.replace(/[\\u0967\\u0968\\u0969\\u096a\\u096b\\u096c\\u096d\\u096e\\u096f\\u0966]/g,function(e){return On[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return xn[e]})},meridiemParse:/\\u0930\\u093e\\u0924\\u093f|\\u092c\\u093f\\u0939\\u093e\\u0928|\\u0926\\u093f\\u0909\\u0901\\u0938\\u094b|\\u0938\\u093e\\u0901\\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0930\\u093e\\u0924\\u093f\"===a?e<4?e:e+12:\"\\u092c\\u093f\\u0939\\u093e\\u0928\"===a?e:\"\\u0926\\u093f\\u0909\\u0901\\u0938\\u094b\"===a?10<=e?e:e+12:\"\\u0938\\u093e\\u0901\\u091d\"===a?e+12:void 0},meridiem:function(e,a,t){return e<3?\"\\u0930\\u093e\\u0924\\u093f\":e<12?\"\\u092c\\u093f\\u0939\\u093e\\u0928\":e<16?\"\\u0926\\u093f\\u0909\\u0901\\u0938\\u094b\":e<20?\"\\u0938\\u093e\\u0901\\u091d\":\"\\u0930\\u093e\\u0924\\u093f\"},calendar:{sameDay:\"[\\u0906\\u091c] LT\",nextDay:\"[\\u092d\\u094b\\u0932\\u093f] LT\",nextWeek:\"[\\u0906\\u0909\\u0901\\u0926\\u094b] dddd[,] LT\",lastDay:\"[\\u0939\\u093f\\u091c\\u094b] LT\",lastWeek:\"[\\u0917\\u090f\\u0915\\u094b] dddd[,] LT\",sameElse:\"L\"},relativeTime:{future:\"%s\\u092e\\u093e\",past:\"%s \\u0905\\u0917\\u093e\\u0921\\u093f\",s:\"\\u0915\\u0947\\u0939\\u0940 \\u0915\\u094d\\u0937\\u0923\",ss:\"%d \\u0938\\u0947\\u0915\\u0947\\u0923\\u094d\\u0921\",m:\"\\u090f\\u0915 \\u092e\\u093f\\u0928\\u0947\\u091f\",mm:\"%d \\u092e\\u093f\\u0928\\u0947\\u091f\",h:\"\\u090f\\u0915 \\u0918\\u0923\\u094d\\u091f\\u093e\",hh:\"%d \\u0918\\u0923\\u094d\\u091f\\u093e\",d:\"\\u090f\\u0915 \\u0926\\u093f\\u0928\",dd:\"%d \\u0926\\u093f\\u0928\",M:\"\\u090f\\u0915 \\u092e\\u0939\\u093f\\u0928\\u093e\",MM:\"%d \\u092e\\u0939\\u093f\\u0928\\u093e\",y:\"\\u090f\\u0915 \\u092c\\u0930\\u094d\\u0937\",yy:\"%d \\u092c\\u0930\\u094d\\u0937\"},week:{dow:0,doy:6}});var Pn=\"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),Wn=\"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),An=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],En=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;l.defineLocale(\"nl-be\",{months:\"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december\".split(\"_\"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Wn[e.month()]:Pn[e.month()]:Pn},monthsRegex:En,monthsShortRegex:En,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,monthsParse:An,longMonthsParse:An,shortMonthsParse:An,weekdays:\"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag\".split(\"_\"),weekdaysShort:\"zo._ma._di._wo._do._vr._za.\".split(\"_\"),weekdaysMin:\"zo_ma_di_wo_do_vr_za\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[vandaag om] LT\",nextDay:\"[morgen om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[gisteren om] LT\",lastWeek:\"[afgelopen] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"over %s\",past:\"%s geleden\",s:\"een paar seconden\",ss:\"%d seconden\",m:\"\\xe9\\xe9n minuut\",mm:\"%d minuten\",h:\"\\xe9\\xe9n uur\",hh:\"%d uur\",d:\"\\xe9\\xe9n dag\",dd:\"%d dagen\",M:\"\\xe9\\xe9n maand\",MM:\"%d maanden\",y:\"\\xe9\\xe9n jaar\",yy:\"%d jaar\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?\"ste\":\"de\")},week:{dow:1,doy:4}});var Fn=\"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),zn=\"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),Jn=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Nn=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;l.defineLocale(\"nl\",{months:\"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december\".split(\"_\"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?zn[e.month()]:Fn[e.month()]:Fn},monthsRegex:Nn,monthsShortRegex:Nn,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,monthsParse:Jn,longMonthsParse:Jn,shortMonthsParse:Jn,weekdays:\"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag\".split(\"_\"),weekdaysShort:\"zo._ma._di._wo._do._vr._za.\".split(\"_\"),weekdaysMin:\"zo_ma_di_wo_do_vr_za\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[vandaag om] LT\",nextDay:\"[morgen om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[gisteren om] LT\",lastWeek:\"[afgelopen] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"over %s\",past:\"%s geleden\",s:\"een paar seconden\",ss:\"%d seconden\",m:\"\\xe9\\xe9n minuut\",mm:\"%d minuten\",h:\"\\xe9\\xe9n uur\",hh:\"%d uur\",d:\"\\xe9\\xe9n dag\",dd:\"%d dagen\",M:\"\\xe9\\xe9n maand\",MM:\"%d maanden\",y:\"\\xe9\\xe9n jaar\",yy:\"%d jaar\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?\"ste\":\"de\")},week:{dow:1,doy:4}}),l.defineLocale(\"nn\",{months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),weekdays:\"sundag_m\\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag\".split(\"_\"),weekdaysShort:\"sun_m\\xe5n_tys_ons_tor_fre_lau\".split(\"_\"),weekdaysMin:\"su_m\\xe5_ty_on_to_fr_l\\xf8\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] H:mm\",LLLL:\"dddd D. MMMM YYYY [kl.] HH:mm\"},calendar:{sameDay:\"[I dag klokka] LT\",nextDay:\"[I morgon klokka] LT\",nextWeek:\"dddd [klokka] LT\",lastDay:\"[I g\\xe5r klokka] LT\",lastWeek:\"[F\\xf8reg\\xe5ande] dddd [klokka] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s sidan\",s:\"nokre sekund\",ss:\"%d sekund\",m:\"eit minutt\",mm:\"%d minutt\",h:\"ein time\",hh:\"%d timar\",d:\"ein dag\",dd:\"%d dagar\",M:\"ein m\\xe5nad\",MM:\"%d m\\xe5nader\",y:\"eit \\xe5r\",yy:\"%d \\xe5r\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});var Rn={1:\"\\u0a67\",2:\"\\u0a68\",3:\"\\u0a69\",4:\"\\u0a6a\",5:\"\\u0a6b\",6:\"\\u0a6c\",7:\"\\u0a6d\",8:\"\\u0a6e\",9:\"\\u0a6f\",0:\"\\u0a66\"},Cn={\"\\u0a67\":\"1\",\"\\u0a68\":\"2\",\"\\u0a69\":\"3\",\"\\u0a6a\":\"4\",\"\\u0a6b\":\"5\",\"\\u0a6c\":\"6\",\"\\u0a6d\":\"7\",\"\\u0a6e\":\"8\",\"\\u0a6f\":\"9\",\"\\u0a66\":\"0\"};l.defineLocale(\"pa-in\",{months:\"\\u0a1c\\u0a28\\u0a35\\u0a30\\u0a40_\\u0a2b\\u0a3c\\u0a30\\u0a35\\u0a30\\u0a40_\\u0a2e\\u0a3e\\u0a30\\u0a1a_\\u0a05\\u0a2a\\u0a4d\\u0a30\\u0a48\\u0a32_\\u0a2e\\u0a08_\\u0a1c\\u0a42\\u0a28_\\u0a1c\\u0a41\\u0a32\\u0a3e\\u0a08_\\u0a05\\u0a17\\u0a38\\u0a24_\\u0a38\\u0a24\\u0a70\\u0a2c\\u0a30_\\u0a05\\u0a15\\u0a24\\u0a42\\u0a2c\\u0a30_\\u0a28\\u0a35\\u0a70\\u0a2c\\u0a30_\\u0a26\\u0a38\\u0a70\\u0a2c\\u0a30\".split(\"_\"),monthsShort:\"\\u0a1c\\u0a28\\u0a35\\u0a30\\u0a40_\\u0a2b\\u0a3c\\u0a30\\u0a35\\u0a30\\u0a40_\\u0a2e\\u0a3e\\u0a30\\u0a1a_\\u0a05\\u0a2a\\u0a4d\\u0a30\\u0a48\\u0a32_\\u0a2e\\u0a08_\\u0a1c\\u0a42\\u0a28_\\u0a1c\\u0a41\\u0a32\\u0a3e\\u0a08_\\u0a05\\u0a17\\u0a38\\u0a24_\\u0a38\\u0a24\\u0a70\\u0a2c\\u0a30_\\u0a05\\u0a15\\u0a24\\u0a42\\u0a2c\\u0a30_\\u0a28\\u0a35\\u0a70\\u0a2c\\u0a30_\\u0a26\\u0a38\\u0a70\\u0a2c\\u0a30\".split(\"_\"),weekdays:\"\\u0a10\\u0a24\\u0a35\\u0a3e\\u0a30_\\u0a38\\u0a4b\\u0a2e\\u0a35\\u0a3e\\u0a30_\\u0a2e\\u0a70\\u0a17\\u0a32\\u0a35\\u0a3e\\u0a30_\\u0a2c\\u0a41\\u0a27\\u0a35\\u0a3e\\u0a30_\\u0a35\\u0a40\\u0a30\\u0a35\\u0a3e\\u0a30_\\u0a38\\u0a3c\\u0a41\\u0a71\\u0a15\\u0a30\\u0a35\\u0a3e\\u0a30_\\u0a38\\u0a3c\\u0a28\\u0a40\\u0a1a\\u0a30\\u0a35\\u0a3e\\u0a30\".split(\"_\"),weekdaysShort:\"\\u0a10\\u0a24_\\u0a38\\u0a4b\\u0a2e_\\u0a2e\\u0a70\\u0a17\\u0a32_\\u0a2c\\u0a41\\u0a27_\\u0a35\\u0a40\\u0a30_\\u0a38\\u0a3c\\u0a41\\u0a15\\u0a30_\\u0a38\\u0a3c\\u0a28\\u0a40\".split(\"_\"),weekdaysMin:\"\\u0a10\\u0a24_\\u0a38\\u0a4b\\u0a2e_\\u0a2e\\u0a70\\u0a17\\u0a32_\\u0a2c\\u0a41\\u0a27_\\u0a35\\u0a40\\u0a30_\\u0a38\\u0a3c\\u0a41\\u0a15\\u0a30_\\u0a38\\u0a3c\\u0a28\\u0a40\".split(\"_\"),longDateFormat:{LT:\"A h:mm \\u0a35\\u0a1c\\u0a47\",LTS:\"A h:mm:ss \\u0a35\\u0a1c\\u0a47\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm \\u0a35\\u0a1c\\u0a47\",LLLL:\"dddd, D MMMM YYYY, A h:mm \\u0a35\\u0a1c\\u0a47\"},calendar:{sameDay:\"[\\u0a05\\u0a1c] LT\",nextDay:\"[\\u0a15\\u0a32] LT\",nextWeek:\"[\\u0a05\\u0a17\\u0a32\\u0a3e] dddd, LT\",lastDay:\"[\\u0a15\\u0a32] LT\",lastWeek:\"[\\u0a2a\\u0a3f\\u0a1b\\u0a32\\u0a47] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0a35\\u0a3f\\u0a71\\u0a1a\",past:\"%s \\u0a2a\\u0a3f\\u0a1b\\u0a32\\u0a47\",s:\"\\u0a15\\u0a41\\u0a1d \\u0a38\\u0a15\\u0a3f\\u0a70\\u0a1f\",ss:\"%d \\u0a38\\u0a15\\u0a3f\\u0a70\\u0a1f\",m:\"\\u0a07\\u0a15 \\u0a2e\\u0a3f\\u0a70\\u0a1f\",mm:\"%d \\u0a2e\\u0a3f\\u0a70\\u0a1f\",h:\"\\u0a07\\u0a71\\u0a15 \\u0a18\\u0a70\\u0a1f\\u0a3e\",hh:\"%d \\u0a18\\u0a70\\u0a1f\\u0a47\",d:\"\\u0a07\\u0a71\\u0a15 \\u0a26\\u0a3f\\u0a28\",dd:\"%d \\u0a26\\u0a3f\\u0a28\",M:\"\\u0a07\\u0a71\\u0a15 \\u0a2e\\u0a39\\u0a40\\u0a28\\u0a3e\",MM:\"%d \\u0a2e\\u0a39\\u0a40\\u0a28\\u0a47\",y:\"\\u0a07\\u0a71\\u0a15 \\u0a38\\u0a3e\\u0a32\",yy:\"%d \\u0a38\\u0a3e\\u0a32\"},preparse:function(e){return e.replace(/[\\u0a67\\u0a68\\u0a69\\u0a6a\\u0a6b\\u0a6c\\u0a6d\\u0a6e\\u0a6f\\u0a66]/g,function(e){return Cn[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return Rn[e]})},meridiemParse:/\\u0a30\\u0a3e\\u0a24|\\u0a38\\u0a35\\u0a47\\u0a30|\\u0a26\\u0a41\\u0a2a\\u0a39\\u0a3f\\u0a30|\\u0a38\\u0a3c\\u0a3e\\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0a30\\u0a3e\\u0a24\"===a?e<4?e:e+12:\"\\u0a38\\u0a35\\u0a47\\u0a30\"===a?e:\"\\u0a26\\u0a41\\u0a2a\\u0a39\\u0a3f\\u0a30\"===a?10<=e?e:e+12:\"\\u0a38\\u0a3c\\u0a3e\\u0a2e\"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?\"\\u0a30\\u0a3e\\u0a24\":e<10?\"\\u0a38\\u0a35\\u0a47\\u0a30\":e<17?\"\\u0a26\\u0a41\\u0a2a\\u0a39\\u0a3f\\u0a30\":e<20?\"\\u0a38\\u0a3c\\u0a3e\\u0a2e\":\"\\u0a30\\u0a3e\\u0a24\"},week:{dow:0,doy:6}});var In=\"stycze\\u0144_luty_marzec_kwiecie\\u0144_maj_czerwiec_lipiec_sierpie\\u0144_wrzesie\\u0144_pa\\u017adziernik_listopad_grudzie\\u0144\".split(\"_\"),Un=\"stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\\u015bnia_pa\\u017adziernika_listopada_grudnia\".split(\"_\");function Gn(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function Vn(e,a,t){var s=e+\" \";switch(t){case\"ss\":return s+(Gn(e)?\"sekundy\":\"sekund\");case\"m\":return a?\"minuta\":\"minut\\u0119\";case\"mm\":return s+(Gn(e)?\"minuty\":\"minut\");case\"h\":return a?\"godzina\":\"godzin\\u0119\";case\"hh\":return s+(Gn(e)?\"godziny\":\"godzin\");case\"MM\":return s+(Gn(e)?\"miesi\\u0105ce\":\"miesi\\u0119cy\");case\"yy\":return s+(Gn(e)?\"lata\":\"lat\")}}function Kn(e,a,t){var s=\" \";return(20<=e%100||100<=e&&e%100==0)&&(s=\" de \"),e+s+{ss:\"secunde\",mm:\"minute\",hh:\"ore\",dd:\"zile\",MM:\"luni\",yy:\"ani\"}[t]}function Zn(e,a,t){var s,n;return\"m\"===t?a?\"\\u043c\\u0438\\u043d\\u0443\\u0442\\u0430\":\"\\u043c\\u0438\\u043d\\u0443\\u0442\\u0443\":e+\" \"+(s=+e,n={ss:a?\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0430_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u044b_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\":\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0443_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u044b_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",mm:a?\"\\u043c\\u0438\\u043d\\u0443\\u0442\\u0430_\\u043c\\u0438\\u043d\\u0443\\u0442\\u044b_\\u043c\\u0438\\u043d\\u0443\\u0442\":\"\\u043c\\u0438\\u043d\\u0443\\u0442\\u0443_\\u043c\\u0438\\u043d\\u0443\\u0442\\u044b_\\u043c\\u0438\\u043d\\u0443\\u0442\",hh:\"\\u0447\\u0430\\u0441_\\u0447\\u0430\\u0441\\u0430_\\u0447\\u0430\\u0441\\u043e\\u0432\",dd:\"\\u0434\\u0435\\u043d\\u044c_\\u0434\\u043d\\u044f_\\u0434\\u043d\\u0435\\u0439\",MM:\"\\u043c\\u0435\\u0441\\u044f\\u0446_\\u043c\\u0435\\u0441\\u044f\\u0446\\u0430_\\u043c\\u0435\\u0441\\u044f\\u0446\\u0435\\u0432\",yy:\"\\u0433\\u043e\\u0434_\\u0433\\u043e\\u0434\\u0430_\\u043b\\u0435\\u0442\"}[t].split(\"_\"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}l.defineLocale(\"pl\",{months:function(e,a){return e?\"\"===a?\"(\"+Un[e.month()]+\"|\"+In[e.month()]+\")\":/D MMMM/.test(a)?Un[e.month()]:In[e.month()]:In},monthsShort:\"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\\u017a_lis_gru\".split(\"_\"),weekdays:\"niedziela_poniedzia\\u0142ek_wtorek_\\u015broda_czwartek_pi\\u0105tek_sobota\".split(\"_\"),weekdaysShort:\"ndz_pon_wt_\\u015br_czw_pt_sob\".split(\"_\"),weekdaysMin:\"Nd_Pn_Wt_\\u015ar_Cz_Pt_So\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Dzi\\u015b o] LT\",nextDay:\"[Jutro o] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[W niedziel\\u0119 o] LT\";case 2:return\"[We wtorek o] LT\";case 3:return\"[W \\u015brod\\u0119 o] LT\";case 6:return\"[W sobot\\u0119 o] LT\";default:return\"[W] dddd [o] LT\"}},lastDay:\"[Wczoraj o] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[W zesz\\u0142\\u0105 niedziel\\u0119 o] LT\";case 3:return\"[W zesz\\u0142\\u0105 \\u015brod\\u0119 o] LT\";case 6:return\"[W zesz\\u0142\\u0105 sobot\\u0119 o] LT\";default:return\"[W zesz\\u0142y] dddd [o] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"%s temu\",s:\"kilka sekund\",ss:Vn,m:Vn,mm:Vn,h:Vn,hh:Vn,d:\"1 dzie\\u0144\",dd:\"%d dni\",M:\"miesi\\u0105c\",MM:Vn,y:\"rok\",yy:Vn},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"pt-br\",{months:\"Janeiro_Fevereiro_Mar\\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez\".split(\"_\"),weekdays:\"Domingo_Segunda-feira_Ter\\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\\xe1bado\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ter_Qua_Qui_Sex_S\\xe1b\".split(\"_\"),weekdaysMin:\"Do_2\\xaa_3\\xaa_4\\xaa_5\\xaa_6\\xaa_S\\xe1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY [\\xe0s] HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY [\\xe0s] HH:mm\"},calendar:{sameDay:\"[Hoje \\xe0s] LT\",nextDay:\"[Amanh\\xe3 \\xe0s] LT\",nextWeek:\"dddd [\\xe0s] LT\",lastDay:\"[Ontem \\xe0s] LT\",lastWeek:function(){return 0===this.day()||6===this.day()?\"[\\xdaltimo] dddd [\\xe0s] LT\":\"[\\xdaltima] dddd [\\xe0s] LT\"},sameElse:\"L\"},relativeTime:{future:\"em %s\",past:\"h\\xe1 %s\",s:\"poucos segundos\",ss:\"%d segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um m\\xeas\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\"}),l.defineLocale(\"pt\",{months:\"Janeiro_Fevereiro_Mar\\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez\".split(\"_\"),weekdays:\"Domingo_Segunda-feira_Ter\\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\\xe1bado\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ter_Qua_Qui_Sex_S\\xe1b\".split(\"_\"),weekdaysMin:\"Do_2\\xaa_3\\xaa_4\\xaa_5\\xaa_6\\xaa_S\\xe1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY HH:mm\"},calendar:{sameDay:\"[Hoje \\xe0s] LT\",nextDay:\"[Amanh\\xe3 \\xe0s] LT\",nextWeek:\"dddd [\\xe0s] LT\",lastDay:\"[Ontem \\xe0s] LT\",lastWeek:function(){return 0===this.day()||6===this.day()?\"[\\xdaltimo] dddd [\\xe0s] LT\":\"[\\xdaltima] dddd [\\xe0s] LT\"},sameElse:\"L\"},relativeTime:{future:\"em %s\",past:\"h\\xe1 %s\",s:\"segundos\",ss:\"%d segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um m\\xeas\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"},dayOfMonthOrdinalParse:/\\d{1,2}\\xba/,ordinal:\"%d\\xba\",week:{dow:1,doy:4}}),l.defineLocale(\"ro\",{months:\"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie\".split(\"_\"),monthsShort:\"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"duminic\\u0103_luni_mar\\u021bi_miercuri_joi_vineri_s\\xe2mb\\u0103t\\u0103\".split(\"_\"),weekdaysShort:\"Dum_Lun_Mar_Mie_Joi_Vin_S\\xe2m\".split(\"_\"),weekdaysMin:\"Du_Lu_Ma_Mi_Jo_Vi_S\\xe2\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[azi la] LT\",nextDay:\"[m\\xe2ine la] LT\",nextWeek:\"dddd [la] LT\",lastDay:\"[ieri la] LT\",lastWeek:\"[fosta] dddd [la] LT\",sameElse:\"L\"},relativeTime:{future:\"peste %s\",past:\"%s \\xeen urm\\u0103\",s:\"c\\xe2teva secunde\",ss:Kn,m:\"un minut\",mm:Kn,h:\"o or\\u0103\",hh:Kn,d:\"o zi\",dd:Kn,M:\"o lun\\u0103\",MM:Kn,y:\"un an\",yy:Kn},week:{dow:1,doy:7}});var $n=[/^\\u044f\\u043d\\u0432/i,/^\\u0444\\u0435\\u0432/i,/^\\u043c\\u0430\\u0440/i,/^\\u0430\\u043f\\u0440/i,/^\\u043c\\u0430[\\u0439\\u044f]/i,/^\\u0438\\u044e\\u043d/i,/^\\u0438\\u044e\\u043b/i,/^\\u0430\\u0432\\u0433/i,/^\\u0441\\u0435\\u043d/i,/^\\u043e\\u043a\\u0442/i,/^\\u043d\\u043e\\u044f/i,/^\\u0434\\u0435\\u043a/i];l.defineLocale(\"ru\",{months:{format:\"\\u044f\\u043d\\u0432\\u0430\\u0440\\u044f_\\u0444\\u0435\\u0432\\u0440\\u0430\\u043b\\u044f_\\u043c\\u0430\\u0440\\u0442\\u0430_\\u0430\\u043f\\u0440\\u0435\\u043b\\u044f_\\u043c\\u0430\\u044f_\\u0438\\u044e\\u043d\\u044f_\\u0438\\u044e\\u043b\\u044f_\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442\\u0430_\\u0441\\u0435\\u043d\\u0442\\u044f\\u0431\\u0440\\u044f_\\u043e\\u043a\\u0442\\u044f\\u0431\\u0440\\u044f_\\u043d\\u043e\\u044f\\u0431\\u0440\\u044f_\\u0434\\u0435\\u043a\\u0430\\u0431\\u0440\\u044f\".split(\"_\"),standalone:\"\\u044f\\u043d\\u0432\\u0430\\u0440\\u044c_\\u0444\\u0435\\u0432\\u0440\\u0430\\u043b\\u044c_\\u043c\\u0430\\u0440\\u0442_\\u0430\\u043f\\u0440\\u0435\\u043b\\u044c_\\u043c\\u0430\\u0439_\\u0438\\u044e\\u043d\\u044c_\\u0438\\u044e\\u043b\\u044c_\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442_\\u0441\\u0435\\u043d\\u0442\\u044f\\u0431\\u0440\\u044c_\\u043e\\u043a\\u0442\\u044f\\u0431\\u0440\\u044c_\\u043d\\u043e\\u044f\\u0431\\u0440\\u044c_\\u0434\\u0435\\u043a\\u0430\\u0431\\u0440\\u044c\".split(\"_\")},monthsShort:{format:\"\\u044f\\u043d\\u0432._\\u0444\\u0435\\u0432\\u0440._\\u043c\\u0430\\u0440._\\u0430\\u043f\\u0440._\\u043c\\u0430\\u044f_\\u0438\\u044e\\u043d\\u044f_\\u0438\\u044e\\u043b\\u044f_\\u0430\\u0432\\u0433._\\u0441\\u0435\\u043d\\u0442._\\u043e\\u043a\\u0442._\\u043d\\u043e\\u044f\\u0431._\\u0434\\u0435\\u043a.\".split(\"_\"),standalone:\"\\u044f\\u043d\\u0432._\\u0444\\u0435\\u0432\\u0440._\\u043c\\u0430\\u0440\\u0442_\\u0430\\u043f\\u0440._\\u043c\\u0430\\u0439_\\u0438\\u044e\\u043d\\u044c_\\u0438\\u044e\\u043b\\u044c_\\u0430\\u0432\\u0433._\\u0441\\u0435\\u043d\\u0442._\\u043e\\u043a\\u0442._\\u043d\\u043e\\u044f\\u0431._\\u0434\\u0435\\u043a.\".split(\"_\")},weekdays:{standalone:\"\\u0432\\u043e\\u0441\\u043a\\u0440\\u0435\\u0441\\u0435\\u043d\\u044c\\u0435_\\u043f\\u043e\\u043d\\u0435\\u0434\\u0435\\u043b\\u044c\\u043d\\u0438\\u043a_\\u0432\\u0442\\u043e\\u0440\\u043d\\u0438\\u043a_\\u0441\\u0440\\u0435\\u0434\\u0430_\\u0447\\u0435\\u0442\\u0432\\u0435\\u0440\\u0433_\\u043f\\u044f\\u0442\\u043d\\u0438\\u0446\\u0430_\\u0441\\u0443\\u0431\\u0431\\u043e\\u0442\\u0430\".split(\"_\"),format:\"\\u0432\\u043e\\u0441\\u043a\\u0440\\u0435\\u0441\\u0435\\u043d\\u044c\\u0435_\\u043f\\u043e\\u043d\\u0435\\u0434\\u0435\\u043b\\u044c\\u043d\\u0438\\u043a_\\u0432\\u0442\\u043e\\u0440\\u043d\\u0438\\u043a_\\u0441\\u0440\\u0435\\u0434\\u0443_\\u0447\\u0435\\u0442\\u0432\\u0435\\u0440\\u0433_\\u043f\\u044f\\u0442\\u043d\\u0438\\u0446\\u0443_\\u0441\\u0443\\u0431\\u0431\\u043e\\u0442\\u0443\".split(\"_\"),isFormat:/\\[ ?[\\u0412\\u0432] ?(?:\\u043f\\u0440\\u043e\\u0448\\u043b\\u0443\\u044e|\\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0443\\u044e|\\u044d\\u0442\\u0443)? ?\\] ?dddd/},weekdaysShort:\"\\u0432\\u0441_\\u043f\\u043d_\\u0432\\u0442_\\u0441\\u0440_\\u0447\\u0442_\\u043f\\u0442_\\u0441\\u0431\".split(\"_\"),weekdaysMin:\"\\u0432\\u0441_\\u043f\\u043d_\\u0432\\u0442_\\u0441\\u0440_\\u0447\\u0442_\\u043f\\u0442_\\u0441\\u0431\".split(\"_\"),monthsParse:$n,longMonthsParse:$n,shortMonthsParse:$n,monthsRegex:/^(\\u044f\\u043d\\u0432\\u0430\\u0440[\\u044c\\u044f]|\\u044f\\u043d\\u0432\\.?|\\u0444\\u0435\\u0432\\u0440\\u0430\\u043b[\\u044c\\u044f]|\\u0444\\u0435\\u0432\\u0440?\\.?|\\u043c\\u0430\\u0440\\u0442\\u0430?|\\u043c\\u0430\\u0440\\.?|\\u0430\\u043f\\u0440\\u0435\\u043b[\\u044c\\u044f]|\\u0430\\u043f\\u0440\\.?|\\u043c\\u0430[\\u0439\\u044f]|\\u0438\\u044e\\u043d[\\u044c\\u044f]|\\u0438\\u044e\\u043d\\.?|\\u0438\\u044e\\u043b[\\u044c\\u044f]|\\u0438\\u044e\\u043b\\.?|\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442\\u0430?|\\u0430\\u0432\\u0433\\.?|\\u0441\\u0435\\u043d\\u0442\\u044f\\u0431\\u0440[\\u044c\\u044f]|\\u0441\\u0435\\u043d\\u0442?\\.?|\\u043e\\u043a\\u0442\\u044f\\u0431\\u0440[\\u044c\\u044f]|\\u043e\\u043a\\u0442\\.?|\\u043d\\u043e\\u044f\\u0431\\u0440[\\u044c\\u044f]|\\u043d\\u043e\\u044f\\u0431?\\.?|\\u0434\\u0435\\u043a\\u0430\\u0431\\u0440[\\u044c\\u044f]|\\u0434\\u0435\\u043a\\.?)/i,monthsShortRegex:/^(\\u044f\\u043d\\u0432\\u0430\\u0440[\\u044c\\u044f]|\\u044f\\u043d\\u0432\\.?|\\u0444\\u0435\\u0432\\u0440\\u0430\\u043b[\\u044c\\u044f]|\\u0444\\u0435\\u0432\\u0440?\\.?|\\u043c\\u0430\\u0440\\u0442\\u0430?|\\u043c\\u0430\\u0440\\.?|\\u0430\\u043f\\u0440\\u0435\\u043b[\\u044c\\u044f]|\\u0430\\u043f\\u0440\\.?|\\u043c\\u0430[\\u0439\\u044f]|\\u0438\\u044e\\u043d[\\u044c\\u044f]|\\u0438\\u044e\\u043d\\.?|\\u0438\\u044e\\u043b[\\u044c\\u044f]|\\u0438\\u044e\\u043b\\.?|\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442\\u0430?|\\u0430\\u0432\\u0433\\.?|\\u0441\\u0435\\u043d\\u0442\\u044f\\u0431\\u0440[\\u044c\\u044f]|\\u0441\\u0435\\u043d\\u0442?\\.?|\\u043e\\u043a\\u0442\\u044f\\u0431\\u0440[\\u044c\\u044f]|\\u043e\\u043a\\u0442\\.?|\\u043d\\u043e\\u044f\\u0431\\u0440[\\u044c\\u044f]|\\u043d\\u043e\\u044f\\u0431?\\.?|\\u0434\\u0435\\u043a\\u0430\\u0431\\u0440[\\u044c\\u044f]|\\u0434\\u0435\\u043a\\.?)/i,monthsStrictRegex:/^(\\u044f\\u043d\\u0432\\u0430\\u0440[\\u044f\\u044c]|\\u0444\\u0435\\u0432\\u0440\\u0430\\u043b[\\u044f\\u044c]|\\u043c\\u0430\\u0440\\u0442\\u0430?|\\u0430\\u043f\\u0440\\u0435\\u043b[\\u044f\\u044c]|\\u043c\\u0430[\\u044f\\u0439]|\\u0438\\u044e\\u043d[\\u044f\\u044c]|\\u0438\\u044e\\u043b[\\u044f\\u044c]|\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442\\u0430?|\\u0441\\u0435\\u043d\\u0442\\u044f\\u0431\\u0440[\\u044f\\u044c]|\\u043e\\u043a\\u0442\\u044f\\u0431\\u0440[\\u044f\\u044c]|\\u043d\\u043e\\u044f\\u0431\\u0440[\\u044f\\u044c]|\\u0434\\u0435\\u043a\\u0430\\u0431\\u0440[\\u044f\\u044c])/i,monthsShortStrictRegex:/^(\\u044f\\u043d\\u0432\\.|\\u0444\\u0435\\u0432\\u0440?\\.|\\u043c\\u0430\\u0440[\\u0442.]|\\u0430\\u043f\\u0440\\.|\\u043c\\u0430[\\u044f\\u0439]|\\u0438\\u044e\\u043d[\\u044c\\u044f.]|\\u0438\\u044e\\u043b[\\u044c\\u044f.]|\\u0430\\u0432\\u0433\\.|\\u0441\\u0435\\u043d\\u0442?\\.|\\u043e\\u043a\\u0442\\.|\\u043d\\u043e\\u044f\\u0431?\\.|\\u0434\\u0435\\u043a\\.)/i,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY \\u0433.\",LLL:\"D MMMM YYYY \\u0433., H:mm\",LLLL:\"dddd, D MMMM YYYY \\u0433., H:mm\"},calendar:{sameDay:\"[\\u0421\\u0435\\u0433\\u043e\\u0434\\u043d\\u044f, \\u0432] LT\",nextDay:\"[\\u0417\\u0430\\u0432\\u0442\\u0440\\u0430, \\u0432] LT\",lastDay:\"[\\u0412\\u0447\\u0435\\u0440\\u0430, \\u0432] LT\",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?\"[\\u0412\\u043e] dddd, [\\u0432] LT\":\"[\\u0412] dddd, [\\u0432] LT\";switch(this.day()){case 0:return\"[\\u0412 \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0435\\u0435] dddd, [\\u0432] LT\";case 1:case 2:case 4:return\"[\\u0412 \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0438\\u0439] dddd, [\\u0432] LT\";case 3:case 5:case 6:return\"[\\u0412 \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0443\\u044e] dddd, [\\u0432] LT\"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?\"[\\u0412\\u043e] dddd, [\\u0432] LT\":\"[\\u0412] dddd, [\\u0432] LT\";switch(this.day()){case 0:return\"[\\u0412 \\u043f\\u0440\\u043e\\u0448\\u043b\\u043e\\u0435] dddd, [\\u0432] LT\";case 1:case 2:case 4:return\"[\\u0412 \\u043f\\u0440\\u043e\\u0448\\u043b\\u044b\\u0439] dddd, [\\u0432] LT\";case 3:case 5:case 6:return\"[\\u0412 \\u043f\\u0440\\u043e\\u0448\\u043b\\u0443\\u044e] dddd, [\\u0432] LT\"}},sameElse:\"L\"},relativeTime:{future:\"\\u0447\\u0435\\u0440\\u0435\\u0437 %s\",past:\"%s \\u043d\\u0430\\u0437\\u0430\\u0434\",s:\"\\u043d\\u0435\\u0441\\u043a\\u043e\\u043b\\u044c\\u043a\\u043e \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",ss:Zn,m:Zn,mm:Zn,h:\"\\u0447\\u0430\\u0441\",hh:Zn,d:\"\\u0434\\u0435\\u043d\\u044c\",dd:Zn,M:\"\\u043c\\u0435\\u0441\\u044f\\u0446\",MM:Zn,y:\"\\u0433\\u043e\\u0434\",yy:Zn},meridiemParse:/\\u043d\\u043e\\u0447\\u0438|\\u0443\\u0442\\u0440\\u0430|\\u0434\\u043d\\u044f|\\u0432\\u0435\\u0447\\u0435\\u0440\\u0430/i,isPM:function(e){return/^(\\u0434\\u043d\\u044f|\\u0432\\u0435\\u0447\\u0435\\u0440\\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?\"\\u043d\\u043e\\u0447\\u0438\":e<12?\"\\u0443\\u0442\\u0440\\u0430\":e<17?\"\\u0434\\u043d\\u044f\":\"\\u0432\\u0435\\u0447\\u0435\\u0440\\u0430\"},dayOfMonthOrdinalParse:/\\d{1,2}-(\\u0439|\\u0433\\u043e|\\u044f)/,ordinal:function(e,a){switch(a){case\"M\":case\"d\":case\"DDD\":return e+\"-\\u0439\";case\"D\":return e+\"-\\u0433\\u043e\";case\"w\":case\"W\":return e+\"-\\u044f\";default:return e}},week:{dow:1,doy:4}});var Bn=[\"\\u062c\\u0646\\u0648\\u0631\\u064a\",\"\\u0641\\u064a\\u0628\\u0631\\u0648\\u0631\\u064a\",\"\\u0645\\u0627\\u0631\\u0686\",\"\\u0627\\u067e\\u0631\\u064a\\u0644\",\"\\u0645\\u0626\\u064a\",\"\\u062c\\u0648\\u0646\",\"\\u062c\\u0648\\u0644\\u0627\\u0621\\u0650\",\"\\u0622\\u06af\\u0633\\u067d\",\"\\u0633\\u064a\\u067e\\u067d\\u0645\\u0628\\u0631\",\"\\u0622\\u06aa\\u067d\\u0648\\u0628\\u0631\",\"\\u0646\\u0648\\u0645\\u0628\\u0631\",\"\\u068a\\u0633\\u0645\\u0628\\u0631\"],qn=[\"\\u0622\\u0686\\u0631\",\"\\u0633\\u0648\\u0645\\u0631\",\"\\u0627\\u06b1\\u0627\\u0631\\u0648\",\"\\u0627\\u0631\\u0628\\u0639\",\"\\u062e\\u0645\\u064a\\u0633\",\"\\u062c\\u0645\\u0639\",\"\\u0687\\u0646\\u0687\\u0631\"];l.defineLocale(\"sd\",{months:Bn,monthsShort:Bn,weekdays:qn,weekdaysShort:qn,weekdaysMin:qn,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd\\u060c D MMMM YYYY HH:mm\"},meridiemParse:/\\u0635\\u0628\\u062d|\\u0634\\u0627\\u0645/,isPM:function(e){return\"\\u0634\\u0627\\u0645\"===e},meridiem:function(e,a,t){return e<12?\"\\u0635\\u0628\\u062d\":\"\\u0634\\u0627\\u0645\"},calendar:{sameDay:\"[\\u0627\\u0684] LT\",nextDay:\"[\\u0633\\u0680\\u0627\\u06bb\\u064a] LT\",nextWeek:\"dddd [\\u0627\\u06b3\\u064a\\u0646 \\u0647\\u0641\\u062a\\u064a \\u062a\\u064a] LT\",lastDay:\"[\\u06aa\\u0627\\u0644\\u0647\\u0647] LT\",lastWeek:\"[\\u06af\\u0632\\u0631\\u064a\\u0644 \\u0647\\u0641\\u062a\\u064a] dddd [\\u062a\\u064a] LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u067e\\u0648\\u0621\",past:\"%s \\u0627\\u06b3\",s:\"\\u0686\\u0646\\u062f \\u0633\\u064a\\u06aa\\u0646\\u068a\",ss:\"%d \\u0633\\u064a\\u06aa\\u0646\\u068a\",m:\"\\u0647\\u06aa \\u0645\\u0646\\u067d\",mm:\"%d \\u0645\\u0646\\u067d\",h:\"\\u0647\\u06aa \\u06aa\\u0644\\u0627\\u06aa\",hh:\"%d \\u06aa\\u0644\\u0627\\u06aa\",d:\"\\u0647\\u06aa \\u068f\\u064a\\u0646\\u0647\\u0646\",dd:\"%d \\u068f\\u064a\\u0646\\u0647\\u0646\",M:\"\\u0647\\u06aa \\u0645\\u0647\\u064a\\u0646\\u0648\",MM:\"%d \\u0645\\u0647\\u064a\\u0646\\u0627\",y:\"\\u0647\\u06aa \\u0633\\u0627\\u0644\",yy:\"%d \\u0633\\u0627\\u0644\"},preparse:function(e){return e.replace(/\\u060c/g,\",\")},postformat:function(e){return e.replace(/,/g,\"\\u060c\")},week:{dow:1,doy:4}}),l.defineLocale(\"se\",{months:\"o\\u0111\\u0111ajagem\\xe1nnu_guovvam\\xe1nnu_njuk\\u010dam\\xe1nnu_cuo\\u014bom\\xe1nnu_miessem\\xe1nnu_geassem\\xe1nnu_suoidnem\\xe1nnu_borgem\\xe1nnu_\\u010dak\\u010dam\\xe1nnu_golggotm\\xe1nnu_sk\\xe1bmam\\xe1nnu_juovlam\\xe1nnu\".split(\"_\"),monthsShort:\"o\\u0111\\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\\u010dak\\u010d_golg_sk\\xe1b_juov\".split(\"_\"),weekdays:\"sotnabeaivi_vuoss\\xe1rga_ma\\u014b\\u014beb\\xe1rga_gaskavahkku_duorastat_bearjadat_l\\xe1vvardat\".split(\"_\"),weekdaysShort:\"sotn_vuos_ma\\u014b_gask_duor_bear_l\\xe1v\".split(\"_\"),weekdaysMin:\"s_v_m_g_d_b_L\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"MMMM D. [b.] YYYY\",LLL:\"MMMM D. [b.] YYYY [ti.] HH:mm\",LLLL:\"dddd, MMMM D. [b.] YYYY [ti.] HH:mm\"},calendar:{sameDay:\"[otne ti] LT\",nextDay:\"[ihttin ti] LT\",nextWeek:\"dddd [ti] LT\",lastDay:\"[ikte ti] LT\",lastWeek:\"[ovddit] dddd [ti] LT\",sameElse:\"L\"},relativeTime:{future:\"%s gea\\u017ees\",past:\"ma\\u014bit %s\",s:\"moadde sekunddat\",ss:\"%d sekunddat\",m:\"okta minuhta\",mm:\"%d minuhtat\",h:\"okta diimmu\",hh:\"%d diimmut\",d:\"okta beaivi\",dd:\"%d beaivvit\",M:\"okta m\\xe1nnu\",MM:\"%d m\\xe1nut\",y:\"okta jahki\",yy:\"%d jagit\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"si\",{months:\"\\u0da2\\u0db1\\u0dc0\\u0dcf\\u0dbb\\u0dd2_\\u0db4\\u0dd9\\u0db6\\u0dbb\\u0dc0\\u0dcf\\u0dbb\\u0dd2_\\u0db8\\u0dcf\\u0dbb\\u0dca\\u0dad\\u0dd4_\\u0d85\\u0db4\\u0dca\\u200d\\u0dbb\\u0dda\\u0dbd\\u0dca_\\u0db8\\u0dd0\\u0dba\\u0dd2_\\u0da2\\u0dd6\\u0db1\\u0dd2_\\u0da2\\u0dd6\\u0dbd\\u0dd2_\\u0d85\\u0d9c\\u0ddd\\u0dc3\\u0dca\\u0dad\\u0dd4_\\u0dc3\\u0dd0\\u0db4\\u0dca\\u0dad\\u0dd0\\u0db8\\u0dca\\u0db6\\u0dbb\\u0dca_\\u0d94\\u0d9a\\u0dca\\u0dad\\u0ddd\\u0db6\\u0dbb\\u0dca_\\u0db1\\u0ddc\\u0dc0\\u0dd0\\u0db8\\u0dca\\u0db6\\u0dbb\\u0dca_\\u0daf\\u0dd9\\u0dc3\\u0dd0\\u0db8\\u0dca\\u0db6\\u0dbb\\u0dca\".split(\"_\"),monthsShort:\"\\u0da2\\u0db1_\\u0db4\\u0dd9\\u0db6_\\u0db8\\u0dcf\\u0dbb\\u0dca_\\u0d85\\u0db4\\u0dca_\\u0db8\\u0dd0\\u0dba\\u0dd2_\\u0da2\\u0dd6\\u0db1\\u0dd2_\\u0da2\\u0dd6\\u0dbd\\u0dd2_\\u0d85\\u0d9c\\u0ddd_\\u0dc3\\u0dd0\\u0db4\\u0dca_\\u0d94\\u0d9a\\u0dca_\\u0db1\\u0ddc\\u0dc0\\u0dd0_\\u0daf\\u0dd9\\u0dc3\\u0dd0\".split(\"_\"),weekdays:\"\\u0d89\\u0dbb\\u0dd2\\u0daf\\u0dcf_\\u0dc3\\u0db3\\u0dd4\\u0daf\\u0dcf_\\u0d85\\u0d9f\\u0dc4\\u0dbb\\u0dd4\\u0dc0\\u0dcf\\u0daf\\u0dcf_\\u0db6\\u0daf\\u0dcf\\u0daf\\u0dcf_\\u0db6\\u0dca\\u200d\\u0dbb\\u0dc4\\u0dc3\\u0dca\\u0db4\\u0dad\\u0dd2\\u0db1\\u0dca\\u0daf\\u0dcf_\\u0dc3\\u0dd2\\u0d9a\\u0dd4\\u0dbb\\u0dcf\\u0daf\\u0dcf_\\u0dc3\\u0dd9\\u0db1\\u0dc3\\u0dd4\\u0dbb\\u0dcf\\u0daf\\u0dcf\".split(\"_\"),weekdaysShort:\"\\u0d89\\u0dbb\\u0dd2_\\u0dc3\\u0db3\\u0dd4_\\u0d85\\u0d9f_\\u0db6\\u0daf\\u0dcf_\\u0db6\\u0dca\\u200d\\u0dbb\\u0dc4_\\u0dc3\\u0dd2\\u0d9a\\u0dd4_\\u0dc3\\u0dd9\\u0db1\".split(\"_\"),weekdaysMin:\"\\u0d89_\\u0dc3_\\u0d85_\\u0db6_\\u0db6\\u0dca\\u200d\\u0dbb_\\u0dc3\\u0dd2_\\u0dc3\\u0dd9\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"a h:mm\",LTS:\"a h:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY MMMM D\",LLL:\"YYYY MMMM D, a h:mm\",LLLL:\"YYYY MMMM D [\\u0dc0\\u0dd0\\u0db1\\u0dd2] dddd, a h:mm:ss\"},calendar:{sameDay:\"[\\u0d85\\u0daf] LT[\\u0da7]\",nextDay:\"[\\u0dc4\\u0dd9\\u0da7] LT[\\u0da7]\",nextWeek:\"dddd LT[\\u0da7]\",lastDay:\"[\\u0d8a\\u0dba\\u0dda] LT[\\u0da7]\",lastWeek:\"[\\u0db4\\u0dc3\\u0dd4\\u0d9c\\u0dd2\\u0dba] dddd LT[\\u0da7]\",sameElse:\"L\"},relativeTime:{future:\"%s\\u0d9a\\u0dd2\\u0db1\\u0dca\",past:\"%s\\u0d9a\\u0da7 \\u0db4\\u0dd9\\u0dbb\",s:\"\\u0dad\\u0dad\\u0dca\\u0db4\\u0dbb \\u0d9a\\u0dd2\\u0dc4\\u0dd2\\u0db4\\u0dba\",ss:\"\\u0dad\\u0dad\\u0dca\\u0db4\\u0dbb %d\",m:\"\\u0db8\\u0dd2\\u0db1\\u0dd2\\u0dad\\u0dca\\u0dad\\u0dd4\\u0dc0\",mm:\"\\u0db8\\u0dd2\\u0db1\\u0dd2\\u0dad\\u0dca\\u0dad\\u0dd4 %d\",h:\"\\u0db4\\u0dd0\\u0dba\",hh:\"\\u0db4\\u0dd0\\u0dba %d\",d:\"\\u0daf\\u0dd2\\u0db1\\u0dba\",dd:\"\\u0daf\\u0dd2\\u0db1 %d\",M:\"\\u0db8\\u0dcf\\u0dc3\\u0dba\",MM:\"\\u0db8\\u0dcf\\u0dc3 %d\",y:\"\\u0dc0\\u0dc3\\u0dbb\",yy:\"\\u0dc0\\u0dc3\\u0dbb %d\"},dayOfMonthOrdinalParse:/\\d{1,2} \\u0dc0\\u0dd0\\u0db1\\u0dd2/,ordinal:function(e){return e+\" \\u0dc0\\u0dd0\\u0db1\\u0dd2\"},meridiemParse:/\\u0db4\\u0dd9\\u0dbb \\u0dc0\\u0dbb\\u0dd4|\\u0db4\\u0dc3\\u0dca \\u0dc0\\u0dbb\\u0dd4|\\u0db4\\u0dd9.\\u0dc0|\\u0db4.\\u0dc0./,isPM:function(e){return\"\\u0db4.\\u0dc0.\"===e||\"\\u0db4\\u0dc3\\u0dca \\u0dc0\\u0dbb\\u0dd4\"===e},meridiem:function(e,a,t){return 11<e?t?\"\\u0db4.\\u0dc0.\":\"\\u0db4\\u0dc3\\u0dca \\u0dc0\\u0dbb\\u0dd4\":t?\"\\u0db4\\u0dd9.\\u0dc0.\":\"\\u0db4\\u0dd9\\u0dbb \\u0dc0\\u0dbb\\u0dd4\"}});var Qn=\"janu\\xe1r_febru\\xe1r_marec_apr\\xedl_m\\xe1j_j\\xfan_j\\xfal_august_september_okt\\xf3ber_november_december\".split(\"_\"),Xn=\"jan_feb_mar_apr_m\\xe1j_j\\xfan_j\\xfal_aug_sep_okt_nov_dec\".split(\"_\");function ed(e){return 1<e&&e<5}function ad(e,a,t,s){var n=e+\" \";switch(t){case\"s\":return a||s?\"p\\xe1r sek\\xfand\":\"p\\xe1r sekundami\";case\"ss\":return a||s?n+(ed(e)?\"sekundy\":\"sek\\xfand\"):n+\"sekundami\";break;case\"m\":return a?\"min\\xfata\":s?\"min\\xfatu\":\"min\\xfatou\";case\"mm\":return a||s?n+(ed(e)?\"min\\xfaty\":\"min\\xfat\"):n+\"min\\xfatami\";break;case\"h\":return a?\"hodina\":s?\"hodinu\":\"hodinou\";case\"hh\":return a||s?n+(ed(e)?\"hodiny\":\"hod\\xedn\"):n+\"hodinami\";break;case\"d\":return a||s?\"de\\u0148\":\"d\\u0148om\";case\"dd\":return a||s?n+(ed(e)?\"dni\":\"dn\\xed\"):n+\"d\\u0148ami\";break;case\"M\":return a||s?\"mesiac\":\"mesiacom\";case\"MM\":return a||s?n+(ed(e)?\"mesiace\":\"mesiacov\"):n+\"mesiacmi\";break;case\"y\":return a||s?\"rok\":\"rokom\";case\"yy\":return a||s?n+(ed(e)?\"roky\":\"rokov\"):n+\"rokmi\";break}}function td(e,a,t,s){var n=e+\" \";switch(t){case\"s\":return a||s?\"nekaj sekund\":\"nekaj sekundami\";case\"ss\":return n+=1===e?a?\"sekundo\":\"sekundi\":2===e?a||s?\"sekundi\":\"sekundah\":e<5?a||s?\"sekunde\":\"sekundah\":\"sekund\";case\"m\":return a?\"ena minuta\":\"eno minuto\";case\"mm\":return n+=1===e?a?\"minuta\":\"minuto\":2===e?a||s?\"minuti\":\"minutama\":e<5?a||s?\"minute\":\"minutami\":a||s?\"minut\":\"minutami\";case\"h\":return a?\"ena ura\":\"eno uro\";case\"hh\":return n+=1===e?a?\"ura\":\"uro\":2===e?a||s?\"uri\":\"urama\":e<5?a||s?\"ure\":\"urami\":a||s?\"ur\":\"urami\";case\"d\":return a||s?\"en dan\":\"enim dnem\";case\"dd\":return n+=1===e?a||s?\"dan\":\"dnem\":2===e?a||s?\"dni\":\"dnevoma\":a||s?\"dni\":\"dnevi\";case\"M\":return a||s?\"en mesec\":\"enim mesecem\";case\"MM\":return n+=1===e?a||s?\"mesec\":\"mesecem\":2===e?a||s?\"meseca\":\"mesecema\":e<5?a||s?\"mesece\":\"meseci\":a||s?\"mesecev\":\"meseci\";case\"y\":return a||s?\"eno leto\":\"enim letom\";case\"yy\":return n+=1===e?a||s?\"leto\":\"letom\":2===e?a||s?\"leti\":\"letoma\":e<5?a||s?\"leta\":\"leti\":a||s?\"let\":\"leti\"}}l.defineLocale(\"sk\",{months:Qn,monthsShort:Xn,weekdays:\"nede\\u013ea_pondelok_utorok_streda_\\u0161tvrtok_piatok_sobota\".split(\"_\"),weekdaysShort:\"ne_po_ut_st_\\u0161t_pi_so\".split(\"_\"),weekdaysMin:\"ne_po_ut_st_\\u0161t_pi_so\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[dnes o] LT\",nextDay:\"[zajtra o] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v nede\\u013eu o] LT\";case 1:case 2:return\"[v] dddd [o] LT\";case 3:return\"[v stredu o] LT\";case 4:return\"[vo \\u0161tvrtok o] LT\";case 5:return\"[v piatok o] LT\";case 6:return\"[v sobotu o] LT\"}},lastDay:\"[v\\u010dera o] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[minul\\xfa nede\\u013eu o] LT\";case 1:case 2:return\"[minul\\xfd] dddd [o] LT\";case 3:return\"[minul\\xfa stredu o] LT\";case 4:case 5:return\"[minul\\xfd] dddd [o] LT\";case 6:return\"[minul\\xfa sobotu o] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"pred %s\",s:ad,ss:ad,m:ad,mm:ad,h:ad,hh:ad,d:ad,dd:ad,M:ad,MM:ad,y:ad,yy:ad},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"sl\",{months:\"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedelja_ponedeljek_torek_sreda_\\u010detrtek_petek_sobota\".split(\"_\"),weekdaysShort:\"ned._pon._tor._sre._\\u010det._pet._sob.\".split(\"_\"),weekdaysMin:\"ne_po_to_sr_\\u010de_pe_so\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danes ob] LT\",nextDay:\"[jutri ob] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v] [nedeljo] [ob] LT\";case 3:return\"[v] [sredo] [ob] LT\";case 6:return\"[v] [soboto] [ob] LT\";case 1:case 2:case 4:case 5:return\"[v] dddd [ob] LT\"}},lastDay:\"[v\\u010deraj ob] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[prej\\u0161njo] [nedeljo] [ob] LT\";case 3:return\"[prej\\u0161njo] [sredo] [ob] LT\";case 6:return\"[prej\\u0161njo] [soboto] [ob] LT\";case 1:case 2:case 4:case 5:return\"[prej\\u0161nji] dddd [ob] LT\"}},sameElse:\"L\"},relativeTime:{future:\"\\u010dez %s\",past:\"pred %s\",s:td,ss:td,m:td,mm:td,h:td,hh:td,d:td,dd:td,M:td,MM:td,y:td,yy:td},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),l.defineLocale(\"sq\",{months:\"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\\xebntor_Dhjetor\".split(\"_\"),monthsShort:\"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\\xebn_Dhj\".split(\"_\"),weekdays:\"E Diel_E H\\xebn\\xeb_E Mart\\xeb_E M\\xebrkur\\xeb_E Enjte_E Premte_E Shtun\\xeb\".split(\"_\"),weekdaysShort:\"Die_H\\xebn_Mar_M\\xebr_Enj_Pre_Sht\".split(\"_\"),weekdaysMin:\"D_H_Ma_M\\xeb_E_P_Sh\".split(\"_\"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return\"M\"===e.charAt(0)},meridiem:function(e,a,t){return e<12?\"PD\":\"MD\"},longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Sot n\\xeb] LT\",nextDay:\"[Nes\\xebr n\\xeb] LT\",nextWeek:\"dddd [n\\xeb] LT\",lastDay:\"[Dje n\\xeb] LT\",lastWeek:\"dddd [e kaluar n\\xeb] LT\",sameElse:\"L\"},relativeTime:{future:\"n\\xeb %s\",past:\"%s m\\xeb par\\xeb\",s:\"disa sekonda\",ss:\"%d sekonda\",m:\"nj\\xeb minut\\xeb\",mm:\"%d minuta\",h:\"nj\\xeb or\\xeb\",hh:\"%d or\\xeb\",d:\"nj\\xeb dit\\xeb\",dd:\"%d dit\\xeb\",M:\"nj\\xeb muaj\",MM:\"%d muaj\",y:\"nj\\xeb vit\",yy:\"%d vite\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});var sd={words:{ss:[\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0430\",\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0435\",\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0438\"],m:[\"\\u0458\\u0435\\u0434\\u0430\\u043d \\u043c\\u0438\\u043d\\u0443\\u0442\",\"\\u0458\\u0435\\u0434\\u043d\\u0435 \\u043c\\u0438\\u043d\\u0443\\u0442\\u0435\"],mm:[\"\\u043c\\u0438\\u043d\\u0443\\u0442\",\"\\u043c\\u0438\\u043d\\u0443\\u0442\\u0435\",\"\\u043c\\u0438\\u043d\\u0443\\u0442\\u0430\"],h:[\"\\u0458\\u0435\\u0434\\u0430\\u043d \\u0441\\u0430\\u0442\",\"\\u0458\\u0435\\u0434\\u043d\\u043e\\u0433 \\u0441\\u0430\\u0442\\u0430\"],hh:[\"\\u0441\\u0430\\u0442\",\"\\u0441\\u0430\\u0442\\u0430\",\"\\u0441\\u0430\\u0442\\u0438\"],dd:[\"\\u0434\\u0430\\u043d\",\"\\u0434\\u0430\\u043d\\u0430\",\"\\u0434\\u0430\\u043d\\u0430\"],MM:[\"\\u043c\\u0435\\u0441\\u0435\\u0446\",\"\\u043c\\u0435\\u0441\\u0435\\u0446\\u0430\",\"\\u043c\\u0435\\u0441\\u0435\\u0446\\u0438\"],yy:[\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0430\",\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0435\",\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0430\"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=sd.words[t];return 1===t.length?a?s[0]:s[1]:e+\" \"+sd.correctGrammaticalCase(e,s)}};l.defineLocale(\"sr-cyrl\",{months:\"\\u0458\\u0430\\u043d\\u0443\\u0430\\u0440_\\u0444\\u0435\\u0431\\u0440\\u0443\\u0430\\u0440_\\u043c\\u0430\\u0440\\u0442_\\u0430\\u043f\\u0440\\u0438\\u043b_\\u043c\\u0430\\u0458_\\u0458\\u0443\\u043d_\\u0458\\u0443\\u043b_\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442_\\u0441\\u0435\\u043f\\u0442\\u0435\\u043c\\u0431\\u0430\\u0440_\\u043e\\u043a\\u0442\\u043e\\u0431\\u0430\\u0440_\\u043d\\u043e\\u0432\\u0435\\u043c\\u0431\\u0430\\u0440_\\u0434\\u0435\\u0446\\u0435\\u043c\\u0431\\u0430\\u0440\".split(\"_\"),monthsShort:\"\\u0458\\u0430\\u043d._\\u0444\\u0435\\u0431._\\u043c\\u0430\\u0440._\\u0430\\u043f\\u0440._\\u043c\\u0430\\u0458_\\u0458\\u0443\\u043d_\\u0458\\u0443\\u043b_\\u0430\\u0432\\u0433._\\u0441\\u0435\\u043f._\\u043e\\u043a\\u0442._\\u043d\\u043e\\u0432._\\u0434\\u0435\\u0446.\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u043d\\u0435\\u0434\\u0435\\u0459\\u0430_\\u043f\\u043e\\u043d\\u0435\\u0434\\u0435\\u0459\\u0430\\u043a_\\u0443\\u0442\\u043e\\u0440\\u0430\\u043a_\\u0441\\u0440\\u0435\\u0434\\u0430_\\u0447\\u0435\\u0442\\u0432\\u0440\\u0442\\u0430\\u043a_\\u043f\\u0435\\u0442\\u0430\\u043a_\\u0441\\u0443\\u0431\\u043e\\u0442\\u0430\".split(\"_\"),weekdaysShort:\"\\u043d\\u0435\\u0434._\\u043f\\u043e\\u043d._\\u0443\\u0442\\u043e._\\u0441\\u0440\\u0435._\\u0447\\u0435\\u0442._\\u043f\\u0435\\u0442._\\u0441\\u0443\\u0431.\".split(\"_\"),weekdaysMin:\"\\u043d\\u0435_\\u043f\\u043e_\\u0443\\u0442_\\u0441\\u0440_\\u0447\\u0435_\\u043f\\u0435_\\u0441\\u0443\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[\\u0434\\u0430\\u043d\\u0430\\u0441 \\u0443] LT\",nextDay:\"[\\u0441\\u0443\\u0442\\u0440\\u0430 \\u0443] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[\\u0443] [\\u043d\\u0435\\u0434\\u0435\\u0459\\u0443] [\\u0443] LT\";case 3:return\"[\\u0443] [\\u0441\\u0440\\u0435\\u0434\\u0443] [\\u0443] LT\";case 6:return\"[\\u0443] [\\u0441\\u0443\\u0431\\u043e\\u0442\\u0443] [\\u0443] LT\";case 1:case 2:case 4:case 5:return\"[\\u0443] dddd [\\u0443] LT\"}},lastDay:\"[\\u0458\\u0443\\u0447\\u0435 \\u0443] LT\",lastWeek:function(){return[\"[\\u043f\\u0440\\u043e\\u0448\\u043b\\u0435] [\\u043d\\u0435\\u0434\\u0435\\u0459\\u0435] [\\u0443] LT\",\"[\\u043f\\u0440\\u043e\\u0448\\u043b\\u043e\\u0433] [\\u043f\\u043e\\u043d\\u0435\\u0434\\u0435\\u0459\\u043a\\u0430] [\\u0443] LT\",\"[\\u043f\\u0440\\u043e\\u0448\\u043b\\u043e\\u0433] [\\u0443\\u0442\\u043e\\u0440\\u043a\\u0430] [\\u0443] LT\",\"[\\u043f\\u0440\\u043e\\u0448\\u043b\\u0435] [\\u0441\\u0440\\u0435\\u0434\\u0435] [\\u0443] LT\",\"[\\u043f\\u0440\\u043e\\u0448\\u043b\\u043e\\u0433] [\\u0447\\u0435\\u0442\\u0432\\u0440\\u0442\\u043a\\u0430] [\\u0443] LT\",\"[\\u043f\\u0440\\u043e\\u0448\\u043b\\u043e\\u0433] [\\u043f\\u0435\\u0442\\u043a\\u0430] [\\u0443] LT\",\"[\\u043f\\u0440\\u043e\\u0448\\u043b\\u0435] [\\u0441\\u0443\\u0431\\u043e\\u0442\\u0435] [\\u0443] LT\"][this.day()]},sameElse:\"L\"},relativeTime:{future:\"\\u0437\\u0430 %s\",past:\"\\u043f\\u0440\\u0435 %s\",s:\"\\u043d\\u0435\\u043a\\u043e\\u043b\\u0438\\u043a\\u043e \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0438\",ss:sd.translate,m:sd.translate,mm:sd.translate,h:sd.translate,hh:sd.translate,d:\"\\u0434\\u0430\\u043d\",dd:sd.translate,M:\"\\u043c\\u0435\\u0441\\u0435\\u0446\",MM:sd.translate,y:\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0443\",yy:sd.translate},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});var nd={words:{ss:[\"sekunda\",\"sekunde\",\"sekundi\"],m:[\"jedan minut\",\"jedne minute\"],mm:[\"minut\",\"minute\",\"minuta\"],h:[\"jedan sat\",\"jednog sata\"],hh:[\"sat\",\"sata\",\"sati\"],dd:[\"dan\",\"dana\",\"dana\"],MM:[\"mesec\",\"meseca\",\"meseci\"],yy:[\"godina\",\"godine\",\"godina\"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=nd.words[t];return 1===t.length?a?s[0]:s[1]:e+\" \"+nd.correctGrammaticalCase(e,s)}};l.defineLocale(\"sr\",{months:\"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedelja_ponedeljak_utorak_sreda_\\u010detvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sre._\\u010det._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_\\u010de_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedelju] [u] LT\";case 3:return\"[u] [sredu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[ju\\u010de u] LT\",lastWeek:function(){return[\"[pro\\u0161le] [nedelje] [u] LT\",\"[pro\\u0161log] [ponedeljka] [u] LT\",\"[pro\\u0161log] [utorka] [u] LT\",\"[pro\\u0161le] [srede] [u] LT\",\"[pro\\u0161log] [\\u010detvrtka] [u] LT\",\"[pro\\u0161log] [petka] [u] LT\",\"[pro\\u0161le] [subote] [u] LT\"][this.day()]},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"pre %s\",s:\"nekoliko sekundi\",ss:nd.translate,m:nd.translate,mm:nd.translate,h:nd.translate,hh:nd.translate,d:\"dan\",dd:nd.translate,M:\"mesec\",MM:nd.translate,y:\"godinu\",yy:nd.translate},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),l.defineLocale(\"ss\",{months:\"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\"_\"),monthsShort:\"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo\".split(\"_\"),weekdays:\"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo\".split(\"_\"),weekdaysShort:\"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg\".split(\"_\"),weekdaysMin:\"Li_Us_Lb_Lt_Ls_Lh_Ug\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Namuhla nga] LT\",nextDay:\"[Kusasa nga] LT\",nextWeek:\"dddd [nga] LT\",lastDay:\"[Itolo nga] LT\",lastWeek:\"dddd [leliphelile] [nga] LT\",sameElse:\"L\"},relativeTime:{future:\"nga %s\",past:\"wenteka nga %s\",s:\"emizuzwana lomcane\",ss:\"%d mzuzwana\",m:\"umzuzu\",mm:\"%d emizuzu\",h:\"lihora\",hh:\"%d emahora\",d:\"lilanga\",dd:\"%d emalanga\",M:\"inyanga\",MM:\"%d tinyanga\",y:\"umnyaka\",yy:\"%d iminyaka\"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,t){return e<11?\"ekuseni\":e<15?\"emini\":e<19?\"entsambama\":\"ebusuku\"},meridiemHour:function(e,a){return 12===e&&(e=0),\"ekuseni\"===a?e:\"emini\"===a?11<=e?e:e+12:\"entsambama\"===a||\"ebusuku\"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\\d{1,2}/,ordinal:\"%d\",week:{dow:1,doy:4}}),l.defineLocale(\"sv\",{months:\"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"s\\xf6ndag_m\\xe5ndag_tisdag_onsdag_torsdag_fredag_l\\xf6rdag\".split(\"_\"),weekdaysShort:\"s\\xf6n_m\\xe5n_tis_ons_tor_fre_l\\xf6r\".split(\"_\"),weekdaysMin:\"s\\xf6_m\\xe5_ti_on_to_fr_l\\xf6\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D MMMM YYYY [kl.] HH:mm\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd D MMM YYYY HH:mm\"},calendar:{sameDay:\"[Idag] LT\",nextDay:\"[Imorgon] LT\",lastDay:\"[Ig\\xe5r] LT\",nextWeek:\"[P\\xe5] dddd LT\",lastWeek:\"[I] dddd[s] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"f\\xf6r %s sedan\",s:\"n\\xe5gra sekunder\",ss:\"%d sekunder\",m:\"en minut\",mm:\"%d minuter\",h:\"en timme\",hh:\"%d timmar\",d:\"en dag\",dd:\"%d dagar\",M:\"en m\\xe5nad\",MM:\"%d m\\xe5nader\",y:\"ett \\xe5r\",yy:\"%d \\xe5r\"},dayOfMonthOrdinalParse:/\\d{1,2}(e|a)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"e\":1===a?\"a\":2===a?\"a\":\"e\")},week:{dow:1,doy:4}}),l.defineLocale(\"sw\",{months:\"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi\".split(\"_\"),weekdaysShort:\"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos\".split(\"_\"),weekdaysMin:\"J2_J3_J4_J5_Al_Ij_J1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[leo saa] LT\",nextDay:\"[kesho saa] LT\",nextWeek:\"[wiki ijayo] dddd [saat] LT\",lastDay:\"[jana] LT\",lastWeek:\"[wiki iliyopita] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s baadaye\",past:\"tokea %s\",s:\"hivi punde\",ss:\"sekunde %d\",m:\"dakika moja\",mm:\"dakika %d\",h:\"saa limoja\",hh:\"masaa %d\",d:\"siku moja\",dd:\"masiku %d\",M:\"mwezi mmoja\",MM:\"miezi %d\",y:\"mwaka mmoja\",yy:\"miaka %d\"},week:{dow:1,doy:7}});var dd={1:\"\\u0be7\",2:\"\\u0be8\",3:\"\\u0be9\",4:\"\\u0bea\",5:\"\\u0beb\",6:\"\\u0bec\",7:\"\\u0bed\",8:\"\\u0bee\",9:\"\\u0bef\",0:\"\\u0be6\"},rd={\"\\u0be7\":\"1\",\"\\u0be8\":\"2\",\"\\u0be9\":\"3\",\"\\u0bea\":\"4\",\"\\u0beb\":\"5\",\"\\u0bec\":\"6\",\"\\u0bed\":\"7\",\"\\u0bee\":\"8\",\"\\u0bef\":\"9\",\"\\u0be6\":\"0\"};l.defineLocale(\"ta\",{months:\"\\u0b9c\\u0ba9\\u0bb5\\u0bb0\\u0bbf_\\u0baa\\u0bbf\\u0baa\\u0bcd\\u0bb0\\u0bb5\\u0bb0\\u0bbf_\\u0bae\\u0bbe\\u0bb0\\u0bcd\\u0b9a\\u0bcd_\\u0b8f\\u0baa\\u0bcd\\u0bb0\\u0bb2\\u0bcd_\\u0bae\\u0bc7_\\u0b9c\\u0bc2\\u0ba9\\u0bcd_\\u0b9c\\u0bc2\\u0bb2\\u0bc8_\\u0b86\\u0b95\\u0bb8\\u0bcd\\u0b9f\\u0bcd_\\u0b9a\\u0bc6\\u0baa\\u0bcd\\u0b9f\\u0bc6\\u0bae\\u0bcd\\u0baa\\u0bb0\\u0bcd_\\u0b85\\u0b95\\u0bcd\\u0b9f\\u0bc7\\u0bbe\\u0baa\\u0bb0\\u0bcd_\\u0ba8\\u0bb5\\u0bae\\u0bcd\\u0baa\\u0bb0\\u0bcd_\\u0b9f\\u0bbf\\u0b9a\\u0bae\\u0bcd\\u0baa\\u0bb0\\u0bcd\".split(\"_\"),monthsShort:\"\\u0b9c\\u0ba9\\u0bb5\\u0bb0\\u0bbf_\\u0baa\\u0bbf\\u0baa\\u0bcd\\u0bb0\\u0bb5\\u0bb0\\u0bbf_\\u0bae\\u0bbe\\u0bb0\\u0bcd\\u0b9a\\u0bcd_\\u0b8f\\u0baa\\u0bcd\\u0bb0\\u0bb2\\u0bcd_\\u0bae\\u0bc7_\\u0b9c\\u0bc2\\u0ba9\\u0bcd_\\u0b9c\\u0bc2\\u0bb2\\u0bc8_\\u0b86\\u0b95\\u0bb8\\u0bcd\\u0b9f\\u0bcd_\\u0b9a\\u0bc6\\u0baa\\u0bcd\\u0b9f\\u0bc6\\u0bae\\u0bcd\\u0baa\\u0bb0\\u0bcd_\\u0b85\\u0b95\\u0bcd\\u0b9f\\u0bc7\\u0bbe\\u0baa\\u0bb0\\u0bcd_\\u0ba8\\u0bb5\\u0bae\\u0bcd\\u0baa\\u0bb0\\u0bcd_\\u0b9f\\u0bbf\\u0b9a\\u0bae\\u0bcd\\u0baa\\u0bb0\\u0bcd\".split(\"_\"),weekdays:\"\\u0b9e\\u0bbe\\u0baf\\u0bbf\\u0bb1\\u0bcd\\u0bb1\\u0bc1\\u0b95\\u0bcd\\u0b95\\u0bbf\\u0bb4\\u0bae\\u0bc8_\\u0ba4\\u0bbf\\u0b99\\u0bcd\\u0b95\\u0b9f\\u0bcd\\u0b95\\u0bbf\\u0bb4\\u0bae\\u0bc8_\\u0b9a\\u0bc6\\u0bb5\\u0bcd\\u0bb5\\u0bbe\\u0baf\\u0bcd\\u0b95\\u0bbf\\u0bb4\\u0bae\\u0bc8_\\u0baa\\u0bc1\\u0ba4\\u0ba9\\u0bcd\\u0b95\\u0bbf\\u0bb4\\u0bae\\u0bc8_\\u0bb5\\u0bbf\\u0baf\\u0bbe\\u0bb4\\u0b95\\u0bcd\\u0b95\\u0bbf\\u0bb4\\u0bae\\u0bc8_\\u0bb5\\u0bc6\\u0bb3\\u0bcd\\u0bb3\\u0bbf\\u0b95\\u0bcd\\u0b95\\u0bbf\\u0bb4\\u0bae\\u0bc8_\\u0b9a\\u0ba9\\u0bbf\\u0b95\\u0bcd\\u0b95\\u0bbf\\u0bb4\\u0bae\\u0bc8\".split(\"_\"),weekdaysShort:\"\\u0b9e\\u0bbe\\u0baf\\u0bbf\\u0bb1\\u0bc1_\\u0ba4\\u0bbf\\u0b99\\u0bcd\\u0b95\\u0bb3\\u0bcd_\\u0b9a\\u0bc6\\u0bb5\\u0bcd\\u0bb5\\u0bbe\\u0baf\\u0bcd_\\u0baa\\u0bc1\\u0ba4\\u0ba9\\u0bcd_\\u0bb5\\u0bbf\\u0baf\\u0bbe\\u0bb4\\u0ba9\\u0bcd_\\u0bb5\\u0bc6\\u0bb3\\u0bcd\\u0bb3\\u0bbf_\\u0b9a\\u0ba9\\u0bbf\".split(\"_\"),weekdaysMin:\"\\u0b9e\\u0bbe_\\u0ba4\\u0bbf_\\u0b9a\\u0bc6_\\u0baa\\u0bc1_\\u0bb5\\u0bbf_\\u0bb5\\u0bc6_\\u0b9a\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, HH:mm\",LLLL:\"dddd, D MMMM YYYY, HH:mm\"},calendar:{sameDay:\"[\\u0b87\\u0ba9\\u0bcd\\u0bb1\\u0bc1] LT\",nextDay:\"[\\u0ba8\\u0bbe\\u0bb3\\u0bc8] LT\",nextWeek:\"dddd, LT\",lastDay:\"[\\u0ba8\\u0bc7\\u0bb1\\u0bcd\\u0bb1\\u0bc1] LT\",lastWeek:\"[\\u0b95\\u0b9f\\u0ba8\\u0bcd\\u0ba4 \\u0bb5\\u0bbe\\u0bb0\\u0bae\\u0bcd] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0b87\\u0bb2\\u0bcd\",past:\"%s \\u0bae\\u0bc1\\u0ba9\\u0bcd\",s:\"\\u0b92\\u0bb0\\u0bc1 \\u0b9a\\u0bbf\\u0bb2 \\u0bb5\\u0bbf\\u0ba8\\u0bbe\\u0b9f\\u0bbf\\u0b95\\u0bb3\\u0bcd\",ss:\"%d \\u0bb5\\u0bbf\\u0ba8\\u0bbe\\u0b9f\\u0bbf\\u0b95\\u0bb3\\u0bcd\",m:\"\\u0b92\\u0bb0\\u0bc1 \\u0ba8\\u0bbf\\u0bae\\u0bbf\\u0b9f\\u0bae\\u0bcd\",mm:\"%d \\u0ba8\\u0bbf\\u0bae\\u0bbf\\u0b9f\\u0b99\\u0bcd\\u0b95\\u0bb3\\u0bcd\",h:\"\\u0b92\\u0bb0\\u0bc1 \\u0bae\\u0ba3\\u0bbf \\u0ba8\\u0bc7\\u0bb0\\u0bae\\u0bcd\",hh:\"%d \\u0bae\\u0ba3\\u0bbf \\u0ba8\\u0bc7\\u0bb0\\u0bae\\u0bcd\",d:\"\\u0b92\\u0bb0\\u0bc1 \\u0ba8\\u0bbe\\u0bb3\\u0bcd\",dd:\"%d \\u0ba8\\u0bbe\\u0b9f\\u0bcd\\u0b95\\u0bb3\\u0bcd\",M:\"\\u0b92\\u0bb0\\u0bc1 \\u0bae\\u0bbe\\u0ba4\\u0bae\\u0bcd\",MM:\"%d \\u0bae\\u0bbe\\u0ba4\\u0b99\\u0bcd\\u0b95\\u0bb3\\u0bcd\",y:\"\\u0b92\\u0bb0\\u0bc1 \\u0bb5\\u0bb0\\u0bc1\\u0b9f\\u0bae\\u0bcd\",yy:\"%d \\u0b86\\u0ba3\\u0bcd\\u0b9f\\u0bc1\\u0b95\\u0bb3\\u0bcd\"},dayOfMonthOrdinalParse:/\\d{1,2}\\u0bb5\\u0ba4\\u0bc1/,ordinal:function(e){return e+\"\\u0bb5\\u0ba4\\u0bc1\"},preparse:function(e){return e.replace(/[\\u0be7\\u0be8\\u0be9\\u0bea\\u0beb\\u0bec\\u0bed\\u0bee\\u0bef\\u0be6]/g,function(e){return rd[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return dd[e]})},meridiemParse:/\\u0baf\\u0bbe\\u0bae\\u0bae\\u0bcd|\\u0bb5\\u0bc8\\u0b95\\u0bb1\\u0bc8|\\u0b95\\u0bbe\\u0bb2\\u0bc8|\\u0ba8\\u0ba3\\u0bcd\\u0baa\\u0b95\\u0bb2\\u0bcd|\\u0b8e\\u0bb1\\u0bcd\\u0baa\\u0bbe\\u0b9f\\u0bc1|\\u0bae\\u0bbe\\u0bb2\\u0bc8/,meridiem:function(e,a,t){return e<2?\" \\u0baf\\u0bbe\\u0bae\\u0bae\\u0bcd\":e<6?\" \\u0bb5\\u0bc8\\u0b95\\u0bb1\\u0bc8\":e<10?\" \\u0b95\\u0bbe\\u0bb2\\u0bc8\":e<14?\" \\u0ba8\\u0ba3\\u0bcd\\u0baa\\u0b95\\u0bb2\\u0bcd\":e<18?\" \\u0b8e\\u0bb1\\u0bcd\\u0baa\\u0bbe\\u0b9f\\u0bc1\":e<22?\" \\u0bae\\u0bbe\\u0bb2\\u0bc8\":\" \\u0baf\\u0bbe\\u0bae\\u0bae\\u0bcd\"},meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0baf\\u0bbe\\u0bae\\u0bae\\u0bcd\"===a?e<2?e:e+12:\"\\u0bb5\\u0bc8\\u0b95\\u0bb1\\u0bc8\"===a||\"\\u0b95\\u0bbe\\u0bb2\\u0bc8\"===a?e:\"\\u0ba8\\u0ba3\\u0bcd\\u0baa\\u0b95\\u0bb2\\u0bcd\"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),l.defineLocale(\"te\",{months:\"\\u0c1c\\u0c28\\u0c35\\u0c30\\u0c3f_\\u0c2b\\u0c3f\\u0c2c\\u0c4d\\u0c30\\u0c35\\u0c30\\u0c3f_\\u0c2e\\u0c3e\\u0c30\\u0c4d\\u0c1a\\u0c3f_\\u0c0f\\u0c2a\\u0c4d\\u0c30\\u0c3f\\u0c32\\u0c4d_\\u0c2e\\u0c47_\\u0c1c\\u0c42\\u0c28\\u0c4d_\\u0c1c\\u0c41\\u0c32\\u0c48_\\u0c06\\u0c17\\u0c38\\u0c4d\\u0c1f\\u0c41_\\u0c38\\u0c46\\u0c2a\\u0c4d\\u0c1f\\u0c46\\u0c02\\u0c2c\\u0c30\\u0c4d_\\u0c05\\u0c15\\u0c4d\\u0c1f\\u0c4b\\u0c2c\\u0c30\\u0c4d_\\u0c28\\u0c35\\u0c02\\u0c2c\\u0c30\\u0c4d_\\u0c21\\u0c3f\\u0c38\\u0c46\\u0c02\\u0c2c\\u0c30\\u0c4d\".split(\"_\"),monthsShort:\"\\u0c1c\\u0c28._\\u0c2b\\u0c3f\\u0c2c\\u0c4d\\u0c30._\\u0c2e\\u0c3e\\u0c30\\u0c4d\\u0c1a\\u0c3f_\\u0c0f\\u0c2a\\u0c4d\\u0c30\\u0c3f._\\u0c2e\\u0c47_\\u0c1c\\u0c42\\u0c28\\u0c4d_\\u0c1c\\u0c41\\u0c32\\u0c48_\\u0c06\\u0c17._\\u0c38\\u0c46\\u0c2a\\u0c4d._\\u0c05\\u0c15\\u0c4d\\u0c1f\\u0c4b._\\u0c28\\u0c35._\\u0c21\\u0c3f\\u0c38\\u0c46.\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u0c06\\u0c26\\u0c3f\\u0c35\\u0c3e\\u0c30\\u0c02_\\u0c38\\u0c4b\\u0c2e\\u0c35\\u0c3e\\u0c30\\u0c02_\\u0c2e\\u0c02\\u0c17\\u0c33\\u0c35\\u0c3e\\u0c30\\u0c02_\\u0c2c\\u0c41\\u0c27\\u0c35\\u0c3e\\u0c30\\u0c02_\\u0c17\\u0c41\\u0c30\\u0c41\\u0c35\\u0c3e\\u0c30\\u0c02_\\u0c36\\u0c41\\u0c15\\u0c4d\\u0c30\\u0c35\\u0c3e\\u0c30\\u0c02_\\u0c36\\u0c28\\u0c3f\\u0c35\\u0c3e\\u0c30\\u0c02\".split(\"_\"),weekdaysShort:\"\\u0c06\\u0c26\\u0c3f_\\u0c38\\u0c4b\\u0c2e_\\u0c2e\\u0c02\\u0c17\\u0c33_\\u0c2c\\u0c41\\u0c27_\\u0c17\\u0c41\\u0c30\\u0c41_\\u0c36\\u0c41\\u0c15\\u0c4d\\u0c30_\\u0c36\\u0c28\\u0c3f\".split(\"_\"),weekdaysMin:\"\\u0c06_\\u0c38\\u0c4b_\\u0c2e\\u0c02_\\u0c2c\\u0c41_\\u0c17\\u0c41_\\u0c36\\u0c41_\\u0c36\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm\",LLLL:\"dddd, D MMMM YYYY, A h:mm\"},calendar:{sameDay:\"[\\u0c28\\u0c47\\u0c21\\u0c41] LT\",nextDay:\"[\\u0c30\\u0c47\\u0c2a\\u0c41] LT\",nextWeek:\"dddd, LT\",lastDay:\"[\\u0c28\\u0c3f\\u0c28\\u0c4d\\u0c28] LT\",lastWeek:\"[\\u0c17\\u0c24] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0c32\\u0c4b\",past:\"%s \\u0c15\\u0c4d\\u0c30\\u0c3f\\u0c24\\u0c02\",s:\"\\u0c15\\u0c4a\\u0c28\\u0c4d\\u0c28\\u0c3f \\u0c15\\u0c4d\\u0c37\\u0c23\\u0c3e\\u0c32\\u0c41\",ss:\"%d \\u0c38\\u0c46\\u0c15\\u0c28\\u0c4d\\u0c32\\u0c41\",m:\"\\u0c12\\u0c15 \\u0c28\\u0c3f\\u0c2e\\u0c3f\\u0c37\\u0c02\",mm:\"%d \\u0c28\\u0c3f\\u0c2e\\u0c3f\\u0c37\\u0c3e\\u0c32\\u0c41\",h:\"\\u0c12\\u0c15 \\u0c17\\u0c02\\u0c1f\",hh:\"%d \\u0c17\\u0c02\\u0c1f\\u0c32\\u0c41\",d:\"\\u0c12\\u0c15 \\u0c30\\u0c4b\\u0c1c\\u0c41\",dd:\"%d \\u0c30\\u0c4b\\u0c1c\\u0c41\\u0c32\\u0c41\",M:\"\\u0c12\\u0c15 \\u0c28\\u0c46\\u0c32\",MM:\"%d \\u0c28\\u0c46\\u0c32\\u0c32\\u0c41\",y:\"\\u0c12\\u0c15 \\u0c38\\u0c02\\u0c35\\u0c24\\u0c4d\\u0c38\\u0c30\\u0c02\",yy:\"%d \\u0c38\\u0c02\\u0c35\\u0c24\\u0c4d\\u0c38\\u0c30\\u0c3e\\u0c32\\u0c41\"},dayOfMonthOrdinalParse:/\\d{1,2}\\u0c35/,ordinal:\"%d\\u0c35\",meridiemParse:/\\u0c30\\u0c3e\\u0c24\\u0c4d\\u0c30\\u0c3f|\\u0c09\\u0c26\\u0c2f\\u0c02|\\u0c2e\\u0c27\\u0c4d\\u0c2f\\u0c3e\\u0c39\\u0c4d\\u0c28\\u0c02|\\u0c38\\u0c3e\\u0c2f\\u0c02\\u0c24\\u0c4d\\u0c30\\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0c30\\u0c3e\\u0c24\\u0c4d\\u0c30\\u0c3f\"===a?e<4?e:e+12:\"\\u0c09\\u0c26\\u0c2f\\u0c02\"===a?e:\"\\u0c2e\\u0c27\\u0c4d\\u0c2f\\u0c3e\\u0c39\\u0c4d\\u0c28\\u0c02\"===a?10<=e?e:e+12:\"\\u0c38\\u0c3e\\u0c2f\\u0c02\\u0c24\\u0c4d\\u0c30\\u0c02\"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?\"\\u0c30\\u0c3e\\u0c24\\u0c4d\\u0c30\\u0c3f\":e<10?\"\\u0c09\\u0c26\\u0c2f\\u0c02\":e<17?\"\\u0c2e\\u0c27\\u0c4d\\u0c2f\\u0c3e\\u0c39\\u0c4d\\u0c28\\u0c02\":e<20?\"\\u0c38\\u0c3e\\u0c2f\\u0c02\\u0c24\\u0c4d\\u0c30\\u0c02\":\"\\u0c30\\u0c3e\\u0c24\\u0c4d\\u0c30\\u0c3f\"},week:{dow:0,doy:6}}),l.defineLocale(\"tet\",{months:\"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez\".split(\"_\"),weekdays:\"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ters_Kua_Kint_Sest_Sab\".split(\"_\"),weekdaysMin:\"Do_Seg_Te_Ku_Ki_Ses_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Ohin iha] LT\",nextDay:\"[Aban iha] LT\",nextWeek:\"dddd [iha] LT\",lastDay:\"[Horiseik iha] LT\",lastWeek:\"dddd [semana kotuk] [iha] LT\",sameElse:\"L\"},relativeTime:{future:\"iha %s\",past:\"%s liuba\",s:\"minutu balun\",ss:\"minutu %d\",m:\"minutu ida\",mm:\"minutu %d\",h:\"oras ida\",hh:\"oras %d\",d:\"loron ida\",dd:\"loron %d\",M:\"fulan ida\",MM:\"fulan %d\",y:\"tinan ida\",yy:\"tinan %d\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")},week:{dow:1,doy:4}});var _d={0:\"-\\u0443\\u043c\",1:\"-\\u0443\\u043c\",2:\"-\\u044e\\u043c\",3:\"-\\u044e\\u043c\",4:\"-\\u0443\\u043c\",5:\"-\\u0443\\u043c\",6:\"-\\u0443\\u043c\",7:\"-\\u0443\\u043c\",8:\"-\\u0443\\u043c\",9:\"-\\u0443\\u043c\",10:\"-\\u0443\\u043c\",12:\"-\\u0443\\u043c\",13:\"-\\u0443\\u043c\",20:\"-\\u0443\\u043c\",30:\"-\\u044e\\u043c\",40:\"-\\u0443\\u043c\",50:\"-\\u0443\\u043c\",60:\"-\\u0443\\u043c\",70:\"-\\u0443\\u043c\",80:\"-\\u0443\\u043c\",90:\"-\\u0443\\u043c\",100:\"-\\u0443\\u043c\"};l.defineLocale(\"tg\",{months:\"\\u044f\\u043d\\u0432\\u0430\\u0440_\\u0444\\u0435\\u0432\\u0440\\u0430\\u043b_\\u043c\\u0430\\u0440\\u0442_\\u0430\\u043f\\u0440\\u0435\\u043b_\\u043c\\u0430\\u0439_\\u0438\\u044e\\u043d_\\u0438\\u044e\\u043b_\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442_\\u0441\\u0435\\u043d\\u0442\\u044f\\u0431\\u0440_\\u043e\\u043a\\u0442\\u044f\\u0431\\u0440_\\u043d\\u043e\\u044f\\u0431\\u0440_\\u0434\\u0435\\u043a\\u0430\\u0431\\u0440\".split(\"_\"),monthsShort:\"\\u044f\\u043d\\u0432_\\u0444\\u0435\\u0432_\\u043c\\u0430\\u0440_\\u0430\\u043f\\u0440_\\u043c\\u0430\\u0439_\\u0438\\u044e\\u043d_\\u0438\\u044e\\u043b_\\u0430\\u0432\\u0433_\\u0441\\u0435\\u043d_\\u043e\\u043a\\u0442_\\u043d\\u043e\\u044f_\\u0434\\u0435\\u043a\".split(\"_\"),weekdays:\"\\u044f\\u043a\\u0448\\u0430\\u043d\\u0431\\u0435_\\u0434\\u0443\\u0448\\u0430\\u043d\\u0431\\u0435_\\u0441\\u0435\\u0448\\u0430\\u043d\\u0431\\u0435_\\u0447\\u043e\\u0440\\u0448\\u0430\\u043d\\u0431\\u0435_\\u043f\\u0430\\u043d\\u04b7\\u0448\\u0430\\u043d\\u0431\\u0435_\\u04b7\\u0443\\u043c\\u044a\\u0430_\\u0448\\u0430\\u043d\\u0431\\u0435\".split(\"_\"),weekdaysShort:\"\\u044f\\u0448\\u0431_\\u0434\\u0448\\u0431_\\u0441\\u0448\\u0431_\\u0447\\u0448\\u0431_\\u043f\\u0448\\u0431_\\u04b7\\u0443\\u043c_\\u0448\\u043d\\u0431\".split(\"_\"),weekdaysMin:\"\\u044f\\u0448_\\u0434\\u0448_\\u0441\\u0448_\\u0447\\u0448_\\u043f\\u0448_\\u04b7\\u043c_\\u0448\\u0431\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u0418\\u043c\\u0440\\u04ef\\u0437 \\u0441\\u043e\\u0430\\u0442\\u0438] LT\",nextDay:\"[\\u041f\\u0430\\u0433\\u043e\\u04b3 \\u0441\\u043e\\u0430\\u0442\\u0438] LT\",lastDay:\"[\\u0414\\u0438\\u0440\\u04ef\\u0437 \\u0441\\u043e\\u0430\\u0442\\u0438] LT\",nextWeek:\"dddd[\\u0438] [\\u04b3\\u0430\\u0444\\u0442\\u0430\\u0438 \\u043e\\u044f\\u043d\\u0434\\u0430 \\u0441\\u043e\\u0430\\u0442\\u0438] LT\",lastWeek:\"dddd[\\u0438] [\\u04b3\\u0430\\u0444\\u0442\\u0430\\u0438 \\u0433\\u0443\\u0437\\u0430\\u0448\\u0442\\u0430 \\u0441\\u043e\\u0430\\u0442\\u0438] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0431\\u0430\\u044a\\u0434\\u0438 %s\",past:\"%s \\u043f\\u0435\\u0448\",s:\"\\u044f\\u043a\\u0447\\u0430\\u043d\\u0434 \\u0441\\u043e\\u043d\\u0438\\u044f\",m:\"\\u044f\\u043a \\u0434\\u0430\\u049b\\u0438\\u049b\\u0430\",mm:\"%d \\u0434\\u0430\\u049b\\u0438\\u049b\\u0430\",h:\"\\u044f\\u043a \\u0441\\u043e\\u0430\\u0442\",hh:\"%d \\u0441\\u043e\\u0430\\u0442\",d:\"\\u044f\\u043a \\u0440\\u04ef\\u0437\",dd:\"%d \\u0440\\u04ef\\u0437\",M:\"\\u044f\\u043a \\u043c\\u043e\\u04b3\",MM:\"%d \\u043c\\u043e\\u04b3\",y:\"\\u044f\\u043a \\u0441\\u043e\\u043b\",yy:\"%d \\u0441\\u043e\\u043b\"},meridiemParse:/\\u0448\\u0430\\u0431|\\u0441\\u0443\\u0431\\u04b3|\\u0440\\u04ef\\u0437|\\u0431\\u0435\\u0433\\u043e\\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u0448\\u0430\\u0431\"===a?e<4?e:e+12:\"\\u0441\\u0443\\u0431\\u04b3\"===a?e:\"\\u0440\\u04ef\\u0437\"===a?11<=e?e:e+12:\"\\u0431\\u0435\\u0433\\u043e\\u04b3\"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?\"\\u0448\\u0430\\u0431\":e<11?\"\\u0441\\u0443\\u0431\\u04b3\":e<16?\"\\u0440\\u04ef\\u0437\":e<19?\"\\u0431\\u0435\\u0433\\u043e\\u04b3\":\"\\u0448\\u0430\\u0431\"},dayOfMonthOrdinalParse:/\\d{1,2}-(\\u0443\\u043c|\\u044e\\u043c)/,ordinal:function(e){return e+(_d[e]||_d[e%10]||_d[100<=e?100:null])},week:{dow:1,doy:7}}),l.defineLocale(\"th\",{months:\"\\u0e21\\u0e01\\u0e23\\u0e32\\u0e04\\u0e21_\\u0e01\\u0e38\\u0e21\\u0e20\\u0e32\\u0e1e\\u0e31\\u0e19\\u0e18\\u0e4c_\\u0e21\\u0e35\\u0e19\\u0e32\\u0e04\\u0e21_\\u0e40\\u0e21\\u0e29\\u0e32\\u0e22\\u0e19_\\u0e1e\\u0e24\\u0e29\\u0e20\\u0e32\\u0e04\\u0e21_\\u0e21\\u0e34\\u0e16\\u0e38\\u0e19\\u0e32\\u0e22\\u0e19_\\u0e01\\u0e23\\u0e01\\u0e0e\\u0e32\\u0e04\\u0e21_\\u0e2a\\u0e34\\u0e07\\u0e2b\\u0e32\\u0e04\\u0e21_\\u0e01\\u0e31\\u0e19\\u0e22\\u0e32\\u0e22\\u0e19_\\u0e15\\u0e38\\u0e25\\u0e32\\u0e04\\u0e21_\\u0e1e\\u0e24\\u0e28\\u0e08\\u0e34\\u0e01\\u0e32\\u0e22\\u0e19_\\u0e18\\u0e31\\u0e19\\u0e27\\u0e32\\u0e04\\u0e21\".split(\"_\"),monthsShort:\"\\u0e21.\\u0e04._\\u0e01.\\u0e1e._\\u0e21\\u0e35.\\u0e04._\\u0e40\\u0e21.\\u0e22._\\u0e1e.\\u0e04._\\u0e21\\u0e34.\\u0e22._\\u0e01.\\u0e04._\\u0e2a.\\u0e04._\\u0e01.\\u0e22._\\u0e15.\\u0e04._\\u0e1e.\\u0e22._\\u0e18.\\u0e04.\".split(\"_\"),monthsParseExact:!0,weekdays:\"\\u0e2d\\u0e32\\u0e17\\u0e34\\u0e15\\u0e22\\u0e4c_\\u0e08\\u0e31\\u0e19\\u0e17\\u0e23\\u0e4c_\\u0e2d\\u0e31\\u0e07\\u0e04\\u0e32\\u0e23_\\u0e1e\\u0e38\\u0e18_\\u0e1e\\u0e24\\u0e2b\\u0e31\\u0e2a\\u0e1a\\u0e14\\u0e35_\\u0e28\\u0e38\\u0e01\\u0e23\\u0e4c_\\u0e40\\u0e2a\\u0e32\\u0e23\\u0e4c\".split(\"_\"),weekdaysShort:\"\\u0e2d\\u0e32\\u0e17\\u0e34\\u0e15\\u0e22\\u0e4c_\\u0e08\\u0e31\\u0e19\\u0e17\\u0e23\\u0e4c_\\u0e2d\\u0e31\\u0e07\\u0e04\\u0e32\\u0e23_\\u0e1e\\u0e38\\u0e18_\\u0e1e\\u0e24\\u0e2b\\u0e31\\u0e2a_\\u0e28\\u0e38\\u0e01\\u0e23\\u0e4c_\\u0e40\\u0e2a\\u0e32\\u0e23\\u0e4c\".split(\"_\"),weekdaysMin:\"\\u0e2d\\u0e32._\\u0e08._\\u0e2d._\\u0e1e._\\u0e1e\\u0e24._\\u0e28._\\u0e2a.\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY \\u0e40\\u0e27\\u0e25\\u0e32 H:mm\",LLLL:\"\\u0e27\\u0e31\\u0e19dddd\\u0e17\\u0e35\\u0e48 D MMMM YYYY \\u0e40\\u0e27\\u0e25\\u0e32 H:mm\"},meridiemParse:/\\u0e01\\u0e48\\u0e2d\\u0e19\\u0e40\\u0e17\\u0e35\\u0e48\\u0e22\\u0e07|\\u0e2b\\u0e25\\u0e31\\u0e07\\u0e40\\u0e17\\u0e35\\u0e48\\u0e22\\u0e07/,isPM:function(e){return\"\\u0e2b\\u0e25\\u0e31\\u0e07\\u0e40\\u0e17\\u0e35\\u0e48\\u0e22\\u0e07\"===e},meridiem:function(e,a,t){return e<12?\"\\u0e01\\u0e48\\u0e2d\\u0e19\\u0e40\\u0e17\\u0e35\\u0e48\\u0e22\\u0e07\":\"\\u0e2b\\u0e25\\u0e31\\u0e07\\u0e40\\u0e17\\u0e35\\u0e48\\u0e22\\u0e07\"},calendar:{sameDay:\"[\\u0e27\\u0e31\\u0e19\\u0e19\\u0e35\\u0e49 \\u0e40\\u0e27\\u0e25\\u0e32] LT\",nextDay:\"[\\u0e1e\\u0e23\\u0e38\\u0e48\\u0e07\\u0e19\\u0e35\\u0e49 \\u0e40\\u0e27\\u0e25\\u0e32] LT\",nextWeek:\"dddd[\\u0e2b\\u0e19\\u0e49\\u0e32 \\u0e40\\u0e27\\u0e25\\u0e32] LT\",lastDay:\"[\\u0e40\\u0e21\\u0e37\\u0e48\\u0e2d\\u0e27\\u0e32\\u0e19\\u0e19\\u0e35\\u0e49 \\u0e40\\u0e27\\u0e25\\u0e32] LT\",lastWeek:\"[\\u0e27\\u0e31\\u0e19]dddd[\\u0e17\\u0e35\\u0e48\\u0e41\\u0e25\\u0e49\\u0e27 \\u0e40\\u0e27\\u0e25\\u0e32] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u0e2d\\u0e35\\u0e01 %s\",past:\"%s\\u0e17\\u0e35\\u0e48\\u0e41\\u0e25\\u0e49\\u0e27\",s:\"\\u0e44\\u0e21\\u0e48\\u0e01\\u0e35\\u0e48\\u0e27\\u0e34\\u0e19\\u0e32\\u0e17\\u0e35\",ss:\"%d \\u0e27\\u0e34\\u0e19\\u0e32\\u0e17\\u0e35\",m:\"1 \\u0e19\\u0e32\\u0e17\\u0e35\",mm:\"%d \\u0e19\\u0e32\\u0e17\\u0e35\",h:\"1 \\u0e0a\\u0e31\\u0e48\\u0e27\\u0e42\\u0e21\\u0e07\",hh:\"%d \\u0e0a\\u0e31\\u0e48\\u0e27\\u0e42\\u0e21\\u0e07\",d:\"1 \\u0e27\\u0e31\\u0e19\",dd:\"%d \\u0e27\\u0e31\\u0e19\",M:\"1 \\u0e40\\u0e14\\u0e37\\u0e2d\\u0e19\",MM:\"%d \\u0e40\\u0e14\\u0e37\\u0e2d\\u0e19\",y:\"1 \\u0e1b\\u0e35\",yy:\"%d \\u0e1b\\u0e35\"}}),l.defineLocale(\"tl-ph\",{months:\"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre\".split(\"_\"),monthsShort:\"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis\".split(\"_\"),weekdays:\"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado\".split(\"_\"),weekdaysShort:\"Lin_Lun_Mar_Miy_Huw_Biy_Sab\".split(\"_\"),weekdaysMin:\"Li_Lu_Ma_Mi_Hu_Bi_Sab\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"MM/D/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY HH:mm\",LLLL:\"dddd, MMMM DD, YYYY HH:mm\"},calendar:{sameDay:\"LT [ngayong araw]\",nextDay:\"[Bukas ng] LT\",nextWeek:\"LT [sa susunod na] dddd\",lastDay:\"LT [kahapon]\",lastWeek:\"LT [noong nakaraang] dddd\",sameElse:\"L\"},relativeTime:{future:\"sa loob ng %s\",past:\"%s ang nakalipas\",s:\"ilang segundo\",ss:\"%d segundo\",m:\"isang minuto\",mm:\"%d minuto\",h:\"isang oras\",hh:\"%d oras\",d:\"isang araw\",dd:\"%d araw\",M:\"isang buwan\",MM:\"%d buwan\",y:\"isang taon\",yy:\"%d taon\"},dayOfMonthOrdinalParse:/\\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});var id=\"pagh_wa\\u2019_cha\\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut\".split(\"_\");function od(e,a,t,s){var n=function(e){var a=Math.floor(e%1e3/100),t=Math.floor(e%100/10),s=e%10,n=\"\";0<a&&(n+=id[a]+\"vatlh\");0<t&&(n+=(\"\"!==n?\" \":\"\")+id[t]+\"maH\");0<s&&(n+=(\"\"!==n?\" \":\"\")+id[s]);return\"\"===n?\"pagh\":n}(e);switch(t){case\"ss\":return n+\" lup\";case\"mm\":return n+\" tup\";case\"hh\":return n+\" rep\";case\"dd\":return n+\" jaj\";case\"MM\":return n+\" jar\";case\"yy\":return n+\" DIS\"}}l.defineLocale(\"tlh\",{months:\"tera\\u2019 jar wa\\u2019_tera\\u2019 jar cha\\u2019_tera\\u2019 jar wej_tera\\u2019 jar loS_tera\\u2019 jar vagh_tera\\u2019 jar jav_tera\\u2019 jar Soch_tera\\u2019 jar chorgh_tera\\u2019 jar Hut_tera\\u2019 jar wa\\u2019maH_tera\\u2019 jar wa\\u2019maH wa\\u2019_tera\\u2019 jar wa\\u2019maH cha\\u2019\".split(\"_\"),monthsShort:\"jar wa\\u2019_jar cha\\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\\u2019maH_jar wa\\u2019maH wa\\u2019_jar wa\\u2019maH cha\\u2019\".split(\"_\"),monthsParseExact:!0,weekdays:\"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj\".split(\"_\"),weekdaysShort:\"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj\".split(\"_\"),weekdaysMin:\"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[DaHjaj] LT\",nextDay:\"[wa\\u2019leS] LT\",nextWeek:\"LLL\",lastDay:\"[wa\\u2019Hu\\u2019] LT\",lastWeek:\"LLL\",sameElse:\"L\"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf(\"jaj\")?a.slice(0,-3)+\"leS\":-1!==e.indexOf(\"jar\")?a.slice(0,-3)+\"waQ\":-1!==e.indexOf(\"DIS\")?a.slice(0,-3)+\"nem\":a+\" pIq\"},past:function(e){var a=e;return a=-1!==e.indexOf(\"jaj\")?a.slice(0,-3)+\"Hu\\u2019\":-1!==e.indexOf(\"jar\")?a.slice(0,-3)+\"wen\":-1!==e.indexOf(\"DIS\")?a.slice(0,-3)+\"ben\":a+\" ret\"},s:\"puS lup\",ss:od,m:\"wa\\u2019 tup\",mm:od,h:\"wa\\u2019 rep\",hh:od,d:\"wa\\u2019 jaj\",dd:od,M:\"wa\\u2019 jar\",MM:od,y:\"wa\\u2019 DIS\",yy:od},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});var md={1:\"'inci\",5:\"'inci\",8:\"'inci\",70:\"'inci\",80:\"'inci\",2:\"'nci\",7:\"'nci\",20:\"'nci\",50:\"'nci\",3:\"'\\xfcnc\\xfc\",4:\"'\\xfcnc\\xfc\",100:\"'\\xfcnc\\xfc\",6:\"'nc\\u0131\",9:\"'uncu\",10:\"'uncu\",30:\"'uncu\",60:\"'\\u0131nc\\u0131\",90:\"'\\u0131nc\\u0131\"};function ud(e,a,t,s){var n={s:[\"viensas secunds\",\"'iensas secunds\"],ss:[e+\" secunds\",e+\" secunds\"],m:[\"'n m\\xedut\",\"'iens m\\xedut\"],mm:[e+\" m\\xeduts\",e+\" m\\xeduts\"],h:[\"'n \\xfeora\",\"'iensa \\xfeora\"],hh:[e+\" \\xfeoras\",e+\" \\xfeoras\"],d:[\"'n ziua\",\"'iensa ziua\"],dd:[e+\" ziuas\",e+\" ziuas\"],M:[\"'n mes\",\"'iens mes\"],MM:[e+\" mesen\",e+\" mesen\"],y:[\"'n ar\",\"'iens ar\"],yy:[e+\" ars\",e+\" ars\"]};return s?n[t][0]:a?n[t][0]:n[t][1]}function ld(e,a,t){var s,n;return\"m\"===t?a?\"\\u0445\\u0432\\u0438\\u043b\\u0438\\u043d\\u0430\":\"\\u0445\\u0432\\u0438\\u043b\\u0438\\u043d\\u0443\":\"h\"===t?a?\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0430\":\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0443\":e+\" \"+(s=+e,n={ss:a?\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0430_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0438_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\":\"\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0443_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0438_\\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",mm:a?\"\\u0445\\u0432\\u0438\\u043b\\u0438\\u043d\\u0430_\\u0445\\u0432\\u0438\\u043b\\u0438\\u043d\\u0438_\\u0445\\u0432\\u0438\\u043b\\u0438\\u043d\":\"\\u0445\\u0432\\u0438\\u043b\\u0438\\u043d\\u0443_\\u0445\\u0432\\u0438\\u043b\\u0438\\u043d\\u0438_\\u0445\\u0432\\u0438\\u043b\\u0438\\u043d\",hh:a?\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0430_\\u0433\\u043e\\u0434\\u0438\\u043d\\u0438_\\u0433\\u043e\\u0434\\u0438\\u043d\":\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0443_\\u0433\\u043e\\u0434\\u0438\\u043d\\u0438_\\u0433\\u043e\\u0434\\u0438\\u043d\",dd:\"\\u0434\\u0435\\u043d\\u044c_\\u0434\\u043d\\u0456_\\u0434\\u043d\\u0456\\u0432\",MM:\"\\u043c\\u0456\\u0441\\u044f\\u0446\\u044c_\\u043c\\u0456\\u0441\\u044f\\u0446\\u0456_\\u043c\\u0456\\u0441\\u044f\\u0446\\u0456\\u0432\",yy:\"\\u0440\\u0456\\u043a_\\u0440\\u043e\\u043a\\u0438_\\u0440\\u043e\\u043a\\u0456\\u0432\"}[t].split(\"_\"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}function Md(e){return function(){return e+\"\\u043e\"+(11===this.hours()?\"\\u0431\":\"\")+\"] LT\"}}l.defineLocale(\"tr\",{months:\"Ocak_\\u015eubat_Mart_Nisan_May\\u0131s_Haziran_Temmuz_A\\u011fustos_Eyl\\xfcl_Ekim_Kas\\u0131m_Aral\\u0131k\".split(\"_\"),monthsShort:\"Oca_\\u015eub_Mar_Nis_May_Haz_Tem_A\\u011fu_Eyl_Eki_Kas_Ara\".split(\"_\"),weekdays:\"Pazar_Pazartesi_Sal\\u0131_\\xc7ar\\u015famba_Per\\u015fembe_Cuma_Cumartesi\".split(\"_\"),weekdaysShort:\"Paz_Pts_Sal_\\xc7ar_Per_Cum_Cts\".split(\"_\"),weekdaysMin:\"Pz_Pt_Sa_\\xc7a_Pe_Cu_Ct\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[bug\\xfcn saat] LT\",nextDay:\"[yar\\u0131n saat] LT\",nextWeek:\"[gelecek] dddd [saat] LT\",lastDay:\"[d\\xfcn] LT\",lastWeek:\"[ge\\xe7en] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s sonra\",past:\"%s \\xf6nce\",s:\"birka\\xe7 saniye\",ss:\"%d saniye\",m:\"bir dakika\",mm:\"%d dakika\",h:\"bir saat\",hh:\"%d saat\",d:\"bir g\\xfcn\",dd:\"%d g\\xfcn\",M:\"bir ay\",MM:\"%d ay\",y:\"bir y\\u0131l\",yy:\"%d y\\u0131l\"},ordinal:function(e,a){switch(a){case\"d\":case\"D\":case\"Do\":case\"DD\":return e;default:if(0===e)return e+\"'\\u0131nc\\u0131\";var t=e%10;return e+(md[t]||md[e%100-t]||md[100<=e?100:null])}},week:{dow:1,doy:7}}),l.defineLocale(\"tzl\",{months:\"Januar_Fevraglh_Mar\\xe7_Avr\\xefu_Mai_G\\xfcn_Julia_Guscht_Setemvar_Listop\\xe4ts_Noemvar_Zecemvar\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Avr_Mai_G\\xfcn_Jul_Gus_Set_Lis_Noe_Zec\".split(\"_\"),weekdays:\"S\\xfaladi_L\\xfane\\xe7i_Maitzi_M\\xe1rcuri_Xh\\xfaadi_Vi\\xe9ner\\xe7i_S\\xe1turi\".split(\"_\"),weekdaysShort:\"S\\xfal_L\\xfan_Mai_M\\xe1r_Xh\\xfa_Vi\\xe9_S\\xe1t\".split(\"_\"),weekdaysMin:\"S\\xfa_L\\xfa_Ma_M\\xe1_Xh_Vi_S\\xe1\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM [dallas] YYYY\",LLL:\"D. MMMM [dallas] YYYY HH.mm\",LLLL:\"dddd, [li] D. MMMM [dallas] YYYY HH.mm\"},meridiemParse:/d\\'o|d\\'a/i,isPM:function(e){return\"d'o\"===e.toLowerCase()},meridiem:function(e,a,t){return 11<e?t?\"d'o\":\"D'O\":t?\"d'a\":\"D'A\"},calendar:{sameDay:\"[oxhi \\xe0] LT\",nextDay:\"[dem\\xe0 \\xe0] LT\",nextWeek:\"dddd [\\xe0] LT\",lastDay:\"[ieiri \\xe0] LT\",lastWeek:\"[s\\xfcr el] dddd [lasteu \\xe0] LT\",sameElse:\"L\"},relativeTime:{future:\"osprei %s\",past:\"ja%s\",s:ud,ss:ud,m:ud,mm:ud,h:ud,hh:ud,d:ud,dd:ud,M:ud,MM:ud,y:ud,yy:ud},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),l.defineLocale(\"tzm-latn\",{months:\"innayr_br\\u02e4ayr\\u02e4_mar\\u02e4s\\u02e4_ibrir_mayyw_ywnyw_ywlywz_\\u0263w\\u0161t_\\u0161wtanbir_kt\\u02e4wbr\\u02e4_nwwanbir_dwjnbir\".split(\"_\"),monthsShort:\"innayr_br\\u02e4ayr\\u02e4_mar\\u02e4s\\u02e4_ibrir_mayyw_ywnyw_ywlywz_\\u0263w\\u0161t_\\u0161wtanbir_kt\\u02e4wbr\\u02e4_nwwanbir_dwjnbir\".split(\"_\"),weekdays:\"asamas_aynas_asinas_akras_akwas_asimwas_asi\\u1e0dyas\".split(\"_\"),weekdaysShort:\"asamas_aynas_asinas_akras_akwas_asimwas_asi\\u1e0dyas\".split(\"_\"),weekdaysMin:\"asamas_aynas_asinas_akras_akwas_asimwas_asi\\u1e0dyas\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[asdkh g] LT\",nextDay:\"[aska g] LT\",nextWeek:\"dddd [g] LT\",lastDay:\"[assant g] LT\",lastWeek:\"dddd [g] LT\",sameElse:\"L\"},relativeTime:{future:\"dadkh s yan %s\",past:\"yan %s\",s:\"imik\",ss:\"%d imik\",m:\"minu\\u1e0d\",mm:\"%d minu\\u1e0d\",h:\"sa\\u025ba\",hh:\"%d tassa\\u025bin\",d:\"ass\",dd:\"%d ossan\",M:\"ayowr\",MM:\"%d iyyirn\",y:\"asgas\",yy:\"%d isgasn\"},week:{dow:6,doy:12}}),l.defineLocale(\"tzm\",{months:\"\\u2d49\\u2d4f\\u2d4f\\u2d30\\u2d62\\u2d54_\\u2d31\\u2d55\\u2d30\\u2d62\\u2d55_\\u2d4e\\u2d30\\u2d55\\u2d5a_\\u2d49\\u2d31\\u2d54\\u2d49\\u2d54_\\u2d4e\\u2d30\\u2d62\\u2d62\\u2d53_\\u2d62\\u2d53\\u2d4f\\u2d62\\u2d53_\\u2d62\\u2d53\\u2d4d\\u2d62\\u2d53\\u2d63_\\u2d56\\u2d53\\u2d5b\\u2d5c_\\u2d5b\\u2d53\\u2d5c\\u2d30\\u2d4f\\u2d31\\u2d49\\u2d54_\\u2d3d\\u2d5f\\u2d53\\u2d31\\u2d55_\\u2d4f\\u2d53\\u2d61\\u2d30\\u2d4f\\u2d31\\u2d49\\u2d54_\\u2d37\\u2d53\\u2d4a\\u2d4f\\u2d31\\u2d49\\u2d54\".split(\"_\"),monthsShort:\"\\u2d49\\u2d4f\\u2d4f\\u2d30\\u2d62\\u2d54_\\u2d31\\u2d55\\u2d30\\u2d62\\u2d55_\\u2d4e\\u2d30\\u2d55\\u2d5a_\\u2d49\\u2d31\\u2d54\\u2d49\\u2d54_\\u2d4e\\u2d30\\u2d62\\u2d62\\u2d53_\\u2d62\\u2d53\\u2d4f\\u2d62\\u2d53_\\u2d62\\u2d53\\u2d4d\\u2d62\\u2d53\\u2d63_\\u2d56\\u2d53\\u2d5b\\u2d5c_\\u2d5b\\u2d53\\u2d5c\\u2d30\\u2d4f\\u2d31\\u2d49\\u2d54_\\u2d3d\\u2d5f\\u2d53\\u2d31\\u2d55_\\u2d4f\\u2d53\\u2d61\\u2d30\\u2d4f\\u2d31\\u2d49\\u2d54_\\u2d37\\u2d53\\u2d4a\\u2d4f\\u2d31\\u2d49\\u2d54\".split(\"_\"),weekdays:\"\\u2d30\\u2d59\\u2d30\\u2d4e\\u2d30\\u2d59_\\u2d30\\u2d62\\u2d4f\\u2d30\\u2d59_\\u2d30\\u2d59\\u2d49\\u2d4f\\u2d30\\u2d59_\\u2d30\\u2d3d\\u2d54\\u2d30\\u2d59_\\u2d30\\u2d3d\\u2d61\\u2d30\\u2d59_\\u2d30\\u2d59\\u2d49\\u2d4e\\u2d61\\u2d30\\u2d59_\\u2d30\\u2d59\\u2d49\\u2d39\\u2d62\\u2d30\\u2d59\".split(\"_\"),weekdaysShort:\"\\u2d30\\u2d59\\u2d30\\u2d4e\\u2d30\\u2d59_\\u2d30\\u2d62\\u2d4f\\u2d30\\u2d59_\\u2d30\\u2d59\\u2d49\\u2d4f\\u2d30\\u2d59_\\u2d30\\u2d3d\\u2d54\\u2d30\\u2d59_\\u2d30\\u2d3d\\u2d61\\u2d30\\u2d59_\\u2d30\\u2d59\\u2d49\\u2d4e\\u2d61\\u2d30\\u2d59_\\u2d30\\u2d59\\u2d49\\u2d39\\u2d62\\u2d30\\u2d59\".split(\"_\"),weekdaysMin:\"\\u2d30\\u2d59\\u2d30\\u2d4e\\u2d30\\u2d59_\\u2d30\\u2d62\\u2d4f\\u2d30\\u2d59_\\u2d30\\u2d59\\u2d49\\u2d4f\\u2d30\\u2d59_\\u2d30\\u2d3d\\u2d54\\u2d30\\u2d59_\\u2d30\\u2d3d\\u2d61\\u2d30\\u2d59_\\u2d30\\u2d59\\u2d49\\u2d4e\\u2d61\\u2d30\\u2d59_\\u2d30\\u2d59\\u2d49\\u2d39\\u2d62\\u2d30\\u2d59\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[\\u2d30\\u2d59\\u2d37\\u2d45 \\u2d34] LT\",nextDay:\"[\\u2d30\\u2d59\\u2d3d\\u2d30 \\u2d34] LT\",nextWeek:\"dddd [\\u2d34] LT\",lastDay:\"[\\u2d30\\u2d5a\\u2d30\\u2d4f\\u2d5c \\u2d34] LT\",lastWeek:\"dddd [\\u2d34] LT\",sameElse:\"L\"},relativeTime:{future:\"\\u2d37\\u2d30\\u2d37\\u2d45 \\u2d59 \\u2d62\\u2d30\\u2d4f %s\",past:\"\\u2d62\\u2d30\\u2d4f %s\",s:\"\\u2d49\\u2d4e\\u2d49\\u2d3d\",ss:\"%d \\u2d49\\u2d4e\\u2d49\\u2d3d\",m:\"\\u2d4e\\u2d49\\u2d4f\\u2d53\\u2d3a\",mm:\"%d \\u2d4e\\u2d49\\u2d4f\\u2d53\\u2d3a\",h:\"\\u2d59\\u2d30\\u2d44\\u2d30\",hh:\"%d \\u2d5c\\u2d30\\u2d59\\u2d59\\u2d30\\u2d44\\u2d49\\u2d4f\",d:\"\\u2d30\\u2d59\\u2d59\",dd:\"%d o\\u2d59\\u2d59\\u2d30\\u2d4f\",M:\"\\u2d30\\u2d62o\\u2d53\\u2d54\",MM:\"%d \\u2d49\\u2d62\\u2d62\\u2d49\\u2d54\\u2d4f\",y:\"\\u2d30\\u2d59\\u2d33\\u2d30\\u2d59\",yy:\"%d \\u2d49\\u2d59\\u2d33\\u2d30\\u2d59\\u2d4f\"},week:{dow:6,doy:12}}),l.defineLocale(\"ug-cn\",{months:\"\\u064a\\u0627\\u0646\\u06cb\\u0627\\u0631_\\u0641\\u06d0\\u06cb\\u0631\\u0627\\u0644_\\u0645\\u0627\\u0631\\u062a_\\u0626\\u0627\\u067e\\u0631\\u06d0\\u0644_\\u0645\\u0627\\u064a_\\u0626\\u0649\\u064a\\u06c7\\u0646_\\u0626\\u0649\\u064a\\u06c7\\u0644_\\u0626\\u0627\\u06cb\\u063a\\u06c7\\u0633\\u062a_\\u0633\\u06d0\\u0646\\u062a\\u06d5\\u0628\\u0649\\u0631_\\u0626\\u06c6\\u0643\\u062a\\u06d5\\u0628\\u0649\\u0631_\\u0646\\u0648\\u064a\\u0627\\u0628\\u0649\\u0631_\\u062f\\u06d0\\u0643\\u0627\\u0628\\u0649\\u0631\".split(\"_\"),monthsShort:\"\\u064a\\u0627\\u0646\\u06cb\\u0627\\u0631_\\u0641\\u06d0\\u06cb\\u0631\\u0627\\u0644_\\u0645\\u0627\\u0631\\u062a_\\u0626\\u0627\\u067e\\u0631\\u06d0\\u0644_\\u0645\\u0627\\u064a_\\u0626\\u0649\\u064a\\u06c7\\u0646_\\u0626\\u0649\\u064a\\u06c7\\u0644_\\u0626\\u0627\\u06cb\\u063a\\u06c7\\u0633\\u062a_\\u0633\\u06d0\\u0646\\u062a\\u06d5\\u0628\\u0649\\u0631_\\u0626\\u06c6\\u0643\\u062a\\u06d5\\u0628\\u0649\\u0631_\\u0646\\u0648\\u064a\\u0627\\u0628\\u0649\\u0631_\\u062f\\u06d0\\u0643\\u0627\\u0628\\u0649\\u0631\".split(\"_\"),weekdays:\"\\u064a\\u06d5\\u0643\\u0634\\u06d5\\u0646\\u0628\\u06d5_\\u062f\\u06c8\\u0634\\u06d5\\u0646\\u0628\\u06d5_\\u0633\\u06d5\\u064a\\u0634\\u06d5\\u0646\\u0628\\u06d5_\\u0686\\u0627\\u0631\\u0634\\u06d5\\u0646\\u0628\\u06d5_\\u067e\\u06d5\\u064a\\u0634\\u06d5\\u0646\\u0628\\u06d5_\\u062c\\u06c8\\u0645\\u06d5_\\u0634\\u06d5\\u0646\\u0628\\u06d5\".split(\"_\"),weekdaysShort:\"\\u064a\\u06d5_\\u062f\\u06c8_\\u0633\\u06d5_\\u0686\\u0627_\\u067e\\u06d5_\\u062c\\u06c8_\\u0634\\u06d5\".split(\"_\"),weekdaysMin:\"\\u064a\\u06d5_\\u062f\\u06c8_\\u0633\\u06d5_\\u0686\\u0627_\\u067e\\u06d5_\\u062c\\u06c8_\\u0634\\u06d5\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY-\\u064a\\u0649\\u0644\\u0649M-\\u0626\\u0627\\u064a\\u0646\\u0649\\u06adD-\\u0643\\u06c8\\u0646\\u0649\",LLL:\"YYYY-\\u064a\\u0649\\u0644\\u0649M-\\u0626\\u0627\\u064a\\u0646\\u0649\\u06adD-\\u0643\\u06c8\\u0646\\u0649\\u060c HH:mm\",LLLL:\"dddd\\u060c YYYY-\\u064a\\u0649\\u0644\\u0649M-\\u0626\\u0627\\u064a\\u0646\\u0649\\u06adD-\\u0643\\u06c8\\u0646\\u0649\\u060c HH:mm\"},meridiemParse:/\\u064a\\u06d0\\u0631\\u0649\\u0645 \\u0643\\u06d0\\u0686\\u06d5|\\u0633\\u06d5\\u06be\\u06d5\\u0631|\\u0686\\u06c8\\u0634\\u062a\\u0649\\u0646 \\u0628\\u06c7\\u0631\\u06c7\\u0646|\\u0686\\u06c8\\u0634|\\u0686\\u06c8\\u0634\\u062a\\u0649\\u0646 \\u0643\\u06d0\\u064a\\u0649\\u0646|\\u0643\\u06d5\\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u064a\\u06d0\\u0631\\u0649\\u0645 \\u0643\\u06d0\\u0686\\u06d5\"===a||\"\\u0633\\u06d5\\u06be\\u06d5\\u0631\"===a||\"\\u0686\\u06c8\\u0634\\u062a\\u0649\\u0646 \\u0628\\u06c7\\u0631\\u06c7\\u0646\"===a?e:\"\\u0686\\u06c8\\u0634\\u062a\\u0649\\u0646 \\u0643\\u06d0\\u064a\\u0649\\u0646\"===a||\"\\u0643\\u06d5\\u0686\"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,t){var s=100*e+a;return s<600?\"\\u064a\\u06d0\\u0631\\u0649\\u0645 \\u0643\\u06d0\\u0686\\u06d5\":s<900?\"\\u0633\\u06d5\\u06be\\u06d5\\u0631\":s<1130?\"\\u0686\\u06c8\\u0634\\u062a\\u0649\\u0646 \\u0628\\u06c7\\u0631\\u06c7\\u0646\":s<1230?\"\\u0686\\u06c8\\u0634\":s<1800?\"\\u0686\\u06c8\\u0634\\u062a\\u0649\\u0646 \\u0643\\u06d0\\u064a\\u0649\\u0646\":\"\\u0643\\u06d5\\u0686\"},calendar:{sameDay:\"[\\u0628\\u06c8\\u06af\\u06c8\\u0646 \\u0633\\u0627\\u0626\\u06d5\\u062a] LT\",nextDay:\"[\\u0626\\u06d5\\u062a\\u06d5 \\u0633\\u0627\\u0626\\u06d5\\u062a] LT\",nextWeek:\"[\\u0643\\u06d0\\u0644\\u06d5\\u0631\\u0643\\u0649] dddd [\\u0633\\u0627\\u0626\\u06d5\\u062a] LT\",lastDay:\"[\\u062a\\u06c6\\u0646\\u06c8\\u06af\\u06c8\\u0646] LT\",lastWeek:\"[\\u0626\\u0627\\u0644\\u062f\\u0649\\u0646\\u0642\\u0649] dddd [\\u0633\\u0627\\u0626\\u06d5\\u062a] LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0643\\u06d0\\u064a\\u0649\\u0646\",past:\"%s \\u0628\\u06c7\\u0631\\u06c7\\u0646\",s:\"\\u0646\\u06d5\\u0686\\u0686\\u06d5 \\u0633\\u06d0\\u0643\\u0648\\u0646\\u062a\",ss:\"%d \\u0633\\u06d0\\u0643\\u0648\\u0646\\u062a\",m:\"\\u0628\\u0649\\u0631 \\u0645\\u0649\\u0646\\u06c7\\u062a\",mm:\"%d \\u0645\\u0649\\u0646\\u06c7\\u062a\",h:\"\\u0628\\u0649\\u0631 \\u0633\\u0627\\u0626\\u06d5\\u062a\",hh:\"%d \\u0633\\u0627\\u0626\\u06d5\\u062a\",d:\"\\u0628\\u0649\\u0631 \\u0643\\u06c8\\u0646\",dd:\"%d \\u0643\\u06c8\\u0646\",M:\"\\u0628\\u0649\\u0631 \\u0626\\u0627\\u064a\",MM:\"%d \\u0626\\u0627\\u064a\",y:\"\\u0628\\u0649\\u0631 \\u064a\\u0649\\u0644\",yy:\"%d \\u064a\\u0649\\u0644\"},dayOfMonthOrdinalParse:/\\d{1,2}(-\\u0643\\u06c8\\u0646\\u0649|-\\u0626\\u0627\\u064a|-\\u06be\\u06d5\\u067e\\u062a\\u06d5)/,ordinal:function(e,a){switch(a){case\"d\":case\"D\":case\"DDD\":return e+\"-\\u0643\\u06c8\\u0646\\u0649\";case\"w\":case\"W\":return e+\"-\\u06be\\u06d5\\u067e\\u062a\\u06d5\";default:return e}},preparse:function(e){return e.replace(/\\u060c/g,\",\")},postformat:function(e){return e.replace(/,/g,\"\\u060c\")},week:{dow:1,doy:7}}),l.defineLocale(\"uk\",{months:{format:\"\\u0441\\u0456\\u0447\\u043d\\u044f_\\u043b\\u044e\\u0442\\u043e\\u0433\\u043e_\\u0431\\u0435\\u0440\\u0435\\u0437\\u043d\\u044f_\\u043a\\u0432\\u0456\\u0442\\u043d\\u044f_\\u0442\\u0440\\u0430\\u0432\\u043d\\u044f_\\u0447\\u0435\\u0440\\u0432\\u043d\\u044f_\\u043b\\u0438\\u043f\\u043d\\u044f_\\u0441\\u0435\\u0440\\u043f\\u043d\\u044f_\\u0432\\u0435\\u0440\\u0435\\u0441\\u043d\\u044f_\\u0436\\u043e\\u0432\\u0442\\u043d\\u044f_\\u043b\\u0438\\u0441\\u0442\\u043e\\u043f\\u0430\\u0434\\u0430_\\u0433\\u0440\\u0443\\u0434\\u043d\\u044f\".split(\"_\"),standalone:\"\\u0441\\u0456\\u0447\\u0435\\u043d\\u044c_\\u043b\\u044e\\u0442\\u0438\\u0439_\\u0431\\u0435\\u0440\\u0435\\u0437\\u0435\\u043d\\u044c_\\u043a\\u0432\\u0456\\u0442\\u0435\\u043d\\u044c_\\u0442\\u0440\\u0430\\u0432\\u0435\\u043d\\u044c_\\u0447\\u0435\\u0440\\u0432\\u0435\\u043d\\u044c_\\u043b\\u0438\\u043f\\u0435\\u043d\\u044c_\\u0441\\u0435\\u0440\\u043f\\u0435\\u043d\\u044c_\\u0432\\u0435\\u0440\\u0435\\u0441\\u0435\\u043d\\u044c_\\u0436\\u043e\\u0432\\u0442\\u0435\\u043d\\u044c_\\u043b\\u0438\\u0441\\u0442\\u043e\\u043f\\u0430\\u0434_\\u0433\\u0440\\u0443\\u0434\\u0435\\u043d\\u044c\".split(\"_\")},monthsShort:\"\\u0441\\u0456\\u0447_\\u043b\\u044e\\u0442_\\u0431\\u0435\\u0440_\\u043a\\u0432\\u0456\\u0442_\\u0442\\u0440\\u0430\\u0432_\\u0447\\u0435\\u0440\\u0432_\\u043b\\u0438\\u043f_\\u0441\\u0435\\u0440\\u043f_\\u0432\\u0435\\u0440_\\u0436\\u043e\\u0432\\u0442_\\u043b\\u0438\\u0441\\u0442_\\u0433\\u0440\\u0443\\u0434\".split(\"_\"),weekdays:function(e,a){var t={nominative:\"\\u043d\\u0435\\u0434\\u0456\\u043b\\u044f_\\u043f\\u043e\\u043d\\u0435\\u0434\\u0456\\u043b\\u043e\\u043a_\\u0432\\u0456\\u0432\\u0442\\u043e\\u0440\\u043e\\u043a_\\u0441\\u0435\\u0440\\u0435\\u0434\\u0430_\\u0447\\u0435\\u0442\\u0432\\u0435\\u0440_\\u043f\\u2019\\u044f\\u0442\\u043d\\u0438\\u0446\\u044f_\\u0441\\u0443\\u0431\\u043e\\u0442\\u0430\".split(\"_\"),accusative:\"\\u043d\\u0435\\u0434\\u0456\\u043b\\u044e_\\u043f\\u043e\\u043d\\u0435\\u0434\\u0456\\u043b\\u043e\\u043a_\\u0432\\u0456\\u0432\\u0442\\u043e\\u0440\\u043e\\u043a_\\u0441\\u0435\\u0440\\u0435\\u0434\\u0443_\\u0447\\u0435\\u0442\\u0432\\u0435\\u0440_\\u043f\\u2019\\u044f\\u0442\\u043d\\u0438\\u0446\\u044e_\\u0441\\u0443\\u0431\\u043e\\u0442\\u0443\".split(\"_\"),genitive:\"\\u043d\\u0435\\u0434\\u0456\\u043b\\u0456_\\u043f\\u043e\\u043d\\u0435\\u0434\\u0456\\u043b\\u043a\\u0430_\\u0432\\u0456\\u0432\\u0442\\u043e\\u0440\\u043a\\u0430_\\u0441\\u0435\\u0440\\u0435\\u0434\\u0438_\\u0447\\u0435\\u0442\\u0432\\u0435\\u0440\\u0433\\u0430_\\u043f\\u2019\\u044f\\u0442\\u043d\\u0438\\u0446\\u0456_\\u0441\\u0443\\u0431\\u043e\\u0442\\u0438\".split(\"_\")};return!0===e?t.nominative.slice(1,7).concat(t.nominative.slice(0,1)):e?t[/(\\[[\\u0412\\u0432\\u0423\\u0443]\\]) ?dddd/.test(a)?\"accusative\":/\\[?(?:\\u043c\\u0438\\u043d\\u0443\\u043b\\u043e\\u0457|\\u043d\\u0430\\u0441\\u0442\\u0443\\u043f\\u043d\\u043e\\u0457)? ?\\] ?dddd/.test(a)?\"genitive\":\"nominative\"][e.day()]:t.nominative},weekdaysShort:\"\\u043d\\u0434_\\u043f\\u043d_\\u0432\\u0442_\\u0441\\u0440_\\u0447\\u0442_\\u043f\\u0442_\\u0441\\u0431\".split(\"_\"),weekdaysMin:\"\\u043d\\u0434_\\u043f\\u043d_\\u0432\\u0442_\\u0441\\u0440_\\u0447\\u0442_\\u043f\\u0442_\\u0441\\u0431\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY \\u0440.\",LLL:\"D MMMM YYYY \\u0440., HH:mm\",LLLL:\"dddd, D MMMM YYYY \\u0440., HH:mm\"},calendar:{sameDay:Md(\"[\\u0421\\u044c\\u043e\\u0433\\u043e\\u0434\\u043d\\u0456 \"),nextDay:Md(\"[\\u0417\\u0430\\u0432\\u0442\\u0440\\u0430 \"),lastDay:Md(\"[\\u0412\\u0447\\u043e\\u0440\\u0430 \"),nextWeek:Md(\"[\\u0423] dddd [\"),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return Md(\"[\\u041c\\u0438\\u043d\\u0443\\u043b\\u043e\\u0457] dddd [\").call(this);case 1:case 2:case 4:return Md(\"[\\u041c\\u0438\\u043d\\u0443\\u043b\\u043e\\u0433\\u043e] dddd [\").call(this)}},sameElse:\"L\"},relativeTime:{future:\"\\u0437\\u0430 %s\",past:\"%s \\u0442\\u043e\\u043c\\u0443\",s:\"\\u0434\\u0435\\u043a\\u0456\\u043b\\u044c\\u043a\\u0430 \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\",ss:ld,m:ld,mm:ld,h:\"\\u0433\\u043e\\u0434\\u0438\\u043d\\u0443\",hh:ld,d:\"\\u0434\\u0435\\u043d\\u044c\",dd:ld,M:\"\\u043c\\u0456\\u0441\\u044f\\u0446\\u044c\",MM:ld,y:\"\\u0440\\u0456\\u043a\",yy:ld},meridiemParse:/\\u043d\\u043e\\u0447\\u0456|\\u0440\\u0430\\u043d\\u043a\\u0443|\\u0434\\u043d\\u044f|\\u0432\\u0435\\u0447\\u043e\\u0440\\u0430/,isPM:function(e){return/^(\\u0434\\u043d\\u044f|\\u0432\\u0435\\u0447\\u043e\\u0440\\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?\"\\u043d\\u043e\\u0447\\u0456\":e<12?\"\\u0440\\u0430\\u043d\\u043a\\u0443\":e<17?\"\\u0434\\u043d\\u044f\":\"\\u0432\\u0435\\u0447\\u043e\\u0440\\u0430\"},dayOfMonthOrdinalParse:/\\d{1,2}-(\\u0439|\\u0433\\u043e)/,ordinal:function(e,a){switch(a){case\"M\":case\"d\":case\"DDD\":case\"w\":case\"W\":return e+\"-\\u0439\";case\"D\":return e+\"-\\u0433\\u043e\";default:return e}},week:{dow:1,doy:7}});var hd=[\"\\u062c\\u0646\\u0648\\u0631\\u06cc\",\"\\u0641\\u0631\\u0648\\u0631\\u06cc\",\"\\u0645\\u0627\\u0631\\u0686\",\"\\u0627\\u067e\\u0631\\u06cc\\u0644\",\"\\u0645\\u0626\\u06cc\",\"\\u062c\\u0648\\u0646\",\"\\u062c\\u0648\\u0644\\u0627\\u0626\\u06cc\",\"\\u0627\\u06af\\u0633\\u062a\",\"\\u0633\\u062a\\u0645\\u0628\\u0631\",\"\\u0627\\u06a9\\u062a\\u0648\\u0628\\u0631\",\"\\u0646\\u0648\\u0645\\u0628\\u0631\",\"\\u062f\\u0633\\u0645\\u0628\\u0631\"],Ld=[\"\\u0627\\u062a\\u0648\\u0627\\u0631\",\"\\u067e\\u06cc\\u0631\",\"\\u0645\\u0646\\u06af\\u0644\",\"\\u0628\\u062f\\u06be\",\"\\u062c\\u0645\\u0639\\u0631\\u0627\\u062a\",\"\\u062c\\u0645\\u0639\\u06c1\",\"\\u06c1\\u0641\\u062a\\u06c1\"];return l.defineLocale(\"ur\",{months:hd,monthsShort:hd,weekdays:Ld,weekdaysShort:Ld,weekdaysMin:Ld,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd\\u060c D MMMM YYYY HH:mm\"},meridiemParse:/\\u0635\\u0628\\u062d|\\u0634\\u0627\\u0645/,isPM:function(e){return\"\\u0634\\u0627\\u0645\"===e},meridiem:function(e,a,t){return e<12?\"\\u0635\\u0628\\u062d\":\"\\u0634\\u0627\\u0645\"},calendar:{sameDay:\"[\\u0622\\u062c \\u0628\\u0648\\u0642\\u062a] LT\",nextDay:\"[\\u06a9\\u0644 \\u0628\\u0648\\u0642\\u062a] LT\",nextWeek:\"dddd [\\u0628\\u0648\\u0642\\u062a] LT\",lastDay:\"[\\u06af\\u0630\\u0634\\u062a\\u06c1 \\u0631\\u0648\\u0632 \\u0628\\u0648\\u0642\\u062a] LT\",lastWeek:\"[\\u06af\\u0630\\u0634\\u062a\\u06c1] dddd [\\u0628\\u0648\\u0642\\u062a] LT\",sameElse:\"L\"},relativeTime:{future:\"%s \\u0628\\u0639\\u062f\",past:\"%s \\u0642\\u0628\\u0644\",s:\"\\u0686\\u0646\\u062f \\u0633\\u06cc\\u06a9\\u0646\\u0688\",ss:\"%d \\u0633\\u06cc\\u06a9\\u0646\\u0688\",m:\"\\u0627\\u06cc\\u06a9 \\u0645\\u0646\\u0679\",mm:\"%d \\u0645\\u0646\\u0679\",h:\"\\u0627\\u06cc\\u06a9 \\u06af\\u06be\\u0646\\u0679\\u06c1\",hh:\"%d \\u06af\\u06be\\u0646\\u0679\\u06d2\",d:\"\\u0627\\u06cc\\u06a9 \\u062f\\u0646\",dd:\"%d \\u062f\\u0646\",M:\"\\u0627\\u06cc\\u06a9 \\u0645\\u0627\\u06c1\",MM:\"%d \\u0645\\u0627\\u06c1\",y:\"\\u0627\\u06cc\\u06a9 \\u0633\\u0627\\u0644\",yy:\"%d \\u0633\\u0627\\u0644\"},preparse:function(e){return e.replace(/\\u060c/g,\",\")},postformat:function(e){return e.replace(/,/g,\"\\u060c\")},week:{dow:1,doy:4}}),l.defineLocale(\"uz-latn\",{months:\"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr\".split(\"_\"),monthsShort:\"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek\".split(\"_\"),weekdays:\"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba\".split(\"_\"),weekdaysShort:\"Yak_Dush_Sesh_Chor_Pay_Jum_Shan\".split(\"_\"),weekdaysMin:\"Ya_Du_Se_Cho_Pa_Ju_Sha\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"D MMMM YYYY, dddd HH:mm\"},calendar:{sameDay:\"[Bugun soat] LT [da]\",nextDay:\"[Ertaga] LT [da]\",nextWeek:\"dddd [kuni soat] LT [da]\",lastDay:\"[Kecha soat] LT [da]\",lastWeek:\"[O'tgan] dddd [kuni soat] LT [da]\",sameElse:\"L\"},relativeTime:{future:\"Yaqin %s ichida\",past:\"Bir necha %s oldin\",s:\"soniya\",ss:\"%d soniya\",m:\"bir daqiqa\",mm:\"%d daqiqa\",h:\"bir soat\",hh:\"%d soat\",d:\"bir kun\",dd:\"%d kun\",M:\"bir oy\",MM:\"%d oy\",y:\"bir yil\",yy:\"%d yil\"},week:{dow:1,doy:7}}),l.defineLocale(\"uz\",{months:\"\\u044f\\u043d\\u0432\\u0430\\u0440_\\u0444\\u0435\\u0432\\u0440\\u0430\\u043b_\\u043c\\u0430\\u0440\\u0442_\\u0430\\u043f\\u0440\\u0435\\u043b_\\u043c\\u0430\\u0439_\\u0438\\u044e\\u043d_\\u0438\\u044e\\u043b_\\u0430\\u0432\\u0433\\u0443\\u0441\\u0442_\\u0441\\u0435\\u043d\\u0442\\u044f\\u0431\\u0440_\\u043e\\u043a\\u0442\\u044f\\u0431\\u0440_\\u043d\\u043e\\u044f\\u0431\\u0440_\\u0434\\u0435\\u043a\\u0430\\u0431\\u0440\".split(\"_\"),monthsShort:\"\\u044f\\u043d\\u0432_\\u0444\\u0435\\u0432_\\u043c\\u0430\\u0440_\\u0430\\u043f\\u0440_\\u043c\\u0430\\u0439_\\u0438\\u044e\\u043d_\\u0438\\u044e\\u043b_\\u0430\\u0432\\u0433_\\u0441\\u0435\\u043d_\\u043e\\u043a\\u0442_\\u043d\\u043e\\u044f_\\u0434\\u0435\\u043a\".split(\"_\"),weekdays:\"\\u042f\\u043a\\u0448\\u0430\\u043d\\u0431\\u0430_\\u0414\\u0443\\u0448\\u0430\\u043d\\u0431\\u0430_\\u0421\\u0435\\u0448\\u0430\\u043d\\u0431\\u0430_\\u0427\\u043e\\u0440\\u0448\\u0430\\u043d\\u0431\\u0430_\\u041f\\u0430\\u0439\\u0448\\u0430\\u043d\\u0431\\u0430_\\u0416\\u0443\\u043c\\u0430_\\u0428\\u0430\\u043d\\u0431\\u0430\".split(\"_\"),weekdaysShort:\"\\u042f\\u043a\\u0448_\\u0414\\u0443\\u0448_\\u0421\\u0435\\u0448_\\u0427\\u043e\\u0440_\\u041f\\u0430\\u0439_\\u0416\\u0443\\u043c_\\u0428\\u0430\\u043d\".split(\"_\"),weekdaysMin:\"\\u042f\\u043a_\\u0414\\u0443_\\u0421\\u0435_\\u0427\\u043e_\\u041f\\u0430_\\u0416\\u0443_\\u0428\\u0430\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"D MMMM YYYY, dddd HH:mm\"},calendar:{sameDay:\"[\\u0411\\u0443\\u0433\\u0443\\u043d \\u0441\\u043e\\u0430\\u0442] LT [\\u0434\\u0430]\",nextDay:\"[\\u042d\\u0440\\u0442\\u0430\\u0433\\u0430] LT [\\u0434\\u0430]\",nextWeek:\"dddd [\\u043a\\u0443\\u043d\\u0438 \\u0441\\u043e\\u0430\\u0442] LT [\\u0434\\u0430]\",lastDay:\"[\\u041a\\u0435\\u0447\\u0430 \\u0441\\u043e\\u0430\\u0442] LT [\\u0434\\u0430]\",lastWeek:\"[\\u0423\\u0442\\u0433\\u0430\\u043d] dddd [\\u043a\\u0443\\u043d\\u0438 \\u0441\\u043e\\u0430\\u0442] LT [\\u0434\\u0430]\",sameElse:\"L\"},relativeTime:{future:\"\\u042f\\u043a\\u0438\\u043d %s \\u0438\\u0447\\u0438\\u0434\\u0430\",past:\"\\u0411\\u0438\\u0440 \\u043d\\u0435\\u0447\\u0430 %s \\u043e\\u043b\\u0434\\u0438\\u043d\",s:\"\\u0444\\u0443\\u0440\\u0441\\u0430\\u0442\",ss:\"%d \\u0444\\u0443\\u0440\\u0441\\u0430\\u0442\",m:\"\\u0431\\u0438\\u0440 \\u0434\\u0430\\u043a\\u0438\\u043a\\u0430\",mm:\"%d \\u0434\\u0430\\u043a\\u0438\\u043a\\u0430\",h:\"\\u0431\\u0438\\u0440 \\u0441\\u043e\\u0430\\u0442\",hh:\"%d \\u0441\\u043e\\u0430\\u0442\",d:\"\\u0431\\u0438\\u0440 \\u043a\\u0443\\u043d\",dd:\"%d \\u043a\\u0443\\u043d\",M:\"\\u0431\\u0438\\u0440 \\u043e\\u0439\",MM:\"%d \\u043e\\u0439\",y:\"\\u0431\\u0438\\u0440 \\u0439\\u0438\\u043b\",yy:\"%d \\u0439\\u0438\\u043b\"},week:{dow:1,doy:7}}),l.defineLocale(\"vi\",{months:\"th\\xe1ng 1_th\\xe1ng 2_th\\xe1ng 3_th\\xe1ng 4_th\\xe1ng 5_th\\xe1ng 6_th\\xe1ng 7_th\\xe1ng 8_th\\xe1ng 9_th\\xe1ng 10_th\\xe1ng 11_th\\xe1ng 12\".split(\"_\"),monthsShort:\"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12\".split(\"_\"),monthsParseExact:!0,weekdays:\"ch\\u1ee7 nh\\u1eadt_th\\u1ee9 hai_th\\u1ee9 ba_th\\u1ee9 t\\u01b0_th\\u1ee9 n\\u0103m_th\\u1ee9 s\\xe1u_th\\u1ee9 b\\u1ea3y\".split(\"_\"),weekdaysShort:\"CN_T2_T3_T4_T5_T6_T7\".split(\"_\"),weekdaysMin:\"CN_T2_T3_T4_T5_T6_T7\".split(\"_\"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,t){return e<12?t?\"sa\":\"SA\":t?\"ch\":\"CH\"},longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM [n\\u0103m] YYYY\",LLL:\"D MMMM [n\\u0103m] YYYY HH:mm\",LLLL:\"dddd, D MMMM [n\\u0103m] YYYY HH:mm\",l:\"DD/M/YYYY\",ll:\"D MMM YYYY\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd, D MMM YYYY HH:mm\"},calendar:{sameDay:\"[H\\xf4m nay l\\xfac] LT\",nextDay:\"[Ng\\xe0y mai l\\xfac] LT\",nextWeek:\"dddd [tu\\u1ea7n t\\u1edbi l\\xfac] LT\",lastDay:\"[H\\xf4m qua l\\xfac] LT\",lastWeek:\"dddd [tu\\u1ea7n r\\u1ed3i l\\xfac] LT\",sameElse:\"L\"},relativeTime:{future:\"%s t\\u1edbi\",past:\"%s tr\\u01b0\\u1edbc\",s:\"v\\xe0i gi\\xe2y\",ss:\"%d gi\\xe2y\",m:\"m\\u1ed9t ph\\xfat\",mm:\"%d ph\\xfat\",h:\"m\\u1ed9t gi\\u1edd\",hh:\"%d gi\\u1edd\",d:\"m\\u1ed9t ng\\xe0y\",dd:\"%d ng\\xe0y\",M:\"m\\u1ed9t th\\xe1ng\",MM:\"%d th\\xe1ng\",y:\"m\\u1ed9t n\\u0103m\",yy:\"%d n\\u0103m\"},dayOfMonthOrdinalParse:/\\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),l.defineLocale(\"x-pseudo\",{months:\"J~\\xe1\\xf1\\xfa\\xe1~r\\xfd_F~\\xe9br\\xfa~\\xe1r\\xfd_~M\\xe1rc~h_\\xc1p~r\\xedl_~M\\xe1\\xfd_~J\\xfa\\xf1\\xe9~_J\\xfal~\\xfd_\\xc1\\xfa~g\\xfast~_S\\xe9p~t\\xe9mb~\\xe9r_\\xd3~ct\\xf3b~\\xe9r_\\xd1~\\xf3v\\xe9m~b\\xe9r_~D\\xe9c\\xe9~mb\\xe9r\".split(\"_\"),monthsShort:\"J~\\xe1\\xf1_~F\\xe9b_~M\\xe1r_~\\xc1pr_~M\\xe1\\xfd_~J\\xfa\\xf1_~J\\xfal_~\\xc1\\xfag_~S\\xe9p_~\\xd3ct_~\\xd1\\xf3v_~D\\xe9c\".split(\"_\"),monthsParseExact:!0,weekdays:\"S~\\xfa\\xf1d\\xe1~\\xfd_M\\xf3~\\xf1d\\xe1\\xfd~_T\\xfa\\xe9~sd\\xe1\\xfd~_W\\xe9d~\\xf1\\xe9sd~\\xe1\\xfd_T~h\\xfars~d\\xe1\\xfd_~Fr\\xedd~\\xe1\\xfd_S~\\xe1t\\xfar~d\\xe1\\xfd\".split(\"_\"),weekdaysShort:\"S~\\xfa\\xf1_~M\\xf3\\xf1_~T\\xfa\\xe9_~W\\xe9d_~Th\\xfa_~Fr\\xed_~S\\xe1t\".split(\"_\"),weekdaysMin:\"S~\\xfa_M\\xf3~_T\\xfa_~W\\xe9_T~h_Fr~_S\\xe1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[T~\\xf3d\\xe1~\\xfd \\xe1t] LT\",nextDay:\"[T~\\xf3m\\xf3~rr\\xf3~w \\xe1t] LT\",nextWeek:\"dddd [\\xe1t] LT\",lastDay:\"[\\xdd~\\xe9st~\\xe9rd\\xe1~\\xfd \\xe1t] LT\",lastWeek:\"[L~\\xe1st] dddd [\\xe1t] LT\",sameElse:\"L\"},relativeTime:{future:\"\\xed~\\xf1 %s\",past:\"%s \\xe1~g\\xf3\",s:\"\\xe1 ~f\\xe9w ~s\\xe9c\\xf3~\\xf1ds\",ss:\"%d s~\\xe9c\\xf3\\xf1~ds\",m:\"\\xe1 ~m\\xed\\xf1~\\xfat\\xe9\",mm:\"%d m~\\xed\\xf1\\xfa~t\\xe9s\",h:\"\\xe1~\\xf1 h\\xf3~\\xfar\",hh:\"%d h~\\xf3\\xfars\",d:\"\\xe1 ~d\\xe1\\xfd\",dd:\"%d d~\\xe1\\xfds\",M:\"\\xe1 ~m\\xf3\\xf1~th\",MM:\"%d m~\\xf3\\xf1t~hs\",y:\"\\xe1 ~\\xfd\\xe9\\xe1r\",yy:\"%d \\xfd~\\xe9\\xe1rs\"},dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?\"th\":1===a?\"st\":2===a?\"nd\":3===a?\"rd\":\"th\")},week:{dow:1,doy:4}}),l.defineLocale(\"yo\",{months:\"S\\u1eb9\\u0301r\\u1eb9\\u0301_E\\u0300re\\u0300le\\u0300_\\u1eb8r\\u1eb9\\u0300na\\u0300_I\\u0300gbe\\u0301_E\\u0300bibi_O\\u0300ku\\u0300du_Ag\\u1eb9mo_O\\u0300gu\\u0301n_Owewe_\\u1ecc\\u0300wa\\u0300ra\\u0300_Be\\u0301lu\\u0301_\\u1ecc\\u0300p\\u1eb9\\u0300\\u0300\".split(\"_\"),monthsShort:\"S\\u1eb9\\u0301r_E\\u0300rl_\\u1eb8rn_I\\u0300gb_E\\u0300bi_O\\u0300ku\\u0300_Ag\\u1eb9_O\\u0300gu\\u0301_Owe_\\u1ecc\\u0300wa\\u0300_Be\\u0301l_\\u1ecc\\u0300p\\u1eb9\\u0300\\u0300\".split(\"_\"),weekdays:\"A\\u0300i\\u0300ku\\u0301_Aje\\u0301_I\\u0300s\\u1eb9\\u0301gun_\\u1eccj\\u1ecd\\u0301ru\\u0301_\\u1eccj\\u1ecd\\u0301b\\u1ecd_\\u1eb8ti\\u0300_A\\u0300ba\\u0301m\\u1eb9\\u0301ta\".split(\"_\"),weekdaysShort:\"A\\u0300i\\u0300k_Aje\\u0301_I\\u0300s\\u1eb9\\u0301_\\u1eccjr_\\u1eccjb_\\u1eb8ti\\u0300_A\\u0300ba\\u0301\".split(\"_\"),weekdaysMin:\"A\\u0300i\\u0300_Aj_I\\u0300s_\\u1eccr_\\u1eccb_\\u1eb8t_A\\u0300b\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[O\\u0300ni\\u0300 ni] LT\",nextDay:\"[\\u1ecc\\u0300la ni] LT\",nextWeek:\"dddd [\\u1eccs\\u1eb9\\u0300 to\\u0301n'b\\u1ecd] [ni] LT\",lastDay:\"[A\\u0300na ni] LT\",lastWeek:\"dddd [\\u1eccs\\u1eb9\\u0300 to\\u0301l\\u1ecd\\u0301] [ni] LT\",sameElse:\"L\"},relativeTime:{future:\"ni\\u0301 %s\",past:\"%s k\\u1ecdja\\u0301\",s:\"i\\u0300s\\u1eb9ju\\u0301 aaya\\u0301 die\",ss:\"aaya\\u0301 %d\",m:\"i\\u0300s\\u1eb9ju\\u0301 kan\",mm:\"i\\u0300s\\u1eb9ju\\u0301 %d\",h:\"wa\\u0301kati kan\",hh:\"wa\\u0301kati %d\",d:\"\\u1ecdj\\u1ecd\\u0301 kan\",dd:\"\\u1ecdj\\u1ecd\\u0301 %d\",M:\"osu\\u0300 kan\",MM:\"osu\\u0300 %d\",y:\"\\u1ecddu\\u0301n kan\",yy:\"\\u1ecddu\\u0301n %d\"},dayOfMonthOrdinalParse:/\\u1ecdj\\u1ecd\\u0301\\s\\d{1,2}/,ordinal:\"\\u1ecdj\\u1ecd\\u0301 %d\",week:{dow:1,doy:4}}),l.defineLocale(\"zh-cn\",{months:\"\\u4e00\\u6708_\\u4e8c\\u6708_\\u4e09\\u6708_\\u56db\\u6708_\\u4e94\\u6708_\\u516d\\u6708_\\u4e03\\u6708_\\u516b\\u6708_\\u4e5d\\u6708_\\u5341\\u6708_\\u5341\\u4e00\\u6708_\\u5341\\u4e8c\\u6708\".split(\"_\"),monthsShort:\"1\\u6708_2\\u6708_3\\u6708_4\\u6708_5\\u6708_6\\u6708_7\\u6708_8\\u6708_9\\u6708_10\\u6708_11\\u6708_12\\u6708\".split(\"_\"),weekdays:\"\\u661f\\u671f\\u65e5_\\u661f\\u671f\\u4e00_\\u661f\\u671f\\u4e8c_\\u661f\\u671f\\u4e09_\\u661f\\u671f\\u56db_\\u661f\\u671f\\u4e94_\\u661f\\u671f\\u516d\".split(\"_\"),weekdaysShort:\"\\u5468\\u65e5_\\u5468\\u4e00_\\u5468\\u4e8c_\\u5468\\u4e09_\\u5468\\u56db_\\u5468\\u4e94_\\u5468\\u516d\".split(\"_\"),weekdaysMin:\"\\u65e5_\\u4e00_\\u4e8c_\\u4e09_\\u56db_\\u4e94_\\u516d\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY\\u5e74M\\u6708D\\u65e5\",LLL:\"YYYY\\u5e74M\\u6708D\\u65e5Ah\\u70b9mm\\u5206\",LLLL:\"YYYY\\u5e74M\\u6708D\\u65e5ddddAh\\u70b9mm\\u5206\",l:\"YYYY/M/D\",ll:\"YYYY\\u5e74M\\u6708D\\u65e5\",lll:\"YYYY\\u5e74M\\u6708D\\u65e5 HH:mm\",llll:\"YYYY\\u5e74M\\u6708D\\u65e5dddd HH:mm\"},meridiemParse:/\\u51cc\\u6668|\\u65e9\\u4e0a|\\u4e0a\\u5348|\\u4e2d\\u5348|\\u4e0b\\u5348|\\u665a\\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u51cc\\u6668\"===a||\"\\u65e9\\u4e0a\"===a||\"\\u4e0a\\u5348\"===a?e:\"\\u4e0b\\u5348\"===a||\"\\u665a\\u4e0a\"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,t){var s=100*e+a;return s<600?\"\\u51cc\\u6668\":s<900?\"\\u65e9\\u4e0a\":s<1130?\"\\u4e0a\\u5348\":s<1230?\"\\u4e2d\\u5348\":s<1800?\"\\u4e0b\\u5348\":\"\\u665a\\u4e0a\"},calendar:{sameDay:\"[\\u4eca\\u5929]LT\",nextDay:\"[\\u660e\\u5929]LT\",nextWeek:\"[\\u4e0b]ddddLT\",lastDay:\"[\\u6628\\u5929]LT\",lastWeek:\"[\\u4e0a]ddddLT\",sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}(\\u65e5|\\u6708|\\u5468)/,ordinal:function(e,a){switch(a){case\"d\":case\"D\":case\"DDD\":return e+\"\\u65e5\";case\"M\":return e+\"\\u6708\";case\"w\":case\"W\":return e+\"\\u5468\";default:return e}},relativeTime:{future:\"%s\\u5185\",past:\"%s\\u524d\",s:\"\\u51e0\\u79d2\",ss:\"%d \\u79d2\",m:\"1 \\u5206\\u949f\",mm:\"%d \\u5206\\u949f\",h:\"1 \\u5c0f\\u65f6\",hh:\"%d \\u5c0f\\u65f6\",d:\"1 \\u5929\",dd:\"%d \\u5929\",M:\"1 \\u4e2a\\u6708\",MM:\"%d \\u4e2a\\u6708\",y:\"1 \\u5e74\",yy:\"%d \\u5e74\"},week:{dow:1,doy:4}}),l.defineLocale(\"zh-hk\",{months:\"\\u4e00\\u6708_\\u4e8c\\u6708_\\u4e09\\u6708_\\u56db\\u6708_\\u4e94\\u6708_\\u516d\\u6708_\\u4e03\\u6708_\\u516b\\u6708_\\u4e5d\\u6708_\\u5341\\u6708_\\u5341\\u4e00\\u6708_\\u5341\\u4e8c\\u6708\".split(\"_\"),monthsShort:\"1\\u6708_2\\u6708_3\\u6708_4\\u6708_5\\u6708_6\\u6708_7\\u6708_8\\u6708_9\\u6708_10\\u6708_11\\u6708_12\\u6708\".split(\"_\"),weekdays:\"\\u661f\\u671f\\u65e5_\\u661f\\u671f\\u4e00_\\u661f\\u671f\\u4e8c_\\u661f\\u671f\\u4e09_\\u661f\\u671f\\u56db_\\u661f\\u671f\\u4e94_\\u661f\\u671f\\u516d\".split(\"_\"),weekdaysShort:\"\\u9031\\u65e5_\\u9031\\u4e00_\\u9031\\u4e8c_\\u9031\\u4e09_\\u9031\\u56db_\\u9031\\u4e94_\\u9031\\u516d\".split(\"_\"),weekdaysMin:\"\\u65e5_\\u4e00_\\u4e8c_\\u4e09_\\u56db_\\u4e94_\\u516d\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY\\u5e74M\\u6708D\\u65e5\",LLL:\"YYYY\\u5e74M\\u6708D\\u65e5 HH:mm\",LLLL:\"YYYY\\u5e74M\\u6708D\\u65e5dddd HH:mm\",l:\"YYYY/M/D\",ll:\"YYYY\\u5e74M\\u6708D\\u65e5\",lll:\"YYYY\\u5e74M\\u6708D\\u65e5 HH:mm\",llll:\"YYYY\\u5e74M\\u6708D\\u65e5dddd HH:mm\"},meridiemParse:/\\u51cc\\u6668|\\u65e9\\u4e0a|\\u4e0a\\u5348|\\u4e2d\\u5348|\\u4e0b\\u5348|\\u665a\\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u51cc\\u6668\"===a||\"\\u65e9\\u4e0a\"===a||\"\\u4e0a\\u5348\"===a?e:\"\\u4e2d\\u5348\"===a?11<=e?e:e+12:\"\\u4e0b\\u5348\"===a||\"\\u665a\\u4e0a\"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?\"\\u51cc\\u6668\":s<900?\"\\u65e9\\u4e0a\":s<1130?\"\\u4e0a\\u5348\":s<1230?\"\\u4e2d\\u5348\":s<1800?\"\\u4e0b\\u5348\":\"\\u665a\\u4e0a\"},calendar:{sameDay:\"[\\u4eca\\u5929]LT\",nextDay:\"[\\u660e\\u5929]LT\",nextWeek:\"[\\u4e0b]ddddLT\",lastDay:\"[\\u6628\\u5929]LT\",lastWeek:\"[\\u4e0a]ddddLT\",sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}(\\u65e5|\\u6708|\\u9031)/,ordinal:function(e,a){switch(a){case\"d\":case\"D\":case\"DDD\":return e+\"\\u65e5\";case\"M\":return e+\"\\u6708\";case\"w\":case\"W\":return e+\"\\u9031\";default:return e}},relativeTime:{future:\"%s\\u5167\",past:\"%s\\u524d\",s:\"\\u5e7e\\u79d2\",ss:\"%d \\u79d2\",m:\"1 \\u5206\\u9418\",mm:\"%d \\u5206\\u9418\",h:\"1 \\u5c0f\\u6642\",hh:\"%d \\u5c0f\\u6642\",d:\"1 \\u5929\",dd:\"%d \\u5929\",M:\"1 \\u500b\\u6708\",MM:\"%d \\u500b\\u6708\",y:\"1 \\u5e74\",yy:\"%d \\u5e74\"}}),l.defineLocale(\"zh-tw\",{months:\"\\u4e00\\u6708_\\u4e8c\\u6708_\\u4e09\\u6708_\\u56db\\u6708_\\u4e94\\u6708_\\u516d\\u6708_\\u4e03\\u6708_\\u516b\\u6708_\\u4e5d\\u6708_\\u5341\\u6708_\\u5341\\u4e00\\u6708_\\u5341\\u4e8c\\u6708\".split(\"_\"),monthsShort:\"1\\u6708_2\\u6708_3\\u6708_4\\u6708_5\\u6708_6\\u6708_7\\u6708_8\\u6708_9\\u6708_10\\u6708_11\\u6708_12\\u6708\".split(\"_\"),weekdays:\"\\u661f\\u671f\\u65e5_\\u661f\\u671f\\u4e00_\\u661f\\u671f\\u4e8c_\\u661f\\u671f\\u4e09_\\u661f\\u671f\\u56db_\\u661f\\u671f\\u4e94_\\u661f\\u671f\\u516d\".split(\"_\"),weekdaysShort:\"\\u9031\\u65e5_\\u9031\\u4e00_\\u9031\\u4e8c_\\u9031\\u4e09_\\u9031\\u56db_\\u9031\\u4e94_\\u9031\\u516d\".split(\"_\"),weekdaysMin:\"\\u65e5_\\u4e00_\\u4e8c_\\u4e09_\\u56db_\\u4e94_\\u516d\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY\\u5e74M\\u6708D\\u65e5\",LLL:\"YYYY\\u5e74M\\u6708D\\u65e5 HH:mm\",LLLL:\"YYYY\\u5e74M\\u6708D\\u65e5dddd HH:mm\",l:\"YYYY/M/D\",ll:\"YYYY\\u5e74M\\u6708D\\u65e5\",lll:\"YYYY\\u5e74M\\u6708D\\u65e5 HH:mm\",llll:\"YYYY\\u5e74M\\u6708D\\u65e5dddd HH:mm\"},meridiemParse:/\\u51cc\\u6668|\\u65e9\\u4e0a|\\u4e0a\\u5348|\\u4e2d\\u5348|\\u4e0b\\u5348|\\u665a\\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),\"\\u51cc\\u6668\"===a||\"\\u65e9\\u4e0a\"===a||\"\\u4e0a\\u5348\"===a?e:\"\\u4e2d\\u5348\"===a?11<=e?e:e+12:\"\\u4e0b\\u5348\"===a||\"\\u665a\\u4e0a\"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?\"\\u51cc\\u6668\":s<900?\"\\u65e9\\u4e0a\":s<1130?\"\\u4e0a\\u5348\":s<1230?\"\\u4e2d\\u5348\":s<1800?\"\\u4e0b\\u5348\":\"\\u665a\\u4e0a\"},calendar:{sameDay:\"[\\u4eca\\u5929] LT\",nextDay:\"[\\u660e\\u5929] LT\",nextWeek:\"[\\u4e0b]dddd LT\",lastDay:\"[\\u6628\\u5929] LT\",lastWeek:\"[\\u4e0a]dddd LT\",sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}(\\u65e5|\\u6708|\\u9031)/,ordinal:function(e,a){switch(a){case\"d\":case\"D\":case\"DDD\":return e+\"\\u65e5\";case\"M\":return e+\"\\u6708\";case\"w\":case\"W\":return e+\"\\u9031\";default:return e}},relativeTime:{future:\"%s\\u5167\",past:\"%s\\u524d\",s:\"\\u5e7e\\u79d2\",ss:\"%d \\u79d2\",m:\"1 \\u5206\\u9418\",mm:\"%d \\u5206\\u9418\",h:\"1 \\u5c0f\\u6642\",hh:\"%d \\u5c0f\\u6642\",d:\"1 \\u5929\",dd:\"%d \\u5929\",M:\"1 \\u500b\\u6708\",MM:\"%d \\u500b\\u6708\",y:\"1 \\u5e74\",yy:\"%d \\u5e74\"}}),l.locale(\"en\"),l});",
            "type": "application/javascript",
            "title": "$:/plugins/kixam/moment/moment.js",
            "module-type": "library"
        },
        "$:/plugins/kixam/moment/icon": {
            "text": "<svg height=\"22pt\" width=\"22pt\" viewBox=\"0 0 128 128\">\n<path d=\"m 64.116816,0 -54.4965957,31.959746 0.00139,63.919491 54.4965967,31.959743 54.496603,-31.959743 0,-63.919491 L 64.118211,0 Z M 63.842544,28.318892 A 35.326327,35.326327 0 0 1 99.17259,63.645219 35.326327,35.326327 0 0 1 63.842544,98.975265 35.326327,35.326327 0 0 1 28.516216,63.645219 35.326327,35.326327 0 0 1 63.842544,28.318892 Z m 0,4.775599 c -16.870097,0 -30.550728,13.680631 -30.550728,30.550728 0,16.874746 13.680631,30.555841 30.550728,30.555841 16.874745,0 30.555841,-13.681095 30.555841,-30.555841 0,-16.870097 -13.681096,-30.550728 -30.555841,-30.550728 z m 0,1.906893 c 1.06455,0 1.910611,0.860008 1.910611,1.915725 l 0,28.638722 -17.190856,0 c -1.027361,0 -1.905499,-0.85536 -1.905499,-1.910612 0,-1.059902 0.854895,-1.905963 1.905499,-1.905963 l 13.374282,0 0,-24.81285 c 0,-1.06362 0.855359,-1.925022 1.905963,-1.925022 z\"/>\n</svg>\n",
            "title": "$:/plugins/kixam/moment/icon",
            "tags": "$:/tags/Image",
            "type": "text/vnd.tiddlywiki"
        },
        "$:/plugins/kixam/moment/readme": {
            "text": "! moment.js\n\nA plugin for [[TiddlyWiki|http://tiddlywiki.com]] 5, that provides the [[moment.js library|http://momentjs.com]].\n",
            "title": "$:/plugins/kixam/moment/readme"
        },
        "$:/plugins/kixam/moment/license": {
            "text": "!! moment.js licence: [[MIT|http://mit-license.org/]]\n```\nCopyright (c) 2011-2015 Tim Wood, Iskren Chernev, Moment.js contributors\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n```\n\n!! Plugin license: [[BSD 2-clause simplified license|http://www.freebsd.org/copyright/freebsd-license.html]]\n```\nCopyright (c) 2015, kixam\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```\n",
            "title": "$:/plugins/kixam/moment/license"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/kixam/timeline/lib.utils.js": {
            "title": "$:/plugins/kixam/timeline/lib.utils.js",
            "text": "/*\\\ntitle: $:/plugins/kixam/timeline/lib.utils.js\ntype: application/javascript\nmodule-type: library\n\n  A library of reusable functions, used in the TW5-visjsTimeline plugin\n\n\\*/\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\n\n(function() {\n  'use strict';\n\n  // parseWidgetAttributes\n  //\n  // Utility to handle configuration attributes for a widget.\n  // It handles validation, coercion and assignment of attribute values to the current widgets fields.\n  // Parent and nextSibling are required so that any errors can be reported\n  //\n  // The attributeDefns are a object representing with a field for each attribute expected by the widget\n  //\n  // Each definition field is an object with two fields\n  // type - This is used to coerce values before assignment (only string and integer are currently supported)\n  // defaultValue - When an attribute is not provided in the plugin call, then this value should be used instead\n  //\n  // If an attribute is passed to the plugin that is not expected (i.e. in the attributeDefns object), then this function returns false\n  // and an error message is output on the parent.  This should be shown instead of the widget's usual view.\n  //\n  function parseWidgetAttributes(self, attributeDefns) {\n    var errors = [];\n    for (var attr in self.attributes) {\n      if (attributeDefns[attr] === undefined) {\n        errors.push(attr);\n      } else {\n        if (attributeDefns[attr].type == \"string\") {\n          self[attr] = self.attributes[attr];\n        } else if (attributeDefns[attr].type == \"integer\") {\n          self[attr] = parseInt(self.attributes[attr] );\n          if (isNaN(self[attr])) {\n            delete self[attr];\n          }\n        }\n      }\n    }\n    if (errors.length !== 0) {\n      return errors;\n    }\n    for (var attrDefn in attributeDefns) {\n      if (self[attrDefn] === undefined) {\n        self[attrDefn] = attributeDefns[attrDefn].defaultValue;\n      }\n    }\n    return undefined;\n  }\n\n  function displayTiddler(self,toTiddlerTitle){\n    var domTiddler = self.parentDomNode.parentNode;\n    var bounds = domTiddler.getBoundingClientRect();\n    var e = {\n      type: \"tm-navigate\",\n      navigateTo: toTiddlerTitle,\n      navigateFromTitle: self.getVariable(\"currentTiddler\"),\n      navigateFromNode: domTiddler,\n      navigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n      }\n    };\n    self.dispatchEvent(e);\n  }\n\n  function enhancedColorStyle(csscolor) {\n    var color = $tw.utils.parseCSSColor(csscolor);\n    var style = null;\n    if(color !== null) {\n      for(var i=0;i<3;i++) color[i] = Math.floor(240 + color[i] / 17);\n\n      style = \"border-color: \" + csscolor + \";\"\n            + \"background-color: rgb(\" + (color[0]).toString()+\",\"\n                                       + (color[1]).toString()+\",\"\n                                       + (color[2]).toString()+\");\";\n    }\n    return style;\n  }\n\n  // adapted from $tw.utils.error of $:/boot/boot.js\n  function dispError(message, title, subtitle) {\n    console.error($tw.node ? \"\\x1b[1;31m\" + message + \"\\x1b[0m\" : message);\n    if($tw.browser && !$tw.node) {\n        // Display an error message to the user\n        var dm = $tw.utils.domMaker,\n            heading = dm(\"h1\",{text: (title || \"Error with vis.js Timeline\")}),\n            prompt = dm(\"div\",{text: (subtitle || \"Please check the following:\"), \"class\": \"tc-error-prompt\"}),\n            message = dm(\"div\",{innerHTML: message, attributes: {style: \"text-align: left;\"}}),\n            button = dm(\"button\",{text: \"close\"}),\n            form = dm(\"form\",{children: [heading,prompt,message,button], \"class\": \"tc-error-form\", attributes: {style: \"background-color: rgb(75, 75, 255); border: 8px solid rgb(0, 0, 255);\"}});\n        document.body.insertBefore(form,document.body.firstChild);\n        form.addEventListener(\"submit\",function(event) {\n            document.body.removeChild(form);\n            event.preventDefault();\n            return false;\n        },true);\n        return null;\n    } else if(!$tw.browser) {\n        // Exit if we're under node.js\n        process.exit(1);\n    }\n  }\n\n  function setTiddlerField(tiddlerTitle, field, value) {\n     if(tiddlerTitle && field) {\n       var fields = {\n         title: tiddlerTitle\n       };\n       fields[field] = value;\n       var tiddler = $tw.wiki.getTiddler(tiddlerTitle, true);\n       $tw.wiki.addTiddler(new $tw.Tiddler(tiddler, fields));\n     }\n   }\n\n  exports.parseWidgetAttributes = parseWidgetAttributes;\n  exports.displayTiddler = displayTiddler;\n  exports.enhancedColorStyle = enhancedColorStyle;\n  exports.dispError = dispError;\n  exports.setTiddlerField = setTiddlerField;\n}\n());\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/plugins/kixam/timeline/icon": {
            "title": "$:/plugins/kixam/timeline/icon",
            "tags": "$:/tags/Image",
            "text": "<svg height=\"22pt\" width=\"22pt\" viewBox=\"0 0 128 128\">\n<path fill-rule=\"evenodd\" d=\"m64 0 54.56 32v64l-54.56 32-54.56-32v-64zm-48.429 75.635c8.5524 1.5516 29.568 7.708 27.545 6.755-10.977-5.172-27.059-20.046-27.059-20.046l26.814-23.294s12.652-15.314 29.23-16.023c3.6806-.15747 13.92-7.5832 19.605-5.2303 4.0461 1.6746 7.6113 13.276 9.3244 19.035 4.6497 15.63 3.1019 46.52 3.1019 46.52s6.4391-.30692 7.0193 6.8629c.18694 2.3102-.0602 10.297-9.1531 10.615-28.973 1.01-61.939-6.115-86.429-25.195zm57.684-31.244a17.066 17.066 0 0 0 -17.073 17.073 17.066 17.066 0 0 0 17.073 17.063 17.066 17.066 0 0 0 17.063 -17.063 17.066 17.066 0 0 0 -17.063 -17.073zm4.6 17.455a5.3692 5.3692 0 0 1 5.3727 5.3636 5.3692 5.3692 0 0 1 -5.3727 5.3727 5.3692 5.3692 0 0 1 -5.3727 -5.3727 5.3692 5.3692 0 0 1 5.3727 -5.3636z\"/>\n</svg>\n"
        },
        "$:/plugins/kixam/timeline/styles.css": {
            "title": "$:/plugins/kixam/timeline/styles.css",
            "tags": "[[$:/tags/Stylesheet]]",
            "type": "text/css",
            "text": ".vis-item .vis-dot {\n  border-color: inherit;\n}\n\n.vis-item .vis-range {\n  background-color: #f0f0ff;\n}\n\n.vis-labelset .vis-label {\n  background-color: #fffff0;\n}\n\n.vis-labelset .vis-label .vis-inner {\n  font-weight: bold;\n  width: 100%;\n  text-align: center;\n}\n\n.visjstimeline-navpad {\n  position: relative;\n}\n\n.visjstimeline-navpad div, .visjstimeline-warning {\n  z-index: 9999;\n  cursor: pointer;\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.visjstimeline-navpad div {\n  width: 34px;\n  height: 34px;\n  border: 3px solid #cccccc;\n  -moz-border-radius: 17px;\n  border-radius: 17px;\n  position: absolute;\n  display: inline-block;\n  text-align: center;\n  padding-top: 3px;\n}\n\n.visjstimeline-navpad div:hover {\n  box-shadow: 0 0 3px 3px rgba(56,207,21,0.30);\n}\n\n.visjstimeline-navpad #up {\n  bottom: 50px;\n  left: 55px;\n}\n\n.visjstimeline-navpad #down {\n  bottom: 10px;\n  left: 55px;\n}\n\n.visjstimeline-navpad #left {\n  bottom: 10px;\n  left: 15px;\n}\n\n.visjstimeline-navpad #right {\n  bottom: 10px;\n  left: 95px;\n}\n\n.visjstimeline-navpad #zoomIn {\n  bottom: 10px;\n  right: 15px;\n}\n\n.visjstimeline-navpad #zoomOut{\n  bottom: 10px;\n  right: 55px;\n}\n\n.visjstimeline-navpad #zoomExtends {\n  bottom: 50px;\n  right: 15px;\n}\n\n.visjstimeline-warning {\n  fill: #FFFFFF;\n  background-color: #EE0000;\n  box-shadow: 0 0 5px rgba(0, 0, 0, 0.75);\n  top: 15px;\n  right: 15px;\n  width: 34px;\n  height: 34px;\n  position: absolute;\n  display: inline-block;\n  cursor: pointer;\n}\n\n.visjstimeline-warning:hover {\n  background-color: #FF0000;\n}\n\n.visjstimeline-warning svg {\n  width: 32px;\n  height: 32px;\n  margin: 1px;\n}\n\n.item-icon svg, .item-icon img {\n  max-height: 14px;\n  max-width: 14px;\n}\n\n.group-icon svg, .group-icon img {\n  max-height: 16px;\n  max-width: 16px;\n}\n"
        },
        "$:/plugins/kixam/timeline/license": {
            "title": "$:/plugins/kixam/timeline/license",
            "text": "! [[BSD 2-clause simplified license|http://www.freebsd.org/copyright/freebsd-license.html]]\n```\nCopyright (c) 2015, kixam\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n# Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n# Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```\n"
        },
        "$:/plugins/kixam/timeline/readme": {
            "title": "$:/plugins/kixam/timeline/readme",
            "text": "! vis.js Timeline\n\nA timeline plugin for [[TiddlyWiki|http://tiddlywiki.com]] 5, using [[vis.js|http://visjs.org]].\n\n---\n\nContinued from [[emkay's plugin|https://github.com/emkayonline/tw5visjs]].\n\nProvides [[vis-timeline|https://github.com/visjs/vis-timeline]], and integrates the Timeline object.\n\nDepends on [[hammer.js plugin|https://github.com/kixam/TW5-hammer.js]] and [[moment.js plugin|https://github.com/kixam/TW5-moment.js]], which are available, along with installation instructions, on the [[demo site|http://kixam.github.io/TW5-visjsTimeline]].\n"
        },
        "$:/plugins/kixam/timeline/usage": {
            "title": "$:/plugins/kixam/timeline/usage",
            "text": "\\define createSaveCloseTiddler(title,text)\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"$title$\" text=\"$text$\" />\n<$action-sendmessage $message=\"tm-save-tiddler\" $param=\"Draft of '$title$'\" />\n<$action-sendmessage $message=\"tm-close-tiddler\" $param=\"$title$\" />\n\\end\n\n\\define demoTiddlerContents(option)\nValue for option ''$option$'' : <$edit-text tag=input tiddler='$(optionValueTiddler)$'/>\n\n!!Result\n<$visjstimeline $option$={{$(optionValueTiddler)$}} />\n\\end\n\n\\define tryit(option,value:\"\")\n<$set name=optionValueTiddler value=\"$:/temp/plugins/kixam/visjstimeline-demo-option-$option$\">\n<$set name=optionDemoTiddler value=\"Testing option '$option$'\">\n<$button>\n<$macrocall $name=createSaveCloseTiddler title=<<optionValueTiddler>> text=\"$value$\" />\n<$macrocall $name=createSaveCloseTiddler title=<<optionDemoTiddler>> text=<<demoTiddlerContents \"$option$\">> />\n<$action-navigate $to=<<optionDemoTiddler>> />\nTry it!\n</$button>\n</$set>\n</$set>\n\\end\n\n!Introduction\n\nThis project is a direct continuation of [[emkay's plugin|https://github.com/emkayonline/tw5visjs]].\n\nThe `<$visjstimeline>` widget shows a set of tiddlers on a graphical timeline. The timeline is interactive and dynamic, and can be zoomed and moved around by dragging.\n\n!Content and Attributes\n\nA list of tiddlers is specified using a filter.\n\nEach matching tiddler is shown on the timeline using its specified start date and, if provided, end date fields. The start date defaults to the 'created' field.\n\n!! Valid date format on tiddlers\n* By default dates are parsed using the [[TiddlyWiki|http://tiddlywiki.com/#TiddlyWiki]] date parser (which will handle the `created` and `modified` fields)\n* An override date format can be specified.\n* This format will apply to both the start and end dates, `customTime`, as well as `timeline.start` and `timeline.end` fields if set manually.\n* Additionally the start date or end date field on a tiddler, or the `customTime` attribute, can be set to the word `now`: this will set the date in the timeline to the date at the time the timeline is displayed.\n* Finally, any date field can use `moment`'s [[relative date calculation functions|http://momentjs.com/docs/#/manipulating/add/]] `add` or `subtract`, overloading the provided format. For instance, if `persistent` option is used, one can manually set `timeline.start` field to `moment().subtract(2,days)`, which will result in the timeline start date to be 2 days before 'now', that is 2 days before the date when the timeline is rendered. The syntax `moment(2015-10-14).add(1,days)` would compute into one day after Wednesday, 14th October, 2015, that is, Thursday, 15th. In this particular case, it is advised to set `vis.js` option `moveable` to `false`, see this plugin's `config` option.\n\n!! Relevant tiddler fields\n|!Field|!Interpretation|\n| `caption` |Used to represent the tiddler instead of the `title`.|\n| `description` |Used instead of `caption` or `title` to render description text when mouse hovers over the item.|\n| `icon` |Link to a image tiddler that will be used as the item's icon.|\n| `color` |Used to render the corresponding item or group on the timeline.|\n| `timeline.start` and `timeline.end` |If the `persistent` attribute is present, used to initialize the start and end of the contained timeline x-axis, respectively. When in use, `persistent` option will use a temporary tiddler at `$:/temp/plugins/kixam/visjstimeline/persistent/<titleOfTiddlerContainingTimeline>`. Note that, if `vis.js` option `moveable` is set to `true`, which is the default, these fields at the temporary tiddler will be silently overwritten by this plugin whenever the user zooms or moves the timeline. You can also change them manually.|\n\n!! Attributes\n\nAll attributes are optional.\n\n|!Attribute|!Description|!Default value|! |\n| `filter` |The [[TiddlerFilter|http://tiddlywiki.com/#Filters]] used to generate the list of tiddlers to display.|`!is[system]`|<<tryit filter \"[all[tiddlers]tag[Group A]]\">>|\n| `startDateField` |A field on each tiddler that defines the start date of a tiddler in the timeline.|`created`|<<tryit startDateField modified>>|\n| `endDateField` |A field on each tiddler that defines the end date of a tiddler in the timeline.|//undefined//|<<tryit endDateField created>>|\n| `format` |The format for parsing the dates, using the moment.js [[Parse string+format|http://momentjs.com/docs/#/parsing/string-format/]]. If unset, uses [[TW5 date format|http://tiddlywiki.com/#DateFormat]].|//undefined//||\n| `tipFormat` |If present, the date format used to display the starting and ending dates in the tooltip boxes when mouse gets over an item. If unset, the dates are not displayed|//undefined//|<<tryit tipFormat \"YYYY-MM-DD HH:mm:ss\">>|\n| `groupField` |A field whose value will be used to group tiddlers on the timeline.|//undefined//|<<tryit groupField color>>|\n| `customTime` |A date at which a vertical bar will be shown on the timeline. Affected by `format`. It can be moved by the user, but the new position will not be saved.|//undefined//|<<tryit customTime \"20150619\">>|\n| `groupTags` |If `groupField` field is not used and if a filtered tiddler has a tag among the given [[Title List|http://tiddlywiki.com/#Title%20List]], this tag will be used as the item's group.|//undefined//|<<tryit groupTags \"[[Group A]]\">>|\n| `boxing` |If set to `static`, the containing box will be static. If set to `auto`, the timeline will dynamically adjust its height to the items to show.|`static`|<<tryit boxing auto>>|\n| `navpad` |If set, a navpad will be shown.|//undefined//|<<tryit navpad>>|\n| `config` |Title of a tiddler which contains configuration options for the timeline in [[JSON format|http://tiddlywiki.com/#JSONTiddlers]], as per [[vis.js documentation|https://visjs.github.io/vis-timeline/docs/timeline/#Configuration_Options]].|//undefined//||\n| `persistent` |If set, the x-axis range will become persistent. Uses (creates, if needed) 2 fields of the tiddler containing the timeline, namely `timeline.start` and `timeline.end`.|//undefined//|<<tryit persistent>>|\n\n!!!Notes about the `config` attribute\n* for the sake of integration, not all the options are available, please see [[the whitelist|$:/plugins/kixam/timeline/validOptions]];\n* the `navpad` is not affected by options passed through this mechanism, except for these listed below the `whitelist` under the name `navbarReactOptions`;\n* if you create or change options in your config tiddler after the timeline was drawn, you may need to have it redrawn, e.g. by editing/canceling the tiddler containing the timeline, or by changing sidebar panel back and forth.\n\n!!!Notes about the `groupField` and `groupTags` attributes\n* if the `filter` finds tiddlers that cannot be grouped according to the criteria given by either of these attributes, these tiddlers will be shown in a dedicated generic group called `Global`\n* if a tiddler representing a tag is listed by the `groupTags` attribute and has any of the relevant tiddler fields listed in the previous section, they will be used to render the group in the group margin\n\nThe content of the `<$visjstimeline>` widget is ignored.\n\n! Example Usage\n\nShow all non-system tiddlers, using their created date as the start date:\n\n`<$visjstimeline/>`\n\nShow all Tiddlers with a name starting 'Tiddler', using the born and died fields with a custom format:\n\n`<$visjstimeline filter=\"[prefix[Tiddler]]\" startDateField=\"born\" endDateField=\"died\" format=\"YYYY MMM\"/>`\n"
        },
        "$:/plugins/kixam/timeline/validOptions": {
            "title": "$:/plugins/kixam/timeline/validOptions",
            "type": "application/json",
            "text": "{\n\t\"whitelist\": [\"align\",\"clickToUse\",\"end\",\"format\",\"hiddenDates\",\"margin\",\"max\",\"min\",\"moveable\",\"orientation\",\"showCurrentTime\",\"showMajorLabels\",\"showMinorLabels\",\"stack\",\"start\",\"timeAxis\",\"zoomable\",\"zoomMin\",\"zoomMax\"],\n\t\"navbarReactOptions\": [\"clickToUse\",\"max\",\"min\",\"zoomMin\",\"zoomMax\"]\n}\n"
        },
        "$:/plugins/kixam/timeline/vis-timeline.css": {
            "title": "$:/plugins/kixam/timeline/vis-timeline.css",
            "type": "text/vnd.tiddlywiki",
            "tags": "$:/tags/Stylesheet",
            "text": "\\rules except list\n\n.vis-custom-time{background-color:#6e94ff;width:2px;cursor:move;z-index:1}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor{border-color:#e5e5e5}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major{border-color:#bfbfbf}.vis-data-axis .vis-y-axis.vis-major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-major.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-minor.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis-data-axis .vis-y-axis.vis-title.vis-measure{padding:0;margin:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title.vis-left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis-data-axis .vis-y-axis.vis-title.vis-right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.vis-legend{background-color:rgba(247,252,255,.65);padding:5px;border:1px solid #b3b3b3;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis-legend-text{white-space:nowrap;display:inline-block}.vis-time-axis{position:relative;overflow:hidden}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;overflow:hidden;box-sizing:border-box;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-vertical-rtl{position:absolute;border-right:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis [class*=span]{min-height:0;width:auto}.vis-item{position:absolute;color:#1a1a1a;border-color:#97b0f8;border-width:1px;background-color:#d5ddf6;display:inline-block;z-index:1}.vis-item.vis-selected{border-color:#ffc200;background-color:#fff785;z-index:2}.vis-editable.vis-selected{cursor:move}.vis-item.vis-point.vis-selected{background-color:#fff785}.vis-item.vis-box{text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-point{background:0 0}.vis-item.vis-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-item.vis-range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis-item.vis-background{border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis-item .vis-item-overflow{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden}.vis-item-visible-frame{white-space:nowrap}.vis-item.vis-range .vis-item-content{position:relative;display:inline-block}.vis-item.vis-background .vis-item-content{position:absolute;display:inline-block}.vis-item.vis-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item .vis-item-content{white-space:nowrap;box-sizing:border-box;padding:5px}.vis-item .vis-onUpdateTime-tooltip{position:absolute;background:#4f81bd;color:#fff;width:200px;text-align:center;white-space:nowrap;padding:5px;border-radius:1px;transition:.4s;-o-transition:.4s;-moz-transition:.4s;-webkit-transition:.4s}.vis-item .vis-delete,.vis-item .vis-delete-rtl{position:absolute;top:0;width:24px;height:24px;box-sizing:border-box;padding:0 5px;cursor:pointer;-webkit-transition:background .2s linear;-moz-transition:background .2s linear;-ms-transition:background .2s linear;-o-transition:background .2s linear;transition:background .2s linear}.vis-item .vis-delete{right:-24px}.vis-item .vis-delete-rtl{left:-24px}.vis-item .vis-delete-rtl:after,.vis-item .vis-delete:after{content:\"\\00D7\";color:red;font-family:arial,sans-serif;font-size:22px;font-weight:700;-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-ms-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.vis-item .vis-delete-rtl:hover,.vis-item .vis-delete:hover{background:red}.vis-item .vis-delete-rtl:hover:after,.vis-item .vis-delete:hover:after{color:#fff}.vis-item .vis-drag-center{position:absolute;width:100%;height:100%;top:0;left:0;cursor:move}.vis-item.vis-range .vis-drag-left{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;left:-4px;cursor:w-resize}.vis-item.vis-range .vis-drag-right{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;right:-4px;cursor:e-resize}.vis-range.vis-item.vis-readonly .vis-drag-left,.vis-range.vis-item.vis-readonly .vis-drag-right{cursor:auto}.vis-item.vis-cluster{vertical-align:center;text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-cluster-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item.vis-cluster-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-current-time{background-color:#ff7f6e;width:2px;z-index:1;pointer-events:none}.vis-rolling-mode-btn{height:40px;width:40px;position:absolute;top:7px;right:20px;border-radius:50%;font-size:28px;cursor:pointer;opacity:.8;color:#fff;font-weight:700;text-align:center;background:#3876c2}.vis-rolling-mode-btn:before{content:\"\\26F6\"}.vis-rolling-mode-btn:hover{opacity:1}.vis-panel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right,.vis-panel.vis-top{border:1px #bfbfbf}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis-left.vis-panel.vis-vertical-scroll,.vis-right.vis-panel.vis-vertical-scroll{height:100%;overflow-x:hidden;overflow-y:scroll}.vis-left.vis-panel.vis-vertical-scroll{direction:rtl}.vis-left.vis-panel.vis-vertical-scroll .vis-content{direction:ltr}.vis-right.vis-panel.vis-vertical-scroll{direction:ltr}.vis-right.vis-panel.vis-vertical-scroll .vis-content{direction:rtl}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-top{border-left-style:solid;border-right-style:solid}.vis-background{overflow:hidden}.vis-panel>.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}.vis-timeline{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.vis-loading-screen{width:100%;height:100%;position:absolute;top:0;left:0}.vis-itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis-itemset .vis-background,.vis-itemset .vis-foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis-axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis-foreground .vis-group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis-foreground .vis-group:last-child{border-bottom:none}.vis-nesting-group{cursor:pointer}.vis-label.vis-nested-group.vis-group-level-unknown-but-gte1{background:#f5f5f5}.vis-label.vis-nested-group.vis-group-level-0{background-color:#fff}.vis-ltr .vis-label.vis-nested-group.vis-group-level-0 .vis-inner{padding-left:0}.vis-rtl .vis-label.vis-nested-group.vis-group-level-0 .vis-inner{padding-right:0}.vis-label.vis-nested-group.vis-group-level-1{background-color:rgba(0,0,0,.05)}.vis-ltr .vis-label.vis-nested-group.vis-group-level-1 .vis-inner{padding-left:15px}.vis-rtl .vis-label.vis-nested-group.vis-group-level-1 .vis-inner{padding-right:15px}.vis-label.vis-nested-group.vis-group-level-2{background-color:rgba(0,0,0,.1)}.vis-ltr .vis-label.vis-nested-group.vis-group-level-2 .vis-inner{padding-left:30px}.vis-rtl .vis-label.vis-nested-group.vis-group-level-2 .vis-inner{padding-right:30px}.vis-label.vis-nested-group.vis-group-level-3{background-color:rgba(0,0,0,.15)}.vis-ltr .vis-label.vis-nested-group.vis-group-level-3 .vis-inner{padding-left:45px}.vis-rtl .vis-label.vis-nested-group.vis-group-level-3 .vis-inner{padding-right:45px}.vis-label.vis-nested-group.vis-group-level-4{background-color:rgba(0,0,0,.2)}.vis-ltr .vis-label.vis-nested-group.vis-group-level-4 .vis-inner{padding-left:60px}.vis-rtl .vis-label.vis-nested-group.vis-group-level-4 .vis-inner{padding-right:60px}.vis-label.vis-nested-group.vis-group-level-5{background-color:rgba(0,0,0,.25)}.vis-ltr .vis-label.vis-nested-group.vis-group-level-5 .vis-inner{padding-left:75px}.vis-rtl .vis-label.vis-nested-group.vis-group-level-5 .vis-inner{padding-right:75px}.vis-label.vis-nested-group.vis-group-level-6{background-color:rgba(0,0,0,.3)}.vis-ltr .vis-label.vis-nested-group.vis-group-level-6 .vis-inner{padding-left:90px}.vis-rtl .vis-label.vis-nested-group.vis-group-level-6 .vis-inner{padding-right:90px}.vis-label.vis-nested-group.vis-group-level-7{background-color:rgba(0,0,0,.35)}.vis-ltr .vis-label.vis-nested-group.vis-group-level-7 .vis-inner{padding-left:105px}.vis-rtl .vis-label.vis-nested-group.vis-group-level-7 .vis-inner{padding-right:105px}.vis-label.vis-nested-group.vis-group-level-8{background-color:rgba(0,0,0,.4)}.vis-ltr .vis-label.vis-nested-group.vis-group-level-8 .vis-inner{padding-left:120px}.vis-rtl .vis-label.vis-nested-group.vis-group-level-8 .vis-inner{padding-right:120px}.vis-label.vis-nested-group.vis-group-level-9{background-color:rgba(0,0,0,.45)}.vis-ltr .vis-label.vis-nested-group.vis-group-level-9 .vis-inner{padding-left:135px}.vis-rtl .vis-label.vis-nested-group.vis-group-level-9 .vis-inner{padding-right:135px}.vis-label.vis-nested-group{background-color:rgba(0,0,0,.5)}.vis-ltr .vis-label.vis-nested-group .vis-inner{padding-left:150px}.vis-rtl .vis-label.vis-nested-group .vis-inner{padding-right:150px}.vis-group-level-unknown-but-gte1{border:1px solid red}.vis-label.vis-nesting-group:before{display:inline-block;width:15px}.vis-label.vis-nesting-group.expanded:before{content:\"\\25BC\"}.vis-label.vis-nesting-group.collapsed:before{content:\"\\25B6\"}.vis-rtl .vis-label.vis-nesting-group.collapsed:before{content:\"\\25C0\"}.vis-ltr .vis-label:not(.vis-nesting-group):not(.vis-group-level-0){padding-left:15px}.vis-rtl .vis-label:not(.vis-nesting-group):not(.vis-group-level-0){padding-right:15px}.vis-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-labelset{position:relative;overflow:hidden;box-sizing:border-box}.vis-labelset .vis-label{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box}.vis-labelset .vis-label{border-bottom:1px solid #bfbfbf}.vis-labelset .vis-label.draggable{cursor:pointer}.vis-group-is-dragging{background:rgba(0,0,0,.1)}.vis-labelset .vis-label:last-child{border-bottom:none}.vis-labelset .vis-label .vis-inner{display:inline-block;padding:5px}.vis-labelset .vis-label .vis-inner.vis-hidden{padding:0}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper::after{clear:both;content:\"\";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%)}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:\" \";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}\n\n"
        },
        "$:/plugins/kixam/timeline/vis-timeline.js": {
            "title": "$:/plugins/kixam/timeline/vis-timeline.js",
            "text": "/*\\\ntitle: $:/plugins/kixam/timeline/vis-timeline.js\ntype: application/javascript\nmodule-type: library\n\n@preserve\n\\*/\nvar vis;if($tw.browser){\n\n\n/**\n * vis-timeline - timeline-graph2d\n * https://github.com/visjs/vis-timeline\n *\n * Create a fully customizable, interactive timeline with items and ranges.\n *\n * @version 5.1.0\n * @date    2019-08-31T10:52:58Z\n *\n * @copyright (c) 2011-2017 Almende B.V, http://almende.com\n * @copyright (c) 2018-2019 visjs contributors, https://github.com/visjs\n *\n * @license \n * vis.js is dual licensed under both\n *\n *   1. The Apache 2.0 License\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n *   and\n *\n *   2. The MIT License\n *      http://opensource.org/licenses/MIT\n *\n * vis.js may be distributed under either license.\n */(function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"$:/plugins/kixam/moment/moment.js\"),require(\"$:/plugins/tiddlywiki/hammerjs/hammer.js\")):\"function\"==typeof define&&define.amd?define([\"$:/plugins/kixam/moment/moment.js\",\"$:/plugins/tiddlywiki/hammerjs/hammer.js\"],t):(e=e||self,e.vis=t(e.moment,e.hammerjs))})(this,function(e,t){'use strict';var Vt=Math.sqrt,Bt=Math.log,qt=Math.round,Zt=Math.pow,Xt=Math.abs,Kt=Math.ceil,Qt=Math.floor,$t=Math.max,Jt=Math.min;function o(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function n(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t<e.length;t++)o[t]=e[t];return o}}function a(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}function r(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}function s(e){return to(e)||oo(e)||no()}function d(){throw new Error(\"Dynamic requires are not currently supported by rollup-plugin-commonjs\")}function l(e,t){return t={exports:{}},e(t,t.exports),t.exports}function p(e,t){var o=t||0,n=lo;return n[e[o++]]+n[e[o++]]+n[e[o++]]+n[e[o++]]+\"-\"+n[e[o++]]+n[e[o++]]+\"-\"+n[e[o++]]+n[e[o++]]+\"-\"+n[e[o++]]+n[e[o++]]+\"-\"+n[e[o++]]+n[e[o++]]+n[e[o++]]+n[e[o++]]+n[e[o++]]+n[e[o++]]}function m(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=1<arguments.length?arguments[1]:void 0,o=2<arguments.length?arguments[2]:void 0,n=t&&o||0;\"string\"==typeof e&&(t=\"binary\"===e?Array(16):void 0,e={});var i=e.random||(e.rng||mo)();if(i[6]=64|15&i[6],i[8]=128|63&i[8],t)for(var a=0;16>a;a++)t[n+a]=i[a];return t||p(i)}function u(e,t){var o=Object.keys(e);return Object.getOwnPropertySymbols&&o.push.apply(o,Object.getOwnPropertySymbols(e)),t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o}function c(e){for(var t=1,o;t<arguments.length;t++)o=null==arguments[t]?{}:arguments[t],t%2?u(o,!0).forEach(function(t){eo(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):u(o).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))});return e}function g(e){return e instanceof Number||\"number\"==typeof e}function h(e){if(e)for(;!0===e.hasChildNodes();){var t=e.firstChild;t&&(h(t),e.removeChild(t))}}function y(e){return e instanceof String||\"string\"==typeof e}function f(e){return\"object\"===ro(e)&&null!==e}function b(e){if(e instanceof Date)return!0;if(y(e)){var t=fo.exec(e);if(t)return!0;if(!isNaN(Date.parse(e)))return!0}return!1}function _(e){return so.isMoment(e)}function v(e,t,o,n){var i=!1;!0===n&&(i=null===t[o]&&e[o]!==void 0),i?delete e[o]:e[o]=t[o]}function k(e,t){var o=!!(2<arguments.length&&arguments[2]!==void 0)&&arguments[2];for(var n in e)if(t[n]!==void 0)if(null===t[n]||\"object\"!==ro(t[n]))v(e,t,n,o);else{var i=e[n],a=t[n];f(i)&&f(a)&&k(i,a,o)}}function w(e,t){if(!Array.isArray(e))throw new Error(\"Array with property names expected as first argument\");for(var o=arguments.length,n=Array(2<o?o-2:0),i=2;i<o;i++)n[i-2]=arguments[i];for(var a=0,r=n,s;a<r.length;a++){s=r[a];for(var d=0,l;d<e.length;d++)l=e[d],s&&Object.prototype.hasOwnProperty.call(s,l)&&(t[l]=s[l])}return t}function x(e,t,o){var n=!!(3<arguments.length&&arguments[3]!==void 0)&&arguments[3];if(Array.isArray(o))throw new TypeError(\"Arrays are not supported by deepExtend\");for(var i=0,a;i<e.length;i++)if(a=e[i],Object.prototype.hasOwnProperty.call(o,a))if(o[a]&&o[a].constructor===Object)void 0===t[a]&&(t[a]={}),t[a].constructor===Object?S(t[a],o[a],!1,n):v(t,o,a,n);else if(Array.isArray(o[a]))throw new TypeError(\"Arrays are not supported by deepExtend\");else v(t,o,a,n);return t}function D(e,t,o){var n=!!(3<arguments.length&&arguments[3]!==void 0)&&arguments[3];if(Array.isArray(o))throw new TypeError(\"Arrays are not supported by deepExtend\");for(var a in o)if(Object.prototype.hasOwnProperty.call(o,a)&&-1===e.indexOf(a))if(o[a]&&o[a].constructor===Object)void 0===t[a]&&(t[a]={}),t[a].constructor===Object?S(t[a],o[a]):v(t,o,a,n);else if(Array.isArray(o[a])){t[a]=[];for(var r=0;r<o[a].length;r++)t[a].push(o[a][r])}else v(t,o,a,n);return t}function S(e,t){var o=!!(2<arguments.length&&arguments[2]!==void 0)&&arguments[2],n=!!(3<arguments.length&&arguments[3]!==void 0)&&arguments[3];for(var a in t)if(Object.prototype.hasOwnProperty.call(t,a)||!0===o)if(t[a]&&t[a].constructor===Object)void 0===e[a]&&(e[a]={}),e[a].constructor===Object?S(e[a],t[a],o):v(e,t,a,n);else if(Array.isArray(t[a])){e[a]=[];for(var r=0;r<t[a].length;r++)e[a].push(t[a][r])}else v(e,t,a,n);return e}function C(e,t){if(e.length!==t.length)return!1;for(var o=0,n=e.length;o<n;o++)if(e[o]!=t[o])return!1;return!0}function T(e,t){var o;if(void 0!==e){if(null===e)return null;if(!t)return e;if(\"string\"!=typeof t&&!(t instanceof String))throw new Error(\"Type must be a string\");switch(t){case\"boolean\":case\"Boolean\":return!!e;case\"number\":case\"Number\":return y(e)&&!isNaN(Date.parse(e))?so(e).valueOf():+e.valueOf();case\"string\":case\"String\":return e+\"\";case\"Date\":if(g(e))return new Date(e);if(e instanceof Date)return new Date(e.valueOf());if(_(e))return new Date(e.valueOf());if(y(e))return o=fo.exec(e),o?new Date(+o[1]):so(new Date(e)).toDate();throw new Error(\"Cannot convert object of type \"+O(e)+\" to type Date\");case\"Moment\":if(g(e))return so(e);if(e instanceof Date)return so(e.valueOf());if(_(e))return so(e);if(y(e))return o=fo.exec(e),o?so(+o[1]):so(e);throw new Error(\"Cannot convert object of type \"+O(e)+\" to type Date\");case\"ISODate\":if(g(e))return new Date(e);if(e instanceof Date)return e.toISOString();if(_(e))return e.toDate().toISOString();if(y(e))return o=fo.exec(e),o?new Date(+o[1]).toISOString():so(e).format();throw new Error(\"Cannot convert object of type \"+O(e)+\" to type ISODate\");case\"ASPDate\":if(g(e))return\"/Date(\"+e+\")/\";if(e instanceof Date||_(e))return\"/Date(\"+e.valueOf()+\")/\";if(y(e)){o=fo.exec(e);var n;return n=o?new Date(+o[1]).valueOf():new Date(e).valueOf(),\"/Date(\"+n+\")/\"}throw new Error(\"Cannot convert object of type \"+O(e)+\" to type ASPDate\");default:throw new Error(\"Unknown type \".concat(t));}}}function O(e){var t=ro(e);return\"object\"===t?null===e?\"null\":e instanceof Boolean?\"Boolean\":e instanceof Number?\"Number\":e instanceof String?\"String\":Array.isArray(e)?\"Array\":e instanceof Date?\"Date\":\"Object\":\"number\"===t?\"Number\":\"boolean\"===t?\"Boolean\":\"string\"===t?\"String\":void 0===t?\"undefined\":t}function M(e,t){return[].concat(io(e),[t])}function I(e){return e.slice()}function P(e){return e.getBoundingClientRect().left}function E(e){return e.getBoundingClientRect().right}function Y(e){return e.getBoundingClientRect().top}function R(e,t){var o=e.className.split(\" \"),n=t.split(\" \");o=o.concat(n.filter(function(e){return 0>o.indexOf(e)})),e.className=o.join(\" \")}function A(e,t){var o=e.className.split(\" \"),n=t.split(\" \");o=o.filter(function(e){return 0>n.indexOf(e)}),e.className=o.join(\" \")}function N(e,t){if(Array.isArray(e))for(var o=e.length,n=0;n<o;n++)t(e[n],n,e);else for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t(e[a],a,e)}function L(e,t,o){return e[t]!==o&&(e[t]=o,!0)}function H(e){var t=!1;return function(){t||(t=!0,requestAnimationFrame(function(){t=!1,e()}))}}function G(e,t,o,n){e.addEventListener?(n===void 0&&(n=!1),\"mousewheel\"===t&&0<=navigator.userAgent.indexOf(\"Firefox\")&&(t=\"DOMMouseScroll\"),e.addEventListener(t,o,n)):e.attachEvent(\"on\"+t,o)}function F(e,t,o,n){e.removeEventListener?(n===void 0&&(n=!1),\"mousewheel\"===t&&0<=navigator.userAgent.indexOf(\"Firefox\")&&(t=\"DOMMouseScroll\"),e.removeEventListener(t,o,n)):e.detachEvent(\"on\"+t,o)}function j(e){if(e||(e=window.event),!e);else e.preventDefault?e.preventDefault():e.returnValue=!1}function W(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:window.event,t=null;if(!e);else e.target?t=e.target:e.srcElement&&(t=e.srcElement);return t instanceof Element?null!=t.nodeType&&3==t.nodeType&&(t=t.parentNode,!(t instanceof Element))?null:t:null}function U(e,t){for(var o=e;o;){if(o===t)return!0;if(o.parentNode)o=o.parentNode;else return!1}return!1}function z(e){var t;switch(e.length){case 3:case 4:return t=_o.exec(e),t?{r:parseInt(t[1]+t[1],16),g:parseInt(t[2]+t[2],16),b:parseInt(t[3]+t[3],16)}:null;case 6:case 7:return t=bo.exec(e),t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null;default:return null;}}function V(e,t){if(-1!==e.indexOf(\"rgba\"))return e;if(-1!==e.indexOf(\"rgb\")){var o=e.substr(e.indexOf(\"(\")+1).replace(\")\",\"\").split(\",\");return\"rgba(\"+o[0]+\",\"+o[1]+\",\"+o[2]+\",\"+t+\")\"}var n=z(e);return null==n?e:\"rgba(\"+n.r+\",\"+n.g+\",\"+n.b+\",\"+t+\")\"}function B(e,t,o){return\"#\"+(16777216+(e<<16)+(t<<8)+o).toString(16).slice(1)}function q(e,t){if(y(e)){var o=e;if(te(o)){var n=o.substr(4).substr(0,o.length-5).split(\",\").map(function(e){return parseInt(e)});o=B(n[0],n[1],n[2])}if(!0===ee(o)){var i=J(o),a={h:i.h,s:.8*i.s,v:Jt(1,1.02*i.v)},r={h:i.h,s:Jt(1,1.25*i.s),v:.8*i.v},s=$(r.h,r.s,r.v),d=$(a.h,a.s,a.v);return{background:o,border:s,highlight:{background:d,border:s},hover:{background:d,border:s}}}return{background:o,border:o,highlight:{background:o,border:o},hover:{background:o,border:o}}}if(t){var l={background:e.background||t.background,border:e.border||t.border,highlight:y(e.highlight)?{border:e.highlight,background:e.highlight}:{background:e.highlight&&e.highlight.background||t.highlight.background,border:e.highlight&&e.highlight.border||t.highlight.border},hover:y(e.hover)?{border:e.hover,background:e.hover}:{border:e.hover&&e.hover.border||t.hover.border,background:e.hover&&e.hover.background||t.hover.background}};return l}var p={background:e.background||void 0,border:e.border||void 0,highlight:y(e.highlight)?{border:e.highlight,background:e.highlight}:{background:e.highlight&&e.highlight.background||void 0,border:e.highlight&&e.highlight.border||void 0},hover:y(e.hover)?{border:e.hover,background:e.hover}:{border:e.hover&&e.hover.border||void 0,background:e.hover&&e.hover.background||void 0}};return p}function Z(e,t,o){e/=255,t/=255,o/=255;var n=Jt(e,Jt(t,o)),i=$t(e,$t(t,o));if(n===i)return{h:0,s:0,v:n};var a=e===n?t-o:o===n?e-t:o-e,r=e===n?3:o===n?1:5;return{h:60*(r-a/(i-n))/360,s:(i-n)/i,v:i}}function X(e,t){var o=xo.split(e.style.cssText),n=xo.split(t),i=c({},o,{},n);e.style.cssText=xo.join(i)}function K(e,t){var o=xo.split(e.style.cssText),n=xo.split(t);for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&delete o[i];e.style.cssText=xo.join(o)}function Q(e,o,n){var a=Qt(6*e),i=6*e-a,s=n*(1-o),d=n*(1-i*o),l=n*(1-(1-i)*o),t,p,m;switch(a%6){case 0:t=n,p=l,m=s;break;case 1:t=d,p=n,m=s;break;case 2:t=s,p=n,m=l;break;case 3:t=s,p=d,m=n;break;case 4:t=l,p=s,m=n;break;case 5:t=n,p=s,m=d;}return{r:Qt(255*t),g:Qt(255*p),b:Qt(255*m)}}function $(e,t,o){var n=Q(e,t,o);return B(n.r,n.g,n.b)}function J(e){var t=z(e);if(!t)throw new TypeError(\"'\".concat(e,\"' is not a valid color.\"));return Z(t.r,t.g,t.b)}function ee(e){var t=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e);return t}function te(e){e=e.replace(\" \",\"\");var t=/rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)/i.test(e);return t}function oe(e){e=e.replace(\" \",\"\");var t=/rgba\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3}),(0?.{1,3})\\)/i.test(e);return t}function ne(e,t){if(null!==t&&\"object\"===ro(t)){for(var o=Object.create(t),n=0;n<e.length;n++)Object.prototype.hasOwnProperty.call(t,e[n])&&\"object\"==ro(t[e[n]])&&(o[e[n]]=ie(t[e[n]]));return o}return null}function ie(e){if(null===e||\"object\"!==ro(e))return null;if(e instanceof Element)return e;var t=Object.create(e);for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&\"object\"==ro(e[o])&&(t[o]=ie(e[o]));return t}function ae(e,t){for(var o=0;o<e.length;o++){var n=e[o],a=void 0;for(a=o;0<a&&0>t(n,e[a-1]);a--)e[a]=e[a-1];e[a]=n}return e}function re(e,t,o){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:{},i=function(e){return null!==e&&e!==void 0},a=function(e){return null!==e&&\"object\"===ro(e)};if(!a(e))throw new Error(\"Parameter mergeTarget must be an object\");if(!a(t))throw new Error(\"Parameter options must be an object\");if(!i(o))throw new Error(\"Parameter option must have a value\");if(!a(n))throw new Error(\"Parameter globalOptions must be an object\");var r=function(e,t,o){a(e[o])||(e[o]={});var n=t[o],i=e[o];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(i[r]=n[r])},s=t[o],d=a(n)&&!function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}(n),l=d?n[o]:void 0,p=l?l.enabled:void 0;if(void 0!==s){if(\"boolean\"==typeof s)return a(e[o])||(e[o]={}),void(e[o].enabled=s);if(null===s&&!a(e[o]))if(i(l))e[o]=Object.create(l);else return;if(a(s)){var m=!0;void 0===s.enabled?void 0!==p&&(m=l.enabled):m=s.enabled,r(e,t,o),e[o].enabled=m}}}function se(e,t,o,n){for(var i=0,a=0,r=e.length-1;a<=r&&i<1e4;){var s=Qt((a+r)/2),d=e[s],l=n===void 0?d[o]:d[o][n],p=t(l);if(0==p)return s;-1==p?a=s+1:r=s-1;i++}return-1}function de(e,t,o,n,i){var a=0,r=0,s=e.length-1,d,l,p,m;for(i=null==i?function(e,t){return e==t?0:e<t?-1:1}:i;r<=s&&10000>a;){if(m=Qt(.5*(s+r)),d=e[$t(0,m-1)][o],l=e[m][o],p=e[Jt(e.length-1,m+1)][o],0==i(l,t))return m;if(0>i(d,t)&&0<i(l,t))return\"before\"==n?$t(0,m-1):m;if(0>i(l,t)&&0<i(p,t))return\"before\"==n?m:Jt(e.length-1,m+1);0>i(l,t)?r=m+1:s=m-1,a++}return-1}function le(){var e=document.createElement(\"p\");e.style.width=\"100%\",e.style.height=\"200px\";var t=document.createElement(\"div\");t.style.position=\"absolute\",t.style.top=\"0px\",t.style.left=\"0px\",t.style.visibility=\"hidden\",t.style.width=\"200px\",t.style.height=\"150px\",t.style.overflow=\"hidden\",t.appendChild(e),document.body.appendChild(t);var o=e.offsetWidth;t.style.overflow=\"scroll\";var n=e.offsetWidth;return o==n&&(n=t.clientWidth),document.body.removeChild(t),o-n}function pe(e,t){var o;Array.isArray(t)||(t=[t]);var n=!0,a=!1,r=void 0;try{for(var s=e[Symbol.iterator](),d,l;!(n=(d=s.next()).done);n=!0)if(l=d.value,l){o=l[t[0]];for(var p=1;p<t.length;p++)o&&(o=o[t[p]]);if(\"undefined\"!=typeof o)break}}catch(e){a=!0,r=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw r}}return o}function me(e){for(var t in e)e.hasOwnProperty(t)&&(e[t].redundant=e[t].used,e[t].used=[])}function ue(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t].redundant){for(var o=0;o<e[t].redundant.length;o++)e[t].redundant[o].parentNode.removeChild(e[t].redundant[o]);e[t].redundant=[]}}function ce(e){me(e),ue(e),me(e)}function ge(e,t,o){var n;return t.hasOwnProperty(e)?0<t[e].redundant.length?(n=t[e].redundant[0],t[e].redundant.shift()):(n=document.createElementNS(\"http://www.w3.org/2000/svg\",e),o.appendChild(n)):(n=document.createElementNS(\"http://www.w3.org/2000/svg\",e),t[e]={used:[],redundant:[]},o.appendChild(n)),t[e].used.push(n),n}function he(e,t,o,n){var i;return t.hasOwnProperty(e)?0<t[e].redundant.length?(i=t[e].redundant[0],t[e].redundant.shift()):(i=document.createElement(e),void 0===n?o.appendChild(i):o.insertBefore(i,n)):(i=document.createElement(e),t[e]={used:[],redundant:[]},void 0===n?o.appendChild(i):o.insertBefore(i,n)),t[e].used.push(i),i}function ye(e,t,o,n,i,a){var r;if(\"circle\"==o.style?(r=ge(\"circle\",n,i),r.setAttributeNS(null,\"cx\",e),r.setAttributeNS(null,\"cy\",t),r.setAttributeNS(null,\"r\",.5*o.size)):(r=ge(\"rect\",n,i),r.setAttributeNS(null,\"x\",e-.5*o.size),r.setAttributeNS(null,\"y\",t-.5*o.size),r.setAttributeNS(null,\"width\",o.size),r.setAttributeNS(null,\"height\",o.size)),void 0!==o.styles&&r.setAttributeNS(null,\"style\",o.styles),r.setAttributeNS(null,\"class\",o.className+\" vis-point\"),a){var s=ge(\"text\",n,i);a.xOffset&&(e+=a.xOffset),a.yOffset&&(t+=a.yOffset),a.content&&(s.textContent=a.content),a.className&&s.setAttributeNS(null,\"class\",a.className+\" vis-label\"),s.setAttributeNS(null,\"x\",e),s.setAttributeNS(null,\"y\",t)}return r}function fe(e,t,o,n,i,a,r,s){if(0!=n){0>n&&(n*=-1,t-=n);var d=ge(\"rect\",a,r);d.setAttributeNS(null,\"x\",e-.5*o),d.setAttributeNS(null,\"y\",t),d.setAttributeNS(null,\"width\",o),d.setAttributeNS(null,\"height\",n),d.setAttributeNS(null,\"class\",i),s&&d.setAttributeNS(null,\"style\",s)}}function be(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function _e(e,t){return t={exports:{}},e(t,t.exports),t.exports}function ve(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function ke(e,t){for(var o=0,n;o<t.length;o++)n=t[o],n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}function we(e,t,o){return t&&ke(e.prototype,t),o&&ke(e,o),e}function xe(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function De(e,t){return t&&(\"object\"===Oo(t)||\"function\"==typeof t)?t:Po(e)}function Se(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ro(e,t)}function Ce(e,t){var o=t||0,n=No;return n[e[o++]]+n[e[o++]]+n[e[o++]]+n[e[o++]]+\"-\"+n[e[o++]]+n[e[o++]]+\"-\"+n[e[o++]]+n[e[o++]]+\"-\"+n[e[o++]]+n[e[o++]]+\"-\"+n[e[o++]]+n[e[o++]]+n[e[o++]]+n[e[o++]]+n[e[o++]]+n[e[o++]]}function Te(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=1<arguments.length?arguments[1]:void 0,o=2<arguments.length?arguments[2]:void 0,n=t&&o||0;\"string\"==typeof e&&(t=\"binary\"===e?Array(16):void 0,e={});var i=e.random||(e.rng||Ho)();if(i[6]=64|15&i[6],i[8]=128|63&i[8],t)for(var a=0;16>a;a++)t[n+a]=i[a];return t||Ce(i)}function Oe(e){return Oe=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Oe(e)}function Me(){throw new Error(\"Dynamic requires are not currently supported by rollup-plugin-commonjs\")}function Ie(e,t){return t={exports:{}},e(t,t.exports),t.exports}function Pe(e){return e instanceof Number||\"number\"==typeof e}function Ee(e){return e instanceof String||\"string\"==typeof e}function Ye(e){return Vo.isMoment(e)}function Re(e,t){var o;if(void 0!==e){if(null===e)return null;if(!t)return e;if(\"string\"!=typeof t&&!(t instanceof String))throw new Error(\"Type must be a string\");switch(t){case\"boolean\":case\"Boolean\":return!!e;case\"number\":case\"Number\":return Ee(e)&&!isNaN(Date.parse(e))?Vo(e).valueOf():+e.valueOf();case\"string\":case\"String\":return e+\"\";case\"Date\":if(Pe(e))return new Date(e);if(e instanceof Date)return new Date(e.valueOf());if(Ye(e))return new Date(e.valueOf());if(Ee(e))return o=en.exec(e),o?new Date(+o[1]):Vo(new Date(e)).toDate();throw new Error(\"Cannot convert object of type \"+Ae(e)+\" to type Date\");case\"Moment\":if(Pe(e))return Vo(e);if(e instanceof Date)return Vo(e.valueOf());if(Ye(e))return Vo(e);if(Ee(e))return o=en.exec(e),o?Vo(+o[1]):Vo(e);throw new Error(\"Cannot convert object of type \"+Ae(e)+\" to type Date\");case\"ISODate\":if(Pe(e))return new Date(e);if(e instanceof Date)return e.toISOString();if(Ye(e))return e.toDate().toISOString();if(Ee(e))return o=en.exec(e),o?new Date(+o[1]).toISOString():Vo(e).format();throw new Error(\"Cannot convert object of type \"+Ae(e)+\" to type ISODate\");case\"ASPDate\":if(Pe(e))return\"/Date(\"+e+\")/\";if(e instanceof Date)return\"/Date(\"+e.valueOf()+\")/\";if(Ee(e)){o=en.exec(e);var n;return n=o?new Date(+o[1]).valueOf():new Date(e).valueOf(),\"/Date(\"+n+\")/\"}throw new Error(\"Cannot convert object of type \"+Ae(e)+\" to type ASPDate\");default:throw new Error(\"Unknown type \".concat(t));}}}function Ae(e){var t=Oe(e);return\"object\"===t?null===e?\"null\":e instanceof Boolean?\"Boolean\":e instanceof Number?\"Number\":e instanceof String?\"String\":Array.isArray(e)?\"Array\":e instanceof Date?\"Date\":\"Object\":\"number\"===t?\"Number\":\"boolean\"===t?\"Boolean\":\"string\"===t?\"String\":void 0===t?\"undefined\":t}function Ne(e){return\"string\"==typeof e||\"number\"==typeof e}function Le(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t<e.length;t++)o[t]=e[t];return o}}function He(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}function Ge(e,t){var o=Object.keys(e);return Object.getOwnPropertySymbols&&o.push.apply(o,Object.getOwnPropertySymbols(e)),t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o}function Fe(e){for(var t=1,o;t<arguments.length;t++)o=null==arguments[t]?{}:arguments[t],t%2?Ge(o,!0).forEach(function(t){To(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):Ge(o).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))});return e}function je(e){return je=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},je(e)}function We(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Ue(e,t){for(var o=0,n;o<t.length;o++)n=t[o],n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}function ze(e,t,o){return t&&Ue(e.prototype,t),o&&Ue(e,o),e}function Ve(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qe(e,t)}function Be(e){return Be=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},Be(e)}function qe(e,t){return qe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},qe(e,t)}function Ze(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function Xe(e,t){return t&&(\"object\"==typeof t||\"function\"==typeof t)?t:Ze(e)}function Ke(e){return Qe(e)||$e(e)||Je()}function Qe(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t<e.length;t++)o[t]=e[t];return o}}function $e(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}function Je(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}function et(e,t,o){if(o&&!Array.isArray(o))return et(e,t,[o]);if(t.hiddenDates=[],o&&!0==Array.isArray(o)){for(var n=0;n<o.length;n++)if(void 0===o[n].repeat){var a={};a.start=e(o[n].start).toDate().valueOf(),a.end=e(o[n].end).toDate().valueOf(),t.hiddenDates.push(a)}t.hiddenDates.sort(function(e,t){return e.start-t.start})}}function tt(e,t,o){if(o&&!Array.isArray(o))return tt(e,t,[o]);if(o&&void 0!==t.domProps.centerContainer.width){et(e,t,o);for(var n=e(t.range.start),a=e(t.range.end),r=t.range.end-t.range.start,s=r/t.domProps.centerContainer.width,d=0;d<o.length;d++)if(void 0!==o[d].repeat){var l=e(o[d].start),p=e(o[d].end);if(\"Invalid Date\"==l._d)throw new Error(\"Supplied start date is not valid: \".concat(o[d].start));if(\"Invalid Date\"==p._d)throw new Error(\"Supplied end date is not valid: \".concat(o[d].end));var m=p-l;if(m>=4*s){var u=0,c=a.clone();switch(o[d].repeat){case\"daily\":l.day()!=p.day()&&(u=1),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7,\"days\"),p.dayOfYear(n.dayOfYear()),p.year(n.year()),p.subtract(7-u,\"days\"),c.add(1,\"weeks\");break;case\"weekly\":{var g=p.diff(l,\"days\"),h=l.day();l.date(n.date()),l.month(n.month()),l.year(n.year()),p=l.clone(),l.day(h),p.day(h),p.add(g,\"days\"),l.subtract(1,\"weeks\"),p.subtract(1,\"weeks\"),c.add(1,\"weeks\");break}case\"monthly\":l.month()!=p.month()&&(u=1),l.month(n.month()),l.year(n.year()),l.subtract(1,\"months\"),p.month(n.month()),p.year(n.year()),p.subtract(1,\"months\"),p.add(u,\"months\"),c.add(1,\"months\");break;case\"yearly\":l.year()!=p.year()&&(u=1),l.year(n.year()),l.subtract(1,\"years\"),p.year(n.year()),p.subtract(1,\"years\"),p.add(u,\"years\"),c.add(1,\"years\");break;default:return void console.log(\"Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:\",o[d].repeat);}for(;l<c;)switch(t.hiddenDates.push({start:l.valueOf(),end:p.valueOf()}),o[d].repeat){case\"daily\":l.add(1,\"days\"),p.add(1,\"days\");break;case\"weekly\":l.add(1,\"weeks\"),p.add(1,\"weeks\");break;case\"monthly\":l.add(1,\"months\"),p.add(1,\"months\");break;case\"yearly\":l.add(1,\"y\"),p.add(1,\"y\");break;default:return void console.log(\"Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:\",o[d].repeat);}t.hiddenDates.push({start:l.valueOf(),end:p.valueOf()})}}ot(t);var y=ct(t.range.start,t.hiddenDates),f=ct(t.range.end,t.hiddenDates),b=t.range.start,_=t.range.end;!0==y.hidden&&(b=!0==t.range.startToFront?y.startDate-1:y.endDate+1),!0==f.hidden&&(_=!0==t.range.endToFront?f.startDate-1:f.endDate+1),(!0==y.hidden||!0==f.hidden)&&t.range._applyRange(b,_)}}function ot(e){for(var t=e.hiddenDates,o=[],n=0;n<t.length;n++)for(var a=0;a<t.length;a++)n!=a&&!0!=t[a].remove&&!0!=t[n].remove&&(t[a].start>=t[n].start&&t[a].end<=t[n].end?t[a].remove=!0:t[a].start>=t[n].start&&t[a].start<=t[n].end?(t[n].end=t[a].end,t[a].remove=!0):t[a].end>=t[n].start&&t[a].end<=t[n].end&&(t[n].start=t[a].start,t[a].remove=!0));for(n=0;n<t.length;n++)!0!==t[n].remove&&o.push(t[n]);e.hiddenDates=o,e.hiddenDates.sort(function(e,t){return e.start-t.start})}function nt(e){for(var t=0;t<e.length;t++)console.log(t,new Date(e[t].start),new Date(e[t].end),e[t].start,e[t].end,e[t].remove)}function it(e,t,o){for(var n=!1,a=t.current.valueOf(),r=0;r<t.hiddenDates.length;r++){var s=t.hiddenDates[r].start,d=t.hiddenDates[r].end;if(a>=s&&a<d){n=!0;break}}if(!0==n&&a<t._end.valueOf()&&a!=o){var l=e(o),p=e(d);l.year()==p.year()?l.month()==p.month()?l.dayOfYear()!=p.dayOfYear()&&(t.switchedDay=!0):t.switchedMonth=!0:t.switchedYear=!0,t.current=p}}function at(e,t,o){var n;if(0==e.body.hiddenDates.length)return n=e.range.conversion(o),(t.valueOf()-n.offset)*n.scale;var i=ct(t,e.body.hiddenDates);!0==i.hidden&&(t=i.startDate);var a=st(e.body.hiddenDates,e.range.start,e.range.end);if(t<e.range.start){n=e.range.conversion(o,a);var r=dt(e.body.hiddenDates,t,n.offset);return t=e.options.moment(t).toDate().valueOf(),t+=r,-(n.offset-t.valueOf())*n.scale}if(t>e.range.end){var s={start:e.range.start,end:t};return t=lt(e.options.moment,e.body.hiddenDates,s,t),n=e.range.conversion(o,a),(t.valueOf()-n.offset)*n.scale}return t=lt(e.options.moment,e.body.hiddenDates,e.range,t),n=e.range.conversion(o,a),(t.valueOf()-n.offset)*n.scale}function rt(e,t,o){if(0==e.body.hiddenDates.length){var n=e.range.conversion(o);return new Date(t/n.scale+n.offset)}var i=st(e.body.hiddenDates,e.range.start,e.range.end),a=e.range.end-e.range.start-i,r=a*t/o,s=mt(e.body.hiddenDates,e.range,r);return new Date(s+r+e.range.start)}function st(e,t,o){for(var n=0,a=0;a<e.length;a++){var r=e[a].start,s=e[a].end;r>=t&&s<o&&(n+=s-r)}return n}function dt(e,t,o){for(var n=0,a=0;a<e.length;a++){var r=e[a].start,s=e[a].end;r>=t&&s<=o&&(n+=s-r)}return n}function lt(e,t,o,n){return n=e(n).toDate().valueOf(),n-=pt(e,t,o,n),n}function pt(e,t,o,n){var a=0;n=e(n).toDate().valueOf();for(var r=0;r<t.length;r++){var s=t[r].start,d=t[r].end;s>=o.start&&d<o.end&&n>=d&&(a+=d-s)}return a}function mt(e,t,o){for(var n=0,a=0,r=t.start,s=0;s<e.length;s++){var d=e[s].start,l=e[s].end;if(d>=t.start&&l<t.end)if(a+=d-r,r=l,a>=o)break;else n+=l-d}return n}function ut(e,t,o,n){var i=ct(t,e);return!0==i.hidden?0>o?!0==n?i.startDate-(i.endDate-t)-1:i.startDate-1:!0==n?i.endDate+(t-i.startDate)+1:i.endDate+1:t}function ct(e,t){for(var o=0;o<t.length;o++){var n=t[o].start,a=t[o].end;if(e>=n&&e<a)return{hidden:!0,startDate:n,endDate:a}}return{hidden:!1,startDate:n,endDate:a}}function gt(e){if(\"horizontal\"!=e&&\"vertical\"!=e)throw new TypeError(\"Unknown direction \\\"\".concat(e,\"\\\". Choose \\\"horizontal\\\" or \\\"vertical\\\".\"))}function ht(e){if(e)return yt(e)}function yt(e){for(var t in ht.prototype)e[t]=ht.prototype[t];return e}function ft(e,t){return t={exports:{}},e(t,t.exports),t.exports}function bt(){var e=function(){};return{on:e,off:e,destroy:e,emit:e,get:function(){return{set:e}}}}function _t(e,t){t.inputHandler=function(e){e.isFirst&&t(e)},e.on(\"hammer.input\",t.inputHandler)}function vt(e,t){return t.inputHandler=function(e){e.isFinal&&t(e)},e.on(\"hammer.input\",t.inputHandler)}function kt(e){return e.getTouchAction=function(){return[\"pan-y\"]},e}function wt(e){this.active=!1,this.dom={container:e},this.dom.overlay=document.createElement(\"div\"),this.dom.overlay.className=\"vis-overlay\",this.dom.container.appendChild(this.dom.overlay),this.hammer=yn(this.dom.overlay),this.hammer.on(\"tap\",this._onTapOverlay.bind(this));var t=this;[\"tap\",\"doubletap\",\"press\",\"pinch\",\"pan\",\"panstart\",\"panmove\",\"panend\"].forEach(function(e){t.hammer.on(e,function(e){e.stopPropagation()})}),document&&document.body&&(this.onClick=function(o){xt(o.target,e)||t.deactivate()},document.body.addEventListener(\"click\",this.onClick)),this.keycharm!==void 0&&this.keycharm.destroy(),this.keycharm=vn(),this.escListener=this.deactivate.bind(this)}function xt(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function Dt(e){e.sort(function(e,t){return e.data.start-t.data.start})}function St(e){e.sort(function(e,t){var o=\"end\"in e.data?e.data.end:e.data.start,n=\"end\"in t.data?t.data.end:t.data.start;return o-n})}function Ct(e,t,o,n){if(o)for(var a=0;a<e.length;a++)e[a].top=null;for(var a=0,r;a<e.length;a++)if(r=e[a],r.stack&&null===r.top){r.top=t.axis;var s=!1;do{for(var d=null,l=0,p=e.length,m;l<p;l++){if(m=e[l],s=n()||!1,s)return!0;if(null!==m.top&&m!==r&&m.stack&&Pt(r,m,t.item,m.options.rtl)){d=m;break}}null!=d&&(r.top=d.top+d.height+t.item.vertical)}while(d)}return s}function Tt(e,t,o){for(var n=0;n<e.length;n++)e[n].top=null;var a=o.height;for(n=0;n<e.length;n++){var r=e[n];if(r.stack&&null===r.top){r.top=r.baseTop;do{for(var s=null,d=0,l=e.length,p;d<l;d++)if(p=e[d],null!==p.top&&p!==r&&Pt(r,p,t.item,p.options.rtl)){s=p;break}null!=s&&(r.top=s.top+s.height+t.item.vertical),r.top+r.height>a&&(a=r.top+r.height)}while(s)}}o.height=a-o.top+.5*t.item.vertical}function Ot(e,t,o,n){for(var a=0;a<e.length;a++)if(e[a].data.subgroup==null)e[a].top=t.item.vertical;else if(e[a].data.subgroup!==void 0&&n){var r=0;for(var s in o)o.hasOwnProperty(s)&&!0==o[s].visible&&o[s].index<o[e[a].data.subgroup].index&&(r+=o[s].height,o[e[a].data.subgroup].top=r);e[a].top=r+.5*t.item.vertical}n||Mt(e,t,o)}function Mt(e,t,o){for(var n in o)if(o.hasOwnProperty(n)){o[n].top=0;do{var a=null;for(var r in o)if(null!==o[r].top&&r!=n&&o[n].index>o[r].index&&Et(o[n],o[r])){a=o[r];break}null!=a&&(o[n].top=a.top+a.height)}while(a)}for(var s=0;s<e.length;s++)void 0!==e[s].data.subgroup&&(e[s].top=o[e[s].data.subgroup].top+.5*t.item.vertical)}function It(e,t,o){var n=!1,a=[];for(var r in o)o[r].hasOwnProperty(\"index\")?a[o[r].index]=r:a.push(r);for(var s=0;s<a.length;s++)if(r=a[s],o.hasOwnProperty(r)){for(var d in n=n||o[r].stack,o[r].top=0,o)o[d].visible&&o[r].index>o[d].index&&(o[r].top+=o[d].height);for(var l=e[r],p=0;p<l.length;p++)void 0!==l[p].data.subgroup&&(l[p].top=o[l[p].data.subgroup].top+.5*t.item.vertical,o[r].stack&&(l[p].baseTop=l[p].top));n&&o[r].stack&&Tt(e[r],t,o[r])}}function Pt(e,t,o,n){return n?e.right-o.horizontal+Sn<t.right+t.width&&e.right+e.width+o.horizontal-Sn>t.right&&e.top-o.vertical+Sn<t.top+t.height&&e.top+e.height+o.vertical-Sn>t.top:e.left-o.horizontal+Sn<t.left+t.width&&e.left+e.width+o.horizontal-Sn>t.left&&e.top-o.vertical+Sn<t.top+t.height&&e.top+e.height+o.vertical-Sn>t.top}function Et(e,t){return e.start<=t.start&&e.end>=t.start&&e.top<t.top+t.height&&e.top+e.height>t.top||t.start<=e.start&&t.end>=e.start&&t.top<e.top+e.height&&t.top+t.height>e.top}function Yt(e){return So.convert(e.data.start,\"Date\").valueOf()}function Rt(e){var t=e.data.end==null?e.data.start:e.data.end;return So.convert(t,\"Date\").valueOf()}function At(e,t){if(!t.parent)return!1;var o=e.options.rtl?e.props.rightContainer.height:e.props.leftContainer.height,n=e.props.center.height,i=t.parent,a=i.top,r=!0,s=e.timeAxis.options.orientation.axis,d=function(){return\"bottom\"==s?i.height-t.top-t.height:t.top},l=-1*e._getScrollTop(),p=a+d(),m=t.height;return p<l?a+o<=a+d()+m&&(a+=d()-e.itemSet.options.margin.item.vertical):p+m>l+o?a+=d()+m-o+e.itemSet.options.margin.item.vertical:r=!1,a=Jt(a,n-o),{shouldScroll:r,scrollOffset:a,itemTop:p}}function Nt(){}function Lt(e,t){return t=\"undefined\"==typeof t?{}:t,{style:t.style||e.options.drawPoints.style,styles:t.styles||e.options.drawPoints.styles,size:t.size||e.options.drawPoints.size,className:t.className||e.className}}function Ht(e,t){var o;return e.options&&e.options.drawPoints&&e.options.drawPoints.onRender&&\"function\"==typeof e.options.drawPoints.onRender&&(o=e.options.drawPoints.onRender),t.group.options&&t.group.options.drawPoints&&t.group.options.drawPoints.onRender&&\"function\"==typeof t.group.options.drawPoints.onRender&&(o=t.group.options.drawPoints.onRender),o}function Gt(){}function Ft(){}function jt(e,t,o,n){this.id=t;this.options=So.selectiveBridgeObject([\"sampling\",\"style\",\"sort\",\"yAxisOrientation\",\"barChart\",\"drawPoints\",\"shaded\",\"interpolation\",\"zIndex\",\"excludeFromStacking\",\"excludeFromLegend\"],o),this.usingDefaultStyle=e.className===void 0,this.groupsUsingDefaultStyles=n,this.zeroPosition=0,this.update(e),!0==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=!(e.visible!==void 0)||e.visible}function Wt(e,t,o,n){this.body=e,this.defaultOptions={enabled:!1,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:\"top-left\"},right:{visible:!0,position:\"top-right\"}},this.side=o,this.options=So.extend({},this.defaultOptions),this.linegraphOptions=n,this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.setOptions(t)}function Ut(e,t){this.id=So.randomUUID(),this.body=e,this.defaultOptions={yAxisOrientation:\"left\",defaultGroup:\"default\",sort:!0,sampling:!0,stack:!1,graphHeight:\"400px\",shaded:{enabled:!1,orientation:\"bottom\"},style:\"line\",barChart:{width:50,sideBySide:!1,align:\"center\"},interpolation:{enabled:!0,parametrization:\"centripetal\",alpha:.5},drawPoints:{enabled:!0,size:6,style:\"square\"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=So.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;var o=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(e,t){o._onAdd(t.items)},update:function(e,t){o._onUpdate(t.items)},remove:function(e,t){o._onRemove(t.items)}},this.groupListeners={add:function(e,t){o._onAddGroups(t.items)},update:function(e,t){o._onUpdateGroups(t.items)},remove:function(e,t){o._onRemoveGroups(t.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(t),this.groupsUsingDefaultStyles=[0],this.body.emitter.on(\"rangechanged\",function(){o.lastStart=o.body.range.start,o.svg.style.left=So.option.asSize(-o.props.width),o.forceGraphUpdate=!0,o.redraw.call(o)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}function zt(t,o,n,i){if(!(Array.isArray(n)||n instanceof rn||n instanceof sn)&&n instanceof Object){var a=i;i=n,n=a}i&&i.throttleRedraw&&console.warn(\"Graph2d option \\\"throttleRedraw\\\" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.\");var r=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:\"bottom\",item:\"bottom\"},moment:e,width:null,height:null,maxHeight:null,minHeight:null},this.options=So.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:r._toScreen.bind(r),toGlobalScreen:r._toGlobalScreen.bind(r),toTime:r._toTime.bind(r),toGlobalTime:r._toGlobalTime.bind(r)}},this.range=new pn(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new bn(this.body),this.components.push(this.timeAxis),this.currentTime=new Dn(this.body),this.components.push(this.currentTime),this.linegraph=new Ut(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on(\"tap\",function(e){r.emit(\"click\",r.getEventProperties(e))}),this.on(\"doubletap\",function(e){r.emit(\"doubleClick\",r.getEventProperties(e))}),this.dom.root.oncontextmenu=function(e){r.emit(\"contextmenu\",r.getEventProperties(e))},this.initialFitDone=!1,this.on(\"changed\",function(){if(null!=r.itemsData){if(!r.initialFitDone&&!r.options.rollingMode)if(r.initialFitDone=!0,null!=r.options.start||null!=r.options.end){if(null==r.options.start||null==r.options.end)var e=r.getItemRange();var t=null==r.options.start?e.min:r.options.start,o=null==r.options.end?e.max:r.options.end;r.setWindow(t,o,{animation:!1})}else r.fit({animation:!1});r.initialDrawDone||!r.initialRangeChangeDone&&(r.options.start||r.options.end)&&!r.options.rollingMode||(r.initialDrawDone=!0,r.dom.root.style.visibility=\"visible\",r.dom.loadingScreen.parentNode.removeChild(r.dom.loadingScreen),r.options.onInitialDrawComplete&&setTimeout(function(){return r.options.onInitialDrawComplete()},0))}}),i&&this.setOptions(i),n&&this.setGroups(n),o&&this.setItems(o),this._redraw()}e=e&&e.hasOwnProperty(\"default\")?e[\"default\"]:e,t=t&&t.hasOwnProperty(\"default\")?t[\"default\"]:t;for(var eo=o,to=n,oo=a,no=r,io=s,ao=\"undefined\"==typeof globalThis?\"undefined\"==typeof window?\"undefined\"==typeof global?\"undefined\"==typeof self?{}:self:global:window:globalThis,ro=l(function(e){function t(e){return t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t(e)}function o(n){return e.exports=\"function\"==typeof Symbol&&\"symbol\"===t(Symbol.iterator)?o=function(e){return t(e)}:o=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":t(e)},o(n)}e.exports=o}),so=l(function(e){(function(t,o){e.exports=o()})(ao,function(){function t(){return Ft.apply(null,arguments)}function o(e){return e instanceof Array||\"[object Array]\"===Object.prototype.toString.call(e)}function n(e){return null!=e&&\"[object Object]\"===Object.prototype.toString.call(e)}function i(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function a(e){return void 0===e}function r(e){return\"number\"==typeof e||\"[object Number]\"===Object.prototype.toString.call(e)}function s(e){return e instanceof Date||\"[object Date]\"===Object.prototype.toString.call(e)}function l(e,t){var o=[],n;for(n=0;n<e.length;++n)o.push(t(e[n],n));return o}function p(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function u(e,t){for(var o in t)p(t,o)&&(e[o]=t[o]);return p(t,\"toString\")&&(e.toString=t.toString),p(t,\"valueOf\")&&(e.valueOf=t.valueOf),e}function g(e,t,o,n){return Qe(e,t,o,n,!0).utc()}function h(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function y(e){return null==e._pf&&(e._pf=h()),e._pf}function f(e){if(null==e._isValid){var t=y(e),o=jt.call(t.parsedDateParts,function(e){return null!=e}),n=!isNaN(e._d.getTime())&&0>t.overflow&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&o);if(e._strict&&(n=n&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null==Object.isFrozen||!Object.isFrozen(e))e._isValid=n;else return n}return e._isValid}function b(e){var t=g(NaN);return null==e?y(t).userInvalidated=!0:u(y(t),e),t}function _(e,t){var o,n,r;if(a(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),a(t._i)||(e._i=t._i),a(t._f)||(e._f=t._f),a(t._l)||(e._l=t._l),a(t._strict)||(e._strict=t._strict),a(t._tzm)||(e._tzm=t._tzm),a(t._isUTC)||(e._isUTC=t._isUTC),a(t._offset)||(e._offset=t._offset),a(t._pf)||(e._pf=y(t)),a(t._locale)||(e._locale=t._locale),0<Wt.length)for(o=0;o<Wt.length;o++)n=Wt[o],r=t[n],a(r)||(e[n]=r);return e}function v(e){_(this,e),this._d=new Date(null==e._d?NaN:e._d.getTime()),this.isValid()||(this._d=new Date(NaN)),!1===Ut&&(Ut=!0,t.updateOffset(this),Ut=!1)}function k(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function w(e){return 0>e?Kt(e)||0:Qt(e)}function x(e){var t=+e,o=0;return 0!=t&&isFinite(t)&&(o=w(t)),o}function D(e,t,o){var n=Jt(e.length,t.length),a=Xt(e.length-t.length),r=0,s;for(s=0;s<n;s++)(o&&e[s]!==t[s]||!o&&x(e[s])!==x(t[s]))&&r++;return r+a}function S(e){!1===t.suppressDeprecationWarnings&&\"undefined\"!=typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+e)}function C(e,o){var n=!0;return u(function(){if(null!=t.deprecationHandler&&t.deprecationHandler(null,e),n){for(var a=[],r=0,s;r<arguments.length;r++){if(s=\"\",\"object\"==typeof arguments[r]){for(var d in s+=\"\\n[\"+r+\"] \",arguments[0])s+=d+\": \"+arguments[0][d]+\", \";s=s.slice(0,-2)}else s=arguments[r];a.push(s)}S(e+\"\\nArguments: \"+Array.prototype.slice.call(a).join(\"\")+\"\\n\"+new Error().stack),n=!1}return o.apply(this,arguments)},o)}function T(e,o){null!=t.deprecationHandler&&t.deprecationHandler(e,o),zt[e]||(S(o),zt[e]=!0)}function O(e){return e instanceof Function||\"[object Function]\"===Object.prototype.toString.call(e)}function M(e){var t,o;for(o in e)t=e[o],O(t)?this[o]=t:this[\"_\"+o]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\"|\"+/\\d{1,2}/.source)}function I(e,t){var o=u({},e),i;for(i in t)p(t,i)&&(n(e[i])&&n(t[i])?(o[i]={},u(o[i],e[i]),u(o[i],t[i])):null==t[i]?delete o[i]:o[i]=t[i]);for(i in e)p(e,i)&&!p(t,i)&&n(e[i])&&(o[i]=u({},o[i]));return o}function P(e){null!=e&&this.set(e)}function E(e,t){var o=e.toLowerCase();eo[o]=eo[o+\"s\"]=eo[t]=e}function Y(e){return\"string\"==typeof e?eo[e]||eo[e.toLowerCase()]:void 0}function R(e){var t={},o,n;for(n in e)p(e,n)&&(o=Y(n),o&&(t[o]=e[n]));return t}function A(e,t){to[e]=t}function N(e){var t=[];for(var o in e)t.push({unit:o,priority:to[o]});return t.sort(function(e,t){return e.priority-t.priority}),t}function L(e,t,o){var n=\"\"+Xt(e),i=t-n.length;return(0<=e?o?\"+\":\"\":\"-\")+Zt(10,$t(0,i)).toString().substr(1)+n}function H(e,t,o,n){var i=n;\"string\"==typeof n&&(i=function(){return this[n]()}),e&&(ao[e]=i),t&&(ao[t[0]]=function(){return L(i.apply(this,arguments),t[1],t[2])}),o&&(ao[o]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function G(e){return e.match(/\\[[\\s\\S]/)?e.replace(/^\\[|\\]$/g,\"\"):e.replace(/\\\\/g,\"\")}function F(e){var t=e.match(oo),o,n;for(o=0,n=t.length;o<n;o++)t[o]=ao[t[o]]?ao[t[o]]:G(t[o]);return function(o){var a=\"\",r;for(r=0;r<n;r++)a+=O(t[r])?t[r].call(o,e):t[r];return a}}function j(e,t){return e.isValid()?(t=W(t,e.localeData()),io[t]=io[t]||F(t),io[t](e)):e.localeData().invalidDate()}function W(e,t){function o(e){return t.longDateFormat(e)||e}var n=5;for(no.lastIndex=0;0<=n&&no.test(e);)e=e.replace(no,o),no.lastIndex=0,n-=1;return e}function U(e,t,o){Do[e]=O(t)?t:function(e){return e&&o?o:t}}function z(e,t){return p(Do,e)?Do[e](t._strict,t._locale):new RegExp(V(e))}function V(e){return B(e.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(e,t,o,n,i){return t||o||n||i}))}function B(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}function q(e,t){var o=t,n;for(\"string\"==typeof e&&(e=[e]),r(t)&&(o=function(e,o){o[t]=x(e)}),n=0;n<e.length;n++)So[e[n]]=o}function Z(e,t){q(e,function(e,o,n,i){n._w=n._w||{},t(e,n._w,n,i)})}function X(e,t,o){null!=t&&p(So,e)&&So[e](t,o._a,o,e)}function K(e){return Q(e)?366:365}function Q(e){return 0==e%4&&0!=e%100||0==e%400}function $(e,o){return function(n){return null==n?J(this,e):(ee(this,e,n),t.updateOffset(this,o),this)}}function J(e,t){return e.isValid()?e._d[\"get\"+(e._isUTC?\"UTC\":\"\")+t]():NaN}function ee(e,t,o){e.isValid()&&!isNaN(o)&&(\"FullYear\"===t&&Q(e.year())&&1===e.month()&&29===e.date()?e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](o,e.month(),ne(o,e.month())):e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](o))}function te(e,t){if(\"object\"==typeof e){e=R(e);for(var o=N(e),n=0;n<o.length;n++)this[o[n].unit](e[o[n].unit])}else if(e=Y(e),O(this[e]))return this[e](t);return this}function oe(e,t){return(e%t+t)%t}function ne(e,t){if(isNaN(e)||isNaN(t))return NaN;var o=oe(t,12);return e+=(t-o)/12,1===o?Q(e)?29:28:31-o%7%2}function ie(e,t,o){var n=e.toLocaleLowerCase(),a,r,s;if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],a=0;12>a;++a)s=g([2e3,a]),this._shortMonthsParse[a]=this.monthsShort(s,\"\").toLocaleLowerCase(),this._longMonthsParse[a]=this.months(s,\"\").toLocaleLowerCase();return o?\"MMM\"===t?(r=Yo.call(this._shortMonthsParse,n),-1===r?null:r):(r=Yo.call(this._longMonthsParse,n),-1===r?null:r):\"MMM\"===t?(r=Yo.call(this._shortMonthsParse,n),-1!==r)?r:(r=Yo.call(this._longMonthsParse,n),-1===r?null:r):(r=Yo.call(this._longMonthsParse,n),-1!==r)?r:(r=Yo.call(this._shortMonthsParse,n),-1===r?null:r)}function ae(e,t,o){var n,a,r;if(this._monthsParseExact)return ie.call(this,e,t,o);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;12>n;n++){if(a=g([2e3,n]),o&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp(\"^\"+this.months(a,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[n]=new RegExp(\"^\"+this.monthsShort(a,\"\").replace(\".\",\"\")+\"$\",\"i\")),o||this._monthsParse[n]||(r=\"^\"+this.months(a,\"\")+\"|^\"+this.monthsShort(a,\"\"),this._monthsParse[n]=new RegExp(r.replace(\".\",\"\"),\"i\")),o&&\"MMMM\"===t&&this._longMonthsParse[n].test(e))return n;if(o&&\"MMM\"===t&&this._shortMonthsParse[n].test(e))return n;if(!o&&this._monthsParse[n].test(e))return n}}function re(e,t){var o;if(!e.isValid())return e;if(\"string\"==typeof t)if(/^\\d+$/.test(t))t=x(t);else if(t=e.localeData().monthsParse(t),!r(t))return e;return o=Jt(e.date(),ne(e.year(),t)),e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+\"Month\"](t,o),e}function se(e){return null==e?J(this,\"Month\"):(re(this,e),t.updateOffset(this,!0),this)}function de(){function e(e,t){return t.length-e.length}var t=[],o=[],n=[],a,r;for(a=0;12>a;a++)r=g([2e3,a]),t.push(this.monthsShort(r,\"\")),o.push(this.months(r,\"\")),n.push(this.months(r,\"\")),n.push(this.monthsShort(r,\"\"));for(t.sort(e),o.sort(e),n.sort(e),a=0;12>a;a++)t[a]=B(t[a]),o[a]=B(o[a]);for(a=0;24>a;a++)n[a]=B(n[a]);this._monthsRegex=new RegExp(\"^(\"+n.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+t.join(\"|\")+\")\",\"i\")}function le(e,t,o,n,i,a,r){var s;return 100>e&&0<=e?(s=new Date(e+400,t,o,n,i,a,r),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,o,n,i,a,r),s}function pe(e){var t;if(100>e&&0<=e){var o=Array.prototype.slice.call(arguments);o[0]=e+400,t=new Date(Date.UTC.apply(null,o)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function me(e,t,o){var n=7+t-o,i=(7+pe(e,0,n).getUTCDay()-t)%7;return-i+n-1}function ue(e,t,o,n,i){var a=me(e,n,i),r=1+7*(t-1)+(7+o-n)%7+a,s,d;return 0>=r?(s=e-1,d=K(s)+r):r>K(e)?(s=e+1,d=r-K(e)):(s=e,d=r),{year:s,dayOfYear:d}}function ce(e,t,o){var n=me(e.year(),t,o),i=Qt((e.dayOfYear()-n-1)/7)+1,a,r;return 1>i?(r=e.year()-1,a=i+ge(r,t,o)):i>ge(e.year(),t,o)?(a=i-ge(e.year(),t,o),r=e.year()+1):(r=e.year(),a=i),{week:a,year:r}}function ge(e,t,o){var n=me(e,t,o),i=me(e+1,t,o);return(K(e)-n+i)/7}function he(e,t){return\"string\"==typeof e?isNaN(e)?(e=t.weekdaysParse(e),\"number\"==typeof e?e:null):parseInt(e,10):e}function ye(e,t){return\"string\"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function fe(e,t){return e.slice(t,7).concat(e.slice(0,t))}function be(e,t,o){var n=e.toLocaleLowerCase(),a,r,s;if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;7>a;++a)s=g([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(s,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(s,\"\").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(s,\"\").toLocaleLowerCase();return o?\"dddd\"===t?(r=Yo.call(this._weekdaysParse,n),-1===r?null:r):\"ddd\"===t?(r=Yo.call(this._shortWeekdaysParse,n),-1===r?null:r):(r=Yo.call(this._minWeekdaysParse,n),-1===r?null:r):\"dddd\"===t?(r=Yo.call(this._weekdaysParse,n),-1!==r)?r:(r=Yo.call(this._shortWeekdaysParse,n),-1!==r)?r:(r=Yo.call(this._minWeekdaysParse,n),-1===r?null:r):\"ddd\"===t?(r=Yo.call(this._shortWeekdaysParse,n),-1!==r)?r:(r=Yo.call(this._weekdaysParse,n),-1!==r)?r:(r=Yo.call(this._minWeekdaysParse,n),-1===r?null:r):(r=Yo.call(this._minWeekdaysParse,n),-1!==r)?r:(r=Yo.call(this._weekdaysParse,n),-1!==r)?r:(r=Yo.call(this._shortWeekdaysParse,n),-1===r?null:r)}function _e(e,t,o){var n,a,r;if(this._weekdaysParseExact)return be.call(this,e,t,o);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;7>n;n++){if(a=g([2e3,1]).day(n),o&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp(\"^\"+this.weekdays(a,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._shortWeekdaysParse[n]=new RegExp(\"^\"+this.weekdaysShort(a,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._minWeekdaysParse[n]=new RegExp(\"^\"+this.weekdaysMin(a,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\")),this._weekdaysParse[n]||(r=\"^\"+this.weekdays(a,\"\")+\"|^\"+this.weekdaysShort(a,\"\")+\"|^\"+this.weekdaysMin(a,\"\"),this._weekdaysParse[n]=new RegExp(r.replace(\".\",\"\"),\"i\")),o&&\"dddd\"===t&&this._fullWeekdaysParse[n].test(e))return n;if(o&&\"ddd\"===t&&this._shortWeekdaysParse[n].test(e))return n;if(o&&\"dd\"===t&&this._minWeekdaysParse[n].test(e))return n;if(!o&&this._weekdaysParse[n].test(e))return n}}function ve(){function e(e,t){return t.length-e.length}var t=[],o=[],n=[],a=[],r,s,d,l,p;for(r=0;7>r;r++)s=g([2e3,1]).day(r),d=this.weekdaysMin(s,\"\"),l=this.weekdaysShort(s,\"\"),p=this.weekdays(s,\"\"),t.push(d),o.push(l),n.push(p),a.push(d),a.push(l),a.push(p);for(t.sort(e),o.sort(e),n.sort(e),a.sort(e),r=0;7>r;r++)o[r]=B(o[r]),n[r]=B(n[r]),a[r]=B(a[r]);this._weekdaysRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+n.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+t.join(\"|\")+\")\",\"i\")}function ke(){return this.hours()%12||12}function we(e,t){H(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function xe(e,t){return t._meridiemParse}function De(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function Se(e){for(var t=0,o,n,a,r;t<e.length;){for(r=De(e[t]).split(\"-\"),o=r.length,n=De(e[t+1]),n=n?n.split(\"-\"):null;0<o;){if(a=Ce(r.slice(0,o).join(\"-\")),a)return a;if(n&&n.length>=o&&D(r,n,!0)>=o-1)break;o--}t++}return Ko}function Ce(t){var o=null;if(!Fo[t]&&!0&&e&&e.exports)try{o=Ko._abbr;d(\"./locale/\"+t),Te(o)}catch(t){}return Fo[t]}function Te(e,t){var o;return e&&(o=a(t)?Me(e):Oe(e,t),o?Ko=o:\"undefined\"!=typeof console&&console.warn&&console.warn(\"Locale \"+e+\" not found. Did you forget to load it?\")),Ko._abbr}function Oe(e,t){if(null!==t){var o=Go,n;if(t.abbr=e,null!=Fo[e])T(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),o=Fo[e]._config;else if(null!=t.parentLocale)if(null!=Fo[t.parentLocale])o=Fo[t.parentLocale]._config;else if(n=Ce(t.parentLocale),null!=n)o=n._config;else return jo[t.parentLocale]||(jo[t.parentLocale]=[]),jo[t.parentLocale].push({name:e,config:t}),null;return Fo[e]=new P(I(o,t)),jo[e]&&jo[e].forEach(function(e){Oe(e.name,e.config)}),Te(e),Fo[e]}return delete Fo[e],null}function Me(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Ko;if(!o(e)){if(t=Ce(e),t)return t;e=[e]}return Se(e)}function Ie(){return Vt(Fo)}function Pe(e){var t=e._a,o;return t&&-2===y(e).overflow&&(o=0>t[1]||11<t[1]?1:1>t[2]||t[2]>ne(t[0],t[1])?2:0>t[3]||24<t[3]||24===t[3]&&(0!==t[4]||0!==t[5]||0!==t[6])?3:0>t[4]||59<t[4]?4:0>t[5]||59<t[5]?5:0>t[6]||999<t[6]?6:-1,y(e)._overflowDayOfYear&&(0>o||2<o)&&(o=2),y(e)._overflowWeeks&&-1===o&&(o=7),y(e)._overflowWeekday&&-1===o&&(o=8),y(e).overflow=o),e}function Ee(e,t,o){return null==e?null==t?o:t:e}function Ye(e){var o=new Date(t.now());return e._useUTC?[o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()]:[o.getFullYear(),o.getMonth(),o.getDate()]}function Re(e){var t=[],o,n,a,r,s;if(!e._d){for(a=Ye(e),e._w&&null==e._a[2]&&null==e._a[1]&&Ae(e),null!=e._dayOfYear&&(s=Ee(e._a[0],a[0]),(e._dayOfYear>K(s)||0===e._dayOfYear)&&(y(e)._overflowDayOfYear=!0),n=pe(s,0,e._dayOfYear),e._a[1]=n.getUTCMonth(),e._a[2]=n.getUTCDate()),o=0;3>o&&null==e._a[o];++o)e._a[o]=t[o]=a[o];for(;7>o;o++)e._a[o]=t[o]=null==e._a[o]?2===o?1:0:e._a[o];24===e._a[3]&&0===e._a[4]&&0===e._a[5]&&0===e._a[6]&&(e._nextDay=!0,e._a[3]=0),e._d=(e._useUTC?pe:le).apply(null,t),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[3]=24),e._w&&\"undefined\"!=typeof e._w.d&&e._w.d!==r&&(y(e).weekdayMismatch=!0)}}function Ae(e){var t,o,n,i,a,r,s,d;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)a=1,r=4,o=Ee(t.GG,e._a[0],ce($e(),1,4).year),n=Ee(t.W,1),i=Ee(t.E,1),(1>i||7<i)&&(d=!0);else{a=e._locale._week.dow,r=e._locale._week.doy;var l=ce($e(),a,r);o=Ee(t.gg,e._a[0],l.year),n=Ee(t.w,l.week),null==t.d?null==t.e?i=a:(i=t.e+a,(0>t.e||6<t.e)&&(d=!0)):(i=t.d,(0>i||6<i)&&(d=!0))}1>n||n>ge(o,a,r)?y(e)._overflowWeeks=!0:null==d?(s=ue(o,n,i,a,r),e._a[0]=s.year,e._dayOfYear=s.dayOfYear):y(e)._overflowWeekday=!0}function Ne(e){var t=e._i,o=Wo.exec(t)||Uo.exec(t),n,a,r,s,d,p;if(o){for(y(e).iso=!0,n=0,a=Vo.length;n<a;n++)if(Vo[n][1].exec(o[1])){s=Vo[n][0],r=!1!==Vo[n][2];break}if(null==s)return void(e._isValid=!1);if(o[3]){for(n=0,a=Bo.length;n<a;n++)if(Bo[n][1].exec(o[3])){d=(o[2]||\" \")+Bo[n][0];break}if(null==d)return void(e._isValid=!1)}if(!r&&null!=d)return void(e._isValid=!1);if(o[4])if(zo.exec(o[4]))p=\"Z\";else return void(e._isValid=!1);e._f=s+(d||\"\")+(p||\"\"),ze(e)}else e._isValid=!1}function Le(e,t,o,n,i,a){var r=[He(e),Ao.indexOf(t),parseInt(o,10),parseInt(n,10),parseInt(i,10)];return a&&r.push(parseInt(a,10)),r}function He(e){var t=parseInt(e,10);return 49>=t?2e3+t:999>=t?1900+t:t}function Ge(e){return e.replace(/\\([^)]*\\)|[\\n\\t]/g,\" \").replace(/(\\s\\s+)/g,\" \").replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\")}function Fe(e,t,o){if(e){var n=No.indexOf(e),i=new Date(t[0],t[1],t[2]).getDay();if(n!==i)return y(o).weekdayMismatch=!0,o._isValid=!1,!1}return!0}function je(e,t,o){if(e)return Xo[e];if(t)return 0;var n=parseInt(o,10),i=n%100;return 60*((n-i)/100)+i}function We(e){var t=Zo.exec(Ge(e._i));if(t){var o=Le(t[4],t[3],t[2],t[5],t[6],t[7]);if(!Fe(t[1],o,e))return;e._a=o,e._tzm=je(t[8],t[9],t[10]),e._d=pe.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),y(e).rfc2822=!0}else e._isValid=!1}function Ue(e){var o=qo.exec(e._i);if(null!==o)return void(e._d=new Date(+o[1]));if(Ne(e),!1===e._isValid)delete e._isValid;else return;if(We(e),!1===e._isValid)delete e._isValid;else return;t.createFromInputFallback(e)}function ze(e){if(e._f===t.ISO_8601)return void Ne(e);if(e._f===t.RFC_2822)return void We(e);e._a=[],y(e).empty=!0;var o=\"\"+e._i,n=o.length,a=0,r,s,d,l,p;for(d=W(e._f,e._locale).match(oo)||[],r=0;r<d.length;r++)l=d[r],s=(o.match(z(l,e))||[])[0],s&&(p=o.substr(0,o.indexOf(s)),0<p.length&&y(e).unusedInput.push(p),o=o.slice(o.indexOf(s)+s.length),a+=s.length),ao[l]?(s?y(e).empty=!1:y(e).unusedTokens.push(l),X(l,s,e)):e._strict&&!s&&y(e).unusedTokens.push(l);y(e).charsLeftOver=n-a,0<o.length&&y(e).unusedInput.push(o),12>=e._a[3]&&!0===y(e).bigHour&&0<e._a[3]&&(y(e).bigHour=void 0),y(e).parsedDateParts=e._a.slice(0),y(e).meridiem=e._meridiem,e._a[3]=Ve(e._locale,e._a[3],e._meridiem),Re(e),Pe(e)}function Ve(e,t,o){var n;return null==o?t:null==e.meridiemHour?null==e.isPM?t:(n=e.isPM(o),n&&12>t&&(t+=12),n||12!==t||(t=0),t):e.meridiemHour(t,o)}function Be(e){var t,o,n,a,r;if(0===e._f.length)return y(e).invalidFormat=!0,void(e._d=new Date(NaN));for(a=0;a<e._f.length;a++)(r=0,t=_({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[a],ze(t),!!f(t))&&(r+=y(t).charsLeftOver,r+=10*y(t).unusedTokens.length,y(t).score=r,(null==n||r<n)&&(n=r,o=t));u(e,o||t)}function qe(e){if(!e._d){var t=R(e._i);e._a=l([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Re(e)}}function Ze(e){var t=new v(Pe(Xe(e)));return t._nextDay&&(t.add(1,\"d\"),t._nextDay=void 0),t}function Xe(e){var t=e._i,n=e._f;return(e._locale=e._locale||Me(e._l),null===t||void 0===n&&\"\"===t)?b({nullInput:!0}):(\"string\"==typeof t&&(e._i=t=e._locale.preparse(t)),k(t))?new v(Pe(t)):(s(t)?e._d=t:o(n)?Be(e):n?ze(e):Ke(e),f(e)||(e._d=null),e)}function Ke(e){var i=e._i;a(i)?e._d=new Date(t.now()):s(i)?e._d=new Date(i.valueOf()):\"string\"==typeof i?Ue(e):o(i)?(e._a=l(i.slice(0),function(e){return parseInt(e,10)}),Re(e)):n(i)?qe(e):r(i)?e._d=new Date(i):t.createFromInputFallback(e)}function Qe(e,t,a,r,s){var d={};return(!0===a||!1===a)&&(r=a,a=void 0),(n(e)&&i(e)||o(e)&&0===e.length)&&(e=void 0),d._isAMomentObject=!0,d._useUTC=d._isUTC=s,d._l=a,d._i=e,d._f=t,d._strict=r,Ze(d)}function $e(e,t,o,n){return Qe(e,t,o,n,!1)}function Je(e,t){var n,a;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return $e();for(n=t[0],a=1;a<t.length;++a)(!t[a].isValid()||t[a][e](n))&&(n=t[a]);return n}function et(e){for(var t in e)if(-1===Yo.call(Jo,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var o=!1,n=0;n<Jo.length;++n)if(e[Jo[n]]){if(o)return!1;parseFloat(e[Jo[n]])!==x(e[Jo[n]])&&(o=!0)}return!0}function tt(e){var t=R(e),o=t.year||0,n=t.quarter||0,i=t.month||0,a=t.week||t.isoWeek||0,r=t.day||0,s=t.hour||0,d=t.minute||0,l=t.second||0,p=t.millisecond||0;this._isValid=et(t),this._milliseconds=+p+1e3*l+6e4*d+60*(60*(1e3*s)),this._days=+r+7*a,this._months=+i+3*n+12*o,this._data={},this._locale=Me(),this._bubble()}function ot(e){return e instanceof tt}function nt(e){return 0>e?-1*qt(-1*e):qt(e)}function it(e,t){H(e,0,0,function(){var e=this.utcOffset(),o=\"+\";return 0>e&&(e=-e,o=\"-\"),o+L(~~(e/60),2)+t+L(~~e%60,2)})}function at(e,t){var o=(t||\"\").match(e);if(null===o)return null;var n=o[o.length-1]||[],i=(n+\"\").match(en)||[\"-\",0,0],a=+(60*i[1])+x(i[2]);return 0===a?0:\"+\"===i[0]?a:-a}function rt(e,o){var n,i;return o._isUTC?(n=o.clone(),i=(k(e)||s(e)?e.valueOf():$e(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+i),t.updateOffset(n,!1),n):$e(e).local()}function st(e){return 15*-qt(e._d.getTimezoneOffset()/15)}function dt(){return!!this.isValid()&&this._isUTC&&0===this._offset}function lt(e,t){var o=e,n=null,i,a,s;return ot(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:r(e)?(o={},t?o[t]=e:o.milliseconds=e):(n=tn.exec(e))?(i=\"-\"===n[1]?-1:1,o={y:0,d:x(n[2])*i,h:x(n[3])*i,m:x(n[4])*i,s:x(n[5])*i,ms:x(nt(1e3*n[6]))*i}):(n=on.exec(e))?(i=\"-\"===n[1]?-1:1,o={y:pt(n[2],i),M:pt(n[3],i),w:pt(n[4],i),d:pt(n[5],i),h:pt(n[6],i),m:pt(n[7],i),s:pt(n[8],i)}):null==o?o={}:\"object\"==typeof o&&((\"from\"in o)||(\"to\"in o))&&(s=ut($e(o.from),$e(o.to)),o={},o.ms=s.milliseconds,o.M=s.months),a=new tt(o),ot(e)&&p(e,\"_locale\")&&(a._locale=e._locale),a}function pt(e,t){var o=e&&parseFloat(e.replace(\",\",\".\"));return(isNaN(o)?0:o)*t}function mt(e,t){var o={};return o.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(o.months,\"M\").isAfter(t)&&--o.months,o.milliseconds=+t-+e.clone().add(o.months,\"M\"),o}function ut(e,t){var o;return e.isValid()&&t.isValid()?(t=rt(t,e),e.isBefore(t)?o=mt(e,t):(o=mt(t,e),o.milliseconds=-o.milliseconds,o.months=-o.months),o):{milliseconds:0,months:0}}function ct(e,t){return function(o,n){var i,a;return null===n||isNaN(+n)||(T(t,\"moment().\"+t+\"(period, number) is deprecated. Please use moment().\"+t+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),a=o,o=n,n=a),o=\"string\"==typeof o?+o:o,i=lt(o,n),gt(this,i,e),this}}function gt(e,o,n,i){var a=o._milliseconds,r=nt(o._days),s=nt(o._months);e.isValid()&&(i=null==i||i,s&&re(e,J(e,\"Month\")+s*n),r&&ee(e,\"Date\",J(e,\"Date\")+r*n),a&&e._d.setTime(e._d.valueOf()+a*n),i&&t.updateOffset(e,r||s))}function ht(e,t){var o=12*(t.year()-e.year())+(t.month()-e.month()),n=e.clone().add(o,\"months\"),i,a;return 0>t-n?(i=e.clone().add(o-1,\"months\"),a=(t-n)/(n-i)):(i=e.clone().add(o+1,\"months\"),a=(t-n)/(i-n)),-(o+a)||0}function yt(e){var t;return void 0===e?this._locale._abbr:(t=Me(e),null!=t&&(this._locale=t),this)}function ft(){return this._locale}function bt(e,t){return(e%t+t)%t}function _t(e,t,o){return 100>e&&0<=e?new Date(e+400,t,o)-12622780800000:new Date(e,t,o).valueOf()}function vt(e,t,o){return 100>e&&0<=e?Date.UTC(e+400,t,o)-12622780800000:Date.UTC(e,t,o)}function kt(e,t){H(0,[e,e.length],0,t)}function wt(e,t,o,n,i){var a;return null==e?ce(this,n,i).year:(a=ge(e,n,i),t>a&&(t=a),xt.call(this,e,t,o,n,i))}function xt(e,t,o,n,i){var a=ue(e,t,o,n,i),r=pe(a.year,0,a.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Dt(e,t){t[6]=x(1e3*(\"0.\"+e))}function St(e){return e}function Ct(e,t,o,n){var i=Me(),a=g().set(n,t);return i[o](a,e)}function Tt(e,t,o){if(r(e)&&(t=e,e=void 0),e=e||\"\",null!=t)return Ct(e,t,o,\"month\");var n=[],a;for(a=0;12>a;a++)n[a]=Ct(e,a,o,\"month\");return n}function Ot(e,t,o,n){\"boolean\"==typeof e?(r(t)&&(o=t,t=void 0),t=t||\"\"):(t=e,o=t,e=!1,r(t)&&(o=t,t=void 0),t=t||\"\");var a=Me(),s=e?a._week.dow:0;if(null!=o)return Ct(t,(o+s)%7,n,\"day\");var d=[],l;for(l=0;7>l;l++)d[l]=Ct(t,(l+s)%7,n,\"day\");return d}function Mt(e,t,o,n){var i=lt(t,o);return e._milliseconds+=n*i._milliseconds,e._days+=n*i._days,e._months+=n*i._months,e._bubble()}function It(e){return 0>e?Qt(e):Kt(e)}function Pt(e){return 4800*e/146097}function Et(e){return 146097*e/4800}function Yt(e){return function(){return this.as(e)}}function Rt(e){return function(){return this.isValid()?this._data[e]:NaN}}function At(e,t,o,n,i){return i.relativeTime(t||1,!!o,e,n)}function Nt(e,t,o){var n=lt(e).abs(),i=Pn(n.as(\"s\")),r=Pn(n.as(\"m\")),s=Pn(n.as(\"h\")),d=Pn(n.as(\"d\")),l=Pn(n.as(\"M\")),p=Pn(n.as(\"y\")),m=i<=En.ss&&[\"s\",i]||i<En.s&&[\"ss\",i]||1>=r&&[\"m\"]||r<En.m&&[\"mm\",r]||1>=s&&[\"h\"]||s<En.h&&[\"hh\",s]||1>=d&&[\"d\"]||d<En.d&&[\"dd\",d]||1>=l&&[\"M\"]||l<En.M&&[\"MM\",l]||1>=p&&[\"y\"]||[\"yy\",p];return m[2]=t,m[3]=0<+e,m[4]=o,At.apply(null,m)}function Lt(e){return void 0===e?Pn:\"function\"==typeof e&&(Pn=e,!0)}function Ht(e){return(0<e)-(0>e)||+e}function Gt(){if(!this.isValid())return this.localeData().invalidDate();var e=Yn(this._milliseconds)/1e3,t=Yn(this._days),o=Yn(this._months),n,i,a;n=w(e/60),i=w(n/60),e%=60,n%=60,a=w(o/12),o%=12;var r=a,d=o,l=t,p=i,u=n,m=e?e.toFixed(3).replace(/\\.?0+$/,\"\"):\"\",s=this.asSeconds();if(!s)return\"P0D\";var c=0>s?\"-\":\"\",g=Ht(this._months)===Ht(s)?\"\":\"-\",h=Ht(this._days)===Ht(s)?\"\":\"-\",y=Ht(this._milliseconds)===Ht(s)?\"\":\"-\";return c+\"P\"+(r?g+r+\"Y\":\"\")+(d?g+d+\"M\":\"\")+(l?h+l+\"D\":\"\")+(p||u||m?\"T\":\"\")+(p?y+p+\"H\":\"\")+(u?y+u+\"M\":\"\")+(m?y+m+\"S\":\"\")}var Ft,jt;jt=Array.prototype.some?Array.prototype.some:function(e){for(var o=Object(this),t=o.length>>>0,n=0;n<t;n++)if((n in o)&&e.call(this,o[n],n,o))return!0;return!1};var Wt=t.momentProperties=[],Ut=!1,zt={};t.suppressDeprecationWarnings=!1,t.deprecationHandler=null;var Vt=Object.keys?Object.keys:function(e){var t=[],o;for(o in e)p(e,o)&&t.push(o);return t};var Bt=/\\d{1,2}/,eo={},to={},oo=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,no=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,io={},ao={},ro=/\\d/,so=/\\d\\d/,lo=/\\d{3}/,po=/\\d{4}/,mo=/[+-]?\\d{6}/,uo=/\\d\\d?/,co=/\\d\\d\\d\\d?/,go=/\\d\\d\\d\\d\\d\\d?/,ho=/\\d{1,3}/,yo=/\\d{1,4}/,fo=/[+-]?\\d{1,6}/,bo=/\\d+/,_o=/[+-]?\\d+/,vo=/Z|[+-]\\d\\d:?\\d\\d/gi,ko=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,wo=/[+-]?\\d+(\\.\\d{1,3})?/,xo=/[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,Do={},So={},Co=0,To=1,Oo=2,Mo=3,Io=4,Po=5;H(\"Y\",0,0,function(){var e=this.year();return 9999>=e?\"\"+e:\"+\"+e}),H(0,[\"YY\",2],0,function(){return this.year()%100}),H(0,[\"YYYY\",4],0,\"year\"),H(0,[\"YYYYY\",5],0,\"year\"),H(0,[\"YYYYYY\",6,!0],0,\"year\"),E(\"year\",\"y\"),A(\"year\",1),U(\"Y\",_o),U(\"YY\",uo,so),U(\"YYYY\",yo,po),U(\"YYYYY\",fo,mo),U(\"YYYYYY\",fo,mo),q([\"YYYYY\",\"YYYYYY\"],Co),q(\"YYYY\",function(e,o){o[Co]=2===e.length?t.parseTwoDigitYear(e):x(e)}),q(\"YY\",function(e,o){o[Co]=t.parseTwoDigitYear(e)}),q(\"Y\",function(e,t){t[Co]=parseInt(e,10)}),t.parseTwoDigitYear=function(e){return x(e)+(68<x(e)?1900:2e3)};var Eo=$(\"FullYear\",!0),Yo;Yo=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},H(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1}),H(\"MMM\",0,0,function(e){return this.localeData().monthsShort(this,e)}),H(\"MMMM\",0,0,function(e){return this.localeData().months(this,e)}),E(\"month\",\"M\"),A(\"month\",8),U(\"M\",uo),U(\"MM\",uo,so),U(\"MMM\",function(e,t){return t.monthsShortRegex(e)}),U(\"MMMM\",function(e,t){return t.monthsRegex(e)}),q([\"M\",\"MM\"],function(e,t){t[To]=x(e)-1}),q([\"MMM\",\"MMMM\"],function(e,t,o,n){var i=o._locale.monthsParse(e,n,o._strict);null==i?y(o).invalidMonth=e:t[To]=i});var Ro=/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,Ao=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];H(\"w\",[\"ww\",2],\"wo\",\"week\"),H(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),E(\"week\",\"w\"),E(\"isoWeek\",\"W\"),A(\"week\",5),A(\"isoWeek\",5),U(\"w\",uo),U(\"ww\",uo,so),U(\"W\",uo),U(\"WW\",uo,so),Z([\"w\",\"ww\",\"W\",\"WW\"],function(e,t,o,n){t[n.substr(0,1)]=x(e)});H(\"d\",0,\"do\",\"day\"),H(\"dd\",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),H(\"ddd\",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),H(\"dddd\",0,0,function(e){return this.localeData().weekdays(this,e)}),H(\"e\",0,0,\"weekday\"),H(\"E\",0,0,\"isoWeekday\"),E(\"day\",\"d\"),E(\"weekday\",\"e\"),E(\"isoWeekday\",\"E\"),A(\"day\",11),A(\"weekday\",11),A(\"isoWeekday\",11),U(\"d\",uo),U(\"e\",uo),U(\"E\",uo),U(\"dd\",function(e,t){return t.weekdaysMinRegex(e)}),U(\"ddd\",function(e,t){return t.weekdaysShortRegex(e)}),U(\"dddd\",function(e,t){return t.weekdaysRegex(e)}),Z([\"dd\",\"ddd\",\"dddd\"],function(e,t,o,n){var i=o._locale.weekdaysParse(e,n,o._strict);null==i?y(o).invalidWeekday=e:t.d=i}),Z([\"d\",\"e\",\"E\"],function(e,t,o,n){t[n]=x(e)});var No=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"];H(\"H\",[\"HH\",2],0,\"hour\"),H(\"h\",[\"hh\",2],0,ke),H(\"k\",[\"kk\",2],0,function(){return this.hours()||24}),H(\"hmm\",0,0,function(){return\"\"+ke.apply(this)+L(this.minutes(),2)}),H(\"hmmss\",0,0,function(){return\"\"+ke.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),H(\"Hmm\",0,0,function(){return\"\"+this.hours()+L(this.minutes(),2)}),H(\"Hmmss\",0,0,function(){return\"\"+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)}),we(\"a\",!0),we(\"A\",!1),E(\"hour\",\"h\"),A(\"hour\",13),U(\"a\",xe),U(\"A\",xe),U(\"H\",uo),U(\"h\",uo),U(\"k\",uo),U(\"HH\",uo,so),U(\"hh\",uo,so),U(\"kk\",uo,so),U(\"hmm\",co),U(\"hmmss\",go),U(\"Hmm\",co),U(\"Hmmss\",go),q([\"H\",\"HH\"],Mo),q([\"k\",\"kk\"],function(e,t){var o=x(e);t[Mo]=24===o?0:o}),q([\"a\",\"A\"],function(e,t,o){o._isPm=o._locale.isPM(e),o._meridiem=e}),q([\"h\",\"hh\"],function(e,t,o){t[Mo]=x(e),y(o).bigHour=!0}),q(\"hmm\",function(e,t,o){var n=e.length-2;t[Mo]=x(e.substr(0,n)),t[Io]=x(e.substr(n)),y(o).bigHour=!0}),q(\"hmmss\",function(e,t,o){var n=e.length-4,i=e.length-2;t[Mo]=x(e.substr(0,n)),t[Io]=x(e.substr(n,2)),t[Po]=x(e.substr(i)),y(o).bigHour=!0}),q(\"Hmm\",function(e,t){var o=e.length-2;t[Mo]=x(e.substr(0,o)),t[Io]=x(e.substr(o))}),q(\"Hmmss\",function(e,t){var o=e.length-4,n=e.length-2;t[Mo]=x(e.substr(0,o)),t[Io]=x(e.substr(o,2)),t[Po]=x(e.substr(n))});var Lo=/[ap]\\.?m?\\.?/i,Ho=$(\"Hours\",!0),Go={calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},longDateFormat:{LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},invalidDate:\"Invalid date\",ordinal:\"%d\",dayOfMonthOrdinalParse:Bt,relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthsShort:Ao,week:{dow:0,doy:6},weekdays:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],weekdaysMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],weekdaysShort:No,meridiemParse:Lo},Fo={},jo={},Wo=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,Uo=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,zo=/Z|[+-]\\d\\d(?::?\\d\\d)?/,Vo=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],Bo=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],qo=/^\\/?Date\\((\\-?\\d+)/i,Zo=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,Xo={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480},Ko;t.createFromInputFallback=C(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",function(e){e._d=new Date(e._i+(e._useUTC?\" UTC\":\"\"))}),t.ISO_8601=function(){},t.RFC_2822=function(){};var Qo=C(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=$e.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:b()}),$o=C(\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=$e.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:b()}),Jo=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];it(\"Z\",\":\"),it(\"ZZ\",\"\"),U(\"Z\",ko),U(\"ZZ\",ko),q([\"Z\",\"ZZ\"],function(e,t,o){o._useUTC=!0,o._tzm=at(ko,e)});var en=/([\\+\\-]|\\d\\d)/gi;t.updateOffset=function(){};var tn=/^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,on=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;lt.fn=tt.prototype,lt.invalid=function(){return lt(NaN)};var nn=ct(1,\"add\"),an=ct(-1,\"subtract\");t.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",t.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var rn=C(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(e){return void 0===e?this.localeData():this.locale(e)});H(0,[\"gg\",2],0,function(){return this.weekYear()%100}),H(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),kt(\"gggg\",\"weekYear\"),kt(\"ggggg\",\"weekYear\"),kt(\"GGGG\",\"isoWeekYear\"),kt(\"GGGGG\",\"isoWeekYear\"),E(\"weekYear\",\"gg\"),E(\"isoWeekYear\",\"GG\"),A(\"weekYear\",1),A(\"isoWeekYear\",1),U(\"G\",_o),U(\"g\",_o),U(\"GG\",uo,so),U(\"gg\",uo,so),U(\"GGGG\",yo,po),U(\"gggg\",yo,po),U(\"GGGGG\",fo,mo),U(\"ggggg\",fo,mo),Z([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(e,t,o,n){t[n.substr(0,2)]=x(e)}),Z([\"gg\",\"GG\"],function(e,o,n,i){o[i]=t.parseTwoDigitYear(e)}),H(\"Q\",0,\"Qo\",\"quarter\"),E(\"quarter\",\"Q\"),A(\"quarter\",7),U(\"Q\",ro),q(\"Q\",function(e,t){t[To]=3*(x(e)-1)}),H(\"D\",[\"DD\",2],\"Do\",\"date\"),E(\"date\",\"D\"),A(\"date\",9),U(\"D\",uo),U(\"DD\",uo,so),U(\"Do\",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),q([\"D\",\"DD\"],Oo),q(\"Do\",function(e,t){t[Oo]=x(e.match(uo)[0])});var sn=$(\"Date\",!0);H(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),E(\"dayOfYear\",\"DDD\"),A(\"dayOfYear\",4),U(\"DDD\",ho),U(\"DDDD\",lo),q([\"DDD\",\"DDDD\"],function(e,t,o){o._dayOfYear=x(e)}),H(\"m\",[\"mm\",2],0,\"minute\"),E(\"minute\",\"m\"),A(\"minute\",14),U(\"m\",uo),U(\"mm\",uo,so),q([\"m\",\"mm\"],Io);var dn=$(\"Minutes\",!1);H(\"s\",[\"ss\",2],0,\"second\"),E(\"second\",\"s\"),A(\"second\",15),U(\"s\",uo),U(\"ss\",uo,so),q([\"s\",\"ss\"],Po);var ln=$(\"Seconds\",!1);H(\"S\",0,0,function(){return~~(this.millisecond()/100)}),H(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),H(0,[\"SSS\",3],0,\"millisecond\"),H(0,[\"SSSS\",4],0,function(){return 10*this.millisecond()}),H(0,[\"SSSSS\",5],0,function(){return 100*this.millisecond()}),H(0,[\"SSSSSS\",6],0,function(){return 1e3*this.millisecond()}),H(0,[\"SSSSSSS\",7],0,function(){return 1e4*this.millisecond()}),H(0,[\"SSSSSSSS\",8],0,function(){return 1e5*this.millisecond()}),H(0,[\"SSSSSSSSS\",9],0,function(){return 1e6*this.millisecond()}),E(\"millisecond\",\"ms\"),A(\"millisecond\",16),U(\"S\",ho,ro),U(\"SS\",ho,so),U(\"SSS\",ho,lo);var pn;for(pn=\"SSSS\";9>=pn.length;pn+=\"S\")U(pn,bo);for(pn=\"S\";9>=pn.length;pn+=\"S\")q(pn,Dt);var mn=$(\"Milliseconds\",!1);H(\"z\",0,0,\"zoneAbbr\"),H(\"zz\",0,0,\"zoneName\");var un=v.prototype;un.add=nn,un.calendar=function(e,o){var n=e||$e(),i=rt(n,this).startOf(\"day\"),a=t.calendarFormat(this,i)||\"sameElse\",r=o&&(O(o[a])?o[a].call(this,n):o[a]);return this.format(r||this.localeData().calendar(a,this,$e(n)))},un.clone=function(){return new v(this)},un.diff=function(e,t,o){var n,i,a;return this.isValid()?(n=rt(e,this),!n.isValid())?NaN:(i=6e4*(n.utcOffset()-this.utcOffset()),t=Y(t),(a=\"year\"===t?ht(this,n)/12:\"month\"===t?ht(this,n):\"quarter\"===t?ht(this,n)/3:\"second\"===t?(this-n)/1e3:\"minute\"===t?(this-n)/6e4:\"hour\"===t?(this-n)/36e5:\"day\"===t?(this-n-i)/864e5:\"week\"===t?(this-n-i)/6048e5:this-n,o?a:w(a))):NaN},un.endOf=function(e){var o;if(e=Y(e),void 0===e||\"millisecond\"===e||!this.isValid())return this;var n=this._isUTC?vt:_t;return\"year\"===e?o=n(this.year()+1,0,1)-1:\"quarter\"===e?o=n(this.year(),this.month()-this.month()%3+3,1)-1:\"month\"===e?o=n(this.year(),this.month()+1,1)-1:\"week\"===e?o=n(this.year(),this.month(),this.date()-this.weekday()+7)-1:\"isoWeek\"===e?o=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1:\"day\"===e||\"date\"===e?o=n(this.year(),this.month(),this.date()+1)-1:\"hour\"===e?(o=this._d.valueOf(),o+=3600000-bt(o+(this._isUTC?0:60000*this.utcOffset()),3600000)-1):\"minute\"===e?(o=this._d.valueOf(),o+=60000-bt(o,60000)-1):\"second\"===e?(o=this._d.valueOf(),o+=1000-bt(o,1000)-1):void 0,this._d.setTime(o),t.updateOffset(this,!0),this},un.format=function(e){e||(e=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var o=j(this,e);return this.localeData().postformat(o)},un.from=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||$e(e).isValid())?lt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},un.fromNow=function(e){return this.from($e(),e)},un.to=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||$e(e).isValid())?lt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},un.toNow=function(e){return this.to($e(),e)},un.get=function(e){return e=Y(e),O(this[e])?this[e]():this},un.invalidAt=function(){return y(this).overflow},un.isAfter=function(e,t){var o=k(e)?e:$e(e);return!!(this.isValid()&&o.isValid())&&(t=Y(t)||\"millisecond\",\"millisecond\"===t?this.valueOf()>o.valueOf():o.valueOf()<this.clone().startOf(t).valueOf())},un.isBefore=function(e,t){var o=k(e)?e:$e(e);return!!(this.isValid()&&o.isValid())&&(t=Y(t)||\"millisecond\",\"millisecond\"===t?this.valueOf()<o.valueOf():this.clone().endOf(t).valueOf()<o.valueOf())},un.isBetween=function(e,t,o,n){var i=k(e)?e:$e(e),a=k(t)?t:$e(t);return!!(this.isValid()&&i.isValid()&&a.isValid())&&(n=n||\"()\",(\"(\"===n[0]?this.isAfter(i,o):!this.isBefore(i,o))&&(\")\"===n[1]?this.isBefore(a,o):!this.isAfter(a,o)))},un.isSame=function(e,t){var o=k(e)?e:$e(e),n;return!!(this.isValid()&&o.isValid())&&(t=Y(t)||\"millisecond\",\"millisecond\"===t?this.valueOf()===o.valueOf():(n=o.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},un.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},un.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},un.isValid=function(){return f(this)},un.lang=rn,un.locale=yt,un.localeData=ft,un.max=$o,un.min=Qo,un.parsingFlags=function(){return u({},y(this))},un.set=te,un.startOf=function(e){var o;if(e=Y(e),void 0===e||\"millisecond\"===e||!this.isValid())return this;var n=this._isUTC?vt:_t;return\"year\"===e?o=n(this.year(),0,1):\"quarter\"===e?o=n(this.year(),this.month()-this.month()%3,1):\"month\"===e?o=n(this.year(),this.month(),1):\"week\"===e?o=n(this.year(),this.month(),this.date()-this.weekday()):\"isoWeek\"===e?o=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)):\"day\"===e||\"date\"===e?o=n(this.year(),this.month(),this.date()):\"hour\"===e?(o=this._d.valueOf(),o-=bt(o+(this._isUTC?0:60000*this.utcOffset()),3600000)):\"minute\"===e?(o=this._d.valueOf(),o-=bt(o,60000)):\"second\"===e?(o=this._d.valueOf(),o-=bt(o,1000)):void 0,this._d.setTime(o),t.updateOffset(this,!0),this},un.subtract=an,un.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},un.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},un.toDate=function(){return new Date(this.valueOf())},un.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,o=t?this.clone().utc():this;return 0>o.year()||9999<o.year()?j(o,t?\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"):O(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+1e3*(60*this.utcOffset())).toISOString().replace(\"Z\",j(o,\"Z\")):j(o,t?\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\")},un.inspect=function(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var e=\"moment\",t=\"\";this.isLocal()||(e=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",t=\"Z\");var o=\"[\"+e+\"(\\\"]\",n=0<=this.year()&&9999>=this.year()?\"YYYY\":\"YYYYYY\",i=t+\"[\\\")]\";return this.format(o+n+\"-MM-DD[T]HH:mm:ss.SSS\"+i)},un.toJSON=function(){return this.isValid()?this.toISOString():null},un.toString=function(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")},un.unix=function(){return Qt(this.valueOf()/1e3)},un.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},un.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},un.year=Eo,un.isLeapYear=function(){return Q(this.year())},un.weekYear=function(e){return wt.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},un.isoWeekYear=function(e){return wt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},un.quarter=un.quarters=function(e){return null==e?Kt((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},un.month=se,un.daysInMonth=function(){return ne(this.year(),this.month())},un.week=un.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),\"d\")},un.isoWeek=un.isoWeeks=function(e){var t=ce(this,1,4).week;return null==e?t:this.add(7*(e-t),\"d\")},un.weeksInYear=function(){var e=this.localeData()._week;return ge(this.year(),e.dow,e.doy)},un.isoWeeksInYear=function(){return ge(this.year(),1,4)},un.date=sn,un.day=un.days=function(e){if(!this.isValid())return null==e?NaN:this;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null==e?t:(e=he(e,this.localeData()),this.add(e-t,\"d\"))},un.weekday=function(e){if(!this.isValid())return null==e?NaN:this;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,\"d\")},un.isoWeekday=function(e){if(!this.isValid())return null==e?NaN:this;if(null!=e){var t=ye(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},un.dayOfYear=function(e){var t=qt((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"d\")},un.hour=un.hours=Ho,un.minute=un.minutes=dn,un.second=un.seconds=ln,un.millisecond=un.milliseconds=mn,un.utcOffset=function(e,o,n){var i=this._offset||0,a;if(!this.isValid())return null==e?NaN:this;if(null!=e){if(\"string\"!=typeof e)16>Xt(e)&&!n&&(e*=60);else if(e=at(ko,e),null===e)return this;return!this._isUTC&&o&&(a=st(this)),this._offset=e,this._isUTC=!0,null!=a&&this.add(a,\"m\"),i!==e&&(!o||this._changeInProgress?gt(this,lt(e-i,\"m\"),1,!1):!this._changeInProgress&&(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:st(this)},un.utc=function(e){return this.utcOffset(0,e)},un.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(st(this),\"m\")),this},un.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if(\"string\"==typeof this._i){var e=at(vo,this._i);null==e?this.utcOffset(0,!0):this.utcOffset(e)}return this},un.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?$e(e).utcOffset():0,0==(this.utcOffset()-e)%60)},un.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},un.isLocal=function(){return!!this.isValid()&&!this._isUTC},un.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},un.isUtc=dt,un.isUTC=dt,un.zoneAbbr=function(){return this._isUTC?\"UTC\":\"\"},un.zoneName=function(){return this._isUTC?\"Coordinated Universal Time\":\"\"},un.dates=C(\"dates accessor is deprecated. Use date instead.\",sn),un.months=C(\"months accessor is deprecated. Use month instead\",se),un.years=C(\"years accessor is deprecated. Use year instead\",Eo),un.zone=C(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",function(e,t){return null==e?-this.utcOffset():(\"string\"!=typeof e&&(e=-e),this.utcOffset(e,t),this)}),un.isDSTShifted=C(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",function(){if(!a(this._isDSTShifted))return this._isDSTShifted;var e={};if(_(e,this),e=Xe(e),e._a){var t=e._isUTC?g(e._a):$e(e._a);this._isDSTShifted=this.isValid()&&0<D(e._a,t.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var cn=P.prototype;cn.calendar=function(e,t,o){var n=this._calendar[e]||this._calendar.sameElse;return O(n)?n.call(t,o):n},cn.longDateFormat=function(e){var t=this._longDateFormat[e],o=this._longDateFormat[e.toUpperCase()];return t||!o?t:(this._longDateFormat[e]=o.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},cn.invalidDate=function(){return this._invalidDate},cn.ordinal=function(e){return this._ordinal.replace(\"%d\",e)},cn.preparse=St,cn.postformat=St,cn.relativeTime=function(e,t,o,n){var i=this._relativeTime[o];return O(i)?i(e,t,o,n):i.replace(/%d/i,e)},cn.pastFuture=function(e,t){var o=this._relativeTime[0<e?\"future\":\"past\"];return O(o)?o(t):o.replace(/%s/i,t)},cn.set=M,cn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Ro).test(t)?\"format\":\"standalone\"][e.month()]:o(this._months)?this._months:this._months.standalone},cn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Ro.test(t)?\"format\":\"standalone\"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},cn.monthsParse=ae,cn.monthsRegex=function(e){return this._monthsParseExact?(p(this,\"_monthsRegex\")||de.call(this),e?this._monthsStrictRegex:this._monthsRegex):(p(this,\"_monthsRegex\")||(this._monthsRegex=xo),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},cn.monthsShortRegex=function(e){return this._monthsParseExact?(p(this,\"_monthsRegex\")||de.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(p(this,\"_monthsShortRegex\")||(this._monthsShortRegex=xo),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},cn.week=function(e){return ce(e,this._week.dow,this._week.doy).week},cn.firstDayOfYear=function(){return this._week.doy},cn.firstDayOfWeek=function(){return this._week.dow},cn.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?\"format\":\"standalone\"];return!0===e?fe(n,this._week.dow):e?n[e.day()]:n},cn.weekdaysMin=function(e){return!0===e?fe(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},cn.weekdaysShort=function(e){return!0===e?fe(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},cn.weekdaysParse=_e,cn.weekdaysRegex=function(e){return this._weekdaysParseExact?(p(this,\"_weekdaysRegex\")||ve.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(p(this,\"_weekdaysRegex\")||(this._weekdaysRegex=xo),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},cn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(p(this,\"_weekdaysRegex\")||ve.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(p(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=xo),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},cn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(p(this,\"_weekdaysRegex\")||ve.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(p(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=xo),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},cn.isPM=function(e){return\"p\"===(e+\"\").toLowerCase().charAt(0)},cn.meridiem=function(e,t,o){return 11<e?o?\"pm\":\"PM\":o?\"am\":\"AM\"},Te(\"en\",{dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,o=1===x(e%100/10)?\"th\":1==t?\"st\":2==t?\"nd\":3==t?\"rd\":\"th\";return e+o}}),t.lang=C(\"moment.lang is deprecated. Use moment.locale instead.\",Te),t.langData=C(\"moment.langData is deprecated. Use moment.localeData instead.\",Me);var gn=Xt,hn=Yt(\"ms\"),yn=Yt(\"s\"),fn=Yt(\"m\"),bn=Yt(\"h\"),_n=Yt(\"d\"),vn=Yt(\"w\"),kn=Yt(\"M\"),wn=Yt(\"Q\"),xn=Yt(\"y\"),Dn=Rt(\"milliseconds\"),Sn=Rt(\"seconds\"),Cn=Rt(\"minutes\"),Tn=Rt(\"hours\"),On=Rt(\"days\"),Mn=Rt(\"months\"),In=Rt(\"years\"),Pn=qt,En={ss:44,s:45,m:45,h:22,d:26,M:11},Yn=Xt,Rn=tt.prototype;return Rn.isValid=function(){return this._isValid},Rn.abs=function(){var e=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),e.milliseconds=gn(e.milliseconds),e.seconds=gn(e.seconds),e.minutes=gn(e.minutes),e.hours=gn(e.hours),e.months=gn(e.months),e.years=gn(e.years),this},Rn.add=function(e,t){return Mt(this,e,t,1)},Rn.subtract=function(e,t){return Mt(this,e,t,-1)},Rn.as=function(e){if(!this.isValid())return NaN;var t=this._milliseconds,o,n;if(e=Y(e),\"month\"===e||\"quarter\"===e||\"year\"===e)switch(o=this._days+t/864e5,n=this._months+Pt(o),e){case\"month\":return n;case\"quarter\":return n/3;case\"year\":return n/12;}else switch(o=this._days+qt(Et(this._months)),e){case\"week\":return o/7+t/6048e5;case\"day\":return o+t/864e5;case\"hour\":return 24*o+t/36e5;case\"minute\":return 1440*o+t/6e4;case\"second\":return 86400*o+t/1e3;case\"millisecond\":return Qt(864e5*o)+t;default:throw new Error(\"Unknown unit \"+e);}},Rn.asMilliseconds=hn,Rn.asSeconds=yn,Rn.asMinutes=fn,Rn.asHours=bn,Rn.asDays=_n,Rn.asWeeks=vn,Rn.asMonths=kn,Rn.asQuarters=wn,Rn.asYears=xn,Rn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+2592e6*(this._months%12)+31536e6*x(this._months/12):NaN},Rn._bubble=function(){var e=this._milliseconds,t=this._days,o=this._months,n=this._data,i,a,r,s,d;return 0<=e&&0<=t&&0<=o||0>=e&&0>=t&&0>=o||(e+=864e5*It(Et(o)+t),t=0,o=0),n.milliseconds=e%1e3,i=w(e/1e3),n.seconds=i%60,a=w(i/60),n.minutes=a%60,r=w(a/60),n.hours=r%24,t+=w(r/24),d=w(Pt(t)),o+=d,t-=It(Et(d)),s=w(o/12),o%=12,n.days=t,n.months=o,n.years=s,this},Rn.clone=function(){return lt(this)},Rn.get=function(e){return e=Y(e),this.isValid()?this[e+\"s\"]():NaN},Rn.milliseconds=Dn,Rn.seconds=Sn,Rn.minutes=Cn,Rn.hours=Tn,Rn.days=On,Rn.weeks=function(){return w(this.days()/7)},Rn.months=Mn,Rn.years=In,Rn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),o=Nt(this,!e,t);return e&&(o=t.pastFuture(+this,o)),t.postformat(o)},Rn.toISOString=Gt,Rn.toString=Gt,Rn.toJSON=Gt,Rn.locale=yt,Rn.localeData=ft,Rn.toIsoString=C(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",Gt),Rn.lang=rn,H(\"X\",0,0,\"unix\"),H(\"x\",0,0,\"valueOf\"),U(\"x\",_o),U(\"X\",wo),q(\"X\",function(e,t,o){o._d=new Date(1e3*parseFloat(e,10))}),q(\"x\",function(e,t,o){o._d=new Date(x(e))}),t.version=\"2.24.0\",function(e){Ft=e}($e),t.fn=un,t.min=function(){var e=[].slice.call(arguments,0);return Je(\"isBefore\",e)},t.max=function(){var e=[].slice.call(arguments,0);return Je(\"isAfter\",e)},t.now=function(){return Date.now?Date.now():+new Date},t.utc=g,t.unix=function(e){return $e(1e3*e)},t.months=function(e,t){return Tt(e,t,\"months\")},t.isDate=s,t.locale=Te,t.invalid=b,t.duration=lt,t.isMoment=k,t.weekdays=function(e,t,o){return Ot(e,t,o,\"weekdays\")},t.parseZone=function(){return $e.apply(null,arguments).parseZone()},t.localeData=Me,t.isDuration=ot,t.monthsShort=function(e,t){return Tt(e,t,\"monthsShort\")},t.weekdaysMin=function(e,t,o){return Ot(e,t,o,\"weekdaysMin\")},t.defineLocale=Oe,t.updateLocale=function(e,t){if(null!=t){var o=Go,n,i;i=Ce(e),null!=i&&(o=i._config),t=I(o,t),n=new P(t),n.parentLocale=Fo[e],Fo[e]=n,Te(e)}else null!=Fo[e]&&(null==Fo[e].parentLocale?null!=Fo[e]&&delete Fo[e]:Fo[e]=Fo[e].parentLocale);return Fo[e]},t.locales=Ie,t.weekdaysShort=function(e,t,o){return Ot(e,t,o,\"weekdaysShort\")},t.normalizeUnits=Y,t.relativeTimeRounding=Lt,t.relativeTimeThreshold=function(e,t){return void 0!==En[e]&&(void 0===t?En[e]:(En[e]=t,\"s\"===e&&(En.ss=t-1),!0))},t.calendarFormat=function(e,t){var o=e.diff(t,\"days\",!0);return-6>o?\"sameElse\":-1>o?\"lastWeek\":0>o?\"lastDay\":1>o?\"sameDay\":2>o?\"nextDay\":7>o?\"nextWeek\":\"sameElse\"},t.prototype=un,t.HTML5_FMT={DATETIME_LOCAL:\"YYYY-MM-DDTHH:mm\",DATETIME_LOCAL_SECONDS:\"YYYY-MM-DDTHH:mm:ss\",DATETIME_LOCAL_MS:\"YYYY-MM-DDTHH:mm:ss.SSS\",DATE:\"YYYY-MM-DD\",TIME:\"HH:mm\",TIME_SECONDS:\"HH:mm:ss\",TIME_MS:\"HH:mm:ss.SSS\",WEEK:\"GGGG-[W]WW\",MONTH:\"YYYY-MM\"},t})}),lo=[],po=0;256>po;po++)lo[po]=(po+256).toString(16).substr(1);for(var mo=function(){if(\"undefined\"!=typeof crypto&&crypto.getRandomValues){var e=new Uint8Array(16);return function(){return crypto.getRandomValues(e),e}}var t=Array(16);return function(){for(var e=0,o;16>e;e++)0==(3&e)&&(o=4294967296*Math.random()),t[e]=255&o>>>((3&e)<<3);return t}}(),uo=[],co=0;256>co;co++)uo[co]=(co+256).toString(16).substr(1);for(var go=mo(),ho=[1|go[0],go[1],go[2],go[3],go[4],go[5]],yo=16383&(go[6]<<8|go[7]),fo=/^\\/?Date\\((-?\\d+)/i,bo=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,_o=/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,vo=Object.assign,ko=Object.values,wo={asBoolean:function(e,t){return\"function\"==typeof e&&(e=e()),null==e?t||null:!1!=e},asNumber:function(e,t){return\"function\"==typeof e&&(e=e()),null==e?t||null:+e||t||null},asString:function(e,t){return\"function\"==typeof e&&(e=e()),null==e?t||null:e+\"\"},asSize:function(e,t){return\"function\"==typeof e&&(e=e()),y(e)?e:g(e)?e+\"px\":t||null},asElement:function(e,t){return\"function\"==typeof e&&(e=e()),e||t||null}},xo={split:function(e){var t={};return e.split(\";\").forEach(function(e){if(\"\"!=e.trim()){var o=e.split(\":\"),n=o[0].trim(),i=o[1].trim();t[n]=i}}),t},join:function(e){return Object.keys(e).map(function(t){return t+\": \"+e[t]}).join(\"; \")}},Do={linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return e*(2-e)},easeInOutQuad:function(e){return .5>e?2*e*e:-1+(4-2*e)*e},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return--e*e*e+1},easeInOutCubic:function(e){return .5>e?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1- --e*e*e*e},easeInOutQuart:function(e){return .5>e?8*e*e*e*e:1-8*--e*e*e*e},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1+--e*e*e*e*e},easeInOutQuint:function(e){return .5>e?16*e*e*e*e*e:1+16*--e*e*e*e*e}},So=Object.freeze({isNumber:g,recursiveDOMDelete:h,isString:y,isObject:f,isDate:b,isMoment:_,fillIfDefined:k,extend:vo,selectiveExtend:w,selectiveDeepExtend:x,selectiveNotDeepExtend:D,deepExtend:S,equalArray:C,convert:T,getType:O,copyAndExtendArray:M,copyArray:I,getAbsoluteLeft:P,getAbsoluteRight:E,getAbsoluteTop:Y,addClassName:R,removeClassName:A,forEach:N,toArray:ko,updateProperty:L,throttle:H,addEventListener:G,removeEventListener:F,preventDefault:j,getTarget:W,hasParent:U,option:wo,hexToRGB:z,overrideOpacity:V,RGBToHex:B,parseColor:q,RGBToHSV:Z,addCssText:X,removeCssText:K,HSVToRGB:Q,HSVToHex:$,hexToHSV:J,isValidHex:ee,isValidRGB:te,isValidRGBA:oe,selectiveBridgeObject:ne,bridgeObject:ie,insertSort:ae,mergeOptions:re,binarySearchCustom:se,binarySearchValue:de,easingFunctions:Do,getScrollBarWidth:le,topMost:pe,randomUUID:m}),Co=Object.freeze({prepareElements:me,cleanupElements:ue,resetElements:ce,getSVGElement:ge,getDOMElement:he,drawPoint:ye,drawBar:fe}),To=be,Oo=_e(function(e){function t(e){return t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t(e)}function o(n){return e.exports=\"function\"==typeof Symbol&&\"symbol\"===t(Symbol.iterator)?o=function(e){return t(e)}:o=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":t(e)},o(n)}e.exports=o}),Mo=ve,Io=we,Po=xe,Eo=De,Yo=_e(function(e){function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t(n)}e.exports=t}),Ro=_e(function(e){function t(n,o){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(n,o)}e.exports=t}),Ao=Se,No=[],Lo=0;256>Lo;Lo++)No[Lo]=(Lo+256).toString(16).substr(1);for(var Ho=function(){if(\"undefined\"!=typeof crypto&&crypto.getRandomValues){var e=new Uint8Array(16);return function(){return crypto.getRandomValues(e),e}}var t=Array(16);return function(){for(var e=0,o;16>e;e++)0==(3&e)&&(o=4294967296*Math.random()),t[e]=255&o>>>((3&e)<<3);return t}}(),Go=[],Fo=0;256>Fo;Fo++)Go[Fo]=(Fo+256).toString(16).substr(1);for(var jo=Ho(),Wo=[1|jo[0],jo[1],jo[2],jo[3],jo[4],jo[5]],Uo=16383&(jo[6]<<8|jo[7]),zo=\"undefined\"==typeof globalThis?\"undefined\"==typeof window?\"undefined\"==typeof global?\"undefined\"==typeof self?{}:self:global:window:globalThis,Vo=Ie(function(e){(function(t,o){e.exports=o()})(zo,function(){function t(){return Gt.apply(null,arguments)}function o(e){return e instanceof Array||\"[object Array]\"===Object.prototype.toString.call(e)}function n(e){return null!=e&&\"[object Object]\"===Object.prototype.toString.call(e)}function i(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function a(e){return void 0===e}function r(e){return\"number\"==typeof e||\"[object Number]\"===Object.prototype.toString.call(e)}function s(e){return e instanceof Date||\"[object Date]\"===Object.prototype.toString.call(e)}function d(e,t){var o=[],n;for(n=0;n<e.length;++n)o.push(t(e[n],n));return o}function l(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function p(e,t){for(var o in t)l(t,o)&&(e[o]=t[o]);return l(t,\"toString\")&&(e.toString=t.toString),l(t,\"valueOf\")&&(e.valueOf=t.valueOf),e}function u(e,t,o,n){return Ke(e,t,o,n,!0).utc()}function c(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function g(e){return null==e._pf&&(e._pf=c()),e._pf}function h(e){if(null==e._isValid){var t=g(e),o=Ft.call(t.parsedDateParts,function(e){return null!=e}),n=!isNaN(e._d.getTime())&&0>t.overflow&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&o);if(e._strict&&(n=n&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null==Object.isFrozen||!Object.isFrozen(e))e._isValid=n;else return n}return e._isValid}function y(e){var t=u(NaN);return null==e?g(t).userInvalidated=!0:p(g(t),e),t}function f(e,t){var o,n,r;if(a(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),a(t._i)||(e._i=t._i),a(t._f)||(e._f=t._f),a(t._l)||(e._l=t._l),a(t._strict)||(e._strict=t._strict),a(t._tzm)||(e._tzm=t._tzm),a(t._isUTC)||(e._isUTC=t._isUTC),a(t._offset)||(e._offset=t._offset),a(t._pf)||(e._pf=g(t)),a(t._locale)||(e._locale=t._locale),0<jt.length)for(o=0;o<jt.length;o++)n=jt[o],r=t[n],a(r)||(e[n]=r);return e}function b(e){f(this,e),this._d=new Date(null==e._d?NaN:e._d.getTime()),this.isValid()||(this._d=new Date(NaN)),!1===Wt&&(Wt=!0,t.updateOffset(this),Wt=!1)}function _(e){return e instanceof b||null!=e&&null!=e._isAMomentObject}function v(e){return 0>e?Kt(e)||0:Qt(e)}function k(e){var t=+e,o=0;return 0!=t&&isFinite(t)&&(o=v(t)),o}function w(e,t,o){var n=Jt(e.length,t.length),a=Xt(e.length-t.length),r=0,s;for(s=0;s<n;s++)(o&&e[s]!==t[s]||!o&&k(e[s])!==k(t[s]))&&r++;return r+a}function x(e){!1===t.suppressDeprecationWarnings&&\"undefined\"!=typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+e)}function D(e,o){var n=!0;return p(function(){if(null!=t.deprecationHandler&&t.deprecationHandler(null,e),n){for(var a=[],r=0,s;r<arguments.length;r++){if(s=\"\",\"object\"==typeof arguments[r]){for(var d in s+=\"\\n[\"+r+\"] \",arguments[0])s+=d+\": \"+arguments[0][d]+\", \";s=s.slice(0,-2)}else s=arguments[r];a.push(s)}x(e+\"\\nArguments: \"+Array.prototype.slice.call(a).join(\"\")+\"\\n\"+new Error().stack),n=!1}return o.apply(this,arguments)},o)}function S(e,o){null!=t.deprecationHandler&&t.deprecationHandler(e,o),Ut[e]||(x(o),Ut[e]=!0)}function C(e){return e instanceof Function||\"[object Function]\"===Object.prototype.toString.call(e)}function T(e){var t,o;for(o in e)t=e[o],C(t)?this[o]=t:this[\"_\"+o]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\"|\"+/\\d{1,2}/.source)}function O(e,t){var o=p({},e),i;for(i in t)l(t,i)&&(n(e[i])&&n(t[i])?(o[i]={},p(o[i],e[i]),p(o[i],t[i])):null==t[i]?delete o[i]:o[i]=t[i]);for(i in e)l(e,i)&&!l(t,i)&&n(e[i])&&(o[i]=p({},o[i]));return o}function M(e){null!=e&&this.set(e)}function I(e,t){var o=e.toLowerCase();Bt[o]=Bt[o+\"s\"]=Bt[t]=e}function P(e){return\"string\"==typeof e?Bt[e]||Bt[e.toLowerCase()]:void 0}function E(e){var t={},o,n;for(n in e)l(e,n)&&(o=P(n),o&&(t[o]=e[n]));return t}function Y(e,t){eo[e]=t}function R(e){var t=[];for(var o in e)t.push({unit:o,priority:eo[o]});return t.sort(function(e,t){return e.priority-t.priority}),t}function A(e,t,o){var n=\"\"+Xt(e),i=t-n.length;return(0<=e?o?\"+\":\"\":\"-\")+Zt(10,$t(0,i)).toString().substr(1)+n}function N(e,t,o,n){var i=n;\"string\"==typeof n&&(i=function(){return this[n]()}),e&&(io[e]=i),t&&(io[t[0]]=function(){return A(i.apply(this,arguments),t[1],t[2])}),o&&(io[o]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function L(e){return e.match(/\\[[\\s\\S]/)?e.replace(/^\\[|\\]$/g,\"\"):e.replace(/\\\\/g,\"\")}function H(e){var t=e.match(to),o,n;for(o=0,n=t.length;o<n;o++)t[o]=io[t[o]]?io[t[o]]:L(t[o]);return function(o){var a=\"\",r;for(r=0;r<n;r++)a+=C(t[r])?t[r].call(o,e):t[r];return a}}function G(e,t){return e.isValid()?(t=F(t,e.localeData()),no[t]=no[t]||H(t),no[t](e)):e.localeData().invalidDate()}function F(e,t){function o(e){return t.longDateFormat(e)||e}var n=5;for(oo.lastIndex=0;0<=n&&oo.test(e);)e=e.replace(oo,o),oo.lastIndex=0,n-=1;return e}function j(e,t,o){xo[e]=C(t)?t:function(e){return e&&o?o:t}}function W(e,t){return l(xo,e)?xo[e](t._strict,t._locale):new RegExp(U(e))}function U(e){return z(e.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(e,t,o,n,i){return t||o||n||i}))}function z(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}function V(e,t){var o=t,n;for(\"string\"==typeof e&&(e=[e]),r(t)&&(o=function(e,o){o[t]=k(e)}),n=0;n<e.length;n++)Do[e[n]]=o}function B(e,t){V(e,function(e,o,n,i){n._w=n._w||{},t(e,n._w,n,i)})}function q(e,t,o){null!=t&&l(Do,e)&&Do[e](t,o._a,o,e)}function Z(e){return X(e)?366:365}function X(e){return 0==e%4&&0!=e%100||0==e%400}function K(e,o){return function(n){return null==n?Q(this,e):($(this,e,n),t.updateOffset(this,o),this)}}function Q(e,t){return e.isValid()?e._d[\"get\"+(e._isUTC?\"UTC\":\"\")+t]():NaN}function $(e,t,o){e.isValid()&&!isNaN(o)&&(\"FullYear\"===t&&X(e.year())&&1===e.month()&&29===e.date()?e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](o,e.month(),te(o,e.month())):e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](o))}function J(e,t){if(\"object\"==typeof e){e=E(e);for(var o=R(e),n=0;n<o.length;n++)this[o[n].unit](e[o[n].unit])}else if(e=P(e),C(this[e]))return this[e](t);return this}function ee(e,t){return(e%t+t)%t}function te(e,t){if(isNaN(e)||isNaN(t))return NaN;var o=ee(t,12);return e+=(t-o)/12,1===o?X(e)?29:28:31-o%7%2}function oe(e,t,o){var n=e.toLocaleLowerCase(),a,r,s;if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],a=0;12>a;++a)s=u([2e3,a]),this._shortMonthsParse[a]=this.monthsShort(s,\"\").toLocaleLowerCase(),this._longMonthsParse[a]=this.months(s,\"\").toLocaleLowerCase();return o?\"MMM\"===t?(r=Eo.call(this._shortMonthsParse,n),-1===r?null:r):(r=Eo.call(this._longMonthsParse,n),-1===r?null:r):\"MMM\"===t?(r=Eo.call(this._shortMonthsParse,n),-1!==r)?r:(r=Eo.call(this._longMonthsParse,n),-1===r?null:r):(r=Eo.call(this._longMonthsParse,n),-1!==r)?r:(r=Eo.call(this._shortMonthsParse,n),-1===r?null:r)}function ne(e,t,o){var n,a,r;if(this._monthsParseExact)return oe.call(this,e,t,o);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;12>n;n++){if(a=u([2e3,n]),o&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp(\"^\"+this.months(a,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[n]=new RegExp(\"^\"+this.monthsShort(a,\"\").replace(\".\",\"\")+\"$\",\"i\")),o||this._monthsParse[n]||(r=\"^\"+this.months(a,\"\")+\"|^\"+this.monthsShort(a,\"\"),this._monthsParse[n]=new RegExp(r.replace(\".\",\"\"),\"i\")),o&&\"MMMM\"===t&&this._longMonthsParse[n].test(e))return n;if(o&&\"MMM\"===t&&this._shortMonthsParse[n].test(e))return n;if(!o&&this._monthsParse[n].test(e))return n}}function ie(e,t){var o;if(!e.isValid())return e;if(\"string\"==typeof t)if(/^\\d+$/.test(t))t=k(t);else if(t=e.localeData().monthsParse(t),!r(t))return e;return o=Jt(e.date(),te(e.year(),t)),e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+\"Month\"](t,o),e}function ae(e){return null==e?Q(this,\"Month\"):(ie(this,e),t.updateOffset(this,!0),this)}function re(){function e(e,t){return t.length-e.length}var t=[],o=[],n=[],a,r;for(a=0;12>a;a++)r=u([2e3,a]),t.push(this.monthsShort(r,\"\")),o.push(this.months(r,\"\")),n.push(this.months(r,\"\")),n.push(this.monthsShort(r,\"\"));for(t.sort(e),o.sort(e),n.sort(e),a=0;12>a;a++)t[a]=z(t[a]),o[a]=z(o[a]);for(a=0;24>a;a++)n[a]=z(n[a]);this._monthsRegex=new RegExp(\"^(\"+n.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+t.join(\"|\")+\")\",\"i\")}function se(e,t,o,n,i,a,r){var s;return 100>e&&0<=e?(s=new Date(e+400,t,o,n,i,a,r),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,o,n,i,a,r),s}function de(e){var t;if(100>e&&0<=e){var o=Array.prototype.slice.call(arguments);o[0]=e+400,t=new Date(Date.UTC.apply(null,o)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function le(e,t,o){var n=7+t-o,i=(7+de(e,0,n).getUTCDay()-t)%7;return-i+n-1}function pe(e,t,o,n,i){var a=le(e,n,i),r=1+7*(t-1)+(7+o-n)%7+a,s,d;return 0>=r?(s=e-1,d=Z(s)+r):r>Z(e)?(s=e+1,d=r-Z(e)):(s=e,d=r),{year:s,dayOfYear:d}}function me(e,t,o){var n=le(e.year(),t,o),i=Qt((e.dayOfYear()-n-1)/7)+1,a,r;return 1>i?(r=e.year()-1,a=i+ue(r,t,o)):i>ue(e.year(),t,o)?(a=i-ue(e.year(),t,o),r=e.year()+1):(r=e.year(),a=i),{week:a,year:r}}function ue(e,t,o){var n=le(e,t,o),i=le(e+1,t,o);return(Z(e)-n+i)/7}function ce(e,t){return\"string\"==typeof e?isNaN(e)?(e=t.weekdaysParse(e),\"number\"==typeof e?e:null):parseInt(e,10):e}function ge(e,t){return\"string\"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function he(e,t){return e.slice(t,7).concat(e.slice(0,t))}function ye(e,t,o){var n=e.toLocaleLowerCase(),a,r,s;if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;7>a;++a)s=u([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(s,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(s,\"\").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(s,\"\").toLocaleLowerCase();return o?\"dddd\"===t?(r=Eo.call(this._weekdaysParse,n),-1===r?null:r):\"ddd\"===t?(r=Eo.call(this._shortWeekdaysParse,n),-1===r?null:r):(r=Eo.call(this._minWeekdaysParse,n),-1===r?null:r):\"dddd\"===t?(r=Eo.call(this._weekdaysParse,n),-1!==r)?r:(r=Eo.call(this._shortWeekdaysParse,n),-1!==r)?r:(r=Eo.call(this._minWeekdaysParse,n),-1===r?null:r):\"ddd\"===t?(r=Eo.call(this._shortWeekdaysParse,n),-1!==r)?r:(r=Eo.call(this._weekdaysParse,n),-1!==r)?r:(r=Eo.call(this._minWeekdaysParse,n),-1===r?null:r):(r=Eo.call(this._minWeekdaysParse,n),-1!==r)?r:(r=Eo.call(this._weekdaysParse,n),-1!==r)?r:(r=Eo.call(this._shortWeekdaysParse,n),-1===r?null:r)}function fe(e,t,o){var n,a,r;if(this._weekdaysParseExact)return ye.call(this,e,t,o);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;7>n;n++){if(a=u([2e3,1]).day(n),o&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp(\"^\"+this.weekdays(a,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._shortWeekdaysParse[n]=new RegExp(\"^\"+this.weekdaysShort(a,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._minWeekdaysParse[n]=new RegExp(\"^\"+this.weekdaysMin(a,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\")),this._weekdaysParse[n]||(r=\"^\"+this.weekdays(a,\"\")+\"|^\"+this.weekdaysShort(a,\"\")+\"|^\"+this.weekdaysMin(a,\"\"),this._weekdaysParse[n]=new RegExp(r.replace(\".\",\"\"),\"i\")),o&&\"dddd\"===t&&this._fullWeekdaysParse[n].test(e))return n;if(o&&\"ddd\"===t&&this._shortWeekdaysParse[n].test(e))return n;if(o&&\"dd\"===t&&this._minWeekdaysParse[n].test(e))return n;if(!o&&this._weekdaysParse[n].test(e))return n}}function be(){function e(e,t){return t.length-e.length}var t=[],o=[],n=[],a=[],r,s,d,l,p;for(r=0;7>r;r++)s=u([2e3,1]).day(r),d=this.weekdaysMin(s,\"\"),l=this.weekdaysShort(s,\"\"),p=this.weekdays(s,\"\"),t.push(d),o.push(l),n.push(p),a.push(d),a.push(l),a.push(p);for(t.sort(e),o.sort(e),n.sort(e),a.sort(e),r=0;7>r;r++)o[r]=z(o[r]),n[r]=z(n[r]),a[r]=z(a[r]);this._weekdaysRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+n.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+t.join(\"|\")+\")\",\"i\")}function _e(){return this.hours()%12||12}function ve(e,t){N(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function ke(e,t){return t._meridiemParse}function we(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function xe(e){for(var t=0,o,n,a,r;t<e.length;){for(r=we(e[t]).split(\"-\"),o=r.length,n=we(e[t+1]),n=n?n.split(\"-\"):null;0<o;){if(a=De(r.slice(0,o).join(\"-\")),a)return a;if(n&&n.length>=o&&w(r,n,!0)>=o-1)break;o--}t++}return Xo}function De(t){var o=null;if(!Go[t]&&!0&&e&&e.exports)try{o=Xo._abbr;Me(\"./locale/\"+t),Se(o)}catch(t){}return Go[t]}function Se(e,t){var o;return e&&(o=a(t)?Te(e):Ce(e,t),o?Xo=o:\"undefined\"!=typeof console&&console.warn&&console.warn(\"Locale \"+e+\" not found. Did you forget to load it?\")),Xo._abbr}function Ce(e,t){if(null!==t){var o=Ho,n;if(t.abbr=e,null!=Go[e])S(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),o=Go[e]._config;else if(null!=t.parentLocale)if(null!=Go[t.parentLocale])o=Go[t.parentLocale]._config;else if(n=De(t.parentLocale),null!=n)o=n._config;else return Fo[t.parentLocale]||(Fo[t.parentLocale]=[]),Fo[t.parentLocale].push({name:e,config:t}),null;return Go[e]=new M(O(o,t)),Fo[e]&&Fo[e].forEach(function(e){Ce(e.name,e.config)}),Se(e),Go[e]}return delete Go[e],null}function Te(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Xo;if(!o(e)){if(t=De(e),t)return t;e=[e]}return xe(e)}function Oe(){return zt(Go)}function Ie(e){var t=e._a,o;return t&&-2===g(e).overflow&&(o=0>t[1]||11<t[1]?1:1>t[2]||t[2]>te(t[0],t[1])?2:0>t[3]||24<t[3]||24===t[3]&&(0!==t[4]||0!==t[5]||0!==t[6])?3:0>t[4]||59<t[4]?4:0>t[5]||59<t[5]?5:0>t[6]||999<t[6]?6:-1,g(e)._overflowDayOfYear&&(0>o||2<o)&&(o=2),g(e)._overflowWeeks&&-1===o&&(o=7),g(e)._overflowWeekday&&-1===o&&(o=8),g(e).overflow=o),e}function Pe(e,t,o){return null==e?null==t?o:t:e}function Ee(e){var o=new Date(t.now());return e._useUTC?[o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()]:[o.getFullYear(),o.getMonth(),o.getDate()]}function Ye(e){var t=[],o,n,a,r,s;if(!e._d){for(a=Ee(e),e._w&&null==e._a[2]&&null==e._a[1]&&Re(e),null!=e._dayOfYear&&(s=Pe(e._a[0],a[0]),(e._dayOfYear>Z(s)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=de(s,0,e._dayOfYear),e._a[1]=n.getUTCMonth(),e._a[2]=n.getUTCDate()),o=0;3>o&&null==e._a[o];++o)e._a[o]=t[o]=a[o];for(;7>o;o++)e._a[o]=t[o]=null==e._a[o]?2===o?1:0:e._a[o];24===e._a[3]&&0===e._a[4]&&0===e._a[5]&&0===e._a[6]&&(e._nextDay=!0,e._a[3]=0),e._d=(e._useUTC?de:se).apply(null,t),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[3]=24),e._w&&\"undefined\"!=typeof e._w.d&&e._w.d!==r&&(g(e).weekdayMismatch=!0)}}function Re(e){var t,o,n,i,a,r,s,d;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)a=1,r=4,o=Pe(t.GG,e._a[0],me(Qe(),1,4).year),n=Pe(t.W,1),i=Pe(t.E,1),(1>i||7<i)&&(d=!0);else{a=e._locale._week.dow,r=e._locale._week.doy;var l=me(Qe(),a,r);o=Pe(t.gg,e._a[0],l.year),n=Pe(t.w,l.week),null==t.d?null==t.e?i=a:(i=t.e+a,(0>t.e||6<t.e)&&(d=!0)):(i=t.d,(0>i||6<i)&&(d=!0))}1>n||n>ue(o,a,r)?g(e)._overflowWeeks=!0:null==d?(s=pe(o,n,i,a,r),e._a[0]=s.year,e._dayOfYear=s.dayOfYear):g(e)._overflowWeekday=!0}function Ae(e){var t=e._i,o=jo.exec(t)||Wo.exec(t),n,a,r,s,d,p;if(o){for(g(e).iso=!0,n=0,a=zo.length;n<a;n++)if(zo[n][1].exec(o[1])){s=zo[n][0],r=!1!==zo[n][2];break}if(null==s)return void(e._isValid=!1);if(o[3]){for(n=0,a=Vo.length;n<a;n++)if(Vo[n][1].exec(o[3])){d=(o[2]||\" \")+Vo[n][0];break}if(null==d)return void(e._isValid=!1)}if(!r&&null!=d)return void(e._isValid=!1);if(o[4])if(Uo.exec(o[4]))p=\"Z\";else return void(e._isValid=!1);e._f=s+(d||\"\")+(p||\"\"),Ue(e)}else e._isValid=!1}function Ne(e,t,o,n,i,a){var r=[Le(e),Ro.indexOf(t),parseInt(o,10),parseInt(n,10),parseInt(i,10)];return a&&r.push(parseInt(a,10)),r}function Le(e){var t=parseInt(e,10);return 49>=t?2e3+t:999>=t?1900+t:t}function He(e){return e.replace(/\\([^)]*\\)|[\\n\\t]/g,\" \").replace(/(\\s\\s+)/g,\" \").replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\")}function Ge(e,t,o){if(e){var n=Ao.indexOf(e),i=new Date(t[0],t[1],t[2]).getDay();if(n!==i)return g(o).weekdayMismatch=!0,o._isValid=!1,!1}return!0}function Fe(e,t,o){if(e)return Zo[e];if(t)return 0;var n=parseInt(o,10),i=n%100;return 60*((n-i)/100)+i}function je(e){var t=qo.exec(He(e._i));if(t){var o=Ne(t[4],t[3],t[2],t[5],t[6],t[7]);if(!Ge(t[1],o,e))return;e._a=o,e._tzm=Fe(t[8],t[9],t[10]),e._d=de.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),g(e).rfc2822=!0}else e._isValid=!1}function We(e){var o=Bo.exec(e._i);if(null!==o)return void(e._d=new Date(+o[1]));if(Ae(e),!1===e._isValid)delete e._isValid;else return;if(je(e),!1===e._isValid)delete e._isValid;else return;t.createFromInputFallback(e)}function Ue(e){if(e._f===t.ISO_8601)return void Ae(e);if(e._f===t.RFC_2822)return void je(e);e._a=[],g(e).empty=!0;var o=\"\"+e._i,n=o.length,a=0,r,s,d,l,p;for(d=F(e._f,e._locale).match(to)||[],r=0;r<d.length;r++)l=d[r],s=(o.match(W(l,e))||[])[0],s&&(p=o.substr(0,o.indexOf(s)),0<p.length&&g(e).unusedInput.push(p),o=o.slice(o.indexOf(s)+s.length),a+=s.length),io[l]?(s?g(e).empty=!1:g(e).unusedTokens.push(l),q(l,s,e)):e._strict&&!s&&g(e).unusedTokens.push(l);g(e).charsLeftOver=n-a,0<o.length&&g(e).unusedInput.push(o),12>=e._a[3]&&!0===g(e).bigHour&&0<e._a[3]&&(g(e).bigHour=void 0),g(e).parsedDateParts=e._a.slice(0),g(e).meridiem=e._meridiem,e._a[3]=ze(e._locale,e._a[3],e._meridiem),Ye(e),Ie(e)}function ze(e,t,o){var n;return null==o?t:null==e.meridiemHour?null==e.isPM?t:(n=e.isPM(o),n&&12>t&&(t+=12),n||12!==t||(t=0),t):e.meridiemHour(t,o)}function Ve(e){var t,o,n,a,r;if(0===e._f.length)return g(e).invalidFormat=!0,void(e._d=new Date(NaN));for(a=0;a<e._f.length;a++)(r=0,t=f({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[a],Ue(t),!!h(t))&&(r+=g(t).charsLeftOver,r+=10*g(t).unusedTokens.length,g(t).score=r,(null==n||r<n)&&(n=r,o=t));p(e,o||t)}function Be(e){if(!e._d){var t=E(e._i);e._a=d([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Ye(e)}}function qe(e){var t=new b(Ie(Ze(e)));return t._nextDay&&(t.add(1,\"d\"),t._nextDay=void 0),t}function Ze(e){var t=e._i,n=e._f;return(e._locale=e._locale||Te(e._l),null===t||void 0===n&&\"\"===t)?y({nullInput:!0}):(\"string\"==typeof t&&(e._i=t=e._locale.preparse(t)),_(t))?new b(Ie(t)):(s(t)?e._d=t:o(n)?Ve(e):n?Ue(e):Xe(e),h(e)||(e._d=null),e)}function Xe(e){var i=e._i;a(i)?e._d=new Date(t.now()):s(i)?e._d=new Date(i.valueOf()):\"string\"==typeof i?We(e):o(i)?(e._a=d(i.slice(0),function(e){return parseInt(e,10)}),Ye(e)):n(i)?Be(e):r(i)?e._d=new Date(i):t.createFromInputFallback(e)}function Ke(e,t,a,r,s){var d={};return(!0===a||!1===a)&&(r=a,a=void 0),(n(e)&&i(e)||o(e)&&0===e.length)&&(e=void 0),d._isAMomentObject=!0,d._useUTC=d._isUTC=s,d._l=a,d._i=e,d._f=t,d._strict=r,qe(d)}function Qe(e,t,o,n){return Ke(e,t,o,n,!1)}function $e(e,t){var n,a;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Qe();for(n=t[0],a=1;a<t.length;++a)(!t[a].isValid()||t[a][e](n))&&(n=t[a]);return n}function Je(e){for(var t in e)if(-1===Eo.call($o,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var o=!1,n=0;n<$o.length;++n)if(e[$o[n]]){if(o)return!1;parseFloat(e[$o[n]])!==k(e[$o[n]])&&(o=!0)}return!0}function et(e){var t=E(e),o=t.year||0,n=t.quarter||0,i=t.month||0,a=t.week||t.isoWeek||0,r=t.day||0,s=t.hour||0,d=t.minute||0,l=t.second||0,p=t.millisecond||0;this._isValid=Je(t),this._milliseconds=+p+1e3*l+6e4*d+60*(60*(1e3*s)),this._days=+r+7*a,this._months=+i+3*n+12*o,this._data={},this._locale=Te(),this._bubble()}function tt(e){return e instanceof et}function ot(e){return 0>e?-1*qt(-1*e):qt(e)}function nt(e,t){N(e,0,0,function(){var e=this.utcOffset(),o=\"+\";return 0>e&&(e=-e,o=\"-\"),o+A(~~(e/60),2)+t+A(~~e%60,2)})}function it(e,t){var o=(t||\"\").match(e);if(null===o)return null;var n=o[o.length-1]||[],i=(n+\"\").match(Jo)||[\"-\",0,0],a=+(60*i[1])+k(i[2]);return 0===a?0:\"+\"===i[0]?a:-a}function at(e,o){var n,i;return o._isUTC?(n=o.clone(),i=(_(e)||s(e)?e.valueOf():Qe(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+i),t.updateOffset(n,!1),n):Qe(e).local()}function rt(e){return 15*-qt(e._d.getTimezoneOffset()/15)}function st(){return!!this.isValid()&&this._isUTC&&0===this._offset}function dt(e,t){var o=e,n=null,i,a,s;return tt(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:r(e)?(o={},t?o[t]=e:o.milliseconds=e):(n=en.exec(e))?(i=\"-\"===n[1]?-1:1,o={y:0,d:k(n[2])*i,h:k(n[3])*i,m:k(n[4])*i,s:k(n[5])*i,ms:k(ot(1e3*n[6]))*i}):(n=tn.exec(e))?(i=\"-\"===n[1]?-1:1,o={y:lt(n[2],i),M:lt(n[3],i),w:lt(n[4],i),d:lt(n[5],i),h:lt(n[6],i),m:lt(n[7],i),s:lt(n[8],i)}):null==o?o={}:\"object\"==typeof o&&((\"from\"in o)||(\"to\"in o))&&(s=mt(Qe(o.from),Qe(o.to)),o={},o.ms=s.milliseconds,o.M=s.months),a=new et(o),tt(e)&&l(e,\"_locale\")&&(a._locale=e._locale),a}function lt(e,t){var o=e&&parseFloat(e.replace(\",\",\".\"));return(isNaN(o)?0:o)*t}function pt(e,t){var o={};return o.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(o.months,\"M\").isAfter(t)&&--o.months,o.milliseconds=+t-+e.clone().add(o.months,\"M\"),o}function mt(e,t){var o;return e.isValid()&&t.isValid()?(t=at(t,e),e.isBefore(t)?o=pt(e,t):(o=pt(t,e),o.milliseconds=-o.milliseconds,o.months=-o.months),o):{milliseconds:0,months:0}}function ut(e,t){return function(o,n){var i,a;return null===n||isNaN(+n)||(S(t,\"moment().\"+t+\"(period, number) is deprecated. Please use moment().\"+t+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),a=o,o=n,n=a),o=\"string\"==typeof o?+o:o,i=dt(o,n),ct(this,i,e),this}}function ct(e,o,n,i){var a=o._milliseconds,r=ot(o._days),s=ot(o._months);e.isValid()&&(i=null==i||i,s&&ie(e,Q(e,\"Month\")+s*n),r&&$(e,\"Date\",Q(e,\"Date\")+r*n),a&&e._d.setTime(e._d.valueOf()+a*n),i&&t.updateOffset(e,r||s))}function gt(e,t){var o=12*(t.year()-e.year())+(t.month()-e.month()),n=e.clone().add(o,\"months\"),i,a;return 0>t-n?(i=e.clone().add(o-1,\"months\"),a=(t-n)/(n-i)):(i=e.clone().add(o+1,\"months\"),a=(t-n)/(i-n)),-(o+a)||0}function ht(e){var t;return void 0===e?this._locale._abbr:(t=Te(e),null!=t&&(this._locale=t),this)}function yt(){return this._locale}function ft(e,t){return(e%t+t)%t}function bt(e,t,o){return 100>e&&0<=e?new Date(e+400,t,o)-12622780800000:new Date(e,t,o).valueOf()}function _t(e,t,o){return 100>e&&0<=e?Date.UTC(e+400,t,o)-12622780800000:Date.UTC(e,t,o)}function vt(e,t){N(0,[e,e.length],0,t)}function kt(e,t,o,n,i){var a;return null==e?me(this,n,i).year:(a=ue(e,n,i),t>a&&(t=a),wt.call(this,e,t,o,n,i))}function wt(e,t,o,n,i){var a=pe(e,t,o,n,i),r=de(a.year,0,a.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function xt(e,t){t[6]=k(1e3*(\"0.\"+e))}function Dt(e){return e}function St(e,t,o,n){var i=Te(),a=u().set(n,t);return i[o](a,e)}function Ct(e,t,o){if(r(e)&&(t=e,e=void 0),e=e||\"\",null!=t)return St(e,t,o,\"month\");var n=[],a;for(a=0;12>a;a++)n[a]=St(e,a,o,\"month\");return n}function Tt(e,t,o,n){\"boolean\"==typeof e?(r(t)&&(o=t,t=void 0),t=t||\"\"):(t=e,o=t,e=!1,r(t)&&(o=t,t=void 0),t=t||\"\");var a=Te(),s=e?a._week.dow:0;if(null!=o)return St(t,(o+s)%7,n,\"day\");var d=[],l;for(l=0;7>l;l++)d[l]=St(t,(l+s)%7,n,\"day\");return d}function Ot(e,t,o,n){var i=dt(t,o);return e._milliseconds+=n*i._milliseconds,e._days+=n*i._days,e._months+=n*i._months,e._bubble()}function Mt(e){return 0>e?Qt(e):Kt(e)}function It(e){return 4800*e/146097}function Pt(e){return 146097*e/4800}function Et(e){return function(){return this.as(e)}}function Yt(e){return function(){return this.isValid()?this._data[e]:NaN}}function Rt(e,t,o,n,i){return i.relativeTime(t||1,!!o,e,n)}function At(e,t,o){var n=dt(e).abs(),i=In(n.as(\"s\")),r=In(n.as(\"m\")),s=In(n.as(\"h\")),d=In(n.as(\"d\")),l=In(n.as(\"M\")),p=In(n.as(\"y\")),m=i<=Pn.ss&&[\"s\",i]||i<Pn.s&&[\"ss\",i]||1>=r&&[\"m\"]||r<Pn.m&&[\"mm\",r]||1>=s&&[\"h\"]||s<Pn.h&&[\"hh\",s]||1>=d&&[\"d\"]||d<Pn.d&&[\"dd\",d]||1>=l&&[\"M\"]||l<Pn.M&&[\"MM\",l]||1>=p&&[\"y\"]||[\"yy\",p];return m[2]=t,m[3]=0<+e,m[4]=o,Rt.apply(null,m)}function Nt(e){return void 0===e?In:\"function\"==typeof e&&(In=e,!0)}function Lt(e){return(0<e)-(0>e)||+e}function Ht(){if(!this.isValid())return this.localeData().invalidDate();var e=En(this._milliseconds)/1e3,t=En(this._days),o=En(this._months),n,i,a;n=v(e/60),i=v(n/60),e%=60,n%=60,a=v(o/12),o%=12;var r=a,d=o,l=t,p=i,u=n,m=e?e.toFixed(3).replace(/\\.?0+$/,\"\"):\"\",s=this.asSeconds();if(!s)return\"P0D\";var c=0>s?\"-\":\"\",g=Lt(this._months)===Lt(s)?\"\":\"-\",h=Lt(this._days)===Lt(s)?\"\":\"-\",y=Lt(this._milliseconds)===Lt(s)?\"\":\"-\";return c+\"P\"+(r?g+r+\"Y\":\"\")+(d?g+d+\"M\":\"\")+(l?h+l+\"D\":\"\")+(p||u||m?\"T\":\"\")+(p?y+p+\"H\":\"\")+(u?y+u+\"M\":\"\")+(m?y+m+\"S\":\"\")}var Gt,Ft;Ft=Array.prototype.some?Array.prototype.some:function(e){for(var o=Object(this),t=o.length>>>0,n=0;n<t;n++)if((n in o)&&e.call(this,o[n],n,o))return!0;return!1};var jt=t.momentProperties=[],Wt=!1,Ut={};t.suppressDeprecationWarnings=!1,t.deprecationHandler=null;var zt=Object.keys?Object.keys:function(e){var t=[],o;for(o in e)l(e,o)&&t.push(o);return t};var Vt=/\\d{1,2}/,Bt={},eo={},to=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,oo=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,no={},io={},ao=/\\d/,ro=/\\d\\d/,so=/\\d{3}/,lo=/\\d{4}/,po=/[+-]?\\d{6}/,mo=/\\d\\d?/,uo=/\\d\\d\\d\\d?/,co=/\\d\\d\\d\\d\\d\\d?/,go=/\\d{1,3}/,ho=/\\d{1,4}/,yo=/[+-]?\\d{1,6}/,fo=/\\d+/,bo=/[+-]?\\d+/,_o=/Z|[+-]\\d\\d:?\\d\\d/gi,vo=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,ko=/[+-]?\\d+(\\.\\d{1,3})?/,wo=/[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,xo={},Do={},So=0,Co=1,To=2,Oo=3,Mo=4,Io=5;N(\"Y\",0,0,function(){var e=this.year();return 9999>=e?\"\"+e:\"+\"+e}),N(0,[\"YY\",2],0,function(){return this.year()%100}),N(0,[\"YYYY\",4],0,\"year\"),N(0,[\"YYYYY\",5],0,\"year\"),N(0,[\"YYYYYY\",6,!0],0,\"year\"),I(\"year\",\"y\"),Y(\"year\",1),j(\"Y\",bo),j(\"YY\",mo,ro),j(\"YYYY\",ho,lo),j(\"YYYYY\",yo,po),j(\"YYYYYY\",yo,po),V([\"YYYYY\",\"YYYYYY\"],So),V(\"YYYY\",function(e,o){o[So]=2===e.length?t.parseTwoDigitYear(e):k(e)}),V(\"YY\",function(e,o){o[So]=t.parseTwoDigitYear(e)}),V(\"Y\",function(e,t){t[So]=parseInt(e,10)}),t.parseTwoDigitYear=function(e){return k(e)+(68<k(e)?1900:2e3)};var Po=K(\"FullYear\",!0),Eo;Eo=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},N(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1}),N(\"MMM\",0,0,function(e){return this.localeData().monthsShort(this,e)}),N(\"MMMM\",0,0,function(e){return this.localeData().months(this,e)}),I(\"month\",\"M\"),Y(\"month\",8),j(\"M\",mo),j(\"MM\",mo,ro),j(\"MMM\",function(e,t){return t.monthsShortRegex(e)}),j(\"MMMM\",function(e,t){return t.monthsRegex(e)}),V([\"M\",\"MM\"],function(e,t){t[Co]=k(e)-1}),V([\"MMM\",\"MMMM\"],function(e,t,o,n){var i=o._locale.monthsParse(e,n,o._strict);null==i?g(o).invalidMonth=e:t[Co]=i});var Yo=/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,Ro=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];N(\"w\",[\"ww\",2],\"wo\",\"week\"),N(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),I(\"week\",\"w\"),I(\"isoWeek\",\"W\"),Y(\"week\",5),Y(\"isoWeek\",5),j(\"w\",mo),j(\"ww\",mo,ro),j(\"W\",mo),j(\"WW\",mo,ro),B([\"w\",\"ww\",\"W\",\"WW\"],function(e,t,o,n){t[n.substr(0,1)]=k(e)});N(\"d\",0,\"do\",\"day\"),N(\"dd\",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),N(\"ddd\",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),N(\"dddd\",0,0,function(e){return this.localeData().weekdays(this,e)}),N(\"e\",0,0,\"weekday\"),N(\"E\",0,0,\"isoWeekday\"),I(\"day\",\"d\"),I(\"weekday\",\"e\"),I(\"isoWeekday\",\"E\"),Y(\"day\",11),Y(\"weekday\",11),Y(\"isoWeekday\",11),j(\"d\",mo),j(\"e\",mo),j(\"E\",mo),j(\"dd\",function(e,t){return t.weekdaysMinRegex(e)}),j(\"ddd\",function(e,t){return t.weekdaysShortRegex(e)}),j(\"dddd\",function(e,t){return t.weekdaysRegex(e)}),B([\"dd\",\"ddd\",\"dddd\"],function(e,t,o,n){var i=o._locale.weekdaysParse(e,n,o._strict);null==i?g(o).invalidWeekday=e:t.d=i}),B([\"d\",\"e\",\"E\"],function(e,t,o,n){t[n]=k(e)});var Ao=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"];N(\"H\",[\"HH\",2],0,\"hour\"),N(\"h\",[\"hh\",2],0,_e),N(\"k\",[\"kk\",2],0,function(){return this.hours()||24}),N(\"hmm\",0,0,function(){return\"\"+_e.apply(this)+A(this.minutes(),2)}),N(\"hmmss\",0,0,function(){return\"\"+_e.apply(this)+A(this.minutes(),2)+A(this.seconds(),2)}),N(\"Hmm\",0,0,function(){return\"\"+this.hours()+A(this.minutes(),2)}),N(\"Hmmss\",0,0,function(){return\"\"+this.hours()+A(this.minutes(),2)+A(this.seconds(),2)}),ve(\"a\",!0),ve(\"A\",!1),I(\"hour\",\"h\"),Y(\"hour\",13),j(\"a\",ke),j(\"A\",ke),j(\"H\",mo),j(\"h\",mo),j(\"k\",mo),j(\"HH\",mo,ro),j(\"hh\",mo,ro),j(\"kk\",mo,ro),j(\"hmm\",uo),j(\"hmmss\",co),j(\"Hmm\",uo),j(\"Hmmss\",co),V([\"H\",\"HH\"],Oo),V([\"k\",\"kk\"],function(e,t){var o=k(e);t[Oo]=24===o?0:o}),V([\"a\",\"A\"],function(e,t,o){o._isPm=o._locale.isPM(e),o._meridiem=e}),V([\"h\",\"hh\"],function(e,t,o){t[Oo]=k(e),g(o).bigHour=!0}),V(\"hmm\",function(e,t,o){var n=e.length-2;t[Oo]=k(e.substr(0,n)),t[Mo]=k(e.substr(n)),g(o).bigHour=!0}),V(\"hmmss\",function(e,t,o){var n=e.length-4,i=e.length-2;t[Oo]=k(e.substr(0,n)),t[Mo]=k(e.substr(n,2)),t[Io]=k(e.substr(i)),g(o).bigHour=!0}),V(\"Hmm\",function(e,t){var o=e.length-2;t[Oo]=k(e.substr(0,o)),t[Mo]=k(e.substr(o))}),V(\"Hmmss\",function(e,t){var o=e.length-4,n=e.length-2;t[Oo]=k(e.substr(0,o)),t[Mo]=k(e.substr(o,2)),t[Io]=k(e.substr(n))});var No=/[ap]\\.?m?\\.?/i,Lo=K(\"Hours\",!0),Ho={calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},longDateFormat:{LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},invalidDate:\"Invalid date\",ordinal:\"%d\",dayOfMonthOrdinalParse:Vt,relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthsShort:Ro,week:{dow:0,doy:6},weekdays:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],weekdaysMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],weekdaysShort:Ao,meridiemParse:No},Go={},Fo={},jo=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,Wo=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,Uo=/Z|[+-]\\d\\d(?::?\\d\\d)?/,zo=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],Vo=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],Bo=/^\\/?Date\\((\\-?\\d+)/i,qo=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,Zo={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480},Xo;t.createFromInputFallback=D(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",function(e){e._d=new Date(e._i+(e._useUTC?\" UTC\":\"\"))}),t.ISO_8601=function(){},t.RFC_2822=function(){};var Ko=D(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=Qe.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:y()}),Qo=D(\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=Qe.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:y()}),$o=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];nt(\"Z\",\":\"),nt(\"ZZ\",\"\"),j(\"Z\",vo),j(\"ZZ\",vo),V([\"Z\",\"ZZ\"],function(e,t,o){o._useUTC=!0,o._tzm=it(vo,e)});var Jo=/([\\+\\-]|\\d\\d)/gi;t.updateOffset=function(){};var en=/^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,tn=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;dt.fn=et.prototype,dt.invalid=function(){return dt(NaN)};var on=ut(1,\"add\"),nn=ut(-1,\"subtract\");t.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",t.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var an=D(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(e){return void 0===e?this.localeData():this.locale(e)});N(0,[\"gg\",2],0,function(){return this.weekYear()%100}),N(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),vt(\"gggg\",\"weekYear\"),vt(\"ggggg\",\"weekYear\"),vt(\"GGGG\",\"isoWeekYear\"),vt(\"GGGGG\",\"isoWeekYear\"),I(\"weekYear\",\"gg\"),I(\"isoWeekYear\",\"GG\"),Y(\"weekYear\",1),Y(\"isoWeekYear\",1),j(\"G\",bo),j(\"g\",bo),j(\"GG\",mo,ro),j(\"gg\",mo,ro),j(\"GGGG\",ho,lo),j(\"gggg\",ho,lo),j(\"GGGGG\",yo,po),j(\"ggggg\",yo,po),B([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(e,t,o,n){t[n.substr(0,2)]=k(e)}),B([\"gg\",\"GG\"],function(e,o,n,i){o[i]=t.parseTwoDigitYear(e)}),N(\"Q\",0,\"Qo\",\"quarter\"),I(\"quarter\",\"Q\"),Y(\"quarter\",7),j(\"Q\",ao),V(\"Q\",function(e,t){t[Co]=3*(k(e)-1)}),N(\"D\",[\"DD\",2],\"Do\",\"date\"),I(\"date\",\"D\"),Y(\"date\",9),j(\"D\",mo),j(\"DD\",mo,ro),j(\"Do\",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),V([\"D\",\"DD\"],To),V(\"Do\",function(e,t){t[To]=k(e.match(mo)[0])});var rn=K(\"Date\",!0);N(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),I(\"dayOfYear\",\"DDD\"),Y(\"dayOfYear\",4),j(\"DDD\",go),j(\"DDDD\",so),V([\"DDD\",\"DDDD\"],function(e,t,o){o._dayOfYear=k(e)}),N(\"m\",[\"mm\",2],0,\"minute\"),I(\"minute\",\"m\"),Y(\"minute\",14),j(\"m\",mo),j(\"mm\",mo,ro),V([\"m\",\"mm\"],Mo);var sn=K(\"Minutes\",!1);N(\"s\",[\"ss\",2],0,\"second\"),I(\"second\",\"s\"),Y(\"second\",15),j(\"s\",mo),j(\"ss\",mo,ro),V([\"s\",\"ss\"],Io);var dn=K(\"Seconds\",!1);N(\"S\",0,0,function(){return~~(this.millisecond()/100)}),N(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),N(0,[\"SSS\",3],0,\"millisecond\"),N(0,[\"SSSS\",4],0,function(){return 10*this.millisecond()}),N(0,[\"SSSSS\",5],0,function(){return 100*this.millisecond()}),N(0,[\"SSSSSS\",6],0,function(){return 1e3*this.millisecond()}),N(0,[\"SSSSSSS\",7],0,function(){return 1e4*this.millisecond()}),N(0,[\"SSSSSSSS\",8],0,function(){return 1e5*this.millisecond()}),N(0,[\"SSSSSSSSS\",9],0,function(){return 1e6*this.millisecond()}),I(\"millisecond\",\"ms\"),Y(\"millisecond\",16),j(\"S\",go,ao),j(\"SS\",go,ro),j(\"SSS\",go,so);var ln;for(ln=\"SSSS\";9>=ln.length;ln+=\"S\")j(ln,fo);for(ln=\"S\";9>=ln.length;ln+=\"S\")V(ln,xt);var pn=K(\"Milliseconds\",!1);N(\"z\",0,0,\"zoneAbbr\"),N(\"zz\",0,0,\"zoneName\");var mn=b.prototype;mn.add=on,mn.calendar=function(e,o){var n=e||Qe(),i=at(n,this).startOf(\"day\"),a=t.calendarFormat(this,i)||\"sameElse\",r=o&&(C(o[a])?o[a].call(this,n):o[a]);return this.format(r||this.localeData().calendar(a,this,Qe(n)))},mn.clone=function(){return new b(this)},mn.diff=function(e,t,o){var n,i,a;return this.isValid()?(n=at(e,this),!n.isValid())?NaN:(i=6e4*(n.utcOffset()-this.utcOffset()),t=P(t),(a=\"year\"===t?gt(this,n)/12:\"month\"===t?gt(this,n):\"quarter\"===t?gt(this,n)/3:\"second\"===t?(this-n)/1e3:\"minute\"===t?(this-n)/6e4:\"hour\"===t?(this-n)/36e5:\"day\"===t?(this-n-i)/864e5:\"week\"===t?(this-n-i)/6048e5:this-n,o?a:v(a))):NaN},mn.endOf=function(e){var o;if(e=P(e),void 0===e||\"millisecond\"===e||!this.isValid())return this;var n=this._isUTC?_t:bt;return\"year\"===e?o=n(this.year()+1,0,1)-1:\"quarter\"===e?o=n(this.year(),this.month()-this.month()%3+3,1)-1:\"month\"===e?o=n(this.year(),this.month()+1,1)-1:\"week\"===e?o=n(this.year(),this.month(),this.date()-this.weekday()+7)-1:\"isoWeek\"===e?o=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1:\"day\"===e||\"date\"===e?o=n(this.year(),this.month(),this.date()+1)-1:\"hour\"===e?(o=this._d.valueOf(),o+=3600000-ft(o+(this._isUTC?0:60000*this.utcOffset()),3600000)-1):\"minute\"===e?(o=this._d.valueOf(),o+=60000-ft(o,60000)-1):\"second\"===e?(o=this._d.valueOf(),o+=1000-ft(o,1000)-1):void 0,this._d.setTime(o),t.updateOffset(this,!0),this},mn.format=function(e){e||(e=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var o=G(this,e);return this.localeData().postformat(o)},mn.from=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||Qe(e).isValid())?dt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},mn.fromNow=function(e){return this.from(Qe(),e)},mn.to=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||Qe(e).isValid())?dt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},mn.toNow=function(e){return this.to(Qe(),e)},mn.get=function(e){return e=P(e),C(this[e])?this[e]():this},mn.invalidAt=function(){return g(this).overflow},mn.isAfter=function(e,t){var o=_(e)?e:Qe(e);return!!(this.isValid()&&o.isValid())&&(t=P(t)||\"millisecond\",\"millisecond\"===t?this.valueOf()>o.valueOf():o.valueOf()<this.clone().startOf(t).valueOf())},mn.isBefore=function(e,t){var o=_(e)?e:Qe(e);return!!(this.isValid()&&o.isValid())&&(t=P(t)||\"millisecond\",\"millisecond\"===t?this.valueOf()<o.valueOf():this.clone().endOf(t).valueOf()<o.valueOf())},mn.isBetween=function(e,t,o,n){var i=_(e)?e:Qe(e),a=_(t)?t:Qe(t);return!!(this.isValid()&&i.isValid()&&a.isValid())&&(n=n||\"()\",(\"(\"===n[0]?this.isAfter(i,o):!this.isBefore(i,o))&&(\")\"===n[1]?this.isBefore(a,o):!this.isAfter(a,o)))},mn.isSame=function(e,t){var o=_(e)?e:Qe(e),n;return!!(this.isValid()&&o.isValid())&&(t=P(t)||\"millisecond\",\"millisecond\"===t?this.valueOf()===o.valueOf():(n=o.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},mn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},mn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},mn.isValid=function(){return h(this)},mn.lang=an,mn.locale=ht,mn.localeData=yt,mn.max=Qo,mn.min=Ko,mn.parsingFlags=function(){return p({},g(this))},mn.set=J,mn.startOf=function(e){var o;if(e=P(e),void 0===e||\"millisecond\"===e||!this.isValid())return this;var n=this._isUTC?_t:bt;return\"year\"===e?o=n(this.year(),0,1):\"quarter\"===e?o=n(this.year(),this.month()-this.month()%3,1):\"month\"===e?o=n(this.year(),this.month(),1):\"week\"===e?o=n(this.year(),this.month(),this.date()-this.weekday()):\"isoWeek\"===e?o=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)):\"day\"===e||\"date\"===e?o=n(this.year(),this.month(),this.date()):\"hour\"===e?(o=this._d.valueOf(),o-=ft(o+(this._isUTC?0:60000*this.utcOffset()),3600000)):\"minute\"===e?(o=this._d.valueOf(),o-=ft(o,60000)):\"second\"===e?(o=this._d.valueOf(),o-=ft(o,1000)):void 0,this._d.setTime(o),t.updateOffset(this,!0),this},mn.subtract=nn,mn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},mn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},mn.toDate=function(){return new Date(this.valueOf())},mn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,o=t?this.clone().utc():this;return 0>o.year()||9999<o.year()?G(o,t?\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"):C(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+1e3*(60*this.utcOffset())).toISOString().replace(\"Z\",G(o,\"Z\")):G(o,t?\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\")},mn.inspect=function(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var e=\"moment\",t=\"\";this.isLocal()||(e=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",t=\"Z\");var o=\"[\"+e+\"(\\\"]\",n=0<=this.year()&&9999>=this.year()?\"YYYY\":\"YYYYYY\",i=t+\"[\\\")]\";return this.format(o+n+\"-MM-DD[T]HH:mm:ss.SSS\"+i)},mn.toJSON=function(){return this.isValid()?this.toISOString():null},mn.toString=function(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")},mn.unix=function(){return Qt(this.valueOf()/1e3)},mn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},mn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},mn.year=Po,mn.isLeapYear=function(){return X(this.year())},mn.weekYear=function(e){return kt.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},mn.isoWeekYear=function(e){return kt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},mn.quarter=mn.quarters=function(e){return null==e?Kt((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},mn.month=ae,mn.daysInMonth=function(){return te(this.year(),this.month())},mn.week=mn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),\"d\")},mn.isoWeek=mn.isoWeeks=function(e){var t=me(this,1,4).week;return null==e?t:this.add(7*(e-t),\"d\")},mn.weeksInYear=function(){var e=this.localeData()._week;return ue(this.year(),e.dow,e.doy)},mn.isoWeeksInYear=function(){return ue(this.year(),1,4)},mn.date=rn,mn.day=mn.days=function(e){if(!this.isValid())return null==e?NaN:this;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null==e?t:(e=ce(e,this.localeData()),this.add(e-t,\"d\"))},mn.weekday=function(e){if(!this.isValid())return null==e?NaN:this;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,\"d\")},mn.isoWeekday=function(e){if(!this.isValid())return null==e?NaN:this;if(null!=e){var t=ge(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},mn.dayOfYear=function(e){var t=qt((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"d\")},mn.hour=mn.hours=Lo,mn.minute=mn.minutes=sn,mn.second=mn.seconds=dn,mn.millisecond=mn.milliseconds=pn,mn.utcOffset=function(e,o,n){var i=this._offset||0,a;if(!this.isValid())return null==e?NaN:this;if(null!=e){if(\"string\"!=typeof e)16>Xt(e)&&!n&&(e*=60);else if(e=it(vo,e),null===e)return this;return!this._isUTC&&o&&(a=rt(this)),this._offset=e,this._isUTC=!0,null!=a&&this.add(a,\"m\"),i!==e&&(!o||this._changeInProgress?ct(this,dt(e-i,\"m\"),1,!1):!this._changeInProgress&&(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:rt(this)},mn.utc=function(e){return this.utcOffset(0,e)},mn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(rt(this),\"m\")),this},mn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if(\"string\"==typeof this._i){var e=it(_o,this._i);null==e?this.utcOffset(0,!0):this.utcOffset(e)}return this},mn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Qe(e).utcOffset():0,0==(this.utcOffset()-e)%60)},mn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},mn.isLocal=function(){return!!this.isValid()&&!this._isUTC},mn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},mn.isUtc=st,mn.isUTC=st,mn.zoneAbbr=function(){return this._isUTC?\"UTC\":\"\"},mn.zoneName=function(){return this._isUTC?\"Coordinated Universal Time\":\"\"},mn.dates=D(\"dates accessor is deprecated. Use date instead.\",rn),mn.months=D(\"months accessor is deprecated. Use month instead\",ae),mn.years=D(\"years accessor is deprecated. Use year instead\",Po),mn.zone=D(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",function(e,t){return null==e?-this.utcOffset():(\"string\"!=typeof e&&(e=-e),this.utcOffset(e,t),this)}),mn.isDSTShifted=D(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",function(){if(!a(this._isDSTShifted))return this._isDSTShifted;var e={};if(f(e,this),e=Ze(e),e._a){var t=e._isUTC?u(e._a):Qe(e._a);this._isDSTShifted=this.isValid()&&0<w(e._a,t.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var un=M.prototype;un.calendar=function(e,t,o){var n=this._calendar[e]||this._calendar.sameElse;return C(n)?n.call(t,o):n},un.longDateFormat=function(e){var t=this._longDateFormat[e],o=this._longDateFormat[e.toUpperCase()];return t||!o?t:(this._longDateFormat[e]=o.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},un.invalidDate=function(){return this._invalidDate},un.ordinal=function(e){return this._ordinal.replace(\"%d\",e)},un.preparse=Dt,un.postformat=Dt,un.relativeTime=function(e,t,o,n){var i=this._relativeTime[o];return C(i)?i(e,t,o,n):i.replace(/%d/i,e)},un.pastFuture=function(e,t){var o=this._relativeTime[0<e?\"future\":\"past\"];return C(o)?o(t):o.replace(/%s/i,t)},un.set=T,un.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Yo).test(t)?\"format\":\"standalone\"][e.month()]:o(this._months)?this._months:this._months.standalone},un.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Yo.test(t)?\"format\":\"standalone\"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},un.monthsParse=ne,un.monthsRegex=function(e){return this._monthsParseExact?(l(this,\"_monthsRegex\")||re.call(this),e?this._monthsStrictRegex:this._monthsRegex):(l(this,\"_monthsRegex\")||(this._monthsRegex=wo),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},un.monthsShortRegex=function(e){return this._monthsParseExact?(l(this,\"_monthsRegex\")||re.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,\"_monthsShortRegex\")||(this._monthsShortRegex=wo),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},un.week=function(e){return me(e,this._week.dow,this._week.doy).week},un.firstDayOfYear=function(){return this._week.doy},un.firstDayOfWeek=function(){return this._week.dow},un.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?\"format\":\"standalone\"];return!0===e?he(n,this._week.dow):e?n[e.day()]:n},un.weekdaysMin=function(e){return!0===e?he(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},un.weekdaysShort=function(e){return!0===e?he(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},un.weekdaysParse=fe,un.weekdaysRegex=function(e){return this._weekdaysParseExact?(l(this,\"_weekdaysRegex\")||be.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,\"_weekdaysRegex\")||(this._weekdaysRegex=wo),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},un.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(l(this,\"_weekdaysRegex\")||be.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=wo),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},un.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(l(this,\"_weekdaysRegex\")||be.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=wo),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},un.isPM=function(e){return\"p\"===(e+\"\").toLowerCase().charAt(0)},un.meridiem=function(e,t,o){return 11<e?o?\"pm\":\"PM\":o?\"am\":\"AM\"},Se(\"en\",{dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,o=1===k(e%100/10)?\"th\":1==t?\"st\":2==t?\"nd\":3==t?\"rd\":\"th\";return e+o}}),t.lang=D(\"moment.lang is deprecated. Use moment.locale instead.\",Se),t.langData=D(\"moment.langData is deprecated. Use moment.localeData instead.\",Te);var cn=Xt,gn=Et(\"ms\"),hn=Et(\"s\"),yn=Et(\"m\"),fn=Et(\"h\"),bn=Et(\"d\"),_n=Et(\"w\"),vn=Et(\"M\"),kn=Et(\"Q\"),wn=Et(\"y\"),xn=Yt(\"milliseconds\"),Dn=Yt(\"seconds\"),Sn=Yt(\"minutes\"),Cn=Yt(\"hours\"),Tn=Yt(\"days\"),On=Yt(\"months\"),Mn=Yt(\"years\"),In=qt,Pn={ss:44,s:45,m:45,h:22,d:26,M:11},En=Xt,Yn=et.prototype;return Yn.isValid=function(){return this._isValid},Yn.abs=function(){var e=this._data;return this._milliseconds=cn(this._milliseconds),this._days=cn(this._days),this._months=cn(this._months),e.milliseconds=cn(e.milliseconds),e.seconds=cn(e.seconds),e.minutes=cn(e.minutes),e.hours=cn(e.hours),e.months=cn(e.months),e.years=cn(e.years),this},Yn.add=function(e,t){return Ot(this,e,t,1)},Yn.subtract=function(e,t){return Ot(this,e,t,-1)},Yn.as=function(e){if(!this.isValid())return NaN;var t=this._milliseconds,o,n;if(e=P(e),\"month\"===e||\"quarter\"===e||\"year\"===e)switch(o=this._days+t/864e5,n=this._months+It(o),e){case\"month\":return n;case\"quarter\":return n/3;case\"year\":return n/12;}else switch(o=this._days+qt(Pt(this._months)),e){case\"week\":return o/7+t/6048e5;case\"day\":return o+t/864e5;case\"hour\":return 24*o+t/36e5;case\"minute\":return 1440*o+t/6e4;case\"second\":return 86400*o+t/1e3;case\"millisecond\":return Qt(864e5*o)+t;default:throw new Error(\"Unknown unit \"+e);}},Yn.asMilliseconds=gn,Yn.asSeconds=hn,Yn.asMinutes=yn,Yn.asHours=fn,Yn.asDays=bn,Yn.asWeeks=_n,Yn.asMonths=vn,Yn.asQuarters=kn,Yn.asYears=wn,Yn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+2592e6*(this._months%12)+31536e6*k(this._months/12):NaN},Yn._bubble=function(){var e=this._milliseconds,t=this._days,o=this._months,n=this._data,i,a,r,s,d;return 0<=e&&0<=t&&0<=o||0>=e&&0>=t&&0>=o||(e+=864e5*Mt(Pt(o)+t),t=0,o=0),n.milliseconds=e%1e3,i=v(e/1e3),n.seconds=i%60,a=v(i/60),n.minutes=a%60,r=v(a/60),n.hours=r%24,t+=v(r/24),d=v(It(t)),o+=d,t-=Mt(Pt(d)),s=v(o/12),o%=12,n.days=t,n.months=o,n.years=s,this},Yn.clone=function(){return dt(this)},Yn.get=function(e){return e=P(e),this.isValid()?this[e+\"s\"]():NaN},Yn.milliseconds=xn,Yn.seconds=Dn,Yn.minutes=Sn,Yn.hours=Cn,Yn.days=Tn,Yn.weeks=function(){return v(this.days()/7)},Yn.months=On,Yn.years=Mn,Yn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),o=At(this,!e,t);return e&&(o=t.pastFuture(+this,o)),t.postformat(o)},Yn.toISOString=Ht,Yn.toString=Ht,Yn.toJSON=Ht,Yn.locale=ht,Yn.localeData=yt,Yn.toIsoString=D(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",Ht),Yn.lang=an,N(\"X\",0,0,\"unix\"),N(\"x\",0,0,\"valueOf\"),j(\"x\",bo),j(\"X\",ko),V(\"X\",function(e,t,o){o._d=new Date(1e3*parseFloat(e,10))}),V(\"x\",function(e,t,o){o._d=new Date(k(e))}),t.version=\"2.24.0\",function(e){Gt=e}(Qe),t.fn=mn,t.min=function(){var e=[].slice.call(arguments,0);return $e(\"isBefore\",e)},t.max=function(){var e=[].slice.call(arguments,0);return $e(\"isAfter\",e)},t.now=function(){return Date.now?Date.now():+new Date},t.utc=u,t.unix=function(e){return Qe(1e3*e)},t.months=function(e,t){return Ct(e,t,\"months\")},t.isDate=s,t.locale=Se,t.invalid=y,t.duration=dt,t.isMoment=_,t.weekdays=function(e,t,o){return Tt(e,t,o,\"weekdays\")},t.parseZone=function(){return Qe.apply(null,arguments).parseZone()},t.localeData=Te,t.isDuration=tt,t.monthsShort=function(e,t){return Ct(e,t,\"monthsShort\")},t.weekdaysMin=function(e,t,o){return Tt(e,t,o,\"weekdaysMin\")},t.defineLocale=Ce,t.updateLocale=function(e,t){if(null!=t){var o=Ho,n,i;i=De(e),null!=i&&(o=i._config),t=O(o,t),n=new M(t),n.parentLocale=Go[e],Go[e]=n,Se(e)}else null!=Go[e]&&(null==Go[e].parentLocale?null!=Go[e]&&delete Go[e]:Go[e]=Go[e].parentLocale);return Go[e]},t.locales=Oe,t.weekdaysShort=function(e,t,o){return Tt(e,t,o,\"weekdaysShort\")},t.normalizeUnits=P,t.relativeTimeRounding=Nt,t.relativeTimeThreshold=function(e,t){return void 0!==Pn[e]&&(void 0===t?Pn[e]:(Pn[e]=t,\"s\"===e&&(Pn.ss=t-1),!0))},t.calendarFormat=function(e,t){var o=e.diff(t,\"days\",!0);return-6>o?\"sameElse\":-1>o?\"lastWeek\":0>o?\"lastDay\":1>o?\"sameDay\":2>o?\"nextDay\":7>o?\"nextWeek\":\"sameElse\"},t.prototype=mn,t.HTML5_FMT={DATETIME_LOCAL:\"YYYY-MM-DDTHH:mm\",DATETIME_LOCAL_SECONDS:\"YYYY-MM-DDTHH:mm:ss\",DATETIME_LOCAL_MS:\"YYYY-MM-DDTHH:mm:ss.SSS\",DATE:\"YYYY-MM-DD\",TIME:\"HH:mm\",TIME_SECONDS:\"HH:mm:ss\",TIME_MS:\"HH:mm:ss.SSS\",WEEK:\"GGGG-[W]WW\",MONTH:\"YYYY-MM\"},t})}),Bo=[],qo=0;256>qo;qo++)Bo[qo]=(qo+256).toString(16).substr(1);for(var Zo=function(){if(\"undefined\"!=typeof crypto&&crypto.getRandomValues){var e=new Uint8Array(16);return function(){return crypto.getRandomValues(e),e}}var t=Array(16);return function(){for(var e=0,o;16>e;e++)0==(3&e)&&(o=4294967296*Math.random()),t[e]=255&o>>>((3&e)<<3);return t}}(),Xo=[],Ko=0;256>Ko;Ko++)Xo[Ko]=(Ko+256).toString(16).substr(1);var Qo=Zo(),$o=[1|Qo[0],Qo[1],Qo[2],Qo[3],Qo[4],Qo[5]],Jo=16383&(Qo[6]<<8|Qo[7]),en=/^\\/?Date\\((-?\\d+)/i,tn=function(){function e(t){Mo(this,e),this._queue=[],this._timeout=null,this._extended=null,this.delay=null,this.max=1/0,this.setOptions(t)}return Io(e,[{key:\"setOptions\",value:function(e){e&&\"undefined\"!=typeof e.delay&&(this.delay=e.delay),e&&\"undefined\"!=typeof e.max&&(this.max=e.max),this._flushIfNeeded()}},{key:\"destroy\",value:function(){if(this.flush(),this._extended){for(var e=this._extended.object,t=this._extended.methods,o=0,n;o<t.length;o++)n=t[o],n.original?e[n.name]=n.original:delete e[n.name];this._extended=null}}},{key:\"replace\",value:function(e,t){var o=this,n=e[t];if(!n)throw new Error(\"Method \"+t+\" undefined\");e[t]=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];o.queue({args:t,fn:n,context:this})}}},{key:\"queue\",value:function(e){\"function\"==typeof e?this._queue.push({fn:e}):this._queue.push(e),this._flushIfNeeded()}},{key:\"_flushIfNeeded\",value:function(){var e=this;this._queue.length>this.max&&this.flush(),null!=this._timeout&&(clearTimeout(this._timeout),this._timeout=null),0<this.queue.length&&\"number\"==typeof this.delay&&(this._timeout=setTimeout(function(){e.flush()},this.delay))}},{key:\"flush\",value:function(){this._queue.splice(0).forEach(function(e){e.fn.apply(e.context||e.fn,e.args||[])})}}],[{key:\"extend\",value:function(t,o){var n=new e(o);if(void 0!==t.flush)throw new Error(\"Target object already has a property flush\");t.flush=function(){n.flush()};var a=[{name:\"flush\",original:void 0}];if(o&&o.replace)for(var r=0,s;r<o.replace.length;r++)s=o.replace[r],a.push({name:s,original:t[s]}),n.replace(t,s);return n._extended={object:t,methods:a},n}}]),e}(),on=function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")},nn=function(e){return Le(e)||He(e)||on()},an=function(){function e(){Mo(this,e),this._subscribers={\"*\":[],add:[],remove:[],update:[]},this.subscribe=e.prototype.on,this.unsubscribe=e.prototype.off}return Io(e,[{key:\"_trigger\",value:function(e,t,o){if(\"*\"===e)throw new Error(\"Cannot trigger event *\");for(var n=[].concat(nn(this._subscribers[e]),nn(this._subscribers[\"*\"])),a=0,r=n.length,s;a<r;a++)s=n[a],s.callback&&s.callback(e,t,null==o?null:o)}},{key:\"on\",value:function(e,t){this._subscribers[e].push({callback:t})}},{key:\"off\",value:function(e,t){this._subscribers[e]=this._subscribers[e].filter(function(e){return e.callback!==t})}}]),e}(),rn=function(e){function t(e,o){var n;if(Mo(this,t),n=Eo(this,Yo(t).call(this)),e&&!Array.isArray(e)&&(o=e,e=[]),n._options=o||{},n._data=Object.create({}),n.length=0,n._idProp=n._options.fieldId||\"id\",n._type={},n._options.type)for(var a=Object.keys(n._options.type),r=0,s=a.length;r<s;r++){var d=a[r],l=n._options.type[d];n._type[d]=\"Date\"==l||\"ISODate\"==l||\"ASPDate\"==l?\"Date\":l}return e&&e.length&&n.add(e),n.setOptions(o),n}return Ao(t,e),Io(t,[{key:\"setOptions\",value:function(e){e&&void 0!==e.queue&&(!1===e.queue?this._queue&&(this._queue.destroy(),delete this._queue):(!this._queue&&(this._queue=tn.extend(this,{replace:[\"add\",\"update\",\"remove\"]})),e.queue&&\"object\"===Oo(e.queue)&&this._queue.setOptions(e.queue)))}},{key:\"add\",value:function(e,t){var o=[],n;if(Array.isArray(e))for(var a=0,r=e.length;a<r;a++)n=this._addItem(e[a]),o.push(n);else if(e&&\"object\"===Oo(e))n=this._addItem(e),o.push(n);else throw new Error(\"Unknown dataType\");return o.length&&this._trigger(\"add\",{items:o},t),o}},{key:\"update\",value:function(e,t){var o=this,n=[],a=[],r=[],s=[],d=this._idProp,l=function(e){var t=e[d];if(null!=t&&o._data[t]){var i=e,l=Object.assign({},o._data[t]),p=o._updateItem(i);a.push(p),s.push(i),r.push(l)}else{var m=o._addItem(e);n.push(m)}};if(Array.isArray(e))for(var p=0,m=e.length;p<m;p++)e[p]&&\"object\"===Oo(e[p])?l(e[p]):console.warn(\"Ignoring input item, which is not an object at index \"+p);else if(e&&\"object\"===Oo(e))l(e);else throw new Error(\"Unknown dataType\");if(n.length&&this._trigger(\"add\",{items:n},t),a.length){this._trigger(\"update\",{items:a,oldData:r,data:s},t)}return n.concat(a)}},{key:\"get\",value:function(e,t){var o=void 0,n=void 0,a=void 0;Ne(e)?(o=e,a=t):Array.isArray(e)?(n=e,a=t):a=e;var r=a&&\"Object\"===a.returnType?\"Object\":\"Array\",s=a&&a.type||this._options.type,d=a&&a.filter,l=[],p=null,m=null,u=null;if(null!=o)p=this._getItem(o,s),p&&d&&!d(p)&&(p=null);else if(null!=n)for(var c=0,g=n.length;c<g;c++)p=this._getItem(n[c],s),null!=p&&(!d||d(p))&&l.push(p);else{m=Object.keys(this._data);for(var h=0,y=m.length;h<y;h++)u=m[h],p=this._getItem(u,s),null!=p&&(!d||d(p))&&l.push(p)}if(a&&a.order&&null==o&&this._sort(l,a.order),a&&a.fields){var f=a.fields;if(null!=o&&null!=p)p=this._filterFields(p,f);else for(var b=0,_=l.length;b<_;b++)l[b]=this._filterFields(l[b],f)}if(\"Object\"==r){for(var v={},k=0,w=l.length;k<w;k++){var x=l[k],D=x[this._idProp];v[D]=x}return v}return null==o?l:p}},{key:\"getIds\",value:function(e){var t=this._data,o=e&&e.filter,n=e&&e.order,a=e&&e.type||this._options.type,r=Object.keys(t),s=[],d,l;if(o){if(n){l=[];for(var p=0,m=r.length,u;p<m;p++)u=r[p],d=this._getItem(u,a),o(d)&&l.push(d);this._sort(l,n);for(var c=0,g=l.length;c<g;c++)s.push(l[c][this._idProp])}else for(var h=0,y=r.length,f;h<y;h++)f=r[h],d=this._getItem(f,a),o(d)&&s.push(d[this._idProp]);}else if(n){l=[];for(var b=0,_=r.length,v;b<_;b++)v=r[b],l.push(t[v]);this._sort(l,n);for(var k=0,w=l.length;k<w;k++)s.push(l[k][this._idProp])}else for(var x=0,D=r.length,S;x<D;x++)S=r[x],d=t[S],s.push(d[this._idProp]);return s}},{key:\"getDataSet\",value:function(){return this}},{key:\"forEach\",value:function(e,t){var o=t&&t.filter,n=t&&t.type||this._options.type,a=this._data,r=Object.keys(a);if(t&&t.order)for(var s=this.get(t),d=0,l=s.length;d<l;d++){var p=s[d],m=p[this._idProp];e(p,m)}else for(var u=0,c=r.length;u<c;u++){var g=r[u],h=this._getItem(g,n);(!o||o(h))&&e(h,g)}}},{key:\"map\",value:function(e,t){for(var o=t&&t.filter,n=t&&t.type||this._options.type,a=[],r=this._data,s=Object.keys(r),d=0,l=s.length;d<l;d++){var p=s[d],m=this._getItem(p,n);(!o||o(m))&&a.push(e(m,p))}return t&&t.order&&this._sort(a,t.order),a}},{key:\"_filterFields\",value:function(e,t){return e?(Array.isArray(t)?t:Object.keys(t)).reduce(function(t,o){return t[o]=e[o],t},{}):e}},{key:\"_sort\",value:function(e,t){if(\"string\"==typeof t){var o=t;e.sort(function(e,t){var n=e[o],i=t[o];return n>i?1:n<i?-1:0})}else if(\"function\"==typeof t)e.sort(t);else throw new TypeError(\"Order must be a function or a string\")}},{key:\"remove\",value:function(e,t){for(var o=[],n=[],a=Array.isArray(e)?e:[e],r=0,s=a.length,d;r<s;r++)if(d=this._remove(a[r]),d){var l=d[this._idProp];null!=l&&(o.push(l),n.push(d))}return o.length&&this._trigger(\"remove\",{items:o,oldData:n},t),o}},{key:\"_remove\",value:function(e){var t;if(Ne(e)?t=e:e&&\"object\"===Oo(e)&&(t=e[this._idProp]),null!=t&&this._data[t]){var o=this._data[t];return delete this._data[t],--this.length,o}return null}},{key:\"clear\",value:function(e){for(var t=Object.keys(this._data),o=[],n=0,a=t.length;n<a;n++)o.push(this._data[t[n]]);return this._data={},this.length=0,this._trigger(\"remove\",{items:t,oldData:o},e),t}},{key:\"max\",value:function e(t){for(var o=this._data,n=Object.keys(o),e=null,a=null,r=0,s=n.length;r<s;r++){var d=n[r],l=o[d],p=l[t];null!=p&&(null==a||p>a)&&(e=l,a=p)}return e}},{key:\"min\",value:function e(t){for(var o=this._data,n=Object.keys(o),e=null,a=null,r=0,s=n.length;r<s;r++){var d=n[r],l=o[d],p=l[t];null!=p&&(null==a||p<a)&&(e=l,a=p)}return e}},{key:\"distinct\",value:function(e){for(var t=this._data,o=Object.keys(t),n=[],a=this._options.type&&this._options.type[e]||null,r=0,s=0,d=o.length;s<d;s++){for(var l=o[s],p=t[l],m=p[e],u=!1,c=0;c<r;c++)if(n[c]==m){u=!0;break}u||void 0===m||(n[r]=m,r++)}if(a)for(var g=0,h=n.length;g<h;g++)n[g]=Re(n[g],a);return n}},{key:\"_addItem\",value:function(e){var t=e[this._idProp];if(null==t)t=Te(),e[this._idProp]=t;else if(this._data[t])throw new Error(\"Cannot add item: item with id \"+t+\" already exists\");for(var o={},n=Object.keys(e),a=0,r=n.length;a<r;a++){var s=n[a],d=this._type[s];o[s]=Re(e[s],d)}return this._data[t]=o,this.length++,t}},{key:\"_getItem\",value:function(e,t){var o=this._data[e];if(!o)return null;var n=Object.keys(o),a;if(t){a={};for(var r=0,s=n.length;r<s;r++){var d=n[r],l=o[d];a[d]=Re(l,t[d])}}else a=Fe({},o);return null==a[this._idProp]&&(a[this._idProp]=o.id),a}},{key:\"_updateItem\",value:function(e){var t=e[this._idProp];if(null==t)throw new Error(\"Cannot update item: item has no id (item: \"+JSON.stringify(e)+\")\");var o=this._data[t];if(!o)throw new Error(\"Cannot update item: no item with id \"+t+\" found\");for(var n=Object.keys(e),a=0,r=n.length;a<r;a++){var s=n[a],d=this._type[s];o[s]=Re(e[s],d)}return t}}]),t}(an),sn=function(e){function t(e,o){var n;return Mo(this,t),n=Eo(this,Yo(t).call(this)),n.length=0,n._ids={},n._options=o||{},n.listener=n._onEvent.bind(Po(n)),n.setData(e),n}return Ao(t,e),Io(t,[{key:\"setData\",value:function(e){if(this._data){this._data.off&&this._data.off(\"*\",this.listener);var t=this._data.getIds({filter:this._options.filter}),o=this._data.get(t);this._ids={},this.length=0,this._trigger(\"remove\",{items:t,oldData:o})}if(null!=e){this._data=e;for(var n=this._data.getIds({filter:this._options.filter}),a=0,r=n.length,s;a<r;a++)s=n[a],this._ids[s]=!0;this.length=n.length,this._trigger(\"add\",{items:n})}else this._data=new rn;this._data.on&&this._data.on(\"*\",this.listener)}},{key:\"refresh\",value:function(){for(var e=this._data.getIds({filter:this._options.filter}),t=Object.keys(this._ids),o={},n=[],a=[],r=[],s=0,d=e.length,l;s<d;s++)l=e[s],o[l]=!0,this._ids[l]||(n.push(l),this._ids[l]=!0);for(var p=0,m=t.length;p<m;p++){var u=t[p],c=this._data.get(u);null==c?console.error(\"If you see this, report it please.\"):!o[u]&&(a.push(u),r.push(c),delete this._ids[u])}this.length+=n.length-a.length,n.length&&this._trigger(\"add\",{items:n}),a.length&&this._trigger(\"remove\",{items:a,oldData:r})}},{key:\"get\",value:function(e,t){if(null==this._data)return null;var o=null,n;Ne(e)||Array.isArray(e)?(o=e,n=t):n=e;var i=Object.assign({},this._options,n),a=this._options.filter,r=n&&n.filter;return a&&r&&(i.filter=function(e){return a(e)&&r(e)}),null==o?this._data.get(i):this._data.get(o,i)}},{key:\"getIds\",value:function(e){if(this._data.length){var t=this._options.filter,o=null==e?null:e.filter,n;return n=o?t?function(e){return t(e)&&o(e)}:o:t,this._data.getIds({filter:n,order:e&&e.order})}return[]}},{key:\"forEach\",value:function(e,t){if(this._data){var o=this._options.filter,n=t&&t.filter,i;i=n?o?function(e){return o(e)&&n(e)}:n:o,this._data.forEach(e,{filter:i,order:t&&t.order})}}},{key:\"map\",value:function(e,t){if(this._data){var o=this._options.filter,n=t&&t.filter,i;return i=n?o?function(e){return o(e)&&n(e)}:n:o,this._data.map(e,{filter:i,order:t&&t.order})}return[]}},{key:\"getDataSet\",value:function(){return this._data.getDataSet()}},{key:\"_onEvent\",value:function(e,t,o){if(t&&t.items&&this._data){var n=t.items,a=[],r=[],s=[],d=[],l=[],p=[];switch(e){case\"add\":for(var m=0,u=n.length;m<u;m++){var c=n[m],g=this.get(c);g&&(this._ids[c]=!0,a.push(c))}break;case\"update\":for(var h=0,y=n.length;h<y;h++){var f=n[h],b=this.get(f);b?this._ids[f]?(r.push(f),l.push(t.data[h]),d.push(t.oldData[h])):(this._ids[f]=!0,a.push(f)):this._ids[f]&&(delete this._ids[f],s.push(f),p.push(t.oldData[h]))}break;case\"remove\":for(var _=0,v=n.length,k;_<v;_++)k=n[_],this._ids[k]&&(delete this._ids[k],s.push(k),p.push(t.oldData[_]));}this.length+=a.length-s.length,a.length&&this._trigger(\"add\",{items:a},o),r.length&&this._trigger(\"update\",{items:r,oldData:d,data:l},o),s.length&&this._trigger(\"remove\",{items:s,oldData:p},o)}}}]),t}(an),dn=function(){function e(){We(this,e),this.options=null,this.props=null}return ze(e,[{key:\"setOptions\",value:function(e){e&&So.extend(this.options,e)}},{key:\"redraw\",value:function(){return!1}},{key:\"destroy\",value:function(){}},{key:\"_isResized\",value:function(){var e=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,e}}]),e}(),ln=Object.freeze({convertHiddenOptions:et,updateHiddenDates:tt,removeDuplicates:ot,printDates:nt,stepOverHiddenDates:it,toScreen:at,toTime:rt,getHiddenDurationBetween:st,getHiddenDurationBeforeStart:dt,correctTimeForHidden:lt,getHiddenDurationBefore:pt,getAccumulatedHiddenDuration:mt,snapAwayFromHidden:ut,getIsHidden:ct}),pn=function(t){function o(t,n){var i;We(this,o),i=Xe(this,Be(o).call(this));var a=e().hours(0).minutes(0).seconds(0).milliseconds(0),r=a.clone().add(-3,\"days\").valueOf(),s=a.clone().add(3,\"days\").valueOf();return i.millisecondsPerPixelCache=void 0,void 0===n?(i.start=r,i.end=s):(i.start=n.start||r,i.end=n.end||s),i.rolling=!1,i.body=t,i.deltaDifference=0,i.scaleOffset=0,i.startToFront=!1,i.endToFront=!0,i.defaultOptions={rtl:!1,start:null,end:null,moment:e,direction:\"horizontal\",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:315360000000000,rollingMode:{follow:!1,offset:.5}},i.options=So.extend({},i.defaultOptions),i.props={touch:{}},i.animationTimer=null,i.body.emitter.on(\"panstart\",i._onDragStart.bind(Ze(i))),i.body.emitter.on(\"panmove\",i._onDrag.bind(Ze(i))),i.body.emitter.on(\"panend\",i._onDragEnd.bind(Ze(i))),i.body.emitter.on(\"mousewheel\",i._onMouseWheel.bind(Ze(i))),i.body.emitter.on(\"touch\",i._onTouch.bind(Ze(i))),i.body.emitter.on(\"pinch\",i._onPinch.bind(Ze(i))),i.body.dom.rollingModeBtn.addEventListener(\"click\",i.startRolling.bind(Ze(i))),i.setOptions(n),i}return Ve(o,t),ze(o,[{key:\"setOptions\",value:function(e){if(e){So.selectiveExtend([\"animation\",\"direction\",\"min\",\"max\",\"zoomMin\",\"zoomMax\",\"moveable\",\"zoomable\",\"moment\",\"activate\",\"hiddenDates\",\"zoomKey\",\"zoomFriction\",\"rtl\",\"showCurrentTime\",\"rollingMode\",\"horizontalScroll\"],this.options,e),e.rollingMode&&e.rollingMode.follow&&this.startRolling(),(\"start\"in e||\"end\"in e)&&this.setRange(e.start,e.end)}}},{key:\"startRolling\",value:function(){function e(){o.stopRolling(),o.rolling=!0;var n=o.end-o.start,i=So.convert(new Date,\"Date\").valueOf(),t=o.options.rollingMode&&o.options.rollingMode.offset||.5,a=i-n*t,r=i+n*(1-t);o.setRange(a,r,{animation:!1});var s=o.conversion(o.body.domProps.center.width).scale;n=1/s/10,30>n&&(n=30),1e3<n&&(n=1e3),o.body.dom.rollingModeBtn.style.visibility=\"hidden\",o.currentTimeTimer=setTimeout(e,n)}var o=this;e()}},{key:\"stopRolling\",value:function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility=\"visible\")}},{key:\"setRange\",value:function(e,t,o,n,i){o||(o={}),!0!==o.byUser&&(o.byUser=!1);var a=this,r=null==e?null:So.convert(e,\"Date\").valueOf(),d=null==t?null:So.convert(t,\"Date\").valueOf();if(this._cancelAnimation(),this.millisecondsPerPixelCache=void 0,o.animation){var l=this.start,p=this.end,m=\"object\"===je(o.animation)&&\"duration\"in o.animation?o.animation.duration:500,u=\"object\"===je(o.animation)&&\"easingFunction\"in o.animation?o.animation.easingFunction:\"easeInOutQuad\",c=So.easingFunctions[u];if(!c)throw new Error(\"Unknown easing function \".concat(JSON.stringify(u),\". Choose from: \").concat(Object.keys(So.easingFunctions).join(\", \")));var g=new Date().valueOf(),h=!1,y=function t(){if(!a.props.touch.dragging){var u=new Date().valueOf(),y=u-g,b=c(y/m),_=y>m,v=_||null===r?r:l+(r-l)*b,s=_||null===d?d:p+(d-p)*b;f=a._applyRange(v,s),tt(a.options.moment,a.body,a.options.hiddenDates),h=h||f;var e={start:new Date(a.start),end:new Date(a.end),byUser:o.byUser,event:o.event};if(i&&i(b,f,_),f&&a.body.emitter.emit(\"rangechange\",e),!_)a.animationTimer=setTimeout(t,20);else if(h&&(a.body.emitter.emit(\"rangechanged\",e),n))return n()}};return y()}var f=this._applyRange(r,d);if(tt(this.options.moment,this.body,this.options.hiddenDates),f){var b={start:new Date(this.start),end:new Date(this.end),byUser:o.byUser,event:o.event};if(this.body.emitter.emit(\"rangechange\",b),clearTimeout(a.timeoutID),a.timeoutID=setTimeout(function(){a.body.emitter.emit(\"rangechanged\",b)},200),n)return n()}}},{key:\"getMillisecondsPerPixel\",value:function(){return void 0===this.millisecondsPerPixelCache&&(this.millisecondsPerPixelCache=(this.end-this.start)/this.body.dom.center.clientWidth),this.millisecondsPerPixelCache}},{key:\"_cancelAnimation\",value:function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)}},{key:\"_applyRange\",value:function(e,t){var o=null==e?this.start:So.convert(e,\"Date\").valueOf(),n=null==t?this.end:So.convert(t,\"Date\").valueOf(),i=null==this.options.max?null:So.convert(this.options.max,\"Date\").valueOf(),a=null==this.options.min?null:So.convert(this.options.min,\"Date\").valueOf(),r;if(isNaN(o)||null===o)throw new Error(\"Invalid start \\\"\".concat(e,\"\\\"\"));if(isNaN(n)||null===n)throw new Error(\"Invalid end \\\"\".concat(t,\"\\\"\"));if(n<o&&(n=o),null!==a&&o<a&&(r=a-o,o+=r,n+=r,null!=i&&n>i&&(n=i)),null!==i&&n>i&&(r=n-i,o-=r,n-=r,null!=a&&o<a&&(o=a)),null!==this.options.zoomMin){var s=parseFloat(this.options.zoomMin);if(0>s&&(s=0),n-o<s){this.end-this.start===s&&o>=this.start-.5&&n<=this.end?(o=this.start,n=this.end):(r=s-(n-o),o-=r/2,n+=r/2)}}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),n-o>d&&(this.end-this.start===d&&o<this.start&&n>this.end?(o=this.start,n=this.end):(r=n-o-d,o+=r/2,n-=r/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit(\"checkRangedItems\"),this.start=o,this.end=n,l}},{key:\"getRange\",value:function(){return{start:this.start,end:this.end}}},{key:\"conversion\",value:function(e,t){return o.conversion(this.start,this.end,e,t)}},{key:\"_onDragStart\",value:function(e){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(e)&&this.props.touch.allowDragging&&(this.stopRolling(),this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor=\"move\"))}},{key:\"_onDrag\",value:function(e){if(e&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var t=this.options.direction;gt(t);var o=\"horizontal\"==t?e.deltaX:e.deltaY;o-=this.deltaDifference;var n=this.props.touch.end-this.props.touch.start,i=st(this.body.hiddenDates,this.start,this.end);n-=i;var a=\"horizontal\"==t?this.body.domProps.center.width:this.body.domProps.center.height,r;r=this.options.rtl?o/a*n:-o/a*n;var s=this.props.touch.start+r,d=this.props.touch.end+r,l=ut(this.body.hiddenDates,s,this.previousDelta-o,!0),p=ut(this.body.hiddenDates,d,this.previousDelta-o,!0);if(l!=s||p!=d)return this.deltaDifference+=o,this.props.touch.start=l,this.props.touch.end=p,void this._onDrag(e);this.previousDelta=o,this._applyRange(s,d);var m=new Date(this.start),u=new Date(this.end);this.body.emitter.emit(\"rangechange\",{start:m,end:u,byUser:!0,event:e}),this.body.emitter.emit(\"panmove\")}}},{key:\"_onDragEnd\",value:function(e){this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor=\"auto\"),this.body.emitter.emit(\"rangechanged\",{start:new Date(this.start),end:new Date(this.end),byUser:!0,event:e}))}},{key:\"_onMouseWheel\",value:function(e){var t=0;if((e.wheelDelta?t=e.wheelDelta/120:e.detail?t=-e.detail/3:e.deltaY&&(t=-e.deltaY/3),!(this.options.zoomKey&&!e[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable))&&this.options.zoomable&&this.options.moveable&&this._isInsideRange(e)&&t){var o=this.options.zoomFriction||5,n;n=0>t?1-t/o:1/(1+t/o);var i;if(this.rolling){var a=this.options.rollingMode&&this.options.rollingMode.offset||.5;i=this.start+(this.end-this.start)*a}else{var r=this.getPointer({x:e.clientX,y:e.clientY},this.body.dom.center);i=this._pointerToDate(r)}this.zoom(n,i,t,e),e.preventDefault()}}},{key:\"_onTouch\",value:function(e){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0,So.preventDefault(e)}},{key:\"_onPinch\",value:function(e){if(this.options.zoomable&&this.options.moveable){So.preventDefault(e),this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(e.center,this.body.dom.center)),this.stopRolling();var t=1/(e.scale+this.scaleOffset),o=this._pointerToDate(this.props.touch.center),n=st(this.body.hiddenDates,this.start,this.end),i=pt(this.options.moment,this.body.hiddenDates,this,o),a=n-i,r=o-i+(this.props.touch.start-(o-i))*t,s=o+a+(this.props.touch.end-(o+a))*t;this.startToFront=0>=1-t,this.endToFront=0>=t-1;var d=ut(this.body.hiddenDates,r,1-t,!0),l=ut(this.body.hiddenDates,s,t-1,!0);(d!=r||l!=s)&&(this.props.touch.start=d,this.props.touch.end=l,this.scaleOffset=1-e.scale,r=d,s=l);this.setRange(r,s,{animation:!1,byUser:!0,event:e}),this.startToFront=!1,this.endToFront=!0}}},{key:\"_isInsideRange\",value:function(e){var t=e.center?e.center.x:e.clientX,o;o=this.options.rtl?t-So.getAbsoluteLeft(this.body.dom.centerContainer):So.getAbsoluteRight(this.body.dom.centerContainer)-t;var n=this.body.util.toTime(o);return n>=this.start&&n<=this.end}},{key:\"_pointerToDate\",value:function(e){var t=this.options.direction,o;if(gt(t),\"horizontal\"==t)return this.body.util.toTime(e.x).valueOf();var n=this.body.domProps.center.height;return o=this.conversion(n),e.y/o.scale+o.offset}},{key:\"getPointer\",value:function(e,t){return this.options.rtl?{x:So.getAbsoluteRight(t)-e.x,y:e.y-So.getAbsoluteTop(t)}:{x:e.x-So.getAbsoluteLeft(t),y:e.y-So.getAbsoluteTop(t)}}},{key:\"zoom\",value:function(e,t,o,n){null==t&&(t=(this.start+this.end)/2);var i=st(this.body.hiddenDates,this.start,this.end),a=pt(this.options.moment,this.body.hiddenDates,this,t),r=i-a,s=t-a+(this.start-(t-a))*e,d=t+r+(this.end-(t+r))*e;this.startToFront=!(0<o),this.endToFront=!(0<-o);var l=ut(this.body.hiddenDates,s,o,!0),p=ut(this.body.hiddenDates,d,-o,!0);(l!=s||p!=d)&&(s=l,d=p);this.setRange(s,d,{animation:!1,byUser:!0,event:n}),this.startToFront=!1,this.endToFront=!0}},{key:\"move\",value:function(e){var t=this.end-this.start,o=this.start+t*e,n=this.end+t*e;this.start=o,this.end=n}},{key:\"moveTo\",value:function(e){var t=(this.start+this.end)/2,o=t-e,n=this.start-o,i=this.end-o;this.setRange(n,i,{animation:!1,byUser:!0,event:null})}}],[{key:\"conversion\",value:function(e,t,o,n){return void 0===n&&(n=0),0!=o&&0!=t-e?{offset:e,scale:o/(t-e-n)}:{offset:0,scale:1}}}]),o}(dn),mn=ht;ht.prototype.on=ht.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks[e]=this._callbacks[e]||[]).push(t),this},ht.prototype.once=function(e,t){function o(){n.off(e,o),t.apply(this,arguments)}var n=this;return this._callbacks=this._callbacks||{},o.fn=t,this.on(e,o),this},ht.prototype.off=ht.prototype.removeListener=ht.prototype.removeAllListeners=ht.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var o=this._callbacks[e];if(!o)return this;if(1==arguments.length)return delete this._callbacks[e],this;for(var n=0,a;n<o.length;n++)if(a=o[n],a===t||a.fn===t){o.splice(n,1);break}return this},ht.prototype.emit=function(e){this._callbacks=this._callbacks||{};var t=[].slice.call(arguments,1),o=this._callbacks[e];if(o){o=o.slice(0);for(var n=0,a=o.length;n<a;++n)o[n].apply(this,t)}return this},ht.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[e]||[]},ht.prototype.hasListeners=function(e){return!!this.listeners(e).length};var un=\"undefined\"==typeof globalThis?\"undefined\"==typeof window?\"undefined\"==typeof global?\"undefined\"==typeof self?{}:self:global:window:globalThis,cn=ft(function(e){(function(t){e.exports=t()})(function(){var e=null;return function t(o,n){function i(e){return e.match(/[^ ]+/g)}function a(t){if(\"hammer.input\"!==t.type){if(t.srcEvent._handled||(t.srcEvent._handled={}),t.srcEvent._handled[t.type])return;t.srcEvent._handled[t.type]=!0}var o=!1;t.stopPropagation=function(){o=!0};var n=t.srcEvent.stopPropagation.bind(t.srcEvent);\"function\"==typeof n&&(t.srcEvent.stopPropagation=function(){n(),t.stopPropagation()}),t.firstTarget=e;for(var a=e,r;a&&!o;){if(r=a.hammer,r)for(var s=0,d;s<r.length;s++)if(d=r[s]._handlers[t.type],d)for(var l=0;l<d.length&&!o;l++)d[l](t);a=a.parentNode}}var r=n||{preventDefault:!1};if(o.Manager){var s=o,d=function(e,n){var i=Object.create(r);return n&&s.assign(i,n),t(new s(e,i),i)};return s.assign(d,s),d.Manager=function(e,n){var i=Object.create(r);return n&&s.assign(i,n),t(new s.Manager(e,i),i)},d}var l=Object.create(o),p=o.element;return p.hammer||(p.hammer=[]),p.hammer.push(l),o.on(\"hammer.input\",function(t){(!0===r.preventDefault||r.preventDefault===t.pointerType)&&t.preventDefault(),t.isFirst&&(e=t.target)}),l._handlers={},l.on=function(e,t){return i(e).forEach(function(e){var n=l._handlers[e];n||(l._handlers[e]=n=[],o.on(e,a)),n.push(t)}),l},l.off=function(e,t){return i(e).forEach(function(e){var n=l._handlers[e];n&&(n=t?n.filter(function(e){return e!==t}):[],0<n.length?l._handlers[e]=n:(o.off(e,a),delete l._handlers[e]))}),l},l.emit=function(t,n){e=n.target,o.emit(t,n)},l.destroy=function(){var e=o.element.hammer,t=e.indexOf(l);-1!==t&&e.splice(t,1),e.length||delete o.element.hammer,l._handlers={},o.destroy()},l}})}),gn;if(\"undefined\"!=typeof window){var hn=window.Hammer||t;gn=cn(hn,{preventDefault:\"mouse\"})}else gn=function(){return bt()};var yn=gn,fn=function(){function t(o,n,i,a,r){We(this,t),this.moment=e,this.current=this.moment(),this._start=this.moment(),this._end=this.moment(),this.autoScale=!0,this.scale=\"day\",this.step=1,this.setRange(o,n,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=Array.isArray(a)?a:null==a?[]:[a],this.format=t.FORMAT,this.options=r?r:{}}return ze(t,[{key:\"setMoment\",value:function(e){this.moment=e,this.current=this.moment(this.current.valueOf()),this._start=this.moment(this._start.valueOf()),this._end=this.moment(this._end.valueOf())}},{key:\"setFormat\",value:function(e){var o=So.deepExtend({},t.FORMAT);this.format=So.deepExtend(o,e)}},{key:\"setRange\",value:function(e,t,o){if(!(e instanceof Date)||!(t instanceof Date))throw\"No legal start or end date in method setRange\";this._start=null==e?new Date:this.moment(e.valueOf()),this._end=null==t?new Date:this.moment(t.valueOf()),this.autoScale&&this.setMinimumStep(o)}},{key:\"start\",value:function(){this.current=this._start.clone(),this.roundToMinor()}},{key:\"roundToMinor\",value:function(){switch(\"week\"==this.scale&&this.current.weekday(0),this.scale){case\"year\":this.current.year(this.step*Qt(this.current.year()/this.step)),this.current.month(0);case\"month\":this.current.date(1);case\"week\":case\"day\":case\"weekday\":this.current.hours(0);case\"hour\":this.current.minutes(0);case\"minute\":this.current.seconds(0);case\"second\":this.current.milliseconds(0);}if(1!=this.step)switch(this.scale){case\"millisecond\":this.current.subtract(this.current.milliseconds()%this.step,\"milliseconds\");break;case\"second\":this.current.subtract(this.current.seconds()%this.step,\"seconds\");break;case\"minute\":this.current.subtract(this.current.minutes()%this.step,\"minutes\");break;case\"hour\":this.current.subtract(this.current.hours()%this.step,\"hours\");break;case\"weekday\":case\"day\":this.current.subtract((this.current.date()-1)%this.step,\"day\");break;case\"week\":this.current.subtract(this.current.week()%this.step,\"week\");break;case\"month\":this.current.subtract(this.current.month()%this.step,\"month\");break;case\"year\":this.current.subtract(this.current.year()%this.step,\"year\");break;default:}}},{key:\"hasNext\",value:function(){return this.current.valueOf()<=this._end.valueOf()}},{key:\"next\",value:function(){var e=this.current.valueOf();switch(this.scale){case\"millisecond\":this.current.add(this.step,\"millisecond\");break;case\"second\":this.current.add(this.step,\"second\");break;case\"minute\":this.current.add(this.step,\"minute\");break;case\"hour\":this.current.add(this.step,\"hour\"),6>this.current.month()?this.current.subtract(this.current.hours()%this.step,\"hour\"):0!=this.current.hours()%this.step&&this.current.add(this.step-this.current.hours()%this.step,\"hour\");break;case\"weekday\":case\"day\":this.current.add(this.step,\"day\");break;case\"week\":if(0!==this.current.weekday())this.current.weekday(0),this.current.add(this.step,\"week\");else if(!1===this.options.showMajorLabels)this.current.add(this.step,\"week\");else{var t=this.current.clone();t.add(1,\"week\"),t.isSame(this.current,\"month\")?this.current.add(this.step,\"week\"):(this.current.add(this.step,\"week\"),this.current.date(1))}break;case\"month\":this.current.add(this.step,\"month\");break;case\"year\":this.current.add(this.step,\"year\");break;default:}if(1!=this.step)switch(this.scale){case\"millisecond\":0<this.current.milliseconds()&&this.current.milliseconds()<this.step&&this.current.milliseconds(0);break;case\"second\":0<this.current.seconds()&&this.current.seconds()<this.step&&this.current.seconds(0);break;case\"minute\":0<this.current.minutes()&&this.current.minutes()<this.step&&this.current.minutes(0);break;case\"hour\":0<this.current.hours()&&this.current.hours()<this.step&&this.current.hours(0);break;case\"weekday\":case\"day\":this.current.date()<this.step+1&&this.current.date(1);break;case\"week\":this.current.week()<this.step&&this.current.week(1);break;case\"month\":this.current.month()<this.step&&this.current.month(0);break;case\"year\":break;default:}this.current.valueOf()==e&&(this.current=this._end.clone()),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,it(this.moment,this,e)}},{key:\"getCurrent\",value:function(){return this.current.clone()}},{key:\"setScale\",value:function(e){e&&\"string\"==typeof e.scale&&(this.scale=e.scale,this.step=0<e.step?e.step:1,this.autoScale=!1)}},{key:\"setAutoScale\",value:function(e){this.autoScale=e}},{key:\"setMinimumStep\",value:function(e){if(null!=e){var t=2592000000,o=86400000,n=3600000,i=60000,a=1e3,r=1;31104000000000>e&&(this.scale=\"year\",this.step=1e3),15552000000000>e&&(this.scale=\"year\",this.step=500),3110400000000>e&&(this.scale=\"year\",this.step=100),1555200000000>e&&(this.scale=\"year\",this.step=50),311040000000>e&&(this.scale=\"year\",this.step=10),155520000000>e&&(this.scale=\"year\",this.step=5),31104000000>e&&(this.scale=\"year\",this.step=1),3*t>e&&(this.scale=\"month\",this.step=3),t>e&&(this.scale=\"month\",this.step=1),7*o>e&&(this.scale=\"week\",this.step=1),2*o>e&&(this.scale=\"day\",this.step=2),o>e&&(this.scale=\"day\",this.step=1),o/2>e&&(this.scale=\"weekday\",this.step=1),4*n>e&&(this.scale=\"hour\",this.step=4),n>e&&(this.scale=\"hour\",this.step=1),15*i>e&&(this.scale=\"minute\",this.step=15),10*i>e&&(this.scale=\"minute\",this.step=10),5*i>e&&(this.scale=\"minute\",this.step=5),i>e&&(this.scale=\"minute\",this.step=1),15*a>e&&(this.scale=\"second\",this.step=15),10*a>e&&(this.scale=\"second\",this.step=10),5*a>e&&(this.scale=\"second\",this.step=5),a>e&&(this.scale=\"second\",this.step=1),200*r>e&&(this.scale=\"millisecond\",this.step=200),100*r>e&&(this.scale=\"millisecond\",this.step=100),50*r>e&&(this.scale=\"millisecond\",this.step=50),10*r>e&&(this.scale=\"millisecond\",this.step=10),5*r>e&&(this.scale=\"millisecond\",this.step=5),r>e&&(this.scale=\"millisecond\",this.step=1)}}},{key:\"isMajor\",value:function(){if(!0==this.switchedYear)switch(this.scale){case\"year\":case\"month\":case\"week\":case\"weekday\":case\"day\":case\"hour\":case\"minute\":case\"second\":case\"millisecond\":return!0;default:return!1;}else if(!0==this.switchedMonth)switch(this.scale){case\"week\":case\"weekday\":case\"day\":case\"hour\":case\"minute\":case\"second\":case\"millisecond\":return!0;default:return!1;}else if(!0==this.switchedDay)switch(this.scale){case\"millisecond\":case\"second\":case\"minute\":case\"hour\":return!0;default:return!1;}var e=this.moment(this.current);switch(this.scale){case\"millisecond\":return 0==e.milliseconds();case\"second\":return 0==e.seconds();case\"minute\":return 0==e.hours()&&0==e.minutes();case\"hour\":return 0==e.hours();case\"weekday\":case\"day\":return 1==e.date();case\"week\":return 1==e.date();case\"month\":return 0==e.month();case\"year\":return!1;default:return!1;}}},{key:\"getLabelMinor\",value:function(e){if(null==e&&(e=this.current),e instanceof Date&&(e=this.moment(e)),\"function\"==typeof this.format.minorLabels)return this.format.minorLabels(e,this.scale,this.step);var t=this.format.minorLabels[this.scale];switch(this.scale){case\"week\":if(1===e.date()&&0!==e.weekday())return\"\";default:return t&&0<t.length?this.moment(e).format(t):\"\";}}},{key:\"getLabelMajor\",value:function(e){if(null==e&&(e=this.current),e instanceof Date&&(e=this.moment(e)),\"function\"==typeof this.format.majorLabels)return this.format.majorLabels(e,this.scale,this.step);var t=this.format.majorLabels[this.scale];return t&&0<t.length?this.moment(e).format(t):\"\"}},{key:\"getClassName\",value:function(){function e(e){return 0==e/d%2?\" vis-even\":\" vis-odd\"}function t(e){return e.isSame(new Date,\"day\")?\" vis-today\":e.isSame(a().add(1,\"day\"),\"day\")?\" vis-tomorrow\":e.isSame(a().add(-1,\"day\"),\"day\")?\" vis-yesterday\":\"\"}function o(e){return e.isSame(new Date,\"week\")?\" vis-current-week\":\"\"}function n(e){return e.isSame(new Date,\"month\")?\" vis-current-month\":\"\"}function i(e){return e.isSame(new Date,\"year\")?\" vis-current-year\":\"\"}var a=this.moment,r=this.moment(this.current),s=r.locale?r.locale(\"en\"):r.lang(\"en\"),d=this.step,l=[];switch(this.scale){case\"millisecond\":l.push(t(s)),l.push(e(s.milliseconds()));break;case\"second\":l.push(t(s)),l.push(e(s.seconds()));break;case\"minute\":l.push(t(s)),l.push(e(s.minutes()));break;case\"hour\":l.push(\"vis-h\".concat(s.hours()).concat(4==this.step?\"-h\"+(s.hours()+4):\"\")),l.push(t(s)),l.push(e(s.hours()));break;case\"weekday\":l.push(\"vis-\".concat(s.format(\"dddd\").toLowerCase())),l.push(t(s)),l.push(o(s)),l.push(e(s.date()));break;case\"day\":l.push(\"vis-day\".concat(s.date())),l.push(\"vis-\".concat(s.format(\"MMMM\").toLowerCase())),l.push(t(s)),l.push(n(s)),l.push(2>=this.step?t(s):\"\"),l.push(2>=this.step?\"vis-\".concat(s.format(\"dddd\").toLowerCase()):\"\"),l.push(e(s.date()-1));break;case\"week\":l.push(\"vis-week\".concat(s.format(\"w\"))),l.push(o(s)),l.push(e(s.week()));break;case\"month\":l.push(\"vis-\".concat(s.format(\"MMMM\").toLowerCase())),l.push(n(s)),l.push(e(s.month()));break;case\"year\":l.push(\"vis-year\".concat(s.year())),l.push(i(s)),l.push(e(s.year()));}return l.filter(String).join(\" \")}}],[{key:\"snap\",value:function(t,o,n){var i=e(t);if(\"year\"==o){var a=i.year()+qt(i.month()/12);i.year(qt(a/n)*n),i.month(0),i.date(0),i.hours(0),i.minutes(0),i.seconds(0),i.milliseconds(0)}else if(\"month\"==o)15<i.date()?(i.date(1),i.add(1,\"month\")):i.date(1),i.hours(0),i.minutes(0),i.seconds(0),i.milliseconds(0);else if(\"week\"==o)2<i.weekday()?(i.weekday(0),i.add(1,\"week\")):i.weekday(0),i.hours(0),i.minutes(0),i.seconds(0),i.milliseconds(0);else if(\"day\"==o)5===n||2===n?i.hours(24*qt(i.hours()/24)):i.hours(12*qt(i.hours()/12)),i.minutes(0),i.seconds(0),i.milliseconds(0);else if(\"weekday\"==o)5===n||2===n?i.hours(12*qt(i.hours()/12)):i.hours(6*qt(i.hours()/6)),i.minutes(0),i.seconds(0),i.milliseconds(0);else if(\"hour\"==o)4===n?i.minutes(60*qt(i.minutes()/60)):i.minutes(30*qt(i.minutes()/30)),i.seconds(0),i.milliseconds(0);else if(\"minute\"==o)15===n||10===n?(i.minutes(5*qt(i.minutes()/5)),i.seconds(0)):5===n?i.seconds(60*qt(i.seconds()/60)):i.seconds(30*qt(i.seconds()/30)),i.milliseconds(0);else if(\"second\"==o)15===n||10===n?(i.seconds(5*qt(i.seconds()/5)),i.milliseconds(0)):5===n?i.milliseconds(1e3*qt(i.milliseconds()/1e3)):i.milliseconds(500*qt(i.milliseconds()/500));else if(\"millisecond\"==o){var r=5<n?n/2:1;i.milliseconds(qt(i.milliseconds()/r)*r)}return i}}]),t}();fn.FORMAT={minorLabels:{millisecond:\"SSS\",second:\"s\",minute:\"HH:mm\",hour:\"HH:mm\",weekday:\"ddd D\",day:\"D\",week:\"w\",month:\"MMM\",year:\"YYYY\"},majorLabels:{millisecond:\"HH:mm:ss\",second:\"D MMMM HH:mm\",minute:\"ddd D MMMM\",hour:\"ddd D MMMM\",weekday:\"MMMM YYYY\",day:\"MMMM YYYY\",week:\"MMMM YYYY\",month:\"YYYY\",year:\"\"}};var bn=function(t){function o(t,n){var i;return We(this,o),i=Xe(this,Be(o).call(this)),i.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},i.props={range:{start:0,end:0,minimumStep:0},lineTop:0},i.defaultOptions={orientation:{axis:\"bottom\"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:fn.FORMAT,moment:e,timeAxis:null},i.options=So.extend({},i.defaultOptions),i.body=t,i._create(),i.setOptions(n),i}return Ve(o,t),ze(o,[{key:\"setOptions\",value:function(t){t&&(So.selectiveExtend([\"showMinorLabels\",\"showMajorLabels\",\"maxMinorChars\",\"hiddenDates\",\"timeAxis\",\"moment\",\"rtl\"],this.options,t),So.selectiveDeepExtend([\"format\"],this.options,t),\"orientation\"in t&&(\"string\"==typeof t.orientation?this.options.orientation.axis=t.orientation:\"object\"===je(t.orientation)&&\"axis\"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),\"locale\"in t&&(\"function\"==typeof e.locale?e.locale(t.locale):e.lang(t.locale)))}},{key:\"_create\",value:function(){this.dom.foreground=document.createElement(\"div\"),this.dom.background=document.createElement(\"div\"),this.dom.foreground.className=\"vis-time-axis vis-foreground\",this.dom.background.className=\"vis-time-axis vis-background\"}},{key:\"destroy\",value:function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null}},{key:\"redraw\",value:function(){var e=this.props,t=this.dom.foreground,o=this.dom.background,n=\"top\"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,i=t.parentNode!==n;this._calculateCharSize();var a=this.options.showMinorLabels&&\"none\"!==this.options.orientation.axis,r=this.options.showMajorLabels&&\"none\"!==this.options.orientation.axis;e.minorLabelHeight=a?e.minorCharHeight:0,e.majorLabelHeight=r?e.majorCharHeight:0,e.height=e.minorLabelHeight+e.majorLabelHeight,e.width=t.offsetWidth,e.minorLineHeight=this.body.domProps.root.height-e.majorLabelHeight-(\"top\"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),e.minorLineWidth=1,e.majorLineHeight=e.minorLineHeight+e.majorLabelHeight,e.majorLineWidth=1;var s=t.nextSibling,d=o.nextSibling;return t.parentNode&&t.parentNode.removeChild(t),o.parentNode&&o.parentNode.removeChild(o),t.style.height=\"\".concat(this.props.height,\"px\"),this._repaintLabels(),s?n.insertBefore(t,s):n.appendChild(t),d?this.body.dom.backgroundVertical.insertBefore(o,d):this.body.dom.backgroundVertical.appendChild(o),this._isResized()||i}},{key:\"_repaintLabels\",value:function(){var e=this.options.orientation.axis,t=So.convert(this.body.range.start,\"Number\"),o=So.convert(this.body.range.end,\"Number\"),n=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),i=n-pt(this.options.moment,this.body.hiddenDates,this.body.range,n);i-=this.body.util.toTime(0).valueOf();var a=new fn(new Date(t),new Date(o),i,this.body.hiddenDates,this.options);a.setMoment(this.options.moment),this.options.format&&a.setFormat(this.options.format),this.options.timeAxis&&a.setScale(this.options.timeAxis),this.step=a;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var s=0,d=void 0,l=0,p=1e3,m,u,c,g,h,y,f,b,_;for(a.start(),u=a.getCurrent(),g=this.body.util.toScreen(u);a.hasNext()&&l<p;){switch(l++,h=a.isMajor(),_=a.getClassName(),m=u,c=g,a.next(),u=a.getCurrent(),g=this.body.util.toScreen(u),f=s,s=g-c,a.scale){case\"week\":y=!0;break;default:y=s>=.4*f;}if(this.options.showMinorLabels&&y){var v=this._repaintMinorText(c,a.getLabelMinor(m),e,_);v.style.width=\"\".concat(s,\"px\")}h&&this.options.showMajorLabels?(0<c&&(null==d&&(d=c),v=this._repaintMajorText(c,a.getLabelMajor(m),e,_)),b=this._repaintMajorLine(c,s,e,_)):y?b=this._repaintMinorLine(c,s,e,_):b&&(b.style.width=\"\".concat(parseInt(b.style.width)+s,\"px\"))}if(l!==p||_n||(console.warn(\"Something is wrong with the Timeline scale. Limited drawing of grid lines to \".concat(p,\" lines.\")),_n=!0),this.options.showMajorLabels){var k=this.body.util.toTime(0),w=a.getLabelMajor(k),D=w.length*(this.props.majorCharWidth||10)+10;(null==d||D<d)&&this._repaintMajorText(0,w,e,_)}So.forEach(this.dom.redundant,function(e){for(;e.length;){var t=e.pop();t&&t.parentNode&&t.parentNode.removeChild(t)}})}},{key:\"_repaintMinorText\",value:function(e,t,o,n){var i=this.dom.redundant.minorTexts.shift();if(!i){var a=document.createTextNode(\"\");i=document.createElement(\"div\"),i.appendChild(a),this.dom.foreground.appendChild(i)}return this.dom.minorTexts.push(i),i.innerHTML=t,i.style.top=\"top\"==o?\"\".concat(this.props.majorLabelHeight,\"px\"):\"0\",this.options.rtl?(i.style.left=\"\",i.style.right=\"\".concat(e,\"px\")):i.style.left=\"\".concat(e,\"px\"),i.className=\"vis-text vis-minor \".concat(n),i}},{key:\"_repaintMajorText\",value:function(e,t,o,n){var i=this.dom.redundant.majorTexts.shift();if(!i){var a=document.createElement(\"div\");i=document.createElement(\"div\"),i.appendChild(a),this.dom.foreground.appendChild(i)}return i.childNodes[0].innerHTML=t,i.className=\"vis-text vis-major \".concat(n),i.style.top=\"top\"==o?\"0\":\"\".concat(this.props.minorLabelHeight,\"px\"),this.options.rtl?(i.style.left=\"\",i.style.right=\"\".concat(e,\"px\")):i.style.left=\"\".concat(e,\"px\"),this.dom.majorTexts.push(i),i}},{key:\"_repaintMinorLine\",value:function(e,t,o,n){var i=this.dom.redundant.lines.shift();i||(i=document.createElement(\"div\"),this.dom.background.appendChild(i)),this.dom.lines.push(i);var a=this.props;return i.style.top=\"top\"==o?\"\".concat(a.majorLabelHeight,\"px\"):\"\".concat(this.body.domProps.top.height,\"px\"),i.style.height=\"\".concat(a.minorLineHeight,\"px\"),this.options.rtl?(i.style.left=\"\",i.style.right=\"\".concat(e-a.minorLineWidth/2,\"px\"),i.className=\"vis-grid vis-vertical-rtl vis-minor \".concat(n)):(i.style.left=\"\".concat(e-a.minorLineWidth/2,\"px\"),i.className=\"vis-grid vis-vertical vis-minor \".concat(n)),i.style.width=\"\".concat(t,\"px\"),i}},{key:\"_repaintMajorLine\",value:function(e,t,o,n){var i=this.dom.redundant.lines.shift();i||(i=document.createElement(\"div\"),this.dom.background.appendChild(i)),this.dom.lines.push(i);var a=this.props;return i.style.top=\"top\"==o?\"0\":\"\".concat(this.body.domProps.top.height,\"px\"),this.options.rtl?(i.style.left=\"\",i.style.right=\"\".concat(e-a.majorLineWidth/2,\"px\"),i.className=\"vis-grid vis-vertical-rtl vis-major \".concat(n)):(i.style.left=\"\".concat(e-a.majorLineWidth/2,\"px\"),i.className=\"vis-grid vis-vertical vis-major \".concat(n)),i.style.height=\"\".concat(a.majorLineHeight,\"px\"),i.style.width=\"\".concat(t,\"px\"),i}},{key:\"_calculateCharSize\",value:function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement(\"DIV\"),this.dom.measureCharMinor.className=\"vis-text vis-minor vis-measure\",this.dom.measureCharMinor.style.position=\"absolute\",this.dom.measureCharMinor.appendChild(document.createTextNode(\"0\")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement(\"DIV\"),this.dom.measureCharMajor.className=\"vis-text vis-major vis-measure\",this.dom.measureCharMajor.style.position=\"absolute\",this.dom.measureCharMajor.appendChild(document.createTextNode(\"0\")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth}}]),o}(dn),_n=!1,vn=ft(function(e){(function(t,o){e.exports=o()})(un,function(){function e(e){var t=String.fromCharCode,o=e&&e.preventDefault||!1,n=e&&e.container||window,a={},r={keydown:{},keyup:{}},s={},d;for(d=97;122>=d;d++)s[t(d)]={code:65+(d-97),shift:!1};for(d=65;90>=d;d++)s[t(d)]={code:d,shift:!0};for(d=0;9>=d;d++)s[\"\"+d]={code:48+d,shift:!1};for(d=1;12>=d;d++)s[\"F\"+d]={code:111+d,shift:!1};for(d=0;9>=d;d++)s[\"num\"+d]={code:96+d,shift:!1};s[\"num*\"]={code:106,shift:!1},s[\"num+\"]={code:107,shift:!1},s[\"num-\"]={code:109,shift:!1},s[\"num/\"]={code:111,shift:!1},s[\"num.\"]={code:110,shift:!1},s.left={code:37,shift:!1},s.up={code:38,shift:!1},s.right={code:39,shift:!1},s.down={code:40,shift:!1},s.space={code:32,shift:!1},s.enter={code:13,shift:!1},s.shift={code:16,shift:void 0},s.esc={code:27,shift:!1},s.backspace={code:8,shift:!1},s.tab={code:9,shift:!1},s.ctrl={code:17,shift:!1},s.alt={code:18,shift:!1},s[\"delete\"]={code:46,shift:!1},s.pageup={code:33,shift:!1},s.pagedown={code:34,shift:!1},s[\"=\"]={code:187,shift:!1},s[\"-\"]={code:189,shift:!1},s[\"]\"]={code:221,shift:!1},s[\"[\"]={code:219,shift:!1};var l=function(e){m(e,\"keydown\")},p=function(e){m(e,\"keyup\")},m=function(e,t){if(void 0!==r[t][e.keyCode]){for(var n=r[t][e.keyCode],a=0;a<n.length;a++)void 0===n[a].shift?n[a].fn(e):!0==n[a].shift&&!0==e.shiftKey?n[a].fn(e):!1==n[a].shift&&!1==e.shiftKey&&n[a].fn(e);!0==o&&e.preventDefault()}};return a.bind=function(e,t,o){if(void 0===o&&(o=\"keydown\"),void 0===s[e])throw new Error(\"unsupported key: \"+e);void 0===r[o][s[e].code]&&(r[o][s[e].code]=[]),r[o][s[e].code].push({fn:t,shift:s[e].shift})},a.bindAll=function(e,t){for(var o in void 0===t&&(t=\"keydown\"),s)s.hasOwnProperty(o)&&a.bind(o,e,t)},a.getKey=function(e){for(var t in s)if(s.hasOwnProperty(t)){if(!0==e.shiftKey&&!0==s[t].shift&&e.keyCode==s[t].code)return t;if(!1==e.shiftKey&&!1==s[t].shift&&e.keyCode==s[t].code)return t;if(e.keyCode==s[t].code&&\"shift\"==t)return t}return\"unknown key, currently not supported\"},a.unbind=function(e,t,o){if(void 0===o&&(o=\"keydown\"),void 0===s[e])throw new Error(\"unsupported key: \"+e);if(void 0!==t){var n=[],a=r[o][s[e].code];if(void 0!==a)for(var d=0;d<a.length;d++)(a[d].fn!=t||a[d].shift!=s[e].shift)&&n.push(r[o][s[e].code][d]);r[o][s[e].code]=n}else r[o][s[e].code]=[]},a.reset=function(){r={keydown:{},keyup:{}}},a.destroy=function(){r={keydown:{},keyup:{}},n.removeEventListener(\"keydown\",l,!0),n.removeEventListener(\"keyup\",p,!0)},n.addEventListener(\"keydown\",l,!0),n.addEventListener(\"keyup\",p,!0),a}return e})});mn(wt.prototype),wt.current=null,wt.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener(\"click\",this.onClick),this.keycharm!==void 0&&this.keycharm.destroy(),this.keycharm=null,this.hammer.destroy(),this.hammer=null},wt.prototype.activate=function(){wt.current&&wt.current.deactivate(),wt.current=this,this.active=!0,this.dom.overlay.style.display=\"none\",So.addClassName(this.dom.container,\"vis-active\"),this.emit(\"change\"),this.emit(\"activate\"),this.keycharm.bind(\"esc\",this.escListener)},wt.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display=\"\",So.removeClassName(this.dom.container,\"vis-active\"),this.keycharm.unbind(\"esc\",this.escListener),this.emit(\"change\"),this.emit(\"deactivate\")},wt.prototype._onTapOverlay=function(e){this.activate(),e.stopPropagation()};var kn=ft(function(e,t){t.en={current:\"current\",time:\"time\"},t.en_EN=t.en,t.en_US=t.en,t.it={current:\"attuale\",time:\"tempo\"},t.it_IT=t.it,t.it_CH=t.it,t.nl={current:\"huidige\",time:\"tijd\"},t.nl_NL=t.nl,t.nl_BE=t.nl,t.de={current:\"Aktuelle\",time:\"Zeit\"},t.de_DE=t.de,t.fr={current:\"actuel\",time:\"heure\"},t.fr_FR=t.fr,t.fr_CA=t.fr,t.fr_BE=t.fr,t.es={current:\"corriente\",time:\"hora\"},t.es_ES=t.es,t.uk={current:\"\\u043F\\u043E\\u0442\\u043E\\u0447\\u043D\\u0438\\u0439\",time:\"\\u0447\\u0430\\u0441\"},t.uk_UA=t.uk,t.ru={current:\"\\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0435\",time:\"\\u0432\\u0440\\u0435\\u043C\\u044F\"},t.ru_RU=t.ru}),wn=function(t){function o(t,n){var i;return We(this,o),i=Xe(this,Be(o).call(this)),i.body=t,i.defaultOptions={moment:e,locales:kn,locale:\"en\",id:void 0,title:void 0},i.options=So.extend({},i.defaultOptions),i.customTime=n&&n.time?n.time:new Date,i.eventParams={},i.setOptions(n),i._create(),i}return Ve(o,t),ze(o,[{key:\"setOptions\",value:function(e){e&&So.selectiveExtend([\"moment\",\"locale\",\"locales\",\"id\",\"title\",\"rtl\"],this.options,e)}},{key:\"_create\",value:function(){function e(t){this.body.range._onMouseWheel(t)}var t=document.createElement(\"div\");t[\"custom-time\"]=this,t.className=\"vis-custom-time \".concat(this.options.id||\"\"),t.style.position=\"absolute\",t.style.top=\"0px\",t.style.height=\"100%\",this.bar=t;var o=document.createElement(\"div\");o.style.position=\"relative\",o.style.top=\"0px\",this.options.rtl?o.style.right=\"-10px\":o.style.left=\"-10px\",o.style.height=\"100%\",o.style.width=\"20px\",o.addEventListener?(o.addEventListener(\"mousewheel\",e.bind(this),!1),o.addEventListener(\"DOMMouseScroll\",e.bind(this),!1)):o.attachEvent(\"onmousewheel\",e.bind(this)),t.appendChild(o),this.hammer=new yn(o),this.hammer.on(\"panstart\",this._onDragStart.bind(this)),this.hammer.on(\"panmove\",this._onDrag.bind(this)),this.hammer.on(\"panend\",this._onDragEnd.bind(this)),this.hammer.get(\"pan\").set({threshold:5,direction:yn.DIRECTION_ALL})}},{key:\"destroy\",value:function(){this.hide(),this.hammer.destroy(),this.hammer=null,this.body=null}},{key:\"redraw\",value:function(){var e=this.body.dom.backgroundVertical;this.bar.parentNode!=e&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),e.appendChild(this.bar));var t=this.body.util.toScreen(this.customTime),o=this.options.locales[this.options.locale];o||(!this.warned&&(console.log(\"WARNING: options.locales['\".concat(this.options.locale,\"'] not found. See http://visjs.org/docs/timeline/#Localization\")),this.warned=!0),o=this.options.locales.en);var n=this.options.title;return void 0===n?(n=\"\".concat(o.time,\": \").concat(this.options.moment(this.customTime).format(\"dddd, MMMM Do YYYY, H:mm:ss\")),n=n.charAt(0).toUpperCase()+n.substring(1)):\"function\"==typeof n&&(n=n.call(this.customTime)),this.options.rtl?this.bar.style.right=\"\".concat(t,\"px\"):this.bar.style.left=\"\".concat(t,\"px\"),this.bar.title=n,!1}},{key:\"hide\",value:function(){this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar)}},{key:\"setCustomTime\",value:function(e){this.customTime=So.convert(e,\"Date\"),this.redraw()}},{key:\"getCustomTime\",value:function(){return new Date(this.customTime.valueOf())}},{key:\"setCustomTitle\",value:function(e){this.options.title=e}},{key:\"_onDragStart\",value:function(e){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,e.stopPropagation()}},{key:\"_onDrag\",value:function(e){if(this.eventParams.dragging){var t=this.options.rtl?-1*e.deltaX:e.deltaX,o=this.body.util.toScreen(this.eventParams.customTime)+t,n=this.body.util.toTime(o);this.setCustomTime(n),this.body.emitter.emit(\"timechange\",{id:this.options.id,time:new Date(this.customTime.valueOf()),event:e}),e.stopPropagation()}}},{key:\"_onDragEnd\",value:function(e){this.eventParams.dragging&&(this.body.emitter.emit(\"timechanged\",{id:this.options.id,time:new Date(this.customTime.valueOf()),event:e}),e.stopPropagation())}}],[{key:\"customTimeFromTarget\",value:function(e){for(var t=e.target;t;){if(t.hasOwnProperty(\"custom-time\"))return t[\"custom-time\"];t=t.parentNode}return null}}]),o}(dn),xn=function(){function e(){We(this,e)}return ze(e,[{key:\"_create\",value:function(e){function t(e){this.isActive()&&this.emit(\"mousewheel\",e);var t=0,o=0;if(\"detail\"in e&&(o=-1*e.detail),\"wheelDelta\"in e&&(o=e.wheelDelta),\"wheelDeltaY\"in e&&(o=e.wheelDeltaY),\"wheelDeltaX\"in e&&(t=-1*e.wheelDeltaX),\"axis\"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=-1*o,o=0),\"deltaY\"in e&&(o=-1*e.deltaY),\"deltaX\"in e&&(t=e.deltaX),e.deltaMode&&(1===e.deltaMode?(t*=40,o*=40):(t*=40,o*=800)),this.options.preferZoom){if(!this.options.zoomKey||e[this.options.zoomKey])return;}else if(this.options.zoomKey&&e[this.options.zoomKey])return;if(this.options.verticalScroll||this.options.horizontalScroll)if(this.options.verticalScroll&&Xt(o)>=Xt(t)){var n=this.props.scrollTop,i=n+o;if(this.isActive()){var a=this._setScrollTop(i);a!==n&&(this._redraw(),this.emit(\"scroll\",e),e.preventDefault())}}else if(this.options.horizontalScroll){var r=Xt(t)>=Xt(o)?t:o,s=r/120*(this.range.end-this.range.start)/20,d=this.range.start+s,l=this.range.end+s;this.range.setRange(d,l,{animation:!1,byUser:!0,event:e}),e.preventDefault()}}function o(e){if(a.options.verticalScroll&&(e.preventDefault(),a.isActive())){var t=-e.target.scrollTop;a._setScrollTop(t),a._redraw(),a.emit(\"scrollSide\",e)}}function n(e){if(e.preventDefault&&e.preventDefault(),!!(-1<e.target.className.indexOf(\"timeline\")))return d?void 0:(e.dataTransfer.dropEffect=\"move\",d=!0,!1)}var i=this;this.dom={},this.dom.container=e,this.dom.container.style.position=\"relative\",this.dom.root=document.createElement(\"div\"),this.dom.background=document.createElement(\"div\"),this.dom.backgroundVertical=document.createElement(\"div\"),this.dom.backgroundHorizontal=document.createElement(\"div\"),this.dom.centerContainer=document.createElement(\"div\"),this.dom.leftContainer=document.createElement(\"div\"),this.dom.rightContainer=document.createElement(\"div\"),this.dom.center=document.createElement(\"div\"),this.dom.left=document.createElement(\"div\"),this.dom.right=document.createElement(\"div\"),this.dom.top=document.createElement(\"div\"),this.dom.bottom=document.createElement(\"div\"),this.dom.shadowTop=document.createElement(\"div\"),this.dom.shadowBottom=document.createElement(\"div\"),this.dom.shadowTopLeft=document.createElement(\"div\"),this.dom.shadowBottomLeft=document.createElement(\"div\"),this.dom.shadowTopRight=document.createElement(\"div\"),this.dom.shadowBottomRight=document.createElement(\"div\"),this.dom.rollingModeBtn=document.createElement(\"div\"),this.dom.loadingScreen=document.createElement(\"div\"),this.dom.root.className=\"vis-timeline\",this.dom.background.className=\"vis-panel vis-background\",this.dom.backgroundVertical.className=\"vis-panel vis-background vis-vertical\",this.dom.backgroundHorizontal.className=\"vis-panel vis-background vis-horizontal\",this.dom.centerContainer.className=\"vis-panel vis-center\",this.dom.leftContainer.className=\"vis-panel vis-left\",this.dom.rightContainer.className=\"vis-panel vis-right\",this.dom.top.className=\"vis-panel vis-top\",this.dom.bottom.className=\"vis-panel vis-bottom\",this.dom.left.className=\"vis-content\",this.dom.center.className=\"vis-content\",this.dom.right.className=\"vis-content\",this.dom.shadowTop.className=\"vis-shadow vis-top\",this.dom.shadowBottom.className=\"vis-shadow vis-bottom\",this.dom.shadowTopLeft.className=\"vis-shadow vis-top\",this.dom.shadowBottomLeft.className=\"vis-shadow vis-bottom\",this.dom.shadowTopRight.className=\"vis-shadow vis-top\",this.dom.shadowBottomRight.className=\"vis-shadow vis-bottom\",this.dom.rollingModeBtn.className=\"vis-rolling-mode-btn\",this.dom.loadingScreen.className=\"vis-loading-screen\",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on(\"rangechange\",function(){!0===i.initialDrawDone&&i._redraw()}),this.on(\"rangechanged\",function(){i.initialRangeChangeDone||(i.initialRangeChangeDone=!0)}),this.on(\"touch\",this._onTouch.bind(this)),this.on(\"panmove\",this._onDrag.bind(this));var a=this;this._origRedraw=this._redraw.bind(this),this._redraw=So.throttle(this._origRedraw),this.on(\"_change\",function(e){a.itemSet&&a.itemSet.initialItemSetDrawn&&e&&!0==e.queue?a._redraw():a._origRedraw()}),this.hammer=new yn(this.dom.root);var r=this.hammer.get(\"pinch\").set({enable:!0});r&&kt(r),this.hammer.get(\"pan\").set({threshold:5,direction:yn.DIRECTION_ALL}),this.listeners={};[\"tap\",\"doubletap\",\"press\",\"pinch\",\"pan\",\"panstart\",\"panmove\",\"panend\"].forEach(function(e){var t=function(t){a.isActive()&&a.emit(e,t)};a.hammer.on(e,t),a.listeners[e]=t}),_t(this.hammer,function(e){a.emit(\"touch\",e)}),vt(this.hammer,function(e){a.emit(\"release\",e)});var s=\"onwheel\"in document.createElement(\"div\")?\"wheel\":void 0===document.onmousewheel?this.dom.centerContainer.addEventListener?\"DOMMouseScroll\":\"onmousewheel\":\"mousewheel\";this.dom.centerContainer.addEventListener(s,t.bind(this),!1),this.dom.left.parentNode.addEventListener(\"scroll\",o.bind(this)),this.dom.right.parentNode.addEventListener(\"scroll\",o.bind(this));var d=!1;if(this.dom.center.addEventListener(\"dragover\",n.bind(this),!1),this.dom.center.addEventListener(\"drop\",function(e){e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation();try{var t=JSON.parse(e.dataTransfer.getData(\"text\"));if(!t||!t.content)return}catch(e){return!1}return d=!1,e.center={x:e.clientX,y:e.clientY},\"item\"===t.target?a.itemSet._onDropObjectOnItem(e):a.itemSet._onAddItem(e),a.emit(\"drop\",a.getEventProperties(e)),!1}.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,this.initialRangeChangeDone=!1,!e)throw new Error(\"No container provided\");e.appendChild(this.dom.root),e.appendChild(this.dom.loadingScreen)}},{key:\"setOptions\",value:function(e){if(e){if(So.selectiveExtend([\"width\",\"height\",\"minHeight\",\"maxHeight\",\"autoResize\",\"start\",\"end\",\"clickToUse\",\"dataAttributes\",\"hiddenDates\",\"locale\",\"locales\",\"moment\",\"preferZoom\",\"rtl\",\"zoomKey\",\"horizontalScroll\",\"verticalScroll\"],this.options,e),this.dom.rollingModeBtn.style.visibility=\"hidden\",this.options.rtl&&(this.dom.container.style.direction=\"rtl\",this.dom.backgroundVertical.className=\"vis-panel vis-background vis-vertical-rtl\"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className=\"vis-panel vis-right vis-vertical-scroll\":this.dom.leftContainer.className=\"vis-panel vis-left vis-vertical-scroll\"),\"object\"!==je(this.options.orientation)&&(this.options.orientation={item:void 0,axis:void 0}),\"orientation\"in e&&(\"string\"==typeof e.orientation?this.options.orientation={item:e.orientation,axis:e.orientation}:\"object\"===je(e.orientation)&&(\"item\"in e.orientation&&(this.options.orientation.item=e.orientation.item),\"axis\"in e.orientation&&(this.options.orientation.axis=e.orientation.axis))),\"both\"===this.options.orientation.axis){if(!this.timeAxis2){var t=this.timeAxis2=new bn(this.body);t.setOptions=function(e){var o=e?So.extend({},e):{};o.orientation=\"top\",bn.prototype.setOptions.call(t,o)},this.components.push(t)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}\"function\"==typeof e.drawPoints&&(e.drawPoints={onRender:e.drawPoints}),\"hiddenDates\"in this.options&&et(this.options.moment,this.body,this.options.hiddenDates),\"clickToUse\"in e&&(e.clickToUse?!this.activator&&(this.activator=new wt(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),this._initAutoResize()}if(this.components.forEach(function(t){return t.setOptions(e)}),\"configure\"in e){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(e.configure);var n=So.deepExtend({},this.options);this.components.forEach(function(e){So.deepExtend(n,e.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()}},{key:\"isActive\",value:function(){return!this.activator||this.activator.active}},{key:\"destroy\",value:function(){for(var e in this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator),this.listeners)this.listeners.hasOwnProperty(e)&&delete this.listeners[e];this.listeners=null,this.hammer&&this.hammer.destroy(),this.hammer=null,this.components.forEach(function(e){return e.destroy()}),this.body=null}},{key:\"setCustomTime\",value:function(e,t){var o=this.customTimes.filter(function(e){return t===e.options.id});if(0===o.length)throw new Error(\"No custom time bar found with id \".concat(JSON.stringify(t)));0<o.length&&o[0].setCustomTime(e)}},{key:\"getCustomTime\",value:function(e){var t=this.customTimes.filter(function(t){return t.options.id===e});if(0===t.length)throw new Error(\"No custom time bar found with id \".concat(JSON.stringify(e)));return t[0].getCustomTime()}},{key:\"setCustomTimeTitle\",value:function(e,t){var o=this.customTimes.filter(function(e){return e.options.id===t});if(0===o.length)throw new Error(\"No custom time bar found with id \".concat(JSON.stringify(t)));return 0<o.length?o[0].setCustomTitle(e):void 0}},{key:\"getEventProperties\",value:function(e){return{event:e}}},{key:\"addCustomTime\",value:function(e,t){var o=void 0===e?new Date:So.convert(e,\"Date\").valueOf(),n=this.customTimes.some(function(e){return e.options.id===t});if(n)throw new Error(\"A custom time with id \".concat(JSON.stringify(t),\" already exists\"));var i=new wn(this.body,So.extend({},this.options,{time:o,id:t}));return this.customTimes.push(i),this.components.push(i),this._redraw(),t}},{key:\"removeCustomTime\",value:function(e){var t=this,o=this.customTimes.filter(function(t){return t.options.id===e});if(0===o.length)throw new Error(\"No custom time bar found with id \".concat(JSON.stringify(e)));o.forEach(function(e){t.customTimes.splice(t.customTimes.indexOf(e),1),t.components.splice(t.components.indexOf(e),1),e.destroy()})}},{key:\"getVisibleItems\",value:function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]}},{key:\"getVisibleGroups\",value:function(){return this.itemSet&&this.itemSet.getVisibleGroups()||[]}},{key:\"fit\",value:function(e,t){var o=this.getDataRange();if(null!==o.min||null!==o.max){var n=o.max-o.min,i=new Date(o.min.valueOf()-.01*n),a=new Date(o.max.valueOf()+.01*n),r=!(e&&void 0!==e.animation)||e.animation;this.range.setRange(i,a,{animation:r},t)}}},{key:\"getDataRange\",value:function(){throw new Error(\"Cannot invoke abstract method getDataRange\")}},{key:\"setWindow\",value:function(e,t,o,n){\"function\"==typeof arguments[2]&&(n=arguments[2],o={});var i,a;1==arguments.length?(a=arguments[0],i=void 0===a.animation||a.animation,this.range.setRange(a.start,a.end,{animation:i})):2==arguments.length&&\"function\"==typeof arguments[1]?(a=arguments[0],n=arguments[1],i=void 0===a.animation||a.animation,this.range.setRange(a.start,a.end,{animation:i},n)):(i=!(o&&void 0!==o.animation)||o.animation,this.range.setRange(e,t,{animation:i},n))}},{key:\"moveTo\",value:function(e,o,n){\"function\"==typeof arguments[1]&&(n=arguments[1],o={});var i=this.range.end-this.range.start,a=So.convert(e,\"Date\").valueOf(),t=!(o&&void 0!==o.animation)||o.animation;this.range.setRange(a-i/2,a+i/2,{animation:t},n)}},{key:\"getWindow\",value:function(){var e=this.range.getRange();return{start:new Date(e.start),end:new Date(e.end)}}},{key:\"zoomIn\",value:function(e,t,o){if(!(!e||0>e||1<e)){\"function\"==typeof arguments[1]&&(o=arguments[1],t={});var n=this.getWindow(),i=n.start.valueOf(),a=n.end.valueOf(),r=a-i,s=(r-r/(1+e))/2;this.setWindow(i+s,a-s,t,o)}}},{key:\"zoomOut\",value:function(e,t,o){if(!(!e||0>e||1<e)){\"function\"==typeof arguments[1]&&(o=arguments[1],t={});var n=this.getWindow(),i=n.start.valueOf(),a=n.end.valueOf(),r=a-i;this.setWindow(i-r*e/2,a+r*e/2,t,o)}}},{key:\"redraw\",value:function(){this._redraw()}},{key:\"_redraw\",value:function(){this.redrawCount++;var e=!1,t=this.options,o=this.props,n=this.dom;if(n&&n.container&&0!=n.root.offsetWidth){tt(this.options.moment,this.body,this.options.hiddenDates),\"top\"==t.orientation?(So.addClassName(n.root,\"vis-top\"),So.removeClassName(n.root,\"vis-bottom\")):(So.removeClassName(n.root,\"vis-top\"),So.addClassName(n.root,\"vis-bottom\")),t.rtl?(So.addClassName(n.root,\"vis-rtl\"),So.removeClassName(n.root,\"vis-ltr\")):(So.addClassName(n.root,\"vis-ltr\"),So.removeClassName(n.root,\"vis-rtl\")),n.root.style.maxHeight=So.option.asSize(t.maxHeight,\"\"),n.root.style.minHeight=So.option.asSize(t.minHeight,\"\"),n.root.style.width=So.option.asSize(t.width,\"\"),o.border.left=(n.centerContainer.offsetWidth-n.centerContainer.clientWidth)/2,o.border.right=o.border.left,o.border.top=(n.centerContainer.offsetHeight-n.centerContainer.clientHeight)/2,o.border.bottom=o.border.top,o.borderRootHeight=n.root.offsetHeight-n.root.clientHeight,o.borderRootWidth=n.root.offsetWidth-n.root.clientWidth,0===n.centerContainer.clientHeight&&(o.border.left=o.border.top,o.border.right=o.border.left),0===n.root.clientHeight&&(o.borderRootWidth=o.borderRootHeight),o.center.height=n.center.offsetHeight,o.left.height=n.left.offsetHeight,o.right.height=n.right.offsetHeight,o.top.height=n.top.clientHeight||-o.border.top,o.bottom.height=n.bottom.clientHeight||-o.border.bottom;var i=$t(o.left.height,o.center.height,o.right.height),a=o.top.height+i+o.bottom.height+o.borderRootHeight+o.border.top+o.border.bottom;n.root.style.height=So.option.asSize(t.height,\"\".concat(a,\"px\")),o.root.height=n.root.offsetHeight,o.background.height=o.root.height-o.borderRootHeight;var r=o.root.height-o.top.height-o.bottom.height-o.borderRootHeight;o.centerContainer.height=r,o.leftContainer.height=r,o.rightContainer.height=o.leftContainer.height,o.root.width=n.root.offsetWidth,o.background.width=o.root.width-o.borderRootWidth,this.initialDrawDone||(o.scrollbarWidth=So.getScrollBarWidth()),t.verticalScroll?t.rtl?(o.left.width=n.leftContainer.clientWidth||-o.border.left,o.right.width=n.rightContainer.clientWidth+o.scrollbarWidth||-o.border.right):(o.left.width=n.leftContainer.clientWidth+o.scrollbarWidth||-o.border.left,o.right.width=n.rightContainer.clientWidth||-o.border.right):(o.left.width=n.leftContainer.clientWidth||-o.border.left,o.right.width=n.rightContainer.clientWidth||-o.border.right),this._setDOM();var s=this._updateScrollTop();\"top\"!=t.orientation.item&&(s+=$t(o.centerContainer.height-o.center.height-o.border.top-o.border.bottom,0)),n.center.style.top=\"\".concat(s,\"px\");var d=0==o.scrollTop?\"hidden\":\"\",l=o.scrollTop==o.scrollTopMin?\"hidden\":\"\";n.shadowTop.style.visibility=d,n.shadowBottom.style.visibility=l,n.shadowTopLeft.style.visibility=d,n.shadowBottomLeft.style.visibility=l,n.shadowTopRight.style.visibility=d,n.shadowBottomRight.style.visibility=l,t.verticalScroll&&(n.rightContainer.className=\"vis-panel vis-right vis-vertical-scroll\",n.leftContainer.className=\"vis-panel vis-left vis-vertical-scroll\",n.shadowTopRight.style.visibility=\"hidden\",n.shadowBottomRight.style.visibility=\"hidden\",n.shadowTopLeft.style.visibility=\"hidden\",n.shadowBottomLeft.style.visibility=\"hidden\",n.left.style.top=\"0px\",n.right.style.top=\"0px\"),(!t.verticalScroll||o.center.height<o.centerContainer.height)&&(n.left.style.top=\"\".concat(s,\"px\"),n.right.style.top=\"\".concat(s,\"px\"),n.rightContainer.className=n.rightContainer.className.replace(/(?:^|\\s)vis-vertical-scroll(?:\\s|$)/,\" \"),n.leftContainer.className=n.leftContainer.className.replace(/(?:^|\\s)vis-vertical-scroll(?:\\s|$)/,\" \"),o.left.width=n.leftContainer.clientWidth||-o.border.left,o.right.width=n.rightContainer.clientWidth||-o.border.right,this._setDOM());var p=o.center.height>o.centerContainer.height;this.hammer.get(\"pan\").set({direction:p?yn.DIRECTION_ALL:yn.DIRECTION_HORIZONTAL}),this.components.forEach(function(t){e=t.redraw()||e});if(e){if(5>this.redrawCount)return void this.body.emitter.emit(\"_change\");console.log(\"WARNING: infinite loop in redraw?\")}else this.redrawCount=0;this.body.emitter.emit(\"changed\")}}},{key:\"_setDOM\",value:function(){var e=this.props,t=this.dom;e.leftContainer.width=e.left.width,e.rightContainer.width=e.right.width;var o=e.root.width-e.left.width-e.right.width-e.borderRootWidth;e.center.width=o,e.centerContainer.width=o,e.top.width=o,e.bottom.width=o,t.background.style.height=\"\".concat(e.background.height,\"px\"),t.backgroundVertical.style.height=\"\".concat(e.background.height,\"px\"),t.backgroundHorizontal.style.height=\"\".concat(e.centerContainer.height,\"px\"),t.centerContainer.style.height=\"\".concat(e.centerContainer.height,\"px\"),t.leftContainer.style.height=\"\".concat(e.leftContainer.height,\"px\"),t.rightContainer.style.height=\"\".concat(e.rightContainer.height,\"px\"),t.background.style.width=\"\".concat(e.background.width,\"px\"),t.backgroundVertical.style.width=\"\".concat(e.centerContainer.width,\"px\"),t.backgroundHorizontal.style.width=\"\".concat(e.background.width,\"px\"),t.centerContainer.style.width=\"\".concat(e.center.width,\"px\"),t.top.style.width=\"\".concat(e.top.width,\"px\"),t.bottom.style.width=\"\".concat(e.bottom.width,\"px\"),t.background.style.left=\"0\",t.background.style.top=\"0\",t.backgroundVertical.style.left=\"\".concat(e.left.width+e.border.left,\"px\"),t.backgroundVertical.style.top=\"0\",t.backgroundHorizontal.style.left=\"0\",t.backgroundHorizontal.style.top=\"\".concat(e.top.height,\"px\"),t.centerContainer.style.left=\"\".concat(e.left.width,\"px\"),t.centerContainer.style.top=\"\".concat(e.top.height,\"px\"),t.leftContainer.style.left=\"0\",t.leftContainer.style.top=\"\".concat(e.top.height,\"px\"),t.rightContainer.style.left=\"\".concat(e.left.width+e.center.width,\"px\"),t.rightContainer.style.top=\"\".concat(e.top.height,\"px\"),t.top.style.left=\"\".concat(e.left.width,\"px\"),t.top.style.top=\"0\",t.bottom.style.left=\"\".concat(e.left.width,\"px\"),t.bottom.style.top=\"\".concat(e.top.height+e.centerContainer.height,\"px\"),t.center.style.left=\"0\",t.left.style.left=\"0\",t.right.style.left=\"0\"}},{key:\"setCurrentTime\",value:function(e){if(!this.currentTime)throw new Error(\"Option showCurrentTime must be true\");this.currentTime.setCurrentTime(e)}},{key:\"getCurrentTime\",value:function(){if(!this.currentTime)throw new Error(\"Option showCurrentTime must be true\");return this.currentTime.getCurrentTime()}},{key:\"_toTime\",value:function(e){return rt(this,e,this.props.center.width)}},{key:\"_toGlobalTime\",value:function(e){return rt(this,e,this.props.root.width)}},{key:\"_toScreen\",value:function(e){return at(this,e,this.props.center.width)}},{key:\"_toGlobalScreen\",value:function(e){return at(this,e,this.props.root.width)}},{key:\"_initAutoResize\",value:function(){!0==this.options.autoResize?this._startAutoResize():this._stopAutoResize()}},{key:\"_startAutoResize\",value:function(){var e=this;this._stopAutoResize(),this._onResize=function(){return!0==e.options.autoResize?void(e.dom.root&&(e.dom.root.offsetWidth!=e.props.lastWidth||e.dom.root.offsetHeight!=e.props.lastHeight)&&(e.props.lastWidth=e.dom.root.offsetWidth,e.props.lastHeight=e.dom.root.offsetHeight,e.props.scrollbarWidth=So.getScrollBarWidth(),e.body.emitter.emit(\"_change\"))):void e._stopAutoResize()},So.addEventListener(window,\"resize\",this._onResize),e.dom.root&&(e.props.lastWidth=e.dom.root.offsetWidth,e.props.lastHeight=e.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)}},{key:\"_stopAutoResize\",value:function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(So.removeEventListener(window,\"resize\",this._onResize),this._onResize=null)}},{key:\"_onTouch\",value:function(){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop}},{key:\"_onPinch\",value:function(){this.touch.allowDragging=!1}},{key:\"_onDrag\",value:function(e){if(e&&this.touch.allowDragging){var t=e.deltaY,o=this._getScrollTop(),n=this._setScrollTop(this.touch.initialScrollTop+t);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),n!=o&&this.emit(\"verticalDrag\")}}},{key:\"_setScrollTop\",value:function(e){return this.props.scrollTop=e,this._updateScrollTop(),this.props.scrollTop}},{key:\"_updateScrollTop\",value:function(){var e=Jt(this.props.centerContainer.height-this.props.center.height,0);return e!=this.props.scrollTopMin&&(\"top\"!=this.options.orientation.item&&(this.props.scrollTop+=e-this.props.scrollTopMin),this.props.scrollTopMin=e),0<this.props.scrollTop&&(this.props.scrollTop=0),this.props.scrollTop<e&&(this.props.scrollTop=e),this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),this.props.scrollTop}},{key:\"_getScrollTop\",value:function(){return this.props.scrollTop}},{key:\"_createConfigurator\",value:function(){throw new Error(\"Cannot invoke abstract method _createConfigurator\")}}]),e}();mn(xn.prototype);var Dn=function(t){function o(t,n){var i;return We(this,o),i=Xe(this,Be(o).call(this)),i.body=t,i.defaultOptions={rtl:!1,showCurrentTime:!0,alignCurrentTime:void 0,moment:e,locales:kn,locale:\"en\"},i.options=So.extend({},i.defaultOptions),i.offset=0,i._create(),i.setOptions(n),i}return Ve(o,t),ze(o,[{key:\"_create\",value:function(){var e=document.createElement(\"div\");e.className=\"vis-current-time\",e.style.position=\"absolute\",e.style.top=\"0px\",e.style.height=\"100%\",this.bar=e}},{key:\"destroy\",value:function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null}},{key:\"setOptions\",value:function(e){e&&So.selectiveExtend([\"rtl\",\"showCurrentTime\",\"alignCurrentTime\",\"moment\",\"locale\",\"locales\"],this.options,e)}},{key:\"redraw\",value:function(){if(this.options.showCurrentTime){var e=this.body.dom.backgroundVertical;this.bar.parentNode!=e&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),e.appendChild(this.bar),this.start());var t=this.options.moment(new Date().valueOf()+this.offset);this.options.alignCurrentTime&&(t=t.startOf(this.options.alignCurrentTime));var o=this.body.util.toScreen(t),n=this.options.locales[this.options.locale];n||(!this.warned&&(console.log(\"WARNING: options.locales['\".concat(this.options.locale,\"'] not found. See http://visjs.org/docs/timeline/#Localization\")),this.warned=!0),n=this.options.locales.en);var i=\"\".concat(n.current,\" \").concat(n.time,\": \").concat(t.format(\"dddd, MMMM Do YYYY, H:mm:ss\"));i=i.charAt(0).toUpperCase()+i.substring(1),this.options.rtl?this.bar.style.right=\"\".concat(o,\"px\"):this.bar.style.left=\"\".concat(o,\"px\"),this.bar.title=i}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1}},{key:\"start\",value:function(){function e(){t.stop();var o=t.body.range.conversion(t.body.domProps.center.width).scale,n=1/o/10;30>n&&(n=30),1e3<n&&(n=1e3),t.redraw(),t.body.emitter.emit(\"currentTimeTick\"),t.currentTimeTimer=setTimeout(e,n)}var t=this;e()}},{key:\"stop\",value:function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)}},{key:\"setCurrentTime\",value:function(e){var o=So.convert(e,\"Date\").valueOf(),t=new Date().valueOf();this.offset=o-t,this.redraw()}},{key:\"getCurrentTime\",value:function(){return new Date(new Date().valueOf()+this.offset)}}]),o}(dn),Sn=.001,Cn=Object.freeze({orderByStart:Dt,orderByEnd:St,stack:Ct,substack:Tt,nostack:Ot,stackSubgroups:Mt,stackSubgroupsWithInnerStack:It,collision:Pt,collisionByTimes:Et}),Tn={UNGROUPED:\"__ungrouped__\",BACKGROUND:\"__background__\"},On=function(){function e(t,o,n){if(We(this,e),this.groupId=t,this.subgroups={},this.subgroupStack={},this.subgroupStackAll=!1,this.doInnerStack=!1,this.shouldBailStackItems=!1,this.subgroupIndex=0,this.subgroupOrderer=o&&o.subgroupOrder,this.itemSet=n,this.isVisible=null,this.stackDirty=!0,o&&o.nestedGroups&&(this.nestedGroups=o.nestedGroups,this.showNested=!1!=o.showNested),o&&o.subgroupStack)if(\"boolean\"==typeof o.subgroupStack)this.doInnerStack=o.subgroupStack,this.subgroupStackAll=o.subgroupStack;else for(var i in o.subgroupStack)this.subgroupStack[i]=o.subgroupStack[i],this.doInnerStack=this.doInnerStack||o.subgroupStack[i];this.heightMode=o&&o.heightMode?o.heightMode:n.options.groupHeightMode,this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var a=this;this.itemSet.body.emitter.on(\"checkRangedItems\",function(){a.checkRangedItems=!0}),this._create(),this.setData(o)}return ze(e,[{key:\"_create\",value:function(){var e=document.createElement(\"div\");e.className=this.itemSet.options.groupEditable.order?\"vis-label draggable\":\"vis-label\",this.dom.label=e;var t=document.createElement(\"div\");t.className=\"vis-inner\",e.appendChild(t),this.dom.inner=t;var o=document.createElement(\"div\");o.className=\"vis-group\",o[\"vis-group\"]=this,this.dom.foreground=o,this.dom.background=document.createElement(\"div\"),this.dom.background.className=\"vis-group\",this.dom.axis=document.createElement(\"div\"),this.dom.axis.className=\"vis-group\",this.dom.marker=document.createElement(\"div\"),this.dom.marker.style.visibility=\"hidden\",this.dom.marker.style.position=\"absolute\",this.dom.marker.innerHTML=\"\",this.dom.background.appendChild(this.dom.marker)}},{key:\"setData\",value:function(e){if(!this.itemSet.groupTouchParams.isDragging){var t,o;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(o=this.itemSet.options.groupTemplate.bind(this),t=o(e,this.dom.inner)):t=e&&e.content,t instanceof Element){for(;this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(t)}else if(t instanceof Object&&t.isReactComponent);else t instanceof Object?o(e,this.dom.inner):this.dom.inner.innerHTML=void 0!==t&&null!==t?t:this.groupId||\"\";this.dom.label.title=e&&e.title||\"\",this.dom.inner.firstChild?So.removeClassName(this.dom.inner,\"vis-hidden\"):So.addClassName(this.dom.inner,\"vis-hidden\"),e&&e.nestedGroups?((!this.nestedGroups||this.nestedGroups!=e.nestedGroups)&&(this.nestedGroups=e.nestedGroups),(void 0!==e.showNested||void 0===this.showNested)&&(!1==e.showNested?this.showNested=!1:this.showNested=!0),So.addClassName(this.dom.label,\"vis-nesting-group\"),this.showNested?(So.removeClassName(this.dom.label,\"collapsed\"),So.addClassName(this.dom.label,\"expanded\")):(So.removeClassName(this.dom.label,\"expanded\"),So.addClassName(this.dom.label,\"collapsed\"))):this.nestedGroups&&(this.nestedGroups=null,So.removeClassName(this.dom.label,\"collapsed\"),So.removeClassName(this.dom.label,\"expanded\"),So.removeClassName(this.dom.label,\"vis-nesting-group\")),e&&(e.treeLevel||e.nestedInGroup)?(So.addClassName(this.dom.label,\"vis-nested-group\"),e.treeLevel?So.addClassName(this.dom.label,\"vis-group-level-\"+e.treeLevel):So.addClassName(this.dom.label,\"vis-group-level-unknown-but-gte1\")):So.addClassName(this.dom.label,\"vis-group-level-0\");var n=e&&e.className||null;n!=this.className&&(this.className&&(So.removeClassName(this.dom.label,this.className),So.removeClassName(this.dom.foreground,this.className),So.removeClassName(this.dom.background,this.className),So.removeClassName(this.dom.axis,this.className)),So.addClassName(this.dom.label,n),So.addClassName(this.dom.foreground,n),So.addClassName(this.dom.background,n),So.addClassName(this.dom.axis,n),this.className=n),this.style&&(So.removeCssText(this.dom.label,this.style),this.style=null),e&&e.style&&(So.addCssText(this.dom.label,e.style),this.style=e.style)}}},{key:\"getLabelWidth\",value:function(){return this.props.label.width}},{key:\"_didMarkerHeightChange\",value:function(){var e=this.dom.marker.clientHeight;if(e!=this.lastMarkerHeight){this.lastMarkerHeight=e;var t={},o=0;So.forEach(this.items,function(e,n){if(e.dirty=!0,e.displayed){t[n]=e.redraw(!0),o=t[n].length}});var n=0<o;if(n)for(var a=function(e){So.forEach(t,function(t){t[e]()})},r=0;r<o;r++)a(r);return!0}return!1}},{key:\"_calculateGroupSizeAndPosition\",value:function(){var e=this.dom.foreground.offsetTop,t=this.dom.foreground.offsetLeft,o=this.dom.foreground.offsetWidth;this.top=e,this.right=t,this.width=o}},{key:\"_shouldBailItemsRedraw\",value:function(){var e=this,t=this.itemSet.options.onTimeout,o={relativeBailingTime:this.itemSet.itemsSettingTime,bailTimeMs:t&&t.timeoutMs,userBailFunction:t&&t.callback,shouldBailStackItems:this.shouldBailStackItems},n=null;if(!this.itemSet.initialDrawDone){if(o.shouldBailStackItems)return!0;Xt(new Date-new Date(o.relativeBailingTime))>o.bailTimeMs&&(o.userBailFunction&&null==this.itemSet.userContinueNotBail?o.userBailFunction(function(t){e.itemSet.userContinueNotBail=t,n=!t}):!1==e.itemSet.userContinueNotBail?n=!0:n=!1)}return n}},{key:\"_redrawItems\",value:function(e,t,o,n){var a=this,r=e||this.stackDirty||this.isVisible&&!t;if(r){var s={},d={byEnd:this.orderedItems.byEnd.filter(function(e){return!e.isCluster}),byStart:this.orderedItems.byStart.filter(function(e){return!e.isCluster})},l={byEnd:Ke(new Set(this.orderedItems.byEnd.map(function(e){return e.cluster}).filter(function(e){return!!e}))),byStart:Ke(new Set(this.orderedItems.byStart.map(function(e){return e.cluster}).filter(function(e){return!!e})))},p=function(){var e=a._updateItemsInRange(d,a.visibleItems.filter(function(e){return!e.isCluster}),n),t=a._updateClustersInRange(l,a.visibleItems.filter(function(e){return e.isCluster}),n);return[].concat(Ke(e),Ke(t))};if(\"function\"==typeof this.itemSet.options.order)(function(){var e=a;if(a.doInnerStack&&a.itemSet.options.stackSubgroups){for(var t in a.subgroups)s[t]=a.subgroups[t].items.slice().sort(function(t,o){return e.itemSet.options.order(t.data,o.data)});It(s,o,a.subgroups),a.visibleItems=p()}else{a.visibleItems=p();var n=a.visibleItems.slice().filter(function(e){return e.isCluster||!e.isCluster&&!e.cluster}).sort(function(t,o){return e.itemSet.options.order(t.data,o.data)});a.shouldBailStackItems=Ct(n,o,!0,a._shouldBailItemsRedraw.bind(a))}})();else{var m=this._updateItemsInRange(d,this.visibleItems.filter(function(e){return!e.isCluster}),n),u=this._updateClustersInRange(l,this.visibleItems.filter(function(e){return e.isCluster}),n);if(this.visibleItems=[].concat(Ke(m),Ke(u)),!this.itemSet.options.stack)Ot(this.visibleItems,o,this.subgroups,this.itemSet.options.stackSubgroups);else if(this.doInnerStack&&this.itemSet.options.stackSubgroups){for(var c in this.subgroups)s[c]=this.subgroups[c].items;It(s,o,this.subgroups)}else this.shouldBailStackItems=Ct(this.visibleItems,o,!0,this._shouldBailItemsRedraw.bind(this))}for(var g=0;g<this.visibleItems.length;g++)this.visibleItems[g].repositionX();this.itemSet.options.cluster&&So.forEach(this.items,function(e){e.cluster&&e.displayed&&e.hide()}),this.shouldBailStackItems&&this.itemSet.body.emitter.emit(\"destroyTimeline\"),this.stackDirty=!1}}},{key:\"_didResize\",value:function(e,t){e=So.updateProperty(this,\"height\",t)||e;var o=this.dom.inner.clientWidth,n=this.dom.inner.clientHeight;return e=So.updateProperty(this.props.label,\"width\",o)||e,e=So.updateProperty(this.props.label,\"height\",n)||e,e}},{key:\"_applyGroupHeight\",value:function(e){this.dom.background.style.height=\"\".concat(e,\"px\"),this.dom.foreground.style.height=\"\".concat(e,\"px\"),this.dom.label.style.height=\"\".concat(e,\"px\")}},{key:\"_updateItemsVerticalPosition\",value:function(e){for(var t=0,o=this.visibleItems.length,n;t<o;t++)n=this.visibleItems[t],n.repositionY(e),!this.isVisible&&this.groupId!=Tn.BACKGROUND&&n.displayed&&n.hide()}},{key:\"redraw\",value:function(e,t,o,n){var i=this,a=!1,r=this.isVisible,s=[function(){o=i._didMarkerHeightChange.call(i)||o},this._updateSubGroupHeights.bind(this,t),this._calculateGroupSizeAndPosition.bind(this),function(){i.isVisible=i._isGroupVisible.bind(i)(e,t)},function(){i._redrawItems.bind(i)(o,r,t,e)},this._updateSubgroupsSizes.bind(this),function(){d=i._calculateHeight.bind(i)(t)},this._calculateGroupSizeAndPosition.bind(this),function(){a=i._didResize.bind(i)(a,d)},function(){i._applyGroupHeight.bind(i)(d)},function(){i._updateItemsVerticalPosition.bind(i)(t)},function(){return!i.isVisible&&i.height&&(a=!1),a}.bind(this)],d;if(n)return s;var l;return s.forEach(function(e){l=e()}),l}},{key:\"_updateSubGroupHeights\",value:function(e){if(0<Object.keys(this.subgroups).length){var t=this;this.resetSubgroups(),So.forEach(this.visibleItems,function(o){void 0!==o.data.subgroup&&(t.subgroups[o.data.subgroup].height=$t(t.subgroups[o.data.subgroup].height,o.height+e.item.vertical),t.subgroups[o.data.subgroup].visible=!0)})}}},{key:\"_isGroupVisible\",value:function(e,t){return this.top<=e.body.domProps.centerContainer.height-e.body.domProps.scrollTop+t.axis&&this.top+this.height+t.axis>=-e.body.domProps.scrollTop}},{key:\"_calculateHeight\",value:function(e){var t,o;if(o=\"fixed\"===this.heightMode?So.toArray(this.items):this.visibleItems,0<o.length){var n=o[0].top,i=o[0].top+o[0].height;if(So.forEach(o,function(e){n=Jt(n,e.top),i=$t(i,e.top+e.height)}),n>e.axis){var a=n-e.axis;i-=a,So.forEach(o,function(e){e.top-=a})}t=i+e.item.vertical/2,\"fitItems\"!==this.heightMode&&(t=$t(t,this.props.label.height))}else t=this.props.label.height;return t}},{key:\"show\",value:function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)}},{key:\"hide\",value:function(){var e=this.dom.label;e.parentNode&&e.parentNode.removeChild(e);var t=this.dom.foreground;t.parentNode&&t.parentNode.removeChild(t);var o=this.dom.background;o.parentNode&&o.parentNode.removeChild(o);var n=this.dom.axis;n.parentNode&&n.parentNode.removeChild(n)}},{key:\"add\",value:function(e,t){if(this.items[e.id]=e,e.setParent(this),this.stackDirty=!0,void 0!==e.data.subgroup&&(this._addToSubgroup(e),this.orderSubgroups()),!t&&!this.visibleItems.includes(e)){var o=this.itemSet.body.range;this._checkIfVisible(e,this.visibleItems,o)}}},{key:\"_addToSubgroup\",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:e.data.subgroup;null!=t&&void 0===this.subgroups[t]&&(this.subgroups[t]={height:0,top:0,start:e.data.start,end:e.data.end||e.data.start,visible:!1,index:this.subgroupIndex,items:[],stack:this.subgroupStackAll||this.subgroupStack[t]||!1},this.subgroupIndex++),new Date(e.data.start)<new Date(this.subgroups[t].start)&&(this.subgroups[t].start=e.data.start);var o=e.data.end||e.data.start;new Date(o)>new Date(this.subgroups[t].end)&&(this.subgroups[t].end=o),this.subgroups[t].items.push(e)}},{key:\"_updateSubgroupsSizes\",value:function(){var e=this;if(e.subgroups){var t=function(t){var o=e.subgroups[t].items[0].data.end||e.subgroups[t].items[0].data.start,n=e.subgroups[t].items[0].data.start,i=o-1;e.subgroups[t].items.forEach(function(e){new Date(e.data.start)<new Date(n)&&(n=e.data.start);var t=e.data.end||e.data.start;new Date(t)>new Date(i)&&(i=t)}),e.subgroups[t].start=n,e.subgroups[t].end=new Date(i-1)};for(var o in e.subgroups)t(o)}}},{key:\"orderSubgroups\",value:function(){if(void 0!==this.subgroupOrderer){var e=[];if(\"string\"==typeof this.subgroupOrderer){for(var t in this.subgroups)e.push({subgroup:t,sortField:this.subgroups[t].items[0].data[this.subgroupOrderer]});e.sort(function(e,t){return e.sortField-t.sortField})}else if(\"function\"==typeof this.subgroupOrderer){for(var o in this.subgroups)e.push(this.subgroups[o].items[0].data);e.sort(this.subgroupOrderer)}if(0<e.length)for(var n=0;n<e.length;n++)this.subgroups[e[n].subgroup].index=n}}},{key:\"resetSubgroups\",value:function(){for(var e in this.subgroups)this.subgroups.hasOwnProperty(e)&&(this.subgroups[e].visible=!1,this.subgroups[e].height=0)}},{key:\"remove\",value:function(e){delete this.items[e.id],e.setParent(null),this.stackDirty=!0;var t=this.visibleItems.indexOf(e);-1!=t&&this.visibleItems.splice(t,1),void 0!==e.data.subgroup&&(this._removeFromSubgroup(e),this.orderSubgroups())}},{key:\"_removeFromSubgroup\",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:e.data.subgroup;if(null!=t){var o=this.subgroups[t];if(o){var n=o.items.indexOf(e);0<=n&&(o.items.splice(n,1),o.items.length?this._updateSubgroupsSizes():delete this.subgroups[t])}}}},{key:\"removeFromDataSet\",value:function(e){this.itemSet.removeItem(e.id)}},{key:\"order\",value:function(){for(var e=So.toArray(this.items),t=[],o=[],n=0;n<e.length;n++)void 0!==e[n].data.end&&o.push(e[n]),t.push(e[n]);this.orderedItems={byStart:t,byEnd:o},Dt(this.orderedItems.byStart),St(this.orderedItems.byEnd)}},{key:\"_updateItemsInRange\",value:function(e,t,o){var n=[],a={};if(!this.isVisible&&this.groupId!=Tn.BACKGROUND){for(var r=0,s;r<t.length;r++)s=t[r],s.displayed&&s.hide();return n}var d=(o.end-o.start)/4,l=o.start-d,p=o.end+d,m=function(e){return e<l?-1:e<=p?0:1};if(0<t.length)for(var u=0;u<t.length;u++)this._checkIfVisibleWithReference(t[u],n,a,o);var c=So.binarySearchCustom(e.byStart,m,\"data\",\"start\");if(this._traceVisible(c,e.byStart,n,a,function(e){return e.data.start<l||e.data.start>p}),!0==this.checkRangedItems){this.checkRangedItems=!1;for(var g=0;g<e.byEnd.length;g++)this._checkIfVisibleWithReference(e.byEnd[g],n,a,o)}else{var h=So.binarySearchCustom(e.byEnd,m,\"data\",\"end\");this._traceVisible(h,e.byEnd,n,a,function(e){return e.data.end<l||e.data.end>p})}for(var y={},f=0,b=0,_;b<n.length;b++)if(_=n[b],!_.displayed){y[b]=_.redraw(!0),f=y[b].length}var v=0<f;if(v)for(var k=function(e){So.forEach(y,function(t){t[e]()})},w=0;w<f;w++)k(w);for(var x=0;x<n.length;x++)n[x].repositionX();return n}},{key:\"_traceVisible\",value:function(e,t,o,n,a){if(-1!=e){for(var r=e,s;0<=r&&(s=t[r],!a(s));r--)s.isCluster&&!s.hasItems()||s.cluster||void 0!==n[s.id]||(n[s.id]=!0,o.push(s));for(var d=e+1,l;d<t.length&&(l=t[d],!a(l));d++)l.isCluster&&!l.hasItems()||l.cluster||void 0!==n[l.id]||(n[l.id]=!0,o.push(l))}}},{key:\"_checkIfVisible\",value:function(e,t,o){e.isVisible(o)?(!e.displayed&&e.show(),e.repositionX(),t.push(e)):e.displayed&&e.hide()}},{key:\"_checkIfVisibleWithReference\",value:function(e,t,o,n){e.isVisible(n)?void 0===o[e.id]&&(o[e.id]=!0,t.push(e)):e.displayed&&e.hide()}},{key:\"_updateClustersInRange\",value:function(e,t,o){var n=[],a={};if(0<t.length)for(var r=0;r<t.length;r++)this._checkIfVisibleWithReference(t[r],n,a,o);for(var s=0;s<e.byStart.length;s++)this._checkIfVisibleWithReference(e.byStart[s],n,a,o);for(var d=0;d<e.byEnd.length;d++)this._checkIfVisibleWithReference(e.byEnd[d],n,a,o);for(var l={},p=0,m=0,u;m<n.length;m++)if(u=n[m],!u.displayed){l[m]=u.redraw(!0),p=l[m].length}var c=0<p;if(c)for(var g=0;g<p;g++)So.forEach(l,function(e){e[g]()});for(var h=0;h<n.length;h++)n[h].repositionX();return n}},{key:\"changeSubgroup\",value:function(e,t,o){this._removeFromSubgroup(e,t),this._addToSubgroup(e,o),this.orderSubgroups()}}]),e}(),Mn=function(e){function t(e,o,n){var i;return We(this,t),i=Xe(this,Be(t).call(this,e,o,n)),i.width=0,i.height=0,i.top=0,i.left=0,i}return Ve(t,e),ze(t,[{key:\"redraw\",value:function(e,t){this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,e),this.width=this.dom.background.offsetWidth,this.dom.background.style.height=\"0\";for(var o=0,n=this.visibleItems.length,a;o<n;o++)a=this.visibleItems[o],a.repositionY(t);return!1}},{key:\"show\",value:function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)}}]),t}(On),In=function(){function t(e,o,n){We(this,t),this.id=null,this.parent=null,this.data=e,this.dom=null,this.conversion=o||{},this.options=n||{},this.selected=!1,this.displayed=!1,this.groupShowing=!0,this.dirty=!0,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this._updateEditStatus()}return ze(t,[{key:\"select\",value:function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()}},{key:\"unselect\",value:function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()}},{key:\"setData\",value:function(e){var t=null!=e.group&&this.data.group!=e.group;t&&null!=this.parent&&this.parent.itemSet._moveToGroup(this,e.group),this.parent&&(this.parent.stackDirty=!0);var o=null!=e.subgroup&&this.data.subgroup!=e.subgroup;o&&null!=this.parent&&this.parent.changeSubgroup(this,this.data.subgroup,e.subgroup),this.data=e,this._updateEditStatus(),this.dirty=!0,this.displayed&&this.redraw()}},{key:\"setParent\",value:function(e){this.displayed?(this.hide(),this.parent=e,this.parent&&this.show()):this.parent=e}},{key:\"isVisible\",value:function(){return!1}},{key:\"show\",value:function(){return!1}},{key:\"hide\",value:function(){return!1}},{key:\"redraw\",value:function(){}},{key:\"repositionX\",value:function(){}},{key:\"repositionY\",value:function(){}},{key:\"_repaintDragCenter\",value:function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var e=this,t=document.createElement(\"div\");t.className=\"vis-drag-center\",t.dragCenterItem=this,this.hammerDragCenter=new yn(t),this.hammerDragCenter.on(\"tap\",function(t){e.parent.itemSet.body.emitter.emit(\"click\",{event:t,item:e.id})}),this.hammerDragCenter.on(\"doubletap\",function(t){t.stopPropagation(),e.parent.itemSet._onUpdateItem(e),e.parent.itemSet.body.emitter.emit(\"doubleClick\",{event:t,item:e.id})}),this.hammerDragCenter.on(\"panstart\",e.parent.itemSet._onDragStart.bind(e.parent.itemSet)),this.hammerDragCenter.on(\"panmove\",e.parent.itemSet._onDrag.bind(e.parent.itemSet)),this.hammerDragCenter.on(\"panend\",e.parent.itemSet._onDragEnd.bind(e.parent.itemSet)),this.dom.box?this.dom.dragLeft?this.dom.box.insertBefore(t,this.dom.dragLeft):this.dom.box.appendChild(t):this.dom.point&&this.dom.point.appendChild(t),this.dom.dragCenter=t}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null,this.hammerDragCenter&&(this.hammerDragCenter.destroy(),this.hammerDragCenter=null))}},{key:\"_repaintDeleteButton\",value:function(e){var t=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&t&&!this.dom.deleteButton){var o=this,n=document.createElement(\"div\");n.className=this.options.rtl?\"vis-delete-rtl\":\"vis-delete\",n.title=\"Delete this item\",this.hammerDeleteButton=new yn(n).on(\"tap\",function(e){e.stopPropagation(),o.parent.removeFromDataSet(o)}),e.appendChild(n),this.dom.deleteButton=n}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null,this.hammerDeleteButton&&(this.hammerDeleteButton.destroy(),this.hammerDeleteButton=null))}},{key:\"_repaintOnItemUpdateTimeTooltip\",value:function(t){if(this.options.tooltipOnItemUpdateTime){var o=(this.options.editable.updateTime||!0===this.data.editable)&&!1!==this.data.editable;if(this.selected&&o&&!this.dom.onItemUpdateTimeTooltip){var n=document.createElement(\"div\");n.className=\"vis-onUpdateTime-tooltip\",t.appendChild(n),this.dom.onItemUpdateTimeTooltip=n}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?\"visible\":\"hidden\",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var i=this.parent.itemSet.body.domProps.scrollTop,a;a=\"top\"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=a+this.parent.top-50<-i;r?(this.dom.onItemUpdateTimeTooltip.style.bottom=\"\",this.dom.onItemUpdateTimeTooltip.style.top=\"\".concat(this.height+2,\"px\")):(this.dom.onItemUpdateTimeTooltip.style.top=\"\",this.dom.onItemUpdateTimeTooltip.style.bottom=\"\".concat(this.height+2,\"px\"));var s,d;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(d=this.options.tooltipOnItemUpdateTime.template.bind(this),s=d(this.data)):(s=\"start: \".concat(e(this.data.start).format(\"MM/DD/YYYY hh:mm\")),this.data.end&&(s+=\"<br> end: \".concat(e(this.data.end).format(\"MM/DD/YYYY hh:mm\")))),this.dom.onItemUpdateTimeTooltip.innerHTML=s}}}},{key:\"_getItemData\",value:function(){return this.parent.itemSet.itemsData.get(this.id)}},{key:\"_updateContents\",value:function(e){var t=this._getItemData(),o=this.dom.box||this.dom.point,n=o.getElementsByClassName(\"vis-item-visible-frame\")[0],i,a,r,s,d;if(this.options.visibleFrameTemplate?(d=this.options.visibleFrameTemplate.bind(this),s=d(t,n)):s=\"\",n)if(s instanceof Object&&!(s instanceof Element))d(t,n);else if(a=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(s),a){if(s instanceof Element)n.innerHTML=\"\",n.appendChild(s);else if(null!=s)n.innerHTML=s;else if(\"background\"!=this.data.type||void 0!==this.data.content)throw new Error(\"Property \\\"content\\\" missing in item \".concat(this.id));this.itemVisibleFrameContent=s}if(this.options.template?(r=this.options.template.bind(this),i=r(t,e,this.data)):i=this.data.content,i instanceof Object&&!(i instanceof Element))r(t,e);else if(a=this._contentToString(this.content)!==this._contentToString(i),a){if(i instanceof Element)e.innerHTML=\"\",e.appendChild(i);else if(null!=i)e.innerHTML=i;else if(\"background\"!=this.data.type||void 0!==this.data.content)throw new Error(\"Property \\\"content\\\" missing in item \".concat(this.id));this.content=i}}},{key:\"_updateDataAttributes\",value:function(e){if(this.options.dataAttributes&&0<this.options.dataAttributes.length){var t=[];if(Array.isArray(this.options.dataAttributes))t=this.options.dataAttributes;else if(\"all\"==this.options.dataAttributes)t=Object.keys(this.data);else return;var o=!0,n=!1,i=void 0;try{for(var a=t[Symbol.iterator](),r;!(o=(r=a.next()).done);o=!0){var s=r.value,d=this.data[s];null==d?e.removeAttribute(\"data-\".concat(s)):e.setAttribute(\"data-\".concat(s),d)}}catch(e){n=!0,i=e}finally{try{o||null==a.return||a.return()}finally{if(n)throw i}}}}},{key:\"_updateStyle\",value:function(e){this.style&&(So.removeCssText(e,this.style),this.style=null),this.data.style&&(So.addCssText(e,this.data.style),this.style=this.data.style)}},{key:\"_contentToString\",value:function(e){return\"string\"==typeof e?e:e&&\"outerHTML\"in e?e.outerHTML:e}},{key:\"_updateEditStatus\",value:function(){this.options&&(\"boolean\"==typeof this.options.editable?this.editable={updateTime:this.options.editable,updateGroup:this.options.editable,remove:this.options.editable}:\"object\"===je(this.options.editable)&&(this.editable={},So.selectiveExtend([\"updateTime\",\"updateGroup\",\"remove\"],this.editable,this.options.editable))),this.options&&this.options.editable&&!0===this.options.editable.overrideItems||!this.data||(\"boolean\"==typeof this.data.editable?this.editable={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:\"object\"===je(this.data.editable)&&(this.editable={},So.selectiveExtend([\"updateTime\",\"updateGroup\",\"remove\"],this.editable,this.data.editable)))}},{key:\"getWidthLeft\",value:function(){return 0}},{key:\"getWidthRight\",value:function(){return 0}},{key:\"getTitle\",value:function(){if(this.options.tooltip&&this.options.tooltip.template){var e=this.options.tooltip.template.bind(this);return e(this._getItemData(),this.data)}return this.data.title}}]),t}();In.prototype.stack=!0;var Pn=function(e){function t(e,o,n){var i;if(We(this,t),i=Xe(this,Be(t).call(this)),i.props={dot:{width:0,height:0},line:{width:0,height:0}},i.options=n,e&&null==e.start)throw new Error(\"Property \\\"start\\\" missing in item \".concat(e));return In.call(Ze(i),e,o,n),i}return Ve(t,e),ze(t,[{key:\"isVisible\",value:function e(t){if(this.cluster)return!1;var o=this.data.align||this.options.align,n=this.width*t.getMillisecondsPerPixel(),e;return e=\"right\"==o?this.data.start.getTime()>t.start&&this.data.start.getTime()-n<t.end:\"left\"==o?this.data.start.getTime()+n>t.start&&this.data.start.getTime()<t.end:this.data.start.getTime()+n/2>t.start&&this.data.start.getTime()-n/2<t.end,e}},{key:\"_createDomElement\",value:function(){this.dom||(this.dom={},this.dom.box=document.createElement(\"DIV\"),this.dom.content=document.createElement(\"DIV\"),this.dom.content.className=\"vis-item-content\",this.dom.box.appendChild(this.dom.content),this.dom.line=document.createElement(\"DIV\"),this.dom.line.className=\"vis-line\",this.dom.dot=document.createElement(\"DIV\"),this.dom.dot.className=\"vis-dot\",this.dom.box[\"vis-item\"]=this,this.dirty=!0)}},{key:\"_appendDomElement\",value:function(){if(!this.parent)throw new Error(\"Cannot redraw item: no parent attached\");if(!this.dom.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error(\"Cannot redraw item: parent has no foreground container element\");e.appendChild(this.dom.box)}if(!this.dom.line.parentNode){var t=this.parent.dom.background;if(!t)throw new Error(\"Cannot redraw item: parent has no background container element\");t.appendChild(this.dom.line)}if(!this.dom.dot.parentNode){var o=this.parent.dom.axis;if(!t)throw new Error(\"Cannot redraw item: parent has no axis container element\");o.appendChild(this.dom.dot)}this.displayed=!0}},{key:\"_updateDirtyDomComponents\",value:function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var e=this.editable.updateTime||this.editable.updateGroup,t=(this.data.className?\" \"+this.data.className:\"\")+(this.selected?\" vis-selected\":\"\")+(e?\" vis-editable\":\" vis-readonly\");this.dom.box.className=\"vis-item vis-box\".concat(t),this.dom.line.className=\"vis-item vis-line\".concat(t),this.dom.dot.className=\"vis-item vis-dot\".concat(t)}}},{key:\"_getDomComponentsSizes\",value:function(){return{previous:{right:this.dom.box.style.right,left:this.dom.box.style.left},dot:{height:this.dom.dot.offsetHeight,width:this.dom.dot.offsetWidth},line:{width:this.dom.line.offsetWidth},box:{width:this.dom.box.offsetWidth,height:this.dom.box.offsetHeight}}}},{key:\"_updateDomComponentsSizes\",value:function(e){this.options.rtl?this.dom.box.style.right=\"0px\":this.dom.box.style.left=\"0px\",this.props.dot.height=e.dot.height,this.props.dot.width=e.dot.width,this.props.line.width=e.line.width,this.width=e.box.width,this.height=e.box.height,this.options.rtl?this.dom.box.style.right=e.previous.right:this.dom.box.style.left=e.previous.left,this.dirty=!1}},{key:\"_repaintDomAdditionals\",value:function(){this._repaintOnItemUpdateTimeTooltip(this.dom.box),this._repaintDragCenter(),this._repaintDeleteButton(this.dom.box)}},{key:\"redraw\",value:function(e){var t=this,o=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){t.dirty&&(n=t._getDomComponentsSizes())},function(){t.dirty&&t._updateDomComponentsSizes.bind(t)(n)},this._repaintDomAdditionals.bind(this)],n;if(e)return o;var i;return o.forEach(function(e){i=e()}),i}},{key:\"show\",value:function(e){if(!this.displayed)return this.redraw(e)}},{key:\"hide\",value:function(){if(this.displayed){var e=this.dom;e.box.parentNode&&e.box.parentNode.removeChild(e.box),e.line.parentNode&&e.line.parentNode.removeChild(e.line),e.dot.parentNode&&e.dot.parentNode.removeChild(e.dot),this.displayed=!1}}},{key:\"repositionX\",value:function(){var e=this.conversion.toScreen(this.data.start),t=this.options.align;\"right\"==t?this.options.rtl?(this.right=e-this.width,this.dom.box.style.right=\"\".concat(this.right,\"px\"),this.dom.line.style.right=\"\".concat(e-this.props.line.width,\"px\"),this.dom.dot.style.right=\"\".concat(e-this.props.line.width/2-this.props.dot.width/2,\"px\")):(this.left=e-this.width,this.dom.box.style.left=\"\".concat(this.left,\"px\"),this.dom.line.style.left=\"\".concat(e-this.props.line.width,\"px\"),this.dom.dot.style.left=\"\".concat(e-this.props.line.width/2-this.props.dot.width/2,\"px\")):\"left\"==t?this.options.rtl?(this.right=e,this.dom.box.style.right=\"\".concat(this.right,\"px\"),this.dom.line.style.right=\"\".concat(e,\"px\"),this.dom.dot.style.right=\"\".concat(e+this.props.line.width/2-this.props.dot.width/2,\"px\")):(this.left=e,this.dom.box.style.left=\"\".concat(this.left,\"px\"),this.dom.line.style.left=\"\".concat(e,\"px\"),this.dom.dot.style.left=\"\".concat(e+this.props.line.width/2-this.props.dot.width/2,\"px\")):this.options.rtl?(this.right=e-this.width/2,this.dom.box.style.right=\"\".concat(this.right,\"px\"),this.dom.line.style.right=\"\".concat(e-this.props.line.width,\"px\"),this.dom.dot.style.right=\"\".concat(e-this.props.dot.width/2,\"px\")):(this.left=e-this.width/2,this.dom.box.style.left=\"\".concat(this.left,\"px\"),this.dom.line.style.left=\"\".concat(e-this.props.line.width/2,\"px\"),this.dom.dot.style.left=\"\".concat(e-this.props.dot.width/2,\"px\"))}},{key:\"repositionY\",value:function(){var e=this.options.orientation.item,t=this.dom.box,o=this.dom.line,n=this.dom.dot;if(\"top\"==e)t.style.top=\"\".concat(this.top||0,\"px\"),o.style.top=\"0\",o.style.height=\"\".concat(this.parent.top+this.top+1,\"px\"),o.style.bottom=\"\";else{var i=this.parent.itemSet.props.height,a=i-this.parent.top-this.parent.height+this.top;t.style.top=\"\".concat(this.parent.height-this.top-this.height||0,\"px\"),o.style.top=\"\".concat(i-a,\"px\"),o.style.bottom=\"0\"}n.style.top=\"\".concat(-this.props.dot.height/2,\"px\")}},{key:\"getWidthLeft\",value:function(){return this.width/2}},{key:\"getWidthRight\",value:function(){return this.width/2}}]),t}(In),En=function(e){function t(e,o,n){var i;if(We(this,t),i=Xe(this,Be(t).call(this)),i.props={dot:{top:0,width:0,height:0},content:{height:0,marginLeft:0,marginRight:0}},i.options=n,e&&null==e.start)throw new Error(\"Property \\\"start\\\" missing in item \".concat(e));return In.call(Ze(i),e,o,n),i}return Ve(t,e),ze(t,[{key:\"isVisible\",value:function(e){if(this.cluster)return!1;var t=this.width*e.getMillisecondsPerPixel();return this.data.start.getTime()+t>e.start&&this.data.start<e.end}},{key:\"_createDomElement\",value:function(){this.dom||(this.dom={},this.dom.point=document.createElement(\"div\"),this.dom.content=document.createElement(\"div\"),this.dom.content.className=\"vis-item-content\",this.dom.point.appendChild(this.dom.content),this.dom.dot=document.createElement(\"div\"),this.dom.point.appendChild(this.dom.dot),this.dom.point[\"vis-item\"]=this,this.dirty=!0)}},{key:\"_appendDomElement\",value:function(){if(!this.parent)throw new Error(\"Cannot redraw item: no parent attached\");if(!this.dom.point.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error(\"Cannot redraw item: parent has no foreground container element\");e.appendChild(this.dom.point)}this.displayed=!0}},{key:\"_updateDirtyDomComponents\",value:function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.point),this._updateStyle(this.dom.point);var e=this.editable.updateTime||this.editable.updateGroup,t=(this.data.className?\" \"+this.data.className:\"\")+(this.selected?\" vis-selected\":\"\")+(e?\" vis-editable\":\" vis-readonly\");this.dom.point.className=\"vis-item vis-point\".concat(t),this.dom.dot.className=\"vis-item vis-dot\".concat(t)}}},{key:\"_getDomComponentsSizes\",value:function(){return{dot:{width:this.dom.dot.offsetWidth,height:this.dom.dot.offsetHeight},content:{width:this.dom.content.offsetWidth,height:this.dom.content.offsetHeight},point:{width:this.dom.point.offsetWidth,height:this.dom.point.offsetHeight}}}},{key:\"_updateDomComponentsSizes\",value:function(e){this.props.dot.width=e.dot.width,this.props.dot.height=e.dot.height,this.props.content.height=e.content.height,this.options.rtl?this.dom.content.style.marginRight=\"\".concat(2*this.props.dot.width,\"px\"):this.dom.content.style.marginLeft=\"\".concat(2*this.props.dot.width,\"px\"),this.width=e.point.width,this.height=e.point.height,this.dom.dot.style.top=\"\".concat((this.height-this.props.dot.height)/2,\"px\"),this.options.rtl?this.dom.dot.style.right=\"\".concat(this.props.dot.width/2,\"px\"):this.dom.dot.style.left=\"\".concat(this.props.dot.width/2,\"px\"),this.dirty=!1}},{key:\"_repaintDomAdditionals\",value:function(){this._repaintOnItemUpdateTimeTooltip(this.dom.point),this._repaintDragCenter(),this._repaintDeleteButton(this.dom.point)}},{key:\"redraw\",value:function(e){var t=this,o=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){t.dirty&&(n=t._getDomComponentsSizes())},function(){t.dirty&&t._updateDomComponentsSizes.bind(t)(n)},this._repaintDomAdditionals.bind(this)],n;if(e)return o;var i;return o.forEach(function(e){i=e()}),i}},{key:\"show\",value:function(e){if(!this.displayed)return this.redraw(e)}},{key:\"hide\",value:function(){this.displayed&&(this.dom.point.parentNode&&this.dom.point.parentNode.removeChild(this.dom.point),this.displayed=!1)}},{key:\"repositionX\",value:function(){var e=this.conversion.toScreen(this.data.start);this.options.rtl?(this.right=e-this.props.dot.width,this.dom.point.style.right=\"\".concat(this.right,\"px\")):(this.left=e-this.props.dot.width,this.dom.point.style.left=\"\".concat(this.left,\"px\"))}},{key:\"repositionY\",value:function(){var e=this.options.orientation.item,t=this.dom.point;t.style.top=\"top\"==e?\"\".concat(this.top,\"px\"):\"\".concat(this.parent.height-this.top-this.height,\"px\")}},{key:\"getWidthLeft\",value:function(){return this.props.dot.width}},{key:\"getWidthRight\",value:function(){return this.props.dot.width}}]),t}(In),Yn=function(e){function t(e,o,n){var i;if(We(this,t),i=Xe(this,Be(t).call(this)),i.props={content:{width:0}},i.overflow=!1,i.options=n,e){if(null==e.start)throw new Error(\"Property \\\"start\\\" missing in item \".concat(e.id));if(null==e.end)throw new Error(\"Property \\\"end\\\" missing in item \".concat(e.id))}return In.call(Ze(i),e,o,n),i}return Ve(t,e),ze(t,[{key:\"isVisible\",value:function(e){return!this.cluster&&this.data.start<e.end&&this.data.end>e.start}},{key:\"_createDomElement\",value:function(){this.dom||(this.dom={},this.dom.box=document.createElement(\"div\"),this.dom.frame=document.createElement(\"div\"),this.dom.frame.className=\"vis-item-overflow\",this.dom.box.appendChild(this.dom.frame),this.dom.visibleFrame=document.createElement(\"div\"),this.dom.visibleFrame.className=\"vis-item-visible-frame\",this.dom.box.appendChild(this.dom.visibleFrame),this.dom.content=document.createElement(\"div\"),this.dom.content.className=\"vis-item-content\",this.dom.frame.appendChild(this.dom.content),this.dom.box[\"vis-item\"]=this,this.dirty=!0)}},{key:\"_appendDomElement\",value:function(){if(!this.parent)throw new Error(\"Cannot redraw item: no parent attached\");if(!this.dom.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error(\"Cannot redraw item: parent has no foreground container element\");e.appendChild(this.dom.box)}this.displayed=!0}},{key:\"_updateDirtyDomComponents\",value:function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var e=this.editable.updateTime||this.editable.updateGroup,t=(this.data.className?\" \"+this.data.className:\"\")+(this.selected?\" vis-selected\":\"\")+(e?\" vis-editable\":\" vis-readonly\");this.dom.box.className=this.baseClassName+t,this.dom.content.style.maxWidth=\"none\"}}},{key:\"_getDomComponentsSizes\",value:function(){return this.overflow=\"hidden\"!==window.getComputedStyle(this.dom.frame).overflow,{content:{width:this.dom.content.offsetWidth},box:{height:this.dom.box.offsetHeight}}}},{key:\"_updateDomComponentsSizes\",value:function(e){this.props.content.width=e.content.width,this.height=e.box.height,this.dom.content.style.maxWidth=\"\",this.dirty=!1}},{key:\"_repaintDomAdditionals\",value:function(){this._repaintOnItemUpdateTimeTooltip(this.dom.box),this._repaintDeleteButton(this.dom.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()}},{key:\"redraw\",value:function(e){var t=this,o=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){t.dirty&&(n=t._getDomComponentsSizes.bind(t)())},function(){t.dirty&&t._updateDomComponentsSizes.bind(t)(n)},this._repaintDomAdditionals.bind(this)],n;if(e)return o;var i;return o.forEach(function(e){i=e()}),i}},{key:\"show\",value:function(e){if(!this.displayed)return this.redraw(e)}},{key:\"hide\",value:function(){if(this.displayed){var e=this.dom.box;e.parentNode&&e.parentNode.removeChild(e),this.displayed=!1}}},{key:\"repositionX\",value:function(e){var t=this.parent.width,o=this.conversion.toScreen(this.data.start),n=this.conversion.toScreen(this.data.end),i=void 0===this.data.align?this.options.align:this.data.align,a,r;!1!==this.data.limitSize&&(void 0===e||!0===e)&&(o<-t&&(o=-t),n>2*t&&(n=2*t));var s=$t(n-o+.5,1);this.overflow?(this.options.rtl?this.right=o:this.left=o,this.width=s+this.props.content.width,r=this.props.content.width):(this.options.rtl?this.right=o:this.left=o,this.width=s,r=Jt(n-o,this.props.content.width)),this.options.rtl?this.dom.box.style.right=\"\".concat(this.right,\"px\"):this.dom.box.style.left=\"\".concat(this.left,\"px\"),this.dom.box.style.width=\"\".concat(s,\"px\"),\"left\"===i?this.options.rtl?this.dom.content.style.right=\"0\":this.dom.content.style.left=\"0\":\"right\"===i?this.options.rtl?this.dom.content.style.right=\"\".concat($t(s-r,0),\"px\"):this.dom.content.style.left=\"\".concat($t(s-r,0),\"px\"):\"center\"===i?this.options.rtl?this.dom.content.style.right=\"\".concat($t((s-r)/2,0),\"px\"):this.dom.content.style.left=\"\".concat($t((s-r)/2,0),\"px\"):(a=this.overflow?0<n?$t(-o,0):-r:0>o?-o:0,this.options.rtl?this.dom.content.style.right=\"\".concat(a,\"px\"):this.dom.content.style.left=\"\".concat(a,\"px\"))}},{key:\"repositionY\",value:function(){var e=this.options.orientation.item,t=this.dom.box;t.style.top=\"top\"==e?\"\".concat(this.top,\"px\"):\"\".concat(this.parent.height-this.top-this.height,\"px\")}},{key:\"_repaintDragLeft\",value:function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragLeft){var e=document.createElement(\"div\");e.className=\"vis-drag-left\",e.dragLeftItem=this,this.dom.box.appendChild(e),this.dom.dragLeft=e}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragLeft||(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)}},{key:\"_repaintDragRight\",value:function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragRight){var e=document.createElement(\"div\");e.className=\"vis-drag-right\",e.dragRightItem=this,this.dom.box.appendChild(e),this.dom.dragRight=e}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragRight||(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)}}]),t}(In);Yn.prototype.baseClassName=\"vis-item vis-range\";var Rn=function(e){function t(e,o,n){var i;if(We(this,t),i=Xe(this,Be(t).call(this)),i.props={content:{width:0}},i.overflow=!1,e){if(null==e.start)throw new Error(\"Property \\\"start\\\" missing in item \".concat(e.id));if(null==e.end)throw new Error(\"Property \\\"end\\\" missing in item \".concat(e.id))}return In.call(Ze(i),e,o,n),i}return Ve(t,e),ze(t,[{key:\"isVisible\",value:function(e){return this.data.start<e.end&&this.data.end>e.start}},{key:\"_createDomElement\",value:function(){this.dom||(this.dom={},this.dom.box=document.createElement(\"div\"),this.dom.frame=document.createElement(\"div\"),this.dom.frame.className=\"vis-item-overflow\",this.dom.box.appendChild(this.dom.frame),this.dom.content=document.createElement(\"div\"),this.dom.content.className=\"vis-item-content\",this.dom.frame.appendChild(this.dom.content),this.dirty=!0)}},{key:\"_appendDomElement\",value:function(){if(!this.parent)throw new Error(\"Cannot redraw item: no parent attached\");if(!this.dom.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error(\"Cannot redraw item: parent has no background container element\");e.appendChild(this.dom.box)}this.displayed=!0}},{key:\"_updateDirtyDomComponents\",value:function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var e=(this.data.className?\" \"+this.data.className:\"\")+(this.selected?\" vis-selected\":\"\");this.dom.box.className=this.baseClassName+e}}},{key:\"_getDomComponentsSizes\",value:function(){return this.overflow=\"hidden\"!==window.getComputedStyle(this.dom.content).overflow,{content:{width:this.dom.content.offsetWidth}}}},{key:\"_updateDomComponentsSizes\",value:function(e){this.props.content.width=e.content.width,this.height=0,this.dirty=!1}},{key:\"_repaintDomAdditionals\",value:function(){}},{key:\"redraw\",value:function(e){var t=this,o=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){t.dirty&&(n=t._getDomComponentsSizes.bind(t)())},function(){t.dirty&&t._updateDomComponentsSizes.bind(t)(n)},this._repaintDomAdditionals.bind(this)],n;if(e)return o;var i;return o.forEach(function(e){i=e()}),i}},{key:\"repositionY\",value:function(){var e=this.options.orientation.item,t;if(void 0!==this.data.subgroup){var o=this.data.subgroup;this.dom.box.style.height=\"\".concat(this.parent.subgroups[o].height,\"px\"),this.dom.box.style.top=\"top\"==e?\"\".concat(this.parent.top+this.parent.subgroups[o].top,\"px\"):\"\".concat(this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height,\"px\"),this.dom.box.style.bottom=\"\"}else this.parent instanceof Mn?(t=$t(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom=\"bottom\"==e?\"0\":\"\",this.dom.box.style.top=\"top\"==e?\"0\":\"\"):(t=this.parent.height,this.dom.box.style.top=\"\".concat(this.parent.top,\"px\"),this.dom.box.style.bottom=\"\");this.dom.box.style.height=\"\".concat(t,\"px\")}}]),t}(In);Rn.prototype.baseClassName=\"vis-item vis-background\",Rn.prototype.stack=!1,Rn.prototype.show=Yn.prototype.show,Rn.prototype.hide=Yn.prototype.hide,Rn.prototype.repositionX=Yn.prototype.repositionX;var An=function(){function e(t,o){We(this,e),this.container=t,this.overflowMethod=o||\"cap\",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement(\"div\"),this.frame.className=\"vis-tooltip\",this.container.appendChild(this.frame)}return ze(e,[{key:\"setPosition\",value:function(e,t){this.x=parseInt(e),this.y=parseInt(t)}},{key:\"setText\",value:function(e){e instanceof Element?(this.frame.innerHTML=\"\",this.frame.appendChild(e)):this.frame.innerHTML=e}},{key:\"show\",value:function(e){if(void 0===e&&(e=!0),!0===e){var t=this.frame.clientHeight,o=this.frame.clientWidth,n=this.frame.parentNode.clientHeight,i=this.frame.parentNode.clientWidth,a=0,r=0;if(\"flip\"==this.overflowMethod||\"none\"==this.overflowMethod){var s=!1,d=!0;\"flip\"==this.overflowMethod&&(this.y-t<this.padding&&(d=!1),this.x+o>i-this.padding&&(s=!0)),a=s?this.x-o:this.x,r=d?this.y-t:this.y}else r=this.y-t,r+t+this.padding>n&&(r=n-t-this.padding),r<this.padding&&(r=this.padding),a=this.x,a+o+this.padding>i&&(a=i-o-this.padding),a<this.padding&&(a=this.padding);this.frame.style.left=a+\"px\",this.frame.style.top=r+\"px\",this.frame.style.visibility=\"visible\",this.hidden=!1}else this.hide()}},{key:\"hide\",value:function(){this.hidden=!0,this.frame.style.left=\"0\",this.frame.style.top=\"0\",this.frame.style.visibility=\"hidden\"}},{key:\"destroy\",value:function(){this.frame.parentNode.removeChild(this.frame)}}]),e}(),Nn=function(e){function t(e,o,n){var i;if(We(this,t),i=Xe(this,Be(t).call(this)),i.props={content:{width:0,height:0}},i.options=Object.assign({},{fitOnDoubleClick:!0},n,{editable:!1}),!e||null==e.uiItems)throw new Error(\"Property \\\"uiItems\\\" missing in item \"+e.id);return In.call(Ze(i),e,o,i.options),i.id=So.randomUUID(),i.group=e.group,i._setupRange(),i.emitter=i.data.eventEmitter,i.range=i.data.range,i.attached=!1,i.isCluster=!0,i.data.isCluster=!0,i}return Ve(t,e),ze(t,[{key:\"hasItems\",value:function(){return this.data.uiItems&&this.data.uiItems.length&&this.attached}},{key:\"setUiItems\",value:function(e){this.detach(),this.data.uiItems=e,this._setupRange(),this.attach()}},{key:\"isVisible\",value:function(e){var t=this.data.end?this.data.end-this.data.start:0,o=this.width*e.getMillisecondsPerPixel(),n=$t(t,this.data.start.getTime()+o);return this.data.start<e.end&&n>e.start&&this.hasItems()}},{key:\"getData\",value:function(){return{isCluster:!0,id:this.id,items:this.data.items||[],data:this.data}}},{key:\"redraw\",value:function(e){var t=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(o=this._getDomComponentsSizes())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(o)}.bind(this),this._repaintDomAdditionals.bind(this)],o;if(e)return t;var n;return t.forEach(function(e){n=e()}),n}},{key:\"show\",value:function(){this.displayed||this.redraw()}},{key:\"hide\",value:function(){if(this.displayed){var e=this.dom;e.box.parentNode&&e.box.parentNode.removeChild(e.box),this.options.showStipes&&(e.line.parentNode&&e.line.parentNode.removeChild(e.line),e.dot.parentNode&&e.dot.parentNode.removeChild(e.dot)),this.displayed=!1}}},{key:\"repositionX\",value:function(){var e=this.conversion.toScreen(this.data.start),t=this.data.end?this.conversion.toScreen(this.data.end):0;if(t)this.repositionXWithRanges(e,t);else{var o=void 0===this.data.align?this.options.align:this.data.align;this.repositionXWithoutRanges(e,o)}this.options.showStipes&&(this.dom.line.style.display=this._isStipeVisible()?\"block\":\"none\",this.dom.dot.style.display=this._isStipeVisible()?\"block\":\"none\",this._isStipeVisible()&&this.repositionStype(e,t))}},{key:\"repositionStype\",value:function(e,t){this.dom.line.style.display=\"block\",this.dom.dot.style.display=\"block\",t?(this.dom.line.style.left=this.dom.line.offsetWidth+e+(t-e)/2+\"px\",this.dom.dot.style.left=this.dom.line.offsetWidth+e+(t-e)/2-this.dom.dot.offsetWidth/2+\"px\"):(this.dom.line.style.left=\"\".concat(e,\"px\"),this.dom.dot.style.left=\"\".concat(e-this.dom.dot.offsetWidth/2,\"px\"))}},{key:\"repositionXWithoutRanges\",value:function(e,t){\"right\"==t?this.options.rtl?(this.right=e-this.width,this.dom.box.style.right=this.right+\"px\"):(this.left=e-this.width,this.dom.box.style.left=this.left+\"px\"):\"left\"==t?this.options.rtl?(this.right=e,this.dom.box.style.right=this.right+\"px\"):(this.left=e,this.dom.box.style.left=this.left+\"px\"):this.options.rtl?(this.right=e-this.width/2,this.dom.box.style.right=this.right+\"px\"):(this.left=e-this.width/2,this.dom.box.style.left=this.left+\"px\")}},{key:\"repositionXWithRanges\",value:function(e,t){var o=qt($t(t-e+.5,1));this.options.rtl?this.right=e:this.left=e,this.width=$t(o,this.minWidth||0),this.options.rtl?this.dom.box.style.right=this.right+\"px\":this.dom.box.style.left=this.left+\"px\",this.dom.box.style.width=o+\"px\"}},{key:\"repositionY\",value:function(){var e=this.options.orientation.item,t=this.dom.box;if(t.style.top=\"top\"==e?(this.top||0)+\"px\":(this.parent.height-this.top-this.height||0)+\"px\",this.options.showStipes){if(\"top\"==e)this.dom.line.style.top=\"0\",this.dom.line.style.height=this.parent.top+this.top+1+\"px\",this.dom.line.style.bottom=\"\";else{var o=this.parent.itemSet.props.height,n=o-this.parent.top-this.parent.height+this.top;this.dom.line.style.top=o-n+\"px\",this.dom.line.style.bottom=\"0\"}this.dom.dot.style.top=-this.dom.dot.offsetHeight/2+\"px\"}}},{key:\"getWidthLeft\",value:function(){return this.width/2}},{key:\"getWidthRight\",value:function(){return this.width/2}},{key:\"move\",value:function(){this.repositionX(),this.repositionY()}},{key:\"attach\",value:function(){var e=!0,t=!1,o=void 0;try{for(var n=this.data.uiItems[Symbol.iterator](),i,a;!(e=(i=n.next()).done);e=!0)a=i.value,a.cluster=this}catch(e){t=!0,o=e}finally{try{e||null==n.return||n.return()}finally{if(t)throw o}}this.data.items=this.data.uiItems.map(function(e){return e.data}),this.attached=!0,this.dirty=!0}},{key:\"detach\",value:function(){var e=!!(0<arguments.length&&void 0!==arguments[0])&&arguments[0];if(this.hasItems()){var t=!0,o=!1,n=void 0;try{for(var i=this.data.uiItems[Symbol.iterator](),a,r;!(t=(a=i.next()).done);t=!0)r=a.value,delete r.cluster}catch(e){o=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(o)throw n}}this.attached=!1,e&&this.group&&(this.group.remove(this),this.group=null),this.data.items=[],this.dirty=!0}}},{key:\"_onDoubleClick\",value:function(){this._fit()}},{key:\"_setupRange\",value:function(){var e=this.data.uiItems.map(function(e){return{start:e.data.start.valueOf(),end:e.data.end?e.data.end.valueOf():e.data.start.valueOf()}});this.data.min=Jt.apply(Math,Ke(e.map(function(e){return Jt(e.start,e.end||e.start)}))),this.data.max=$t.apply(Math,Ke(e.map(function(e){return $t(e.start,e.end||e.start)})));var t=this.data.uiItems.map(function(e){return e.center}),o=t.reduce(function(e,t){return e+t},0)/this.data.uiItems.length;this.data.uiItems.some(function(e){return e.data.end})?(this.data.start=new Date(this.data.min),this.data.end=new Date(this.data.max)):(this.data.start=new Date(o),this.data.end=null)}},{key:\"_getUiItems\",value:function(){var e=this;return this.data.uiItems&&this.data.uiItems.length?this.data.uiItems.filter(function(t){return t.cluster===e}):[]}},{key:\"_createDomElement\",value:function(){this.dom||(this.dom={},this.dom.box=document.createElement(\"DIV\"),this.dom.content=document.createElement(\"DIV\"),this.dom.content.className=\"vis-item-content\",this.dom.box.appendChild(this.dom.content),this.options.showStipes&&(this.dom.line=document.createElement(\"DIV\"),this.dom.line.className=\"vis-cluster-line\",this.dom.line.style.display=\"none\",this.dom.dot=document.createElement(\"DIV\"),this.dom.dot.className=\"vis-cluster-dot\",this.dom.dot.style.display=\"none\"),this.options.fitOnDoubleClick&&(this.dom.box.ondblclick=t.prototype._onDoubleClick.bind(this)),this.dom.box[\"vis-item\"]=this,this.dirty=!0)}},{key:\"_appendDomElement\",value:function(){if(!this.parent)throw new Error(\"Cannot redraw item: no parent attached\");if(!this.dom.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error(\"Cannot redraw item: parent has no foreground container element\");e.appendChild(this.dom.box)}var t=this.parent.dom.background;if(this.options.showStipes){if(!this.dom.line.parentNode){if(!t)throw new Error(\"Cannot redraw item: parent has no background container element\");t.appendChild(this.dom.line)}if(!this.dom.dot.parentNode){var o=this.parent.dom.axis;if(!t)throw new Error(\"Cannot redraw item: parent has no axis container element\");o.appendChild(this.dom.dot)}}this.displayed=!0}},{key:\"_updateDirtyDomComponents\",value:function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var e=this.baseClassName+\" \"+(this.data.className?\" \"+this.data.className:\"\")+(this.selected?\" vis-selected\":\"\")+\" vis-readonly\";this.dom.box.className=\"vis-item \"+e,this.options.showStipes&&(this.dom.line.className=\"vis-item vis-cluster-line \"+(this.selected?\" vis-selected\":\"\"),this.dom.dot.className=\"vis-item vis-cluster-dot \"+(this.selected?\" vis-selected\":\"\")),this.data.end&&(this.dom.content.style.maxWidth=\"none\")}}},{key:\"_getDomComponentsSizes\",value:function(){return{previous:{right:this.dom.box.style.right,left:this.dom.box.style.left},box:{width:this.dom.box.offsetWidth,height:this.dom.box.offsetHeight}}}},{key:\"_updateDomComponentsSizes\",value:function(e){this.options.rtl?this.dom.box.style.right=\"0px\":this.dom.box.style.left=\"0px\",this.data.end?this.minWidth=e.box.width:this.width=e.box.width,this.height=e.box.height,this.options.rtl?this.dom.box.style.right=e.previous.right:this.dom.box.style.left=e.previous.left,this.dirty=!1}},{key:\"_repaintDomAdditionals\",value:function(){this._repaintOnItemUpdateTimeTooltip(this.dom.box)}},{key:\"_isStipeVisible\",value:function(){return this.minWidth>=this.width||!this.data.end}},{key:\"_getFitRange\",value:function(){var e=.05*(this.data.max-this.data.min)/2;return{fitStart:this.data.min-e,fitEnd:this.data.max+e}}},{key:\"_fit\",value:function(){if(this.emitter){var e=this._getFitRange(),t=e.fitStart,o=e.fitEnd,n={start:new Date(t),end:new Date(o),animation:!0};this.emitter.emit(\"fit\",n)}}},{key:\"_getItemData\",value:function(){return this.data}}]),t}(In);Nn.prototype.baseClassName=\"vis-item vis-range vis-cluster\";var Ln={UNGROUPED:\"__ungrouped__\",BACKGROUND:\"__background__\"},Hn=function(){function e(t){We(this,e),this.itemSet=t,this.groups={},this.cache={},this.cache[-1]=[]}return ze(e,[{key:\"createClusterItem\",value:function(e,t,o){var n=new Nn(e,t,o);return n}},{key:\"setItems\",value:function(e,t){this.items=e||[],this.dataChanged=!0,this.applyOnChangedLevel=!1,t&&t.applyOnChangedLevel&&(this.applyOnChangedLevel=t.applyOnChangedLevel)}},{key:\"updateData\",value:function(){this.dataChanged=!0,this.applyOnChangedLevel=!1}},{key:\"getClusters\",value:function(e,t,o){var n=\"boolean\"==typeof o?{}:o,a=n.maxItems,r=n.clusterCriteria;r||(r=function(){return!0}),a=a||1;var s=-1,d=2,p=0;if(0<t){if(1<=t)return[];s=Xt(qt(Bt(100/t)/Bt(d))),p=Xt(Zt(d,s))}if(this.dataChanged){var u=s!=this.cacheLevel,c=!this.applyOnChangedLevel||u;c&&(this._dropLevelsCache(),this._filterData())}this.cacheLevel=s;var g=this.cache[s];if(!g){for(var h in g=[],this.groups)if(this.groups.hasOwnProperty(h))for(var y=this.groups[h],f=y.length,b=0;b<f;){for(var _=y[b],v=1,w=b-1;0<=w&&_.center-y[w].center<p/2;)!y[w].cluster&&r(_.data,y[w].data)&&v++,w--;for(var x=b+1;x<y.length&&y[x].center-_.center<p/2;)r(_.data,y[x].data)&&v++,x++;for(var D=g.length-1;0<=D&&_.center-g[D].center<p;)_.group==g[D].group&&r(_.data,g[D].data)&&v++,D--;if(v>a){for(var S=v-a+1,C=[],T=b;C.length<S&&T<y.length;)r(y[T].data,y[T].data)&&C.push(y[T]),T++;var O=this.itemSet.getGroupId(_.data),M=this.itemSet.groups[O]||this.itemSet.groups[Ln.UNGROUPED],I=this._getClusterForItems(C,M,e,o);g.push(I),b+=S}else delete _.cluster,b+=1}this.cache[s]=g}return g}},{key:\"_filterData\",value:function(){var e={};this.groups=e;for(var t=0,o=Object.values(this.items);t<o.length;t++){var n=o[t],i=n.parent?n.parent.groupId:\"\",a=e[i];a||(a=[],e[i]=a),a.push(n),n.data.start&&(n.data.end?n.center=(n.data.start.valueOf()+n.data.end.valueOf())/2:n.center=n.data.start.valueOf())}for(var r in e)e.hasOwnProperty(r)&&e[r].sort(function(e,t){return e.center-t.center});this.dataChanged=!1}},{key:\"_getClusterForItems\",value:function(e,t,o,n){var i=(o||[]).map(function(e){return{cluster:e,itemsIds:new Set(e.data.uiItems.map(function(e){return e.id}))}}),a;if(i.length){var r=!0,s=!1,d=void 0;try{for(var l=function(){var t=m.value;if(t.itemsIds.size===e.length&&e.every(function(e){return t.itemsIds.has(e.id)}))return a=t.cluster,\"break\"},p=i[Symbol.iterator](),m,u;!(r=(m=p.next()).done)&&(u=l(),\"break\"!==u);r=!0);}catch(e){s=!0,d=e}finally{try{r||null==p.return||p.return()}finally{if(s)throw d}}}if(a)return a.setUiItems(e),a.group!==t&&(a.group&&a.group.remove(a),t&&(t.add(a,!1),a.group=t)),a;var c=n.titleTemplate||\"\",g={toScreen:this.itemSet.body.util.toScreen,toTime:this.itemSet.body.util.toTime},h=\"<div title=\\\"\"+y+\"\\\">\"+e.length+\"</div>\",y=c.replace(/{count}/,e.length),f=Object.assign({},n,this.itemSet.options),b={content:h,title:y,group:t,uiItems:e,eventEmitter:this.itemSet.body.emitter,range:this.itemSet.body.range};return a=this.createClusterItem(b,g,f),t&&(t.add(a,!1),a.group=t),a.attach(),a}},{key:\"_dropLevelsCache\",value:function(){this.cache={},this.cacheLevel=-1,this.cache[this.cacheLevel]=[]}}]),e}(),Gn=\"__ungrouped__\",Fn=\"__background__\",jn=function(e){function t(e,o){var n;We(this,t),n=Xe(this,Be(t).call(this)),n.body=e,n.defaultOptions={type:null,orientation:{item:\"bottom\"},align:\"auto\",stack:!0,stackSubgroups:!0,groupOrderSwap:function(e,t){var o=t.order;t.order=e.order,e.order=o},groupOrder:\"order\",selectable:!0,multiselect:!1,itemsAlwaysDraggable:{item:!1,range:!1},editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1,overrideItems:!1},groupEditable:{order:!1,add:!1,remove:!1},snap:fn.snap,onDropObjectOnItem:function(e,t,o){o(t)},onAdd:function(e,t){t(e)},onUpdate:function(e,t){t(e)},onMove:function(e,t){t(e)},onRemove:function(e,t){t(e)},onMoving:function(e,t){t(e)},onAddGroup:function(e,t){t(e)},onMoveGroup:function(e,t){t(e)},onRemoveGroup:function(e,t){t(e)},margin:{item:{horizontal:10,vertical:10},axis:20},showTooltips:!0,tooltip:{followMouse:!1,overflowMethod:\"flip\",delay:500},tooltipOnItemUpdateTime:!1},n.options=So.extend({},n.defaultOptions),n.options.rtl=o.rtl,n.options.onTimeout=o.onTimeout,n.itemOptions={type:{start:\"Date\",end:\"Date\"}},n.conversion={toScreen:e.util.toScreen,toTime:e.util.toTime},n.dom={},n.props={},n.hammer=null;var i=Ze(n);return n.itemsData=null,n.groupsData=null,n.itemsSettingTime=null,n.initialItemSetDrawn=!1,n.userContinueNotBail=null,n.itemListeners={add:function(e,t){i._onAdd(t.items),i.options.cluster&&i.clusterGenerator.setItems(i.items,{applyOnChangedLevel:!1}),i.redraw()},update:function(e,t){i._onUpdate(t.items),i.options.cluster&&i.clusterGenerator.setItems(i.items,{applyOnChangedLevel:!1}),i.redraw()},remove:function(e,t){i._onRemove(t.items),i.options.cluster&&i.clusterGenerator.setItems(i.items,{applyOnChangedLevel:!1}),i.redraw()}},n.groupListeners={add:function(e,t,o){if(i._onAddGroups(t.items),i.groupsData&&0<i.groupsData.length){var n=i.groupsData.getDataSet();n.get().forEach(function(e){if(e.nestedGroups){!1!=e.showNested&&(e.showNested=!0);var t=[];e.nestedGroups.forEach(function(o){var i=n.get(o);i&&(i.nestedInGroup=e.id,!1==e.showNested&&(i.visible=!1),t=t.concat(i))}),n.update(t,o)}})}},update:function(e,t){i._onUpdateGroups(t.items)},remove:function(e,t){i._onRemoveGroups(t.items)}},n.items={},n.groups={},n.groupIds=[],n.selection=[],n.popup=null,n.popupTimer=null,n.touchParams={},n.groupTouchParams={group:null,isDragging:!1},n._create(),n.setOptions(o),n.clusters=[],n}return Ve(t,e),ze(t,[{key:\"_create\",value:function(){var e=this,t=document.createElement(\"div\");t.className=\"vis-itemset\",t[\"vis-itemset\"]=this,this.dom.frame=t;var o=document.createElement(\"div\");o.className=\"vis-background\",t.appendChild(o),this.dom.background=o;var n=document.createElement(\"div\");n.className=\"vis-foreground\",t.appendChild(n),this.dom.foreground=n;var i=document.createElement(\"div\");i.className=\"vis-axis\",this.dom.axis=i;var a=document.createElement(\"div\");a.className=\"vis-labelset\",this.dom.labelSet=a,this._updateUngrouped();var r=new Mn(Fn,null,this);r.show(),this.groups[Fn]=r,this.hammer=new yn(this.body.dom.centerContainer),this.hammer.on(\"hammer.input\",function(t){t.isFirst&&e._onTouch(t)}),this.hammer.on(\"panstart\",this._onDragStart.bind(this)),this.hammer.on(\"panmove\",this._onDrag.bind(this)),this.hammer.on(\"panend\",this._onDragEnd.bind(this)),this.hammer.get(\"pan\").set({threshold:5,direction:yn.ALL}),this.hammer.on(\"tap\",this._onSelectItem.bind(this)),this.hammer.on(\"press\",this._onMultiSelectItem.bind(this)),this.hammer.on(\"doubletap\",this._onAddItem.bind(this)),this.groupHammer=this.options.rtl?new yn(this.body.dom.rightContainer):new yn(this.body.dom.leftContainer),this.groupHammer.on(\"tap\",this._onGroupClick.bind(this)),this.groupHammer.on(\"panstart\",this._onGroupDragStart.bind(this)),this.groupHammer.on(\"panmove\",this._onGroupDrag.bind(this)),this.groupHammer.on(\"panend\",this._onGroupDragEnd.bind(this)),this.groupHammer.get(\"pan\").set({threshold:5,direction:yn.DIRECTION_VERTICAL}),this.body.dom.centerContainer.addEventListener(\"mouseover\",this._onMouseOver.bind(this)),this.body.dom.centerContainer.addEventListener(\"mouseout\",this._onMouseOut.bind(this)),this.body.dom.centerContainer.addEventListener(\"mousemove\",this._onMouseMove.bind(this)),this.body.dom.centerContainer.addEventListener(\"contextmenu\",this._onDragEnd.bind(this)),this.body.dom.centerContainer.addEventListener(\"mousewheel\",this._onMouseWheel.bind(this)),this.show()}},{key:\"setOptions\",value:function(e){var t=this;if(e){So.selectiveExtend([\"type\",\"rtl\",\"align\",\"order\",\"stack\",\"stackSubgroups\",\"selectable\",\"multiselect\",\"multiselectPerGroup\",\"groupOrder\",\"dataAttributes\",\"template\",\"groupTemplate\",\"visibleFrameTemplate\",\"hide\",\"snap\",\"groupOrderSwap\",\"showTooltips\",\"tooltip\",\"tooltipOnItemUpdateTime\",\"groupHeightMode\",\"onTimeout\"],this.options,e),\"itemsAlwaysDraggable\"in e&&(\"boolean\"==typeof e.itemsAlwaysDraggable?(this.options.itemsAlwaysDraggable.item=e.itemsAlwaysDraggable,this.options.itemsAlwaysDraggable.range=!1):\"object\"===je(e.itemsAlwaysDraggable)&&(So.selectiveExtend([\"item\",\"range\"],this.options.itemsAlwaysDraggable,e.itemsAlwaysDraggable),!this.options.itemsAlwaysDraggable.item&&(this.options.itemsAlwaysDraggable.range=!1))),\"orientation\"in e&&(\"string\"==typeof e.orientation?this.options.orientation.item=\"top\"===e.orientation?\"top\":\"bottom\":\"object\"===je(e.orientation)&&\"item\"in e.orientation&&(this.options.orientation.item=e.orientation.item)),\"margin\"in e&&(\"number\"==typeof e.margin?(this.options.margin.axis=e.margin,this.options.margin.item.horizontal=e.margin,this.options.margin.item.vertical=e.margin):\"object\"===je(e.margin)&&(So.selectiveExtend([\"axis\"],this.options.margin,e.margin),\"item\"in e.margin&&(\"number\"==typeof e.margin.item?(this.options.margin.item.horizontal=e.margin.item,this.options.margin.item.vertical=e.margin.item):\"object\"===je(e.margin.item)&&So.selectiveExtend([\"horizontal\",\"vertical\"],this.options.margin.item,e.margin.item)))),\"editable\"in e&&(\"boolean\"==typeof e.editable?(this.options.editable.updateTime=e.editable,this.options.editable.updateGroup=e.editable,this.options.editable.add=e.editable,this.options.editable.remove=e.editable,this.options.editable.overrideItems=!1):\"object\"===je(e.editable)&&So.selectiveExtend([\"updateTime\",\"updateGroup\",\"add\",\"remove\",\"overrideItems\"],this.options.editable,e.editable)),\"groupEditable\"in e&&(\"boolean\"==typeof e.groupEditable?(this.options.groupEditable.order=e.groupEditable,this.options.groupEditable.add=e.groupEditable,this.options.groupEditable.remove=e.groupEditable):\"object\"===je(e.groupEditable)&&So.selectiveExtend([\"order\",\"add\",\"remove\"],this.options.groupEditable,e.groupEditable));var o=function(o){var n=e[o];if(n){if(\"function\"!=typeof n)throw new Error(\"option \".concat(o,\" must be a function \").concat(o,\"(item, callback)\"));t.options[o]=n}};[\"onDropObjectOnItem\",\"onAdd\",\"onUpdate\",\"onRemove\",\"onMove\",\"onMoving\",\"onAddGroup\",\"onMoveGroup\",\"onRemoveGroup\"].forEach(o),e.cluster?(Object.assign(this.options,{cluster:e.cluster}),!this.clusterGenerator&&(this.clusterGenerator=new Hn(this)),this.clusterGenerator.setItems(this.items,{applyOnChangedLevel:!1}),this.markDirty({refreshItems:!0,restackGroups:!0}),this.redraw()):this.clusterGenerator?(this._detachAllClusters(),this.clusters=[],this.clusterGenerator=null,this.options.cluster=void 0,this.markDirty({refreshItems:!0,restackGroups:!0}),this.redraw()):this.markDirty()}}},{key:\"markDirty\",value:function(e){this.groupIds=[],e&&(e.refreshItems&&So.forEach(this.items,function(e){e.dirty=!0,e.displayed&&e.redraw()}),e.restackGroups&&So.forEach(this.groups,function(e,t){t===Fn||(e.stackDirty=!0)}))}},{key:\"destroy\",value:function(){this.clearPopupTimer(),this.hide(),this.setItems(null),this.setGroups(null),this.hammer&&this.hammer.destroy(),this.groupHammer&&this.groupHammer.destroy(),this.hammer=null,this.body=null,this.conversion=null}},{key:\"hide\",value:function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)}},{key:\"show\",value:function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||(this.options.rtl?this.body.dom.right.appendChild(this.dom.labelSet):this.body.dom.left.appendChild(this.dom.labelSet))}},{key:\"setPopupTimer\",value:function(e){if(this.clearPopupTimer(),e){var t=this.options.tooltip.delay||\"number\"==typeof this.options.tooltip.delay?this.options.tooltip.delay:500;this.popupTimer=setTimeout(function(){e.show()},t)}}},{key:\"clearPopupTimer\",value:function(){null!=this.popupTimer&&(clearTimeout(this.popupTimer),this.popupTimer=null)}},{key:\"setSelection\",value:function(e){null==e&&(e=[]),Array.isArray(e)||(e=[e]);var t=this.selection.filter(function(t){return-1===e.indexOf(t)}),o=!0,n=!1,i=void 0;try{for(var a=t[Symbol.iterator](),r;!(o=(r=a.next()).done);o=!0){var s=r.value,d=this.getItemById(s);d&&d.unselect()}}catch(e){n=!0,i=e}finally{try{o||null==a.return||a.return()}finally{if(n)throw i}}this.selection=Ke(e);var l=!0,p=!1,m=void 0;try{for(var u=e[Symbol.iterator](),c;!(l=(c=u.next()).done);l=!0){var g=c.value,h=this.getItemById(g);h&&h.select()}}catch(e){p=!0,m=e}finally{try{l||null==u.return||u.return()}finally{if(p)throw m}}}},{key:\"getSelection\",value:function(){return this.selection.concat([])}},{key:\"getVisibleItems\",value:function(){var e=this.body.range.getRange(),t,o;this.options.rtl?(t=this.body.util.toScreen(e.start),o=this.body.util.toScreen(e.end)):(o=this.body.util.toScreen(e.start),t=this.body.util.toScreen(e.end));var n=[];for(var i in this.groups)if(this.groups.hasOwnProperty(i)){var a=this.groups[i],r=a.isVisible?a.visibleItems:[],s=!0,d=!1,l=void 0;try{for(var p=r[Symbol.iterator](),m,u;!(s=(m=p.next()).done);s=!0)u=m.value,this.options.rtl?u.right<o&&u.right+u.width>t&&n.push(u.id):u.left<t&&u.left+u.width>o&&n.push(u.id)}catch(e){d=!0,l=e}finally{try{s||null==p.return||p.return()}finally{if(d)throw l}}}return n}},{key:\"getVisibleGroups\",value:function(){var e=[];for(var t in this.groups)if(this.groups.hasOwnProperty(t)){var o=this.groups[t];o.isVisible&&e.push(t)}return e}},{key:\"getItemById\",value:function(e){return this.items[e]||this.clusters.find(function(t){return t.id===e})}},{key:\"_deselect\",value:function(e){for(var t=this.selection,o=0,n=t.length;o<n;o++)if(t[o]==e){t.splice(o,1);break}}},{key:\"redraw\",value:function(){var e=this,t=this.options.margin,o=this.body.range,n=So.option.asSize,i=this.options,a=i.orientation.item,r=!1,s=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.options.rtl?this.props.right=this.body.domProps.right.width+this.body.domProps.border.right:this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,s.className=\"vis-itemset\",this.options.cluster&&this._clusterItems(),r=this._orderGroups()||r;var d=o.end-o.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth,p=o.start!=this.lastRangeStart,m=i.stack!=this.lastStack,u=i.stackSubgroups!=this.lastStackSubgroups,c=l||p||m||u;this.lastVisibleInterval=d,this.lastRangeStart=o.start,this.lastStack=i.stack,this.lastStackSubgroups=i.stackSubgroups,this.props.lastWidth=this.props.width;var g=this._firstGroup(),h={item:t.item,axis:t.axis},y={item:t.item,axis:t.item.vertical/2},f=0,b=t.axis+t.item.vertical;this.groups[Fn].redraw(o,y,c);var _={},v=0;So.forEach(this.groups,function(e,t){if(t!==Fn){var n=e==g?h:y;_[t]=e.redraw(o,n,c,!0),v=_[t].length}});var k=0<v;return k&&function(){for(var t={},o=function(e){So.forEach(_,function(o,n){t[n]=o[e]()})},n=0;n<v;n++)o(n);So.forEach(e.groups,function(e,o){if(o!==Fn){var n=t[o];r=n||r,f+=e.height}}),f=$t(f,b)}(),f=$t(f,b),s.style.height=n(f),this.props.width=s.offsetWidth,this.props.height=f,this.dom.axis.style.top=n(\"top\"==a?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right=\"0\":this.dom.axis.style.left=\"0\",this.initialItemSetDrawn=!0,r=this._isResized()||r,r}},{key:\"_firstGroup\",value:function(){var e=\"top\"==this.options.orientation.item?0:this.groupIds.length-1,t=this.groupIds[e],o=this.groups[t]||this.groups[Gn];return o||null}},{key:\"_updateUngrouped\",value:function(){var e=this.groups[Gn],t,o;if(this.groupsData){if(e)for(o in e.hide(),delete this.groups[Gn],this.items)if(this.items.hasOwnProperty(o)){t=this.items[o],t.parent&&t.parent.remove(t);var n=this.getGroupId(t.data),i=this.groups[n];i&&i.add(t)||t.hide()}}else if(!e){for(o in e=new On(null,null,this),this.groups[Gn]=e,this.items)this.items.hasOwnProperty(o)&&(t=this.items[o],e.add(t));e.show()}}},{key:\"getLabelSet\",value:function(){return this.dom.labelSet}},{key:\"setItems\",value:function(e){this.itemsSettingTime=new Date;var t=this,o=this.itemsData,n;if(!e)this.itemsData=null;else if(e instanceof rn||e instanceof sn)this.itemsData=e;else throw new TypeError(\"Data must be an instance of DataSet or DataView\");if(o&&(So.forEach(this.itemListeners,function(e,t){o.off(t,e)}),n=o.getIds(),this._onRemove(n)),this.itemsData){var i=this.id;So.forEach(this.itemListeners,function(e,o){t.itemsData.on(o,e,i)}),n=this.itemsData.getIds(),this._onAdd(n),this._updateUngrouped()}this.body.emitter.emit(\"_change\",{queue:!0})}},{key:\"getItems\",value:function(){return this.itemsData}},{key:\"setGroups\",value:function(e){var t=this,o;if(this.groupsData&&(So.forEach(this.groupListeners,function(e,o){t.groupsData.off(o,e)}),o=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(o)),!e)this.groupsData=null;else if(e instanceof rn||e instanceof sn)this.groupsData=e;else throw new TypeError(\"Data must be an instance of DataSet or DataView\");if(this.groupsData){var n=this.groupsData;this.groupsData instanceof sn&&(n=this.groupsData.getDataSet()),n.get().forEach(function(e){e.nestedGroups&&e.nestedGroups.forEach(function(t){var o=n.get(t);o.nestedInGroup=e.id,!1==e.showNested&&(o.visible=!1),n.update(o)})});var i=this.id;So.forEach(this.groupListeners,function(e,o){t.groupsData.on(o,e,i)}),o=this.groupsData.getIds(),this._onAddGroups(o)}this._updateUngrouped(),this._order(),this.options.cluster&&(this.clusterGenerator.updateData(),this._clusterItems(),this.markDirty({refreshItems:!0,restackGroups:!0})),this.body.emitter.emit(\"_change\",{queue:!0})}},{key:\"getGroups\",value:function(){return this.groupsData}},{key:\"removeItem\",value:function(e){var t=this.itemsData.get(e),o=this.itemsData.getDataSet();t&&this.options.onRemove(t,function(t){t&&o.remove(e)})}},{key:\"_getType\",value:function(e){return e.type||this.options.type||(e.end?\"range\":\"box\")}},{key:\"getGroupId\",value:function(e){var t=this._getType(e);return\"background\"==t&&null==e.group?Fn:this.groupsData?e.group:Gn}},{key:\"_onUpdate\",value:function(e){var o=this,n=this;e.forEach(function(e){var i=n.itemsData.get(e,n.itemOptions),a=n.items[e],r=i?n._getType(i):null,s=t.types[r],d;if(a&&(s&&a instanceof s?n._updateItem(a,i):(d=a.selected,n._removeItem(a),a=null)),!a&&i)if(s)a=new s(i,n.conversion,n.options),a.id=e,n._addItem(a,!0),d&&(o.selection.push(e),a.select());else throw new TypeError(\"Unknown item type \\\"\".concat(r,\"\\\"\"))}),this._order(),this.options.cluster&&(this.clusterGenerator.setItems(this.items,{applyOnChangedLevel:!1}),this._clusterItems()),this.body.emitter.emit(\"_change\",{queue:!0})}},{key:\"_onRemove\",value:function(e){var t=0,o=this;e.forEach(function(e){var n=o.items[e];n&&(t++,o._removeItem(n))}),t&&(this._order(),this.body.emitter.emit(\"_change\",{queue:!0}))}},{key:\"_order\",value:function(){So.forEach(this.groups,function(e){e.order()})}},{key:\"_onUpdateGroups\",value:function(e){this._onAddGroups(e)}},{key:\"_onAddGroups\",value:function(e){var t=this;e.forEach(function(e){var o=t.groupsData.get(e),n=t.groups[e];if(!n){if(e==Gn||e==Fn)throw new Error(\"Illegal group id. \".concat(e,\" is a reserved id.\"));var i=Object.create(t.options);for(var a in So.extend(i,{height:null}),n=new On(e,o,t),t.groups[e]=n,t.items)if(t.items.hasOwnProperty(a)){var r=t.items[a];r.data.group==e&&n.add(r)}n.order(),n.show()}else n.setData(o)}),this.body.emitter.emit(\"_change\",{queue:!0})}},{key:\"_onRemoveGroups\",value:function(e){var t=this.groups;e.forEach(function(e){var o=t[e];o&&(o.hide(),delete t[e])}),this.options.cluster&&(this.clusterGenerator.updateData(),this._clusterItems()),this.markDirty({restackGroups:!!this.options.cluster}),this.body.emitter.emit(\"_change\",{queue:!0})}},{key:\"_orderGroups\",value:function(){if(this.groupsData){var e=this.groupsData.getIds({order:this.options.groupOrder});e=this._orderNestedGroups(e);var t=!So.equalArray(e,this.groupIds);if(t){var o=this.groups;e.forEach(function(e){o[e].hide()}),e.forEach(function(e){o[e].show()}),this.groupIds=e}return t}return!1}},{key:\"_orderNestedGroups\",value:function(e){function o(e,t){var n=[];return t.forEach(function(t){n.push(t);var i=e.groupsData.get(t);if(i.nestedGroups){var a=e.groupsData.get({filter:function(e){return e.nestedInGroup==t},order:e.options.groupOrder}).map(function(e){return e.id});n=n.concat(o(e,a))}}),n}var n=this,i=e.filter(function(e){return!n.groupsData.get(e).nestedInGroup});return o(this,i)}},{key:\"_addItem\",value:function(e){var t=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];this.items[e.id]=e;var o=this.getGroupId(e.data),n=this.groups[o];n?n&&n.data&&n.data.showNested&&(e.groupShowing=!0):e.groupShowing=!1,n&&n.add(e,t)}},{key:\"_updateItem\",value:function(e,t){e.setData(t);var o=this.getGroupId(e.data),n=this.groups[o];n?n&&n.data&&n.data.showNested&&(e.groupShowing=!0):e.groupShowing=!1}},{key:\"_removeItem\",value:function(e){e.hide(),delete this.items[e.id];var t=this.selection.indexOf(e.id);-1!=t&&this.selection.splice(t,1),e.parent&&e.parent.remove(e),null!=this.popup&&this.popup.hide()}},{key:\"_constructByEndArray\",value:function(e){for(var t=[],o=0;o<e.length;o++)e[o]instanceof Yn&&t.push(e[o]);return t}},{key:\"_onTouch\",value:function(e){this.touchParams.item=this.itemFromTarget(e),this.touchParams.dragLeftItem=e.target.dragLeftItem||!1,this.touchParams.dragRightItem=e.target.dragRightItem||!1,this.touchParams.itemProps=null}},{key:\"_getGroupIndex\",value:function(e){for(var t=0;t<this.groupIds.length;t++)if(e==this.groupIds[t])return t}},{key:\"_onDragStart\",value:function(e){var t=this;if(!this.touchParams.itemIsDragging){var o=this.touchParams.item||null,n=this,i;if(o&&(o.selected||this.options.itemsAlwaysDraggable.item)){if(this.options.editable.overrideItems&&!this.options.editable.updateTime&&!this.options.editable.updateGroup)return;if(null!=o.editable&&!o.editable.updateTime&&!o.editable.updateGroup&&!this.options.editable.overrideItems)return;var a=this.touchParams.dragLeftItem,r=this.touchParams.dragRightItem;if(this.touchParams.itemIsDragging=!0,this.touchParams.selectedItem=o,a)i={item:a,initialX:e.center.x,dragLeft:!0,data:this._cloneItemData(o.data)},this.touchParams.itemProps=[i];else if(r)i={item:r,initialX:e.center.x,dragRight:!0,data:this._cloneItemData(o.data)},this.touchParams.itemProps=[i];else if(this.options.editable.add&&(e.srcEvent.ctrlKey||e.srcEvent.metaKey))this._onDragStartAddItem(e);else{1>this.groupIds.length&&this.redraw();var s=this._getGroupIndex(o.data.group),d=this.options.itemsAlwaysDraggable.item&&!o.selected?[o.id]:this.getSelection();this.touchParams.itemProps=d.map(function(o){var i=n.items[o],a=n._getGroupIndex(i.data.group);return{item:i,initialX:e.center.x,groupOffset:s-a,data:t._cloneItemData(i.data)}})}e.stopPropagation()}else this.options.editable.add&&(e.srcEvent.ctrlKey||e.srcEvent.metaKey)&&this._onDragStartAddItem(e)}}},{key:\"_onDragStartAddItem\",value:function(e){var t=this.options.snap||null,o,n;this.options.rtl?(o=So.getAbsoluteRight(this.dom.frame),n=o-e.center.x+10):(o=So.getAbsoluteLeft(this.dom.frame),n=e.center.x-o-10);var i=this.body.util.toTime(n),a=this.body.util.getScale(),r=this.body.util.getStep(),s=t?t(i,a,r):i,d={type:\"range\",start:s,end:s,content:\"new item\"},l=So.randomUUID();d[this.itemsData._fieldId]=l;var p=this.groupFromTarget(e);p&&(d.group=p.groupId);var m=new Yn(d,this.conversion,this.options);m.id=l,m.data=this._cloneItemData(d),this._addItem(m),this.touchParams.selectedItem=m;var u={item:m,initialX:e.center.x,data:m.data};this.options.rtl?u.dragLeft=!0:u.dragRight=!0,this.touchParams.itemProps=[u],e.stopPropagation()}},{key:\"_onDrag\",value:function(e){var t=this;if(this.clearPopupTimer(),null!=this.popup&&this.popup.hide(),this.touchParams.itemProps){e.stopPropagation();var o=this,n=this.options.snap||null,i;i=this.options.rtl?this.body.dom.root.offsetLeft+this.body.domProps.right.width:this.body.dom.root.offsetLeft+this.body.domProps.left.width;var a=this.body.util.getScale(),r=this.body.util.getStep(),s=this.touchParams.selectedItem,d=(this.options.editable.overrideItems||null==s.editable)&&this.options.editable.updateGroup||!this.options.editable.overrideItems&&null!=s.editable&&s.editable.updateGroup,l=null;if(d&&s&&null!=s.data.group){var p=o.groupFromTarget(e);p&&(l=this._getGroupIndex(p.groupId))}this.touchParams.itemProps.forEach(function(p){var m=o.body.util.toTime(e.center.x-i),u=o.body.util.toTime(p.initialX-i),c,g,h,y,f;c=t.options.rtl?-(m-u):m-u;var b=t._cloneItemData(p.item.data);if(null==p.item.editable||p.item.editable.updateTime||p.item.editable.updateGroup||o.options.editable.overrideItems){var _=(t.options.editable.overrideItems||null==s.editable)&&t.options.editable.updateTime||!t.options.editable.overrideItems&&null!=s.editable&&s.editable.updateTime;if(_)if(p.dragLeft)t.options.rtl?null!=b.end&&(h=So.convert(p.data.end,\"Date\"),f=new Date(h.valueOf()+c),b.end=n?n(f,a,r):f):null!=b.start&&(g=So.convert(p.data.start,\"Date\"),y=new Date(g.valueOf()+c),b.start=n?n(y,a,r):y);else if(p.dragRight)t.options.rtl?null!=b.start&&(g=So.convert(p.data.start,\"Date\"),y=new Date(g.valueOf()+c),b.start=n?n(y,a,r):y):null!=b.end&&(h=So.convert(p.data.end,\"Date\"),f=new Date(h.valueOf()+c),b.end=n?n(f,a,r):f);else if(null!=b.start)if(g=So.convert(p.data.start,\"Date\").valueOf(),y=new Date(g+c),null!=b.end){h=So.convert(p.data.end,\"Date\");var v=h.valueOf()-g.valueOf();b.start=n?n(y,a,r):y,b.end=new Date(b.start.valueOf()+v)}else b.start=n?n(y,a,r):y;if(d&&!p.dragLeft&&!p.dragRight&&null!=l&&null!=b.group){var k=l-p.groupOffset;k=$t(0,k),k=Jt(o.groupIds.length-1,k),b.group=o.groupIds[k]}b=t._cloneItemData(b),o.options.onMoving(b,function(e){e&&p.item.setData(t._cloneItemData(e,\"Date\"))})}}),this.body.emitter.emit(\"_change\")}}},{key:\"_moveToGroup\",value:function(e,t){var o=this.groups[t];if(o&&o.groupId!=e.data.group){var n=e.parent;n.remove(e),n.order(),e.data.group=o.groupId,o.add(e),o.order()}}},{key:\"_onDragEnd\",value:function(e){var t=this;if(this.touchParams.itemIsDragging=!1,this.touchParams.itemProps){e.stopPropagation();var o=this,n=this.itemsData.getDataSet(),i=this.touchParams.itemProps;this.touchParams.itemProps=null,i.forEach(function(e){var i=e.item.id,a=null!=o.itemsData.get(i,o.itemOptions);if(!a)o.options.onAdd(e.item.data,function(t){o._removeItem(e.item),t&&o.itemsData.getDataSet().add(t),o.body.emitter.emit(\"_change\")});else{var r=t._cloneItemData(e.item.data);o.options.onMove(r,function(t){t?(t[n._fieldId]=i,n.update(t)):(e.item.setData(e.data),o.body.emitter.emit(\"_change\"))})}})}}},{key:\"_onGroupClick\",value:function(e){var t=this,o=this.groupFromTarget(e);setTimeout(function(){t.toggleGroupShowNested(o)},1)}},{key:\"toggleGroupShowNested\",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:void 0;if(e&&e.nestedGroups){var o=this.groupsData.getDataSet();e.showNested=null==t?!e.showNested:!!t;var n=o.get(e.groupId);n.showNested=e.showNested;for(var a=e.nestedGroups,r=a,s;0<r.length;){s=r,r=[];for(var d=0,l;d<s.length;d++)l=o.get(s[d]),l.nestedGroups&&(r=r.concat(l.nestedGroups));0<r.length&&(a=a.concat(r))}var p=o.get(a).map(function(e){return null==e.visible&&(e.visible=!0),e.visible=!!n.showNested,e});o.update(p.concat(n)),n.showNested?(So.removeClassName(e.dom.label,\"collapsed\"),So.addClassName(e.dom.label,\"expanded\")):(So.removeClassName(e.dom.label,\"expanded\"),So.addClassName(e.dom.label,\"collapsed\"))}}},{key:\"toggleGroupDragClassName\",value:function(e){e.dom.label.classList.toggle(\"vis-group-is-dragging\"),e.dom.foreground.classList.toggle(\"vis-group-is-dragging\")}},{key:\"_onGroupDragStart\",value:function(e){this.groupTouchParams.isDragging||this.options.groupEditable.order&&(this.groupTouchParams.group=this.groupFromTarget(e),this.groupTouchParams.group&&(e.stopPropagation(),this.groupTouchParams.isDragging=!0,this.toggleGroupDragClassName(this.groupTouchParams.group),this.groupTouchParams.originalOrder=this.groupsData.getIds({order:this.options.groupOrder})))}},{key:\"_onGroupDrag\",value:function(e){if(this.options.groupEditable.order&&this.groupTouchParams.group){e.stopPropagation();var t=this.groupsData;this.groupsData instanceof sn&&(t=this.groupsData.getDataSet());var o=this.groupFromTarget(e);if(o&&o.height!=this.groupTouchParams.group.height){var n=o.top<this.groupTouchParams.group.top,i=e.center?e.center.y:e.clientY,a=So.getAbsoluteTop(o.dom.foreground),r=this.groupTouchParams.group.height;if(!n){var s=o.height;if(a+s-r>i)return}else if(a+r<i)return}if(o&&o!=this.groupTouchParams.group){var d=t.get(o.groupId),l=t.get(this.groupTouchParams.group.groupId);l&&d&&(this.options.groupOrderSwap(l,d,t),t.update(l),t.update(d));var p=t.getIds({order:this.options.groupOrder});if(!So.equalArray(p,this.groupTouchParams.originalOrder))for(var m=this.groupTouchParams.originalOrder,u=this.groupTouchParams.group.groupId,c=Jt(m.length,p.length),g=0,h=0,y=0;g<c;){for(;g+h<c&&g+y<c&&p[g+h]==m[g+y];)g++;if(g+h>=c)break;if(p[g+h]==u)h=1;else if(m[g+y]==u)y=1;else{var f=p.indexOf(m[g+y]),b=t.get(p[g+h]),_=t.get(m[g+y]);this.options.groupOrderSwap(b,_,t),t.update(b),t.update(_);var v=p[g+h];p[g+h]=m[g+y],p[f]=v,g++}}}}}},{key:\"_onGroupDragEnd\",value:function(e){if(this.groupTouchParams.isDragging=!1,this.options.groupEditable.order&&this.groupTouchParams.group){e.stopPropagation();var t=this,o=t.groupTouchParams.group.groupId,n=t.groupsData.getDataSet(),i=So.extend({},n.get(o));t.options.onMoveGroup(i,function(e){if(e)e[n._fieldId]=o,n.update(e);else{var i=n.getIds({order:t.options.groupOrder});if(!So.equalArray(i,t.groupTouchParams.originalOrder))for(var a=t.groupTouchParams.originalOrder,r=Jt(a.length,i.length),s=0;s<r;){for(;s<r&&i[s]==a[s];)s++;if(s>=r)break;var d=i.indexOf(a[s]),l=n.get(i[s]),p=n.get(a[s]);t.options.groupOrderSwap(l,p,n),n.update(l),n.update(p);var m=i[s];i[s]=a[s],i[d]=m,s++}}}),t.body.emitter.emit(\"groupDragged\",{groupId:o}),this.toggleGroupDragClassName(this.groupTouchParams.group),this.groupTouchParams.group=null}}},{key:\"_onSelectItem\",value:function(e){if(this.options.selectable){var t=e.srcEvent&&(e.srcEvent.ctrlKey||e.srcEvent.metaKey),o=e.srcEvent&&e.srcEvent.shiftKey;if(t||o)return void this._onMultiSelectItem(e);var n=this.getSelection(),i=this.itemFromTarget(e),a=i?[i.id]:[];this.setSelection(a);var r=this.getSelection();(0<r.length||0<n.length)&&this.body.emitter.emit(\"select\",{items:r,event:e})}}},{key:\"_onMouseOver\",value:function(e){var t=this.itemFromTarget(e);if(t){var o=this.itemFromRelatedTarget(e);if(t!==o){var n=t.getTitle();if(this.options.showTooltips&&n){null==this.popup&&(this.popup=new An(this.body.dom.root,this.options.tooltip.overflowMethod||\"flip\")),this.popup.setText(n);var i=this.body.dom.centerContainer;this.popup.setPosition(e.clientX-So.getAbsoluteLeft(i)+i.offsetLeft,e.clientY-So.getAbsoluteTop(i)+i.offsetTop),this.setPopupTimer(this.popup)}else this.clearPopupTimer(),null!=this.popup&&this.popup.hide();this.body.emitter.emit(\"itemover\",{item:t.id,event:e})}}}},{key:\"_onMouseOut\",value:function(e){var t=this.itemFromTarget(e);if(t){var o=this.itemFromRelatedTarget(e);t===o||(this.clearPopupTimer(),null!=this.popup&&this.popup.hide(),this.body.emitter.emit(\"itemout\",{item:t.id,event:e}))}}},{key:\"_onMouseMove\",value:function(e){var t=this.itemFromTarget(e);if(t&&(null!=this.popupTimer&&this.setPopupTimer(this.popup),this.options.showTooltips&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden)){var o=this.body.dom.centerContainer;this.popup.setPosition(e.clientX-So.getAbsoluteLeft(o)+o.offsetLeft,e.clientY-So.getAbsoluteTop(o)+o.offsetTop),this.popup.show()}}},{key:\"_onMouseWheel\",value:function(e){this.touchParams.itemIsDragging&&this._onDragEnd(e)}},{key:\"_onUpdateItem\",value:function(e){if(this.options.selectable&&this.options.editable.updateTime&&this.options.editable.updateGroup){var t=this;if(e){var o=t.itemsData.get(e.id);this.options.onUpdate(o,function(e){e&&t.itemsData.getDataSet().update(e)})}}}},{key:\"_onDropObjectOnItem\",value:function(e){var t=this.itemFromTarget(e),o=JSON.parse(e.dataTransfer.getData(\"text\"));this.options.onDropObjectOnItem(o,t)}},{key:\"_onAddItem\",value:function(e){if(this.options.selectable&&this.options.editable.add){var t=this,o=this.options.snap||null,n,i;this.options.rtl?(n=So.getAbsoluteRight(this.dom.frame),i=n-e.center.x):(n=So.getAbsoluteLeft(this.dom.frame),i=e.center.x-n);var a=this.body.util.toTime(i),r=this.body.util.getScale(),s=this.body.util.getStep(),d,l;\"drop\"==e.type?(l=JSON.parse(e.dataTransfer.getData(\"text\")),l.content=l.content?l.content:\"new item\",l.start=l.start?l.start:o?o(a,r,s):a,l.type=l.type||\"box\",l[this.itemsData._fieldId]=l.id||So.randomUUID(),\"range\"==l.type&&!l.end&&(d=this.body.util.toTime(i+this.props.width/5),l.end=o?o(d,r,s):d)):(l={start:o?o(a,r,s):a,content:\"new item\"},l[this.itemsData._fieldId]=So.randomUUID(),\"range\"===this.options.type&&(d=this.body.util.toTime(i+this.props.width/5),l.end=o?o(d,r,s):d));var p=this.groupFromTarget(e);p&&(l.group=p.groupId),l=this._cloneItemData(l),this.options.onAdd(l,function(o){o&&(t.itemsData.getDataSet().add(o),\"drop\"==e.type&&t.setSelection([o.id]))})}}},{key:\"_onMultiSelectItem\",value:function(e){if(this.options.selectable){var o=this.itemFromTarget(e);if(o){var n=this.options.multiselect?this.getSelection():[],i=e.srcEvent&&e.srcEvent.shiftKey||!1;if(i&&this.options.multiselect){var a=this.itemsData.get(o.id).group,r=void 0;this.options.multiselectPerGroup&&0<n.length&&(r=this.itemsData.get(n[0]).group),this.options.multiselectPerGroup&&null!=r&&r!=a||n.push(o.id);var s=t._getItemRange(this.itemsData.get(n,this.itemOptions));if(!this.options.multiselectPerGroup||r==a)for(var d in n=[],this.items)if(this.items.hasOwnProperty(d)){var l=this.items[d],p=l.data.start,m=void 0===l.data.end?p:l.data.end;p>=s.min&&m<=s.max&&(!this.options.multiselectPerGroup||r==this.itemsData.get(l.id).group)&&!(l instanceof Rn)&&n.push(l.id)}}else{var u=n.indexOf(o.id);-1==u?n.push(o.id):n.splice(u,1)}this.setSelection(n),this.body.emitter.emit(\"select\",{items:this.getSelection(),event:e})}}}},{key:\"itemFromElement\",value:function(e){for(var t=e;t;){if(t.hasOwnProperty(\"vis-item\"))return t[\"vis-item\"];t=t.parentNode}return null}},{key:\"itemFromTarget\",value:function(e){return this.itemFromElement(e.target)}},{key:\"itemFromRelatedTarget\",value:function(e){return this.itemFromElement(e.relatedTarget)}},{key:\"groupFromTarget\",value:function(e){var t=e.center?e.center.y:e.clientY,o=this.groupIds;0>=o.length&&this.groupsData&&(o=this.groupsData.getIds({order:this.options.groupOrder}));for(var n=0;n<o.length;n++){var a=o[n],r=this.groups[a],s=r.dom.foreground,d=So.getAbsoluteTop(s);if(t>=d&&t<d+s.offsetHeight)return r;if(\"top\"===this.options.orientation.item){if(n==this.groupIds.length-1&&t>d)return r;}else if(0==n&&t<d+s.offset)return r}return null}},{key:\"_cloneItemData\",value:function(e,t){var o=So.extend({},e);return t||(t=this.itemsData.getDataSet()._options.type),null!=o.start&&(o.start=So.convert(o.start,t&&t.start||\"Date\")),null!=o.end&&(o.end=So.convert(o.end,t&&t.end||\"Date\")),o}},{key:\"_clusterItems\",value:function(){if(this.options.cluster){var e=this.body.range.conversion(this.body.domProps.center.width),t=e.scale,o=this.clusterGenerator.getClusters(this.clusters,t,this.options.cluster);if(this.clusters!=o){if(this._detachAllClusters(),o){var n=!0,i=!1,a=void 0;try{for(var r=o[Symbol.iterator](),s,d;!(n=(s=r.next()).done);n=!0)d=s.value,d.attach()}catch(e){i=!0,a=e}finally{try{n||null==r.return||r.return()}finally{if(i)throw a}}this.clusters=o}this._updateClusters(o)}}}},{key:\"_detachAllClusters\",value:function(){if(this.options.cluster&&this.clusters&&this.clusters.length){var e=!0,t=!1,o=void 0;try{for(var n=this.clusters[Symbol.iterator](),i,a;!(e=(i=n.next()).done);e=!0)a=i.value,a.detach()}catch(e){t=!0,o=e}finally{try{e||null==n.return||n.return()}finally{if(t)throw o}}}}},{key:\"_updateClusters\",value:function(e){if(this.clusters&&this.clusters.length){var t=new Set(e.map(function(e){return e.id})),o=this.clusters.filter(function(e){return!t.has(e.id)}),n=!1,i=!0,a=!1,r=void 0;try{for(var s=o[Symbol.iterator](),d;!(i=(d=s.next()).done);i=!0){var l=d.value,p=this.selection.indexOf(l.id);-1!==p&&(l.unselect(),this.selection.splice(p,1),n=!0)}}catch(e){a=!0,r=e}finally{try{i||null==s.return||s.return()}finally{if(a)throw r}}if(n){var m=this.getSelection();this.body.emitter.emit(\"select\",{items:m,event:event})}}this.clusters=e||[]}}],[{key:\"_getItemRange\",value:function(e){var t=null,o=null;return e.forEach(function(e){(null==o||e.start<o)&&(o=e.start),null==e.end?(null==t||e.start>t)&&(t=e.start):(null==t||e.end>t)&&(t=e.end)}),{min:o,max:t}}},{key:\"itemSetFromTarget\",value:function(e){for(var t=e.target;t;){if(t.hasOwnProperty(\"vis-itemset\"))return t[\"vis-itemset\"];t=t.parentNode}return null}}]),t}(dn);jn.types={background:Rn,box:Pn,range:Yn,point:En},jn.prototype._onAdd=jn.prototype._onUpdate;var Wn=!1,Un=\"background: #FFeeee; color: #dd0000\",zn=function(){function e(){We(this,e)}return ze(e,null,[{key:\"validate\",value:function(t,o,n){Wn=!1,ri=o;var i=o;return void 0!==n&&(i=o[n]),e.parse(t,i,[]),Wn}},{key:\"parse\",value:function(t,o,n){for(var i in t)t.hasOwnProperty(i)&&e.check(i,t,o,n)}},{key:\"check\",value:function(t,o,n,i){if(void 0===n[t]&&void 0===n.__any__)return void e.getSuggestion(t,n,i);var a=t,r=!0;void 0===n[t]&&void 0!==n.__any__&&(a=\"__any__\",r=\"object\"===e.getType(o[t]));var s=n[a];r&&void 0!==s.__type__&&(s=s.__type__),e.checkFields(t,o,n,a,s,i)}},{key:\"checkFields\",value:function(t,o,n,i,a,r){var s=function(o){console.log(\"%c\"+o+e.printLocation(r,t),Un)},d=e.getType(o[t]),l=a[d];void 0===l?void 0===a.any&&(s(\"Invalid type received for \\\"\"+t+\"\\\". Expected: \"+e.print(Object.keys(a))+\". Received [\"+d+\"] \\\"\"+o[t]+\"\\\"\"),Wn=!0):\"array\"===e.getType(l)&&-1===l.indexOf(o[t])?(s(\"Invalid option detected in \\\"\"+t+\"\\\". Allowed values are:\"+e.print(l)+\" not \\\"\"+o[t]+\"\\\". \"),Wn=!0):\"object\"===d&&\"__any__\"!==i&&(r=So.copyAndExtendArray(r,t),e.parse(o[t],n[i],r))}},{key:\"getType\",value:function(e){var t=je(e);return\"object\"===t?null===e?\"null\":e instanceof Boolean?\"boolean\":e instanceof Number?\"number\":e instanceof String?\"string\":Array.isArray(e)?\"array\":e instanceof Date?\"date\":void 0===e.nodeType?!0===e._isAMomentObject?\"moment\":\"object\":\"dom\":\"number\"===t?\"number\":\"boolean\"===t?\"boolean\":\"string\"===t?\"string\":void 0===t?\"undefined\":t}},{key:\"getSuggestion\",value:function(t,o,n){var i=e.findInOptions(t,o,n,!1),a=e.findInOptions(t,ri,[],!0),r;r=void 0===i.indexMatch?a.distance<=4&&i.distance>a.distance?\" in \"+e.printLocation(i.path,t,\"\")+\"Perhaps it was misplaced? Matching option found at: \"+e.printLocation(a.path,a.closestMatch,\"\"):i.distance<=8?\". Did you mean \\\"\"+i.closestMatch+\"\\\"?\"+e.printLocation(i.path,t):\". Did you mean one of these: \"+e.print(Object.keys(o))+e.printLocation(n,t):\" in \"+e.printLocation(i.path,t,\"\")+\"Perhaps it was incomplete? Did you mean: \\\"\"+i.indexMatch+\"\\\"?\\n\\n\",console.log(\"%cUnknown option detected: \\\"\"+t+\"\\\"\"+r,Un),Wn=!0}},{key:\"findInOptions\",value:function(t,o,n){var i=!!(3<arguments.length&&void 0!==arguments[3])&&arguments[3],a=1e9,r=\"\",s=[],d=t.toLowerCase(),l=void 0;for(var p in o){var m=void 0;if(void 0!==o[p].__type__&&!0===i){var u=e.findInOptions(t,o[p],So.copyAndExtendArray(n,p));a>u.distance&&(r=u.closestMatch,s=u.path,a=u.distance,l=u.indexMatch)}else-1!==p.toLowerCase().indexOf(d)&&(l=p),m=e.levenshteinDistance(t,p),a>m&&(r=p,s=So.copyArray(n),a=m)}return{closestMatch:r,path:s,distance:a,indexMatch:l}}},{key:\"printLocation\",value:function(e,t){for(var o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:\"Problem value found at: \\n\",n=\"\\n\\n\"+o+\"options = {\\n\",a=0;a<e.length;a++){for(var r=0;r<a+1;r++)n+=\"  \";n+=e[a]+\": {\\n\"}for(var s=0;s<e.length+1;s++)n+=\"  \";n+=t+\"\\n\";for(var d=0;d<e.length+1;d++){for(var l=0;l<e.length-d;l++)n+=\"  \";n+=\"}\\n\"}return n+\"\\n\\n\"}},{key:\"print\",value:function(e){return JSON.stringify(e).replace(/(\\\")|(\\[)|(\\])|(,\"__type__\")/g,\"\").replace(/(\\,)/g,\", \")}},{key:\"levenshteinDistance\",value:function(e,t){if(0===e.length)return t.length;if(0===t.length)return e.length;var o=[],n;for(n=0;n<=t.length;n++)o[n]=[n];var a;for(a=0;a<=e.length;a++)o[0][a]=a;for(n=1;n<=t.length;n++)for(a=1;a<=e.length;a++)o[n][a]=t.charAt(n-1)==e.charAt(a-1)?o[n-1][a-1]:Jt(o[n-1][a-1]+1,Jt(o[n][a-1]+1,o[n-1][a]+1));return o[t.length][e.length]}}]),e}(),Vn=\"string\",Bn=\"boolean\",qn=\"number\",Zn=\"array\",Xn=\"date\",Kn=\"object\",Qn=\"moment\",$n={configure:{enabled:{boolean:Bn},filter:{boolean:Bn,function:\"function\"},container:{dom:\"dom\"},__type__:{object:Kn,boolean:Bn,function:\"function\"}},align:{string:Vn},alignCurrentTime:{string:Vn,undefined:\"undefined\"},rtl:{boolean:Bn,undefined:\"undefined\"},rollingMode:{follow:{boolean:Bn},offset:{number:qn,undefined:\"undefined\"},__type__:{object:Kn}},onTimeout:{timeoutMs:{number:qn},callback:{function:\"function\"},__type__:{object:Kn}},verticalScroll:{boolean:Bn,undefined:\"undefined\"},horizontalScroll:{boolean:Bn,undefined:\"undefined\"},autoResize:{boolean:Bn},throttleRedraw:{number:qn},clickToUse:{boolean:Bn},dataAttributes:{string:Vn,array:Zn},editable:{add:{boolean:Bn,undefined:\"undefined\"},remove:{boolean:Bn,undefined:\"undefined\"},updateGroup:{boolean:Bn,undefined:\"undefined\"},updateTime:{boolean:Bn,undefined:\"undefined\"},overrideItems:{boolean:Bn,undefined:\"undefined\"},__type__:{boolean:Bn,object:Kn}},end:{number:qn,date:Xn,string:Vn,moment:Qn},format:{minorLabels:{millisecond:{string:Vn,undefined:\"undefined\"},second:{string:Vn,undefined:\"undefined\"},minute:{string:Vn,undefined:\"undefined\"},hour:{string:Vn,undefined:\"undefined\"},weekday:{string:Vn,undefined:\"undefined\"},day:{string:Vn,undefined:\"undefined\"},week:{string:Vn,undefined:\"undefined\"},month:{string:Vn,undefined:\"undefined\"},year:{string:Vn,undefined:\"undefined\"},__type__:{object:Kn,function:\"function\"}},majorLabels:{millisecond:{string:Vn,undefined:\"undefined\"},second:{string:Vn,undefined:\"undefined\"},minute:{string:Vn,undefined:\"undefined\"},hour:{string:Vn,undefined:\"undefined\"},weekday:{string:Vn,undefined:\"undefined\"},day:{string:Vn,undefined:\"undefined\"},week:{string:Vn,undefined:\"undefined\"},month:{string:Vn,undefined:\"undefined\"},year:{string:Vn,undefined:\"undefined\"},__type__:{object:Kn,function:\"function\"}},__type__:{object:Kn}},moment:{function:\"function\"},groupHeightMode:{string:Vn},groupOrder:{string:Vn,function:\"function\"},groupEditable:{add:{boolean:Bn,undefined:\"undefined\"},remove:{boolean:Bn,undefined:\"undefined\"},order:{boolean:Bn,undefined:\"undefined\"},__type__:{boolean:Bn,object:Kn}},groupOrderSwap:{function:\"function\"},height:{string:Vn,number:qn},hiddenDates:{start:{date:Xn,number:qn,string:Vn,moment:Qn},end:{date:Xn,number:qn,string:Vn,moment:Qn},repeat:{string:Vn},__type__:{object:Kn,array:Zn}},itemsAlwaysDraggable:{item:{boolean:Bn,undefined:\"undefined\"},range:{boolean:Bn,undefined:\"undefined\"},__type__:{boolean:Bn,object:Kn}},limitSize:{boolean:Bn},locale:{string:Vn},locales:{__any__:{any:\"any\"},__type__:{object:Kn}},margin:{axis:{number:qn},item:{horizontal:{number:qn,undefined:\"undefined\"},vertical:{number:qn,undefined:\"undefined\"},__type__:{object:Kn,number:qn}},__type__:{object:Kn,number:qn}},max:{date:Xn,number:qn,string:Vn,moment:Qn},maxHeight:{number:qn,string:Vn},maxMinorChars:{number:qn},min:{date:Xn,number:qn,string:Vn,moment:Qn},minHeight:{number:qn,string:Vn},moveable:{boolean:Bn},multiselect:{boolean:Bn},multiselectPerGroup:{boolean:Bn},onAdd:{function:\"function\"},onDropObjectOnItem:{function:\"function\"},onUpdate:{function:\"function\"},onMove:{function:\"function\"},onMoving:{function:\"function\"},onRemove:{function:\"function\"},onAddGroup:{function:\"function\"},onMoveGroup:{function:\"function\"},onRemoveGroup:{function:\"function\"},onInitialDrawComplete:{function:\"function\"},order:{function:\"function\"},orientation:{axis:{string:Vn,undefined:\"undefined\"},item:{string:Vn,undefined:\"undefined\"},__type__:{string:Vn,object:Kn}},selectable:{boolean:Bn},showCurrentTime:{boolean:Bn},showMajorLabels:{boolean:Bn},showMinorLabels:{boolean:Bn},stack:{boolean:Bn},stackSubgroups:{boolean:Bn},cluster:{maxItems:{number:qn,undefined:\"undefined\"},titleTemplate:{string:Vn,undefined:\"undefined\"},clusterCriteria:{function:\"function\",undefined:\"undefined\"},showStipes:{boolean:Bn,undefined:\"undefined\"},fitOnDoubleClick:{boolean:Bn,undefined:\"undefined\"},__type__:{boolean:Bn,object:Kn}},snap:{function:\"function\",null:\"null\"},start:{date:Xn,number:qn,string:Vn,moment:Qn},template:{function:\"function\"},loadingScreenTemplate:{function:\"function\"},groupTemplate:{function:\"function\"},visibleFrameTemplate:{string:Vn,function:\"function\"},showTooltips:{boolean:Bn},tooltip:{followMouse:{boolean:Bn},overflowMethod:{string:[\"cap\",\"flip\",\"none\"]},delay:{number:qn},template:{function:\"function\"},__type__:{object:Kn}},tooltipOnItemUpdateTime:{template:{function:\"function\"},__type__:{boolean:Bn,object:Kn}},timeAxis:{scale:{string:Vn,undefined:\"undefined\"},step:{number:qn,undefined:\"undefined\"},__type__:{object:Kn}},type:{string:Vn},width:{string:Vn,number:qn},preferZoom:{boolean:Bn},zoomable:{boolean:Bn},zoomKey:{string:[\"ctrlKey\",\"altKey\",\"shiftKey\",\"metaKey\",\"\"]},zoomFriction:{number:qn},zoomMax:{number:qn},zoomMin:{number:qn},__type__:{object:Kn}},Jn={global:{align:[\"center\",\"left\",\"right\"],alignCurrentTime:[\"none\",\"year\",\"month\",\"quarter\",\"week\",\"isoWeek\",\"day\",\"date\",\"hour\",\"minute\",\"second\"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:\"\",format:{minorLabels:{millisecond:\"SSS\",second:\"s\",minute:\"HH:mm\",hour:\"HH:mm\",weekday:\"ddd D\",day:\"D\",week:\"w\",month:\"MMM\",year:\"YYYY\"},majorLabels:{millisecond:\"HH:mm:ss\",second:\"D MMMM HH:mm\",minute:\"ddd D MMMM\",hour:\"ddd D MMMM\",weekday:\"MMMM YYYY\",day:\"MMMM YYYY\",week:\"MMMM YYYY\",month:\"YYYY\",year:\"\"}},groupHeightMode:[\"auto\",\"fixed\",\"fitItems\"],groupsDraggable:!1,height:\"\",locale:\"\",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:\"\",maxHeight:\"\",maxMinorChars:[7,0,20,1],min:\"\",minHeight:\"\",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:[\"both\",\"bottom\",\"top\"],item:[\"bottom\",\"top\"]},preferZoom:!1,selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,cluster:!1,start:\"\",showTooltips:!0,tooltip:{followMouse:!1,overflowMethod:\"flip\",delay:[500,0,99999,100]},tooltipOnItemUpdateTime:!1,type:[\"box\",\"point\",\"range\",\"background\"],width:\"100%\",zoomable:!0,zoomKey:[\"ctrlKey\",\"altKey\",\"shiftKey\",\"metaKey\",\"\"],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}},ei={black:\"#000000\",navy:\"#000080\",darkblue:\"#00008B\",mediumblue:\"#0000CD\",blue:\"#0000FF\",darkgreen:\"#006400\",green:\"#008000\",teal:\"#008080\",darkcyan:\"#008B8B\",deepskyblue:\"#00BFFF\",darkturquoise:\"#00CED1\",mediumspringgreen:\"#00FA9A\",lime:\"#00FF00\",springgreen:\"#00FF7F\",aqua:\"#00FFFF\",cyan:\"#00FFFF\",midnightblue:\"#191970\",dodgerblue:\"#1E90FF\",lightseagreen:\"#20B2AA\",forestgreen:\"#228B22\",seagreen:\"#2E8B57\",darkslategray:\"#2F4F4F\",limegreen:\"#32CD32\",mediumseagreen:\"#3CB371\",turquoise:\"#40E0D0\",royalblue:\"#4169E1\",steelblue:\"#4682B4\",darkslateblue:\"#483D8B\",mediumturquoise:\"#48D1CC\",indigo:\"#4B0082\",darkolivegreen:\"#556B2F\",cadetblue:\"#5F9EA0\",cornflowerblue:\"#6495ED\",mediumaquamarine:\"#66CDAA\",dimgray:\"#696969\",slateblue:\"#6A5ACD\",olivedrab:\"#6B8E23\",slategray:\"#708090\",lightslategray:\"#778899\",mediumslateblue:\"#7B68EE\",lawngreen:\"#7CFC00\",chartreuse:\"#7FFF00\",aquamarine:\"#7FFFD4\",maroon:\"#800000\",purple:\"#800080\",olive:\"#808000\",gray:\"#808080\",skyblue:\"#87CEEB\",lightskyblue:\"#87CEFA\",blueviolet:\"#8A2BE2\",darkred:\"#8B0000\",darkmagenta:\"#8B008B\",saddlebrown:\"#8B4513\",darkseagreen:\"#8FBC8F\",lightgreen:\"#90EE90\",mediumpurple:\"#9370D8\",darkviolet:\"#9400D3\",palegreen:\"#98FB98\",darkorchid:\"#9932CC\",yellowgreen:\"#9ACD32\",sienna:\"#A0522D\",brown:\"#A52A2A\",darkgray:\"#A9A9A9\",lightblue:\"#ADD8E6\",greenyellow:\"#ADFF2F\",paleturquoise:\"#AFEEEE\",lightsteelblue:\"#B0C4DE\",powderblue:\"#B0E0E6\",firebrick:\"#B22222\",darkgoldenrod:\"#B8860B\",mediumorchid:\"#BA55D3\",rosybrown:\"#BC8F8F\",darkkhaki:\"#BDB76B\",silver:\"#C0C0C0\",mediumvioletred:\"#C71585\",indianred:\"#CD5C5C\",peru:\"#CD853F\",chocolate:\"#D2691E\",tan:\"#D2B48C\",lightgrey:\"#D3D3D3\",palevioletred:\"#D87093\",thistle:\"#D8BFD8\",orchid:\"#DA70D6\",goldenrod:\"#DAA520\",crimson:\"#DC143C\",gainsboro:\"#DCDCDC\",plum:\"#DDA0DD\",burlywood:\"#DEB887\",lightcyan:\"#E0FFFF\",lavender:\"#E6E6FA\",darksalmon:\"#E9967A\",violet:\"#EE82EE\",palegoldenrod:\"#EEE8AA\",lightcoral:\"#F08080\",khaki:\"#F0E68C\",aliceblue:\"#F0F8FF\",honeydew:\"#F0FFF0\",azure:\"#F0FFFF\",sandybrown:\"#F4A460\",wheat:\"#F5DEB3\",beige:\"#F5F5DC\",whitesmoke:\"#F5F5F5\",mintcream:\"#F5FFFA\",ghostwhite:\"#F8F8FF\",salmon:\"#FA8072\",antiquewhite:\"#FAEBD7\",linen:\"#FAF0E6\",lightgoldenrodyellow:\"#FAFAD2\",oldlace:\"#FDF5E6\",red:\"#FF0000\",fuchsia:\"#FF00FF\",magenta:\"#FF00FF\",deeppink:\"#FF1493\",orangered:\"#FF4500\",tomato:\"#FF6347\",hotpink:\"#FF69B4\",coral:\"#FF7F50\",darkorange:\"#FF8C00\",lightsalmon:\"#FFA07A\",orange:\"#FFA500\",lightpink:\"#FFB6C1\",pink:\"#FFC0CB\",gold:\"#FFD700\",peachpuff:\"#FFDAB9\",navajowhite:\"#FFDEAD\",moccasin:\"#FFE4B5\",bisque:\"#FFE4C4\",mistyrose:\"#FFE4E1\",blanchedalmond:\"#FFEBCD\",papayawhip:\"#FFEFD5\",lavenderblush:\"#FFF0F5\",seashell:\"#FFF5EE\",cornsilk:\"#FFF8DC\",lemonchiffon:\"#FFFACD\",floralwhite:\"#FFFAF0\",snow:\"#FFFAFA\",yellow:\"#FFFF00\",lightyellow:\"#FFFFE0\",ivory:\"#FFFFF0\",white:\"#FFFFFF\"},ti=function(){var t=Math.cos,o=Math.sin,n=Math.PI;function e(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:1;We(this,e),this.pixelRatio=t,this.generated=!1,this.centerCoordinates={x:289/2,y:289/2},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return ze(e,[{key:\"insertTo\",value:function(e){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=e,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:\"setUpdateCallback\",value:function(e){if(\"function\"==typeof e)this.updateCallback=e;else throw new Error(\"Function attempted to set as colorPicker update callback is not a function.\")}},{key:\"setCloseCallback\",value:function(e){if(\"function\"==typeof e)this.closeCallback=e;else throw new Error(\"Function attempted to set as colorPicker closing callback is not a function.\")}},{key:\"_isColorString\",value:function(e){if(\"string\"==typeof e)return ei[e]}},{key:\"setColor\",value:function(e){var t=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];if(\"none\"!==e){var o=this._isColorString(e),n;if(void 0!==o&&(e=o),!0===So.isString(e)){if(!0===So.isValidRGB(e)){var i=e.substr(4).substr(0,e.length-5).split(\",\");n={r:i[0],g:i[1],b:i[2],a:1}}else if(!0===So.isValidRGBA(e)){var a=e.substr(5).substr(0,e.length-6).split(\",\");n={r:a[0],g:a[1],b:a[2],a:a[3]}}else if(!0===So.isValidHex(e)){var r=So.hexToRGB(e);n={r:r.r,g:r.g,b:r.b,a:1}}}else if(e instanceof Object&&void 0!==e.r&&void 0!==e.g&&void 0!==e.b){var s=void 0===e.a?\"1.0\":e.a;n={r:e.r,g:e.g,b:e.b,a:s}}if(void 0===n)throw new Error(\"Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: \"+JSON.stringify(e));else this._setColor(n,t)}}},{key:\"show\",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display=\"block\",this._generateHueCircle()}},{key:\"_hide\",value:function(){var e=this,t=!(0<arguments.length&&void 0!==arguments[0])||arguments[0];!0===t&&(this.previousColor=So.extend({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display=\"none\",setTimeout(function(){void 0!==e.closeCallback&&(e.closeCallback(),e.closeCallback=void 0)},0)}},{key:\"_save\",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:\"_apply\",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:\"_loadLast\",value:function(){void 0===this.previousColor?alert(\"There is no last color to load...\"):this.setColor(this.previousColor,!1)}},{key:\"_setColor\",value:function(e){var i=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];!0===i&&(this.initialColor=So.extend({},e)),this.color=e;var a=So.RGBToHSV(e.r,e.g,e.b),r=2*n,s=this.r*a.s,d=this.centerCoordinates.x+s*o(r*a.h),l=this.centerCoordinates.y+s*t(r*a.h);this.colorPickerSelector.style.left=d-.5*this.colorPickerSelector.clientWidth+\"px\",this.colorPickerSelector.style.top=l-.5*this.colorPickerSelector.clientHeight+\"px\",this._updatePicker(e)}},{key:\"_setOpacity\",value:function(e){this.color.a=e/100,this._updatePicker(this.color)}},{key:\"_setBrightness\",value:function(e){var t=So.RGBToHSV(this.color.r,this.color.g,this.color.b);t.v=e/100;var o=So.HSVToRGB(t.h,t.s,t.v);o.a=this.color.a,this.color=o,this._updatePicker()}},{key:\"_updatePicker\",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.color,t=So.RGBToHSV(e.r,e.g,e.b),o=this.colorPickerCanvas.getContext(\"2d\");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(o.webkitBackingStorePixelRatio||o.mozBackingStorePixelRatio||o.msBackingStorePixelRatio||o.oBackingStorePixelRatio||o.backingStorePixelRatio||1)),o.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var n=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;o.clearRect(0,0,n,i),o.putImageData(this.hueCircle,0,0),o.fillStyle=\"rgba(0,0,0,\"+(1-t.v)+\")\",o.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),o.fill(),this.brightnessRange.value=100*t.v,this.opacityRange.value=100*e.a,this.initialColorDiv.style.backgroundColor=\"rgba(\"+this.initialColor.r+\",\"+this.initialColor.g+\",\"+this.initialColor.b+\",\"+this.initialColor.a+\")\",this.newColorDiv.style.backgroundColor=\"rgba(\"+this.color.r+\",\"+this.color.g+\",\"+this.color.b+\",\"+this.color.a+\")\"}},{key:\"_setSize\",value:function(){this.colorPickerCanvas.style.width=\"100%\",this.colorPickerCanvas.style.height=\"100%\",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:\"_create\",value:function(){if(this.frame=document.createElement(\"div\"),this.frame.className=\"vis-color-picker\",this.colorPickerDiv=document.createElement(\"div\"),this.colorPickerSelector=document.createElement(\"div\"),this.colorPickerSelector.className=\"vis-selector\",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement(\"canvas\"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),!this.colorPickerCanvas.getContext){var e=document.createElement(\"DIV\");e.style.color=\"red\",e.style.fontWeight=\"bold\",e.style.padding=\"10px\",e.innerHTML=\"Error: your browser does not support HTML canvas\",this.colorPickerCanvas.appendChild(e)}else{var t=this.colorPickerCanvas.getContext(\"2d\");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext(\"2d\").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}this.colorPickerDiv.className=\"vis-color\",this.opacityDiv=document.createElement(\"div\"),this.opacityDiv.className=\"vis-opacity\",this.brightnessDiv=document.createElement(\"div\"),this.brightnessDiv.className=\"vis-brightness\",this.arrowDiv=document.createElement(\"div\"),this.arrowDiv.className=\"vis-arrow\",this.opacityRange=document.createElement(\"input\");try{this.opacityRange.type=\"range\",this.opacityRange.min=\"0\",this.opacityRange.max=\"100\"}catch(e){}this.opacityRange.value=\"100\",this.opacityRange.className=\"vis-range\",this.brightnessRange=document.createElement(\"input\");try{this.brightnessRange.type=\"range\",this.brightnessRange.min=\"0\",this.brightnessRange.max=\"100\"}catch(e){}this.brightnessRange.value=\"100\",this.brightnessRange.className=\"vis-range\",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var o=this;this.opacityRange.onchange=function(){o._setOpacity(this.value)},this.opacityRange.oninput=function(){o._setOpacity(this.value)},this.brightnessRange.onchange=function(){o._setBrightness(this.value)},this.brightnessRange.oninput=function(){o._setBrightness(this.value)},this.brightnessLabel=document.createElement(\"div\"),this.brightnessLabel.className=\"vis-label vis-brightness\",this.brightnessLabel.innerHTML=\"brightness:\",this.opacityLabel=document.createElement(\"div\"),this.opacityLabel.className=\"vis-label vis-opacity\",this.opacityLabel.innerHTML=\"opacity:\",this.newColorDiv=document.createElement(\"div\"),this.newColorDiv.className=\"vis-new-color\",this.newColorDiv.innerHTML=\"new\",this.initialColorDiv=document.createElement(\"div\"),this.initialColorDiv.className=\"vis-initial-color\",this.initialColorDiv.innerHTML=\"initial\",this.cancelButton=document.createElement(\"div\"),this.cancelButton.className=\"vis-button vis-cancel\",this.cancelButton.innerHTML=\"cancel\",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement(\"div\"),this.applyButton.className=\"vis-button vis-apply\",this.applyButton.innerHTML=\"apply\",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement(\"div\"),this.saveButton.className=\"vis-button vis-save\",this.saveButton.innerHTML=\"save\",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement(\"div\"),this.loadButton.className=\"vis-button vis-load\",this.loadButton.innerHTML=\"load last\",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:\"_bindHammer\",value:function(){var e=this;this.drag={},this.pinch={},this.hammer=new yn(this.colorPickerCanvas),this.hammer.get(\"pinch\").set({enable:!0}),_t(this.hammer,function(t){e._moveSelector(t)}),this.hammer.on(\"tap\",function(t){e._moveSelector(t)}),this.hammer.on(\"panstart\",function(t){e._moveSelector(t)}),this.hammer.on(\"panmove\",function(t){e._moveSelector(t)}),this.hammer.on(\"panend\",function(t){e._moveSelector(t)})}},{key:\"_generateHueCircle\",value:function(){if(!1===this.generated){var e=this.colorPickerCanvas.getContext(\"2d\");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.colorPickerCanvas.clientWidth,a=this.colorPickerCanvas.clientHeight;e.clearRect(0,0,i,a);var r,s,d,l;this.centerCoordinates={x:.5*i,y:.5*a},this.r=.49*i;var p=2*n/360,m=1/this.r,u;for(d=0;360>d;d++)for(l=0;l<this.r;l++)r=this.centerCoordinates.x+l*o(p*d),s=this.centerCoordinates.y+l*t(p*d),u=So.HSVToRGB(d*(1/360),l*m,1),e.fillStyle=\"rgb(\"+u.r+\",\"+u.g+\",\"+u.b+\")\",e.fillRect(r-.5,s-.5,2,2);e.strokeStyle=\"rgba(0,0,0,1)\",e.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),e.stroke(),this.hueCircle=e.getImageData(0,0,i,a)}this.generated=!0}},{key:\"_moveSelector\",value:function(e){var i=Math.atan2,a=this.colorPickerDiv.getBoundingClientRect(),r=e.center.x-a.left,d=e.center.y-a.top,l=.5*this.colorPickerDiv.clientHeight,p=.5*this.colorPickerDiv.clientWidth,m=r-p,u=d-l,c=i(m,u),g=.98*Jt(Vt(m*m+u*u),p),y=t(c)*g+l,f=o(c)*g+p;this.colorPickerSelector.style.top=y-.5*this.colorPickerSelector.clientHeight+\"px\",this.colorPickerSelector.style.left=f-.5*this.colorPickerSelector.clientWidth+\"px\";var b=c/(2*n);b=0>b?b+1:b;var _=g/this.r,s=So.RGBToHSV(this.color.r,this.color.g,this.color.b);s.h=b,s.s=_;var v=So.HSVToRGB(s.h,s.s,s.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor=\"rgba(\"+this.initialColor.r+\",\"+this.initialColor.g+\",\"+this.initialColor.b+\",\"+this.initialColor.a+\")\",this.newColorDiv.style.backgroundColor=\"rgba(\"+this.color.r+\",\"+this.color.g+\",\"+this.color.b+\",\"+this.color.a+\")\"}}]),e}(),oi=function(){function e(t,o,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:1;We(this,e),this.parent=t,this.changedOptions=[],this.container=o,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},So.extend(this.options,this.defaultOptions),this.configureOptions=n,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new ti(i),this.wrapper=void 0}return ze(e,[{key:\"setOptions\",value:function(e){if(void 0!==e){this.popupHistory={},this._removePopup();var t=!0;if(\"string\"==typeof e)this.options.filter=e;else if(e instanceof Array)this.options.filter=e.join();else if(\"object\"===je(e)){if(null==e)throw new TypeError(\"options cannot be null\");void 0!==e.container&&(this.options.container=e.container),void 0!==e.filter&&(this.options.filter=e.filter),void 0!==e.showButton&&(this.options.showButton=e.showButton),void 0!==e.enabled&&(t=e.enabled)}else\"boolean\"==typeof e?(this.options.filter=!0,t=e):\"function\"==typeof e&&(this.options.filter=e,t=!0);!1===this.options.filter&&(t=!1),this.options.enabled=t}this._clean()}},{key:\"setModuleOptions\",value:function(e){this.moduleOptions=e,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:\"_create\",value:function(){this._clean(),this.changedOptions=[];var e=this.options.filter,t=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,\"function\"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):(!0===e||-1!==e.indexOf(n))&&(o=!0),!1!==o&&(this.allowCreation=!0,0<t&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),t++);this._makeButton(),this._push()}},{key:\"_push\",value:function(){this.wrapper=document.createElement(\"div\"),this.wrapper.className=\"vis-configuration-wrapper\",this.container.appendChild(this.wrapper);for(var e=0;e<this.domElements.length;e++)this.wrapper.appendChild(this.domElements[e]);this._showPopupIfNeeded()}},{key:\"_clean\",value:function(){for(var e=0;e<this.domElements.length;e++)this.wrapper.removeChild(this.domElements[e]);void 0!==this.wrapper&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}},{key:\"_getValue\",value:function(e){for(var t=this.moduleOptions,o=0;o<e.length;o++)if(void 0!==t[e[o]])t=t[e[o]];else{t=void 0;break}return t}},{key:\"_makeItem\",value:function(e){if(!0===this.allowCreation){var t=document.createElement(\"div\");t.className=\"vis-configuration vis-config-item vis-config-s\"+e.length;for(var o=arguments.length,n=Array(1<o?o-1:0),i=1;i<o;i++)n[i-1]=arguments[i];return n.forEach(function(e){t.appendChild(e)}),this.domElements.push(t),this.domElements.length}return 0}},{key:\"_makeHeader\",value:function(e){var t=document.createElement(\"div\");t.className=\"vis-configuration vis-config-header\",t.innerHTML=e,this._makeItem([],t)}},{key:\"_makeLabel\",value:function(e,t){var o=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],n=document.createElement(\"div\");return n.className=\"vis-configuration vis-config-label vis-config-s\"+t.length,n.innerHTML=!0===o?\"<i><b>\"+e+\":</b></i>\":e+\":\",n}},{key:\"_makeDropdown\",value:function(e,t,o){var n=document.createElement(\"select\");n.className=\"vis-configuration vis-config-select\";var a=0;void 0!==t&&-1!==e.indexOf(t)&&(a=e.indexOf(t));for(var r=0,s;r<e.length;r++)s=document.createElement(\"option\"),s.value=e[r],r==a&&(s.selected=\"selected\"),s.innerHTML=e[r],n.appendChild(s);var d=this;n.onchange=function(){d._update(this.value,o)};var l=this._makeLabel(o[o.length-1],o);this._makeItem(o,l,n)}},{key:\"_makeRange\",value:function(e,t,o){var n=e[0],i=e[1],a=e[2],r=e[3],s=document.createElement(\"input\");s.className=\"vis-configuration vis-config-range\";try{s.type=\"range\",s.min=i,s.max=a}catch(e){}s.step=r;var d=\"\",l=0;if(void 0!==t){var p=1.2;0>t&&t*p<i?(s.min=Kt(t*p),l=s.min,d=\"range increased\"):t/p<i&&(s.min=Kt(t/p),l=s.min,d=\"range increased\"),t*p>a&&1!==a&&(s.max=Kt(t*p),l=s.max,d=\"range increased\"),s.value=t}else s.value=n;var m=document.createElement(\"input\");m.className=\"vis-configuration vis-config-rangeinput\",m.value=s.value;var u=this;s.onchange=function(){m.value=this.value,u._update(+this.value,o)},s.oninput=function(){m.value=this.value};var c=this._makeLabel(o[o.length-1],o),g=this._makeItem(o,c,s,m);\"\"!=d&&this.popupHistory[g]!==l&&(this.popupHistory[g]=l,this._setupPopup(d,g))}},{key:\"_makeButton\",value:function(){var e=this;if(!0===this.options.showButton){var t=document.createElement(\"div\");t.className=\"vis-configuration vis-config-button\",t.innerHTML=\"generate options\",t.onclick=function(){e._printOptions()},t.onmouseover=function(){t.className=\"vis-configuration vis-config-button hover\"},t.onmouseout=function(){t.className=\"vis-configuration vis-config-button\"},this.optionsContainer=document.createElement(\"div\"),this.optionsContainer.className=\"vis-configuration vis-config-option-container\",this.domElements.push(this.optionsContainer),this.domElements.push(t)}}},{key:\"_setupPopup\",value:function(e,t){var o=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter<this.popupLimit){var n=document.createElement(\"div\");n.id=\"vis-configuration-popup\",n.className=\"vis-configuration-popup\",n.innerHTML=e,n.onclick=function(){o._removePopup()},this.popupCounter+=1,this.popupDiv={html:n,index:t}}}},{key:\"_removePopup\",value:function(){void 0!==this.popupDiv.html&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}},{key:\"_showPopupIfNeeded\",value:function(){var e=this;if(void 0!==this.popupDiv.html){var t=this.domElements[this.popupDiv.index],o=t.getBoundingClientRect();this.popupDiv.html.style.left=o.left+\"px\",this.popupDiv.html.style.top=o.top-30+\"px\",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=setTimeout(function(){e.popupDiv.html.style.opacity=0},1500),this.popupDiv.deleteTimeout=setTimeout(function(){e._removePopup()},1800)}}},{key:\"_makeCheckbox\",value:function(e,t,o){var n=document.createElement(\"input\");n.type=\"checkbox\",n.className=\"vis-configuration vis-config-checkbox\",n.checked=e,void 0!==t&&(n.checked=t,t!==e&&(\"object\"===je(e)?t!==e.enabled&&this.changedOptions.push({path:o,value:t}):this.changedOptions.push({path:o,value:t})));var i=this;n.onchange=function(){i._update(this.checked,o)};var a=this._makeLabel(o[o.length-1],o);this._makeItem(o,a,n)}},{key:\"_makeTextInput\",value:function(e,t,o){var n=document.createElement(\"input\");n.type=\"text\",n.className=\"vis-configuration vis-config-text\",n.value=t,t!==e&&this.changedOptions.push({path:o,value:t});var i=this;n.onchange=function(){i._update(this.value,o)};var a=this._makeLabel(o[o.length-1],o);this._makeItem(o,a,n)}},{key:\"_makeColorField\",value:function(e,t,o){var n=this,i=e[1],a=document.createElement(\"div\");t=void 0===t?i:t,\"none\"===t?a.className=\"vis-configuration vis-config-colorBlock none\":(a.className=\"vis-configuration vis-config-colorBlock\",a.style.backgroundColor=t),t=void 0===t?i:t,a.onclick=function(){n._showColorPicker(t,a,o)};var r=this._makeLabel(o[o.length-1],o);this._makeItem(o,r,a)}},{key:\"_showColorPicker\",value:function(e,t,o){var n=this;t.onclick=function(){},this.colorPicker.insertTo(t),this.colorPicker.show(),this.colorPicker.setColor(e),this.colorPicker.setUpdateCallback(function(e){var i=\"rgba(\"+e.r+\",\"+e.g+\",\"+e.b+\",\"+e.a+\")\";t.style.backgroundColor=i,n._update(i,o)}),this.colorPicker.setCloseCallback(function(){t.onclick=function(){n._showColorPicker(e,t,o)}})}},{key:\"_handleObject\",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],o=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],n=!1,i=this.options.filter,a=!1;for(var r in e)if(e.hasOwnProperty(r)){n=!0;var s=e[r],d=So.copyAndExtendArray(t,r);if(\"function\"==typeof i&&(n=i(r,t),!1===n&&!(s instanceof Array)&&\"string\"!=typeof s&&\"boolean\"!=typeof s&&s instanceof Object&&(this.allowCreation=!1,n=this._handleObject(s,d,!0),this.allowCreation=!1===o)),!1!==n){a=!0;var l=this._getValue(d);if(s instanceof Array)this._handleArray(s,l,d);else if(\"string\"==typeof s)this._makeTextInput(s,l,d);else if(\"boolean\"==typeof s)this._makeCheckbox(s,l,d);else if(s instanceof Object){var p=!0;if(-1!==t.indexOf(\"physics\")&&this.moduleOptions.physics.solver!==r&&(p=!1),!0==p)if(void 0!==s.enabled){var m=So.copyAndExtendArray(d,\"enabled\"),u=this._getValue(m);if(!0===u){var c=this._makeLabel(r,d,!0);this._makeItem(d,c),a=this._handleObject(s,d)||a}else this._makeCheckbox(s,u,d)}else{var g=this._makeLabel(r,d,!0);this._makeItem(d,g),a=this._handleObject(s,d)||a}}else console.error(\"dont know how to handle\",s,r,d)}}return a}},{key:\"_handleArray\",value:function(e,t,o){\"string\"==typeof e[0]&&\"color\"===e[0]?(this._makeColorField(e,t,o),e[1]!==t&&this.changedOptions.push({path:o,value:t})):\"string\"==typeof e[0]?(this._makeDropdown(e,t,o),e[0]!==t&&this.changedOptions.push({path:o,value:t})):\"number\"==typeof e[0]&&(this._makeRange(e,t,o),e[0]!==t&&this.changedOptions.push({path:o,value:+t}))}},{key:\"_update\",value:function(e,t){var o=this._constructOptions(e,t);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit(\"configChange\",o),this.initialized=!0,this.parent.setOptions(o)}},{key:\"_constructOptions\",value:function(e,t){var o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n=o;e=\"true\"===e||e,e=\"false\"!==e&&e;for(var a=0;a<t.length;a++)\"global\"!==t[a]&&(void 0===n[t[a]]&&(n[t[a]]={}),a==t.length-1?n[t[a]]=e:n=n[t[a]]);return o}},{key:\"_printOptions\",value:function(){var e=this.getOptions();this.optionsContainer.innerHTML=\"<pre>var options = \"+JSON.stringify(e,null,2)+\"</pre>\"}},{key:\"getOptions\",value:function(){for(var e={},t=0;t<this.changedOptions.length;t++)this._constructOptions(this.changedOptions[t].value,this.changedOptions[t].path,e);return e}}]),e}(),ni=function(t){function o(t,n,i,a){var r;if(We(this,o),r=Xe(this,Be(o).call(this)),r.initTime=new Date,r.itemsDone=!1,!(Ze(r)instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!(Array.isArray(i)||i instanceof rn||i instanceof sn)&&i instanceof Object){var s=a;a=i,i=s}a&&a.throttleRedraw&&console.warn(\"Timeline option \\\"throttleRedraw\\\" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.\");var d=Ze(r);if(r.defaultOptions={autoResize:!0,orientation:{axis:\"bottom\",item:\"bottom\"},moment:e},r.options=So.deepExtend({},r.defaultOptions),r._create(t),!a||a&&\"undefined\"==typeof a.rtl){r.dom.root.style.visibility=\"hidden\";for(var l=r.dom.root,p;!p&&l;)p=window.getComputedStyle(l,null).direction,l=l.parentElement;r.options.rtl=p&&\"rtl\"==p.toLowerCase()}else r.options.rtl=a.rtl;a&&(a.rollingMode&&(r.options.rollingMode=a.rollingMode),a.onInitialDrawComplete&&(r.options.onInitialDrawComplete=a.onInitialDrawComplete),a.onTimeout&&(r.options.onTimeout=a.onTimeout),a.loadingScreenTemplate&&(r.options.loadingScreenTemplate=a.loadingScreenTemplate));var m=document.createElement(\"div\");if(r.options.loadingScreenTemplate){var u=r.options.loadingScreenTemplate.bind(Ze(r)),c=u(r.dom.loadingScreen);c instanceof Object&&!(c instanceof Element)?u(m):c instanceof Element?(m.innerHTML=\"\",m.appendChild(c)):null!=c&&(m.innerHTML=c)}return r.dom.loadingScreen.appendChild(m),r.components=[],r.body={dom:r.dom,domProps:r.props,emitter:{on:r.on.bind(Ze(r)),off:r.off.bind(Ze(r)),emit:r.emit.bind(Ze(r))},hiddenDates:[],util:{getScale:function(){return d.timeAxis.step.scale},getStep:function(){return d.timeAxis.step.step},toScreen:d._toScreen.bind(d),toGlobalScreen:d._toGlobalScreen.bind(d),toTime:d._toTime.bind(d),toGlobalTime:d._toGlobalTime.bind(d)}},r.range=new pn(r.body,r.options),r.components.push(r.range),r.body.range=r.range,r.timeAxis=new bn(r.body,r.options),r.timeAxis2=null,r.components.push(r.timeAxis),r.currentTime=new Dn(r.body,r.options),r.components.push(r.currentTime),r.itemSet=new jn(r.body,r.options),r.components.push(r.itemSet),r.itemsData=null,r.groupsData=null,r.dom.root.onclick=function(e){d.emit(\"click\",d.getEventProperties(e))},r.dom.root.ondblclick=function(e){d.emit(\"doubleClick\",d.getEventProperties(e))},r.dom.root.oncontextmenu=function(e){d.emit(\"contextmenu\",d.getEventProperties(e))},r.dom.root.onmouseover=function(e){d.emit(\"mouseOver\",d.getEventProperties(e))},window.PointerEvent?(r.dom.root.onpointerdown=function(e){d.emit(\"mouseDown\",d.getEventProperties(e))},r.dom.root.onpointermove=function(e){d.emit(\"mouseMove\",d.getEventProperties(e))},r.dom.root.onpointerup=function(e){d.emit(\"mouseUp\",d.getEventProperties(e))}):(r.dom.root.onmousemove=function(e){d.emit(\"mouseMove\",d.getEventProperties(e))},r.dom.root.onmousedown=function(e){d.emit(\"mouseDown\",d.getEventProperties(e))},r.dom.root.onmouseup=function(e){d.emit(\"mouseUp\",d.getEventProperties(e))}),r.initialFitDone=!1,r.on(\"changed\",function(){if(null!=d.itemsData){if(!d.initialFitDone&&!d.options.rollingMode)if(d.initialFitDone=!0,null!=d.options.start||null!=d.options.end){if(null==d.options.start||null==d.options.end)var e=d.getItemRange();var t=null==d.options.start?e.min:d.options.start,o=null==d.options.end?e.max:d.options.end;d.setWindow(t,o,{animation:!1})}else d.fit({animation:!1});d.initialDrawDone||!d.initialRangeChangeDone&&(d.options.start||d.options.end)&&!d.options.rollingMode||(d.initialDrawDone=!0,d.itemSet.initialDrawDone=!0,d.dom.root.style.visibility=\"visible\",d.dom.loadingScreen.parentNode.removeChild(d.dom.loadingScreen),d.options.onInitialDrawComplete&&setTimeout(function(){return d.options.onInitialDrawComplete()},0))}}),r.on(\"destroyTimeline\",function(){d.destroy()}),a&&r.setOptions(a),r.body.emitter.on(\"fit\",function(e){r._onFit(e),r.redraw()}),i&&r.setGroups(i),n&&r.setItems(n),r._redraw(),r}return Ve(o,t),ze(o,[{key:\"_createConfigurator\",value:function(){return new oi(this,this.dom.container,Jn)}},{key:\"redraw\",value:function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()}},{key:\"setOptions\",value:function(e){var t=zn.validate(e,$n);if(!0===t&&console.log(\"%cErrors have been found in the supplied options object.\",Un),xn.prototype.setOptions.call(this,e),\"type\"in e&&e.type!==this.options.type){this.options.type=e.type;var o=this.itemsData;if(o){var n=this.getSelection();this.setItems(null),this.setItems(o),this.setSelection(n)}}}},{key:\"setItems\",value:function(e){this.itemsDone=!1;var t;t=e?e instanceof rn||e instanceof sn?e:new rn(e,{type:{start:\"Date\",end:\"Date\"}}):null,this.itemsData=t,this.itemSet&&this.itemSet.setItems(t)}},{key:\"setGroups\",value:function(e){var t;if(!e)t=null;else{var o=function(e){return!1!==e.visible};t=e instanceof rn||e instanceof sn?new sn(e,{filter:o}):new rn(e.filter(o))}this.groupsData=t,this.itemSet.setGroups(t)}},{key:\"setData\",value:function(e){e&&e.groups&&this.setGroups(e.groups),e&&e.items&&this.setItems(e.items)}},{key:\"setSelection\",value:function(e,t){this.itemSet&&this.itemSet.setSelection(e),t&&t.focus&&this.focus(e,t)}},{key:\"getSelection\",value:function(){return this.itemSet&&this.itemSet.getSelection()||[]}},{key:\"focus\",value:function(e,t){if(this.itemsData&&null!=e){var o=Array.isArray(e)?e:[e],n=this.itemsData.getDataSet().get(o,{type:{start:\"Date\",end:\"Date\"}}),i=null,a=null;if(n.forEach(function(t){var o=t.start.valueOf(),n=\"end\"in t?t.end.valueOf():t.start.valueOf();(null===i||o<i)&&(i=o),(null===a||n>a)&&(a=n)}),null!==i&&null!==a){var r=this,s=this.itemSet.items[o[0]],d=-1*this._getScrollTop(),l=null,p=function(e,t,o){var n=At(r,s);if(!1!==n&&(l||(l=n),l.itemTop!=n.itemTop||l.shouldScroll)){l.itemTop!=n.itemTop&&n.shouldScroll&&(l=n,d=-1*r._getScrollTop());var i=d,a=l.scrollOffset,p=o?a:i+(a-i)*e;r._setScrollTop(-p),t||r._redraw()}},m=function(){var e=At(r,s);e.shouldScroll&&e.itemTop!=l.itemTop&&(r._setScrollTop(-e.scrollOffset),r._redraw())},u=function(){m(),setTimeout(m,100)},c=(i+a)/2,g=1.1*(a-i),h=!(t&&void 0!==t.animation)||t.animation;h||(l={shouldScroll:!1,scrollOffset:-1,itemTop:-1}),this.range.setRange(c-g/2,c+g/2,{animation:h},u,p)}}}},{key:\"fit\",value:function(e,t){var o=!(e&&void 0!==e.animation)||e.animation,n=this.itemsData&&this.itemsData.getDataSet(),i;1===n.length&&void 0===n.get()[0].end?(i=this.getDataRange(),this.moveTo(i.min.valueOf(),{animation:o},t)):(i=this.getItemRange(),this.range.setRange(i.min,i.max,{animation:o},t))}},{key:\"getItemRange\",value:function(){var e=this,t=this.getDataRange(),o=null===t.min?null:t.min.valueOf(),n=null===t.max?null:t.max.valueOf(),a=null,r=null;if(null!=o&&null!=n){var s=n-o;0>=s&&(s=10);var d=s/this.props.center.width,l={},p=0;So.forEach(this.itemSet.items,function(e,t){if(e.groupShowing){l[t]=e.redraw(!0),p=l[t].length}});var m=0<p;if(m)for(var u=function(e){So.forEach(l,function(t){t[e]()})},c=0;c<p;c++)u(c);if(So.forEach(this.itemSet.items,function(t){var i=Yt(t),s=Rt(t),l,p;e.options.rtl?(l=i-(t.getWidthRight()+10)*d,p=s+(t.getWidthLeft()+10)*d):(l=i-(t.getWidthLeft()+10)*d,p=s+(t.getWidthRight()+10)*d),l<o&&(o=l,a=t),p>n&&(n=p,r=t)}),a&&r){var g=a.getWidthLeft()+10,h=r.getWidthRight()+10,y=this.props.center.width-g-h;0<y&&(this.options.rtl?(o=Yt(a)-h*s/y,n=Rt(r)+g*s/y):(o=Yt(a)-g*s/y,n=Rt(r)+h*s/y))}}return{min:null==o?null:new Date(o),max:null==n?null:new Date(n)}}},{key:\"getDataRange\",value:function(){var e=null,t=null,o=this.itemsData&&this.itemsData.getDataSet();return o&&o.forEach(function(o){var n=So.convert(o.start,\"Date\").valueOf(),i=So.convert(null==o.end?o.start:o.end,\"Date\").valueOf();(null===e||n<e)&&(e=n),(null===t||i>t)&&(t=i)}),{min:null==e?null:new Date(e),max:null==t?null:new Date(t)}}},{key:\"getEventProperties\",value:function(e){var t=e.center?e.center.x:e.clientX,o=e.center?e.center.y:e.clientY,n;n=this.options.rtl?So.getAbsoluteRight(this.dom.centerContainer)-t:t-So.getAbsoluteLeft(this.dom.centerContainer);var i=o-So.getAbsoluteTop(this.dom.centerContainer),a=this.itemSet.itemFromTarget(e),r=this.itemSet.groupFromTarget(e),s=wn.customTimeFromTarget(e),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),p=this.body.util.getStep(),m=this._toTime(n),u=d?d(m,l,p):m,c=So.getTarget(e),g=null;return null==a?null==s?So.hasParent(c,this.timeAxis.dom.foreground)?g=\"axis\":this.timeAxis2&&So.hasParent(c,this.timeAxis2.dom.foreground)?g=\"axis\":So.hasParent(c,this.itemSet.dom.labelSet)?g=\"group-label\":So.hasParent(c,this.currentTime.bar)?g=\"current-time\":So.hasParent(c,this.dom.center)&&(g=\"background\"):g=\"custom-time\":g=\"item\",{event:e,item:a?a.id:null,isCluster:!!a&&!!a.isCluster,items:a?a.items||[]:null,group:r?r.groupId:null,what:g,pageX:e.srcEvent?e.srcEvent.pageX:e.pageX,pageY:e.srcEvent?e.srcEvent.pageY:e.pageY,x:n,y:i,time:m,snappedTime:u}}},{key:\"toggleRollingMode\",value:function(){this.range.rolling?this.range.stopRolling():(null==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())}},{key:\"_redraw\",value:function(){xn.prototype._redraw.call(this)}},{key:\"_onFit\",value:function(e){var t=e.start,o=e.end,n=e.animation;o?this.range.setRange(t,o,{animation:n}):this.moveTo(t.valueOf(),{animation:n})}}]),o}(xn),ii=function(){function e(t,o,n,i,a,r){var s=!!(6<arguments.length&&void 0!==arguments[6])&&arguments[6],d=!!(7<arguments.length&&void 0!==arguments[7])&&arguments[7];if(We(this,e),this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=a,this.majorCharHeight=r,this._start=t,this._end=o,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=s,this.autoScaleStart=n,this.autoScaleEnd=i,this.formattingFunction=d,n||i){var l=this,p=function(e){var t=e-e%(l.magnitudefactor*l.minorSteps[l.minorStepIdx]);return e%(l.magnitudefactor*l.minorSteps[l.minorStepIdx])>.5*(l.magnitudefactor*l.minorSteps[l.minorStepIdx])?t+l.magnitudefactor*l.minorSteps[l.minorStepIdx]:t};n&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=p(this._start)),i&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=p(this._end)),this.determineScale()}}return ze(e,[{key:\"setCharHeight\",value:function(e){this.majorCharHeight=e}},{key:\"setHeight\",value:function(e){this.containerHeight=e}},{key:\"determineScale\",value:function(){var e=Math.LN10,t=this._end-this._start;this.scale=this.containerHeight/t;var o=this.majorCharHeight/this.scale,n=0<t?qt(Bt(t)/e):0;this.minorStepIdx=-1,this.magnitudefactor=Zt(10,n);var i=0;0>n&&(i=n);for(var a=!1,r=i;Xt(r)<=Xt(n);r++){this.magnitudefactor=Zt(10,r);for(var s=0,d;s<this.minorSteps.length;s++)if(d=this.magnitudefactor*this.minorSteps[s],d>=o){a=!0,this.minorStepIdx=s;break}if(!0===a)break}}},{key:\"is_major\",value:function(e){return 0==e%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])}},{key:\"getStep\",value:function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]}},{key:\"getFirstMajor\",value:function(){var e=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(e-this._start%e)%e)}},{key:\"formatValue\",value:function(e){var t=e.toPrecision(5);return\"function\"==typeof this.formattingFunction&&(t=this.formattingFunction(e)),\"number\"==typeof t?\"\".concat(t):\"string\"==typeof t?t:e.toPrecision(5)}},{key:\"getLines\",value:function(){for(var e=[],t=this.getStep(),o=(t-this._start%t)%t,n=this._start+o;1e-5<this._end-n;n+=t)n!=this._start&&e.push({major:this.is_major(n),y:this.convertValue(n),val:this.formatValue(n)});return e}},{key:\"followScale\",value:function(e){var t=this.minorStepIdx,o=this._start,n=this._end,i=this,a=function(){i.magnitudefactor*=2},r=function(){i.magnitudefactor/=2};if(1>=e.minorStepIdx&&1>=this.minorStepIdx||1<e.minorStepIdx&&1<this.minorStepIdx);else e.minorStepIdx<this.minorStepIdx?(this.minorStepIdx=1,2==t?a():(a(),a())):(this.minorStepIdx=2,1==t?r():(r(),r()));for(var s=e.convertValue(0),d=e.getStep()*e.scale,l=!1,p=0;!l&&5>p++;){this.scale=d/(this.minorSteps[this.minorStepIdx]*this.magnitudefactor);var m=this.containerHeight/this.scale;this._start=o,this._end=this._start+m;var u=this._end*this.scale,c=this.magnitudefactor*this.majorSteps[this.minorStepIdx],g=this.getFirstMajor()-e.getFirstMajor();if(this.zeroAlign){this._end+=(s-u)/this.scale,this._start=this._end-m}else this.autoScaleStart?(this._start-=g/this.scale,this._end=this._start+m):(this._start+=c-g/this.scale,this._end=this._start+m);if(!this.autoScaleEnd&&this._end>n+1e-5){r(),l=!1;continue}if(!this.autoScaleStart&&this._start<o-1e-5)if(this.zeroAlign&&0<=o)console.warn(\"Can't adhere to given 'min' range, due to zeroalign\");else{r(),l=!1;continue}if(this.autoScaleStart&&this.autoScaleEnd&&m<n-o){a(),l=!1;continue}l=!0}}},{key:\"convertValue\",value:function(e){return this.containerHeight-(e-this._start)*this.scale}},{key:\"screenToValue\",value:function(e){return(this.containerHeight-e)/this.scale+this._start}}]),e}(),ai=function(e){function t(e,o,n,i){var a;We(this,t),a=Xe(this,Be(t).call(this)),a.id=So.randomUUID(),a.body=e,a.defaultOptions={orientation:\"left\",showMinorLabels:!0,showMajorLabels:!0,icons:!1,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:\"40px\",visible:!0,alignZeros:!0,left:{range:{min:void 0,max:void 0},format:function(e){return\"\".concat(parseFloat(e.toPrecision(3)))},title:{text:void 0,style:void 0}},right:{range:{min:void 0,max:void 0},format:function(e){return\"\".concat(parseFloat(e.toPrecision(3)))},title:{text:void 0,style:void 0}}},a.linegraphOptions=i,a.linegraphSVG=n,a.props={},a.DOMelements={lines:{},labels:{},title:{}},a.dom={},a.scale=void 0,a.range={start:0,end:0},a.options=So.extend({},a.defaultOptions),a.conversionFactor=1,a.setOptions(o),a.width=+\"\".concat(a.options.width).replace(\"px\",\"\"),a.minWidth=a.width,a.height=a.linegraphSVG.getBoundingClientRect().height,a.hidden=!1,a.stepPixels=25,a.zeroCrossing=-1,a.amountOfSteps=-1,a.lineOffset=0,a.master=!0,a.masterAxis=null,a.svgElements={},a.iconsRemoved=!1,a.groups={},a.amountOfGroups=0,a._create(),null==a.scale&&a._redrawLabels(),a.framework={svg:a.svg,svgElements:a.svgElements,options:a.options,groups:a.groups};var r=Ze(a);return a.body.emitter.on(\"verticalDrag\",function(){r.dom.lineContainer.style.top=\"\".concat(r.body.domProps.scrollTop,\"px\")}),a}return Ve(t,e),ze(t,[{key:\"addGroup\",value:function(e,t){this.groups.hasOwnProperty(e)||(this.groups[e]=t),this.amountOfGroups+=1}},{key:\"updateGroup\",value:function(e,t){this.groups.hasOwnProperty(e)||(this.amountOfGroups+=1),this.groups[e]=t}},{key:\"removeGroup\",value:function(e){this.groups.hasOwnProperty(e)&&(delete this.groups[e],this.amountOfGroups-=1)}},{key:\"setOptions\",value:function(e){if(e){var t=!1;this.options.orientation!=e.orientation&&void 0!==e.orientation&&(t=!0);So.selectiveDeepExtend([\"orientation\",\"showMinorLabels\",\"showMajorLabels\",\"icons\",\"majorLinesOffset\",\"minorLinesOffset\",\"labelOffsetX\",\"labelOffsetY\",\"iconWidth\",\"width\",\"visible\",\"left\",\"right\",\"alignZeros\"],this.options,e),this.minWidth=+\"\".concat(this.options.width).replace(\"px\",\"\"),!0==t&&this.dom.frame&&(this.hide(),this.show())}}},{key:\"_create\",value:function(){this.dom.frame=document.createElement(\"div\"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement(\"div\"),this.dom.lineContainer.style.width=\"100%\",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position=\"relative\",this.dom.lineContainer.style.visibility=\"visible\",this.dom.lineContainer.style.display=\"block\",this.svg=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this.svg.style.position=\"absolute\",this.svg.style.top=\"0px\",this.svg.style.height=\"100%\",this.svg.style.width=\"100%\",this.svg.style.display=\"block\",this.dom.frame.appendChild(this.svg)}},{key:\"_redrawGroupIcons\",value:function(){me(this.svgElements);var e=this.options.iconWidth,t=15,o=4,n=o+.5*t,i;i=\"left\"===this.options.orientation?o:this.width-e-o;var a=Object.keys(this.groups);a.sort(function(e,t){return e<t?-1:1});for(var r=0,s=a,d;r<s.length;r++)d=s[r],!0===this.groups[d].visible&&(void 0===this.linegraphOptions.visibility[d]||!0===this.linegraphOptions.visibility[d])&&(this.groups[d].getLegend(e,t,this.framework,i,n),n+=t+o);ue(this.svgElements),this.iconsRemoved=!1}},{key:\"_cleanupIcons\",value:function(){!1===this.iconsRemoved&&(me(this.svgElements),ue(this.svgElements),this.iconsRemoved=!0)}},{key:\"show\",value:function(){this.hidden=!1,this.dom.frame.parentNode||(\"left\"===this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer),this.dom.lineContainer.style.display=\"block\"}},{key:\"hide\",value:function(){this.hidden=!0,this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.style.display=\"none\"}},{key:\"setRange\",value:function(e,t){this.range.start=e,this.range.end=t}},{key:\"redraw\",value:function(){var e=!1,t=0;for(var o in this.dom.lineContainer.style.top=\"\".concat(this.body.domProps.scrollTop,\"px\"),this.groups)this.groups.hasOwnProperty(o)&&!0===this.groups[o].visible&&(void 0===this.linegraphOptions.visibility[o]||!0===this.linegraphOptions.visibility[o])&&t++;if(0===this.amountOfGroups||0===t)this.hide();else{this.show(),this.height=+this.linegraphSVG.style.height.replace(\"px\",\"\"),this.dom.lineContainer.style.height=\"\".concat(this.height,\"px\"),this.width=!0===this.options.visible?+\"\".concat(this.options.width).replace(\"px\",\"\"):0;var n=this.props,i=this.dom.frame;i.className=\"vis-data-axis\",this._calculateCharSize();var a=this.options.orientation,r=this.options.showMinorLabels,s=this.options.showMajorLabels;n.minorLabelHeight=r?n.minorCharHeight:0,n.majorLabelHeight=s?n.majorCharHeight:0,n.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,n.minorLineHeight=1,n.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,n.majorLineHeight=1,\"left\"===a?(i.style.top=\"0\",i.style.left=\"0\",i.style.bottom=\"\",i.style.width=\"\".concat(this.width,\"px\"),i.style.height=\"\".concat(this.height,\"px\"),this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(i.style.top=\"\",i.style.bottom=\"0\",i.style.left=\"0\",i.style.width=\"\".concat(this.width,\"px\"),i.style.height=\"\".concat(this.height,\"px\"),this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),e=this._redrawLabels(),e=this._isResized()||e,!0===this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(a)}return e}},{key:\"_redrawLabels\",value:function(){var e=this,t=!1;me(this.DOMelements.lines),me(this.DOMelements.labels);var o=this.options.orientation,n=null==this.options[o].range?{}:this.options[o].range,i=!0;null!=n.max&&(this.range.end=n.max,i=!1);var a=!0;null!=n.min&&(this.range.start=n.min,a=!1),this.scale=new ii(this.range.start,this.range.end,a,i,this.dom.frame.offsetHeight,this.props.majorCharHeight,this.options.alignZeros,this.options[o].format),!1===this.master&&null!=this.masterAxis?(this.scale.followScale(this.masterAxis.scale),this.dom.lineContainer.style.display=\"none\"):this.dom.lineContainer.style.display=\"block\",this.maxLabelSize=0;var r=this.scale.getLines();r.forEach(function(t){var n=t.y,i=t.major;e.options.showMinorLabels&&!1===i&&e._redrawLabel(n-2,t.val,o,\"vis-y-axis vis-minor\",e.props.minorCharHeight),i&&0<=n&&e._redrawLabel(n-2,t.val,o,\"vis-y-axis vis-major\",e.props.majorCharHeight),!0===e.master&&(i?e._redrawLine(n,o,\"vis-grid vis-horizontal vis-major\",e.options.majorLinesOffset,e.props.majorLineWidth):e._redrawLine(n,o,\"vis-grid vis-horizontal vis-minor\",e.options.minorLinesOffset,e.props.minorLineWidth))});var s=0;void 0!==this.options[o].title&&void 0!==this.options[o].title.text&&(s=this.props.titleCharHeight);var d=!0===this.options.icons?$t(this.options.iconWidth,s)+this.options.labelOffsetX+15:s+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-d&&!0===this.options.visible?(this.width=this.maxLabelSize+d,this.options.width=\"\".concat(this.width,\"px\"),ue(this.DOMelements.lines),ue(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSize<this.width-d&&!0===this.options.visible&&this.width>this.minWidth?(this.width=$t(this.minWidth,this.maxLabelSize+d),this.options.width=\"\".concat(this.width,\"px\"),ue(this.DOMelements.lines),ue(this.DOMelements.labels),this.redraw(),t=!0):(ue(this.DOMelements.lines),ue(this.DOMelements.labels),t=!1),t}},{key:\"convertValue\",value:function(e){return this.scale.convertValue(e)}},{key:\"screenToValue\",value:function(e){return this.scale.screenToValue(e)}},{key:\"_redrawLabel\",value:function(e,t,o,n,i){var a=he(\"div\",this.DOMelements.labels,this.dom.frame);a.className=n,a.innerHTML=t,\"left\"===o?(a.style.left=\"-\".concat(this.options.labelOffsetX,\"px\"),a.style.textAlign=\"right\"):(a.style.right=\"-\".concat(this.options.labelOffsetX,\"px\"),a.style.textAlign=\"left\"),a.style.top=\"\".concat(e-.5*i+this.options.labelOffsetY,\"px\"),t+=\"\";var r=$t(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize<t.length*r&&(this.maxLabelSize=t.length*r)}},{key:\"_redrawLine\",value:function(e,t,o,n,i){if(!0===this.master){var a=he(\"div\",this.DOMelements.lines,this.dom.lineContainer);a.className=o,a.innerHTML=\"\",\"left\"===t?a.style.left=\"\".concat(this.width-n,\"px\"):a.style.right=\"\".concat(this.width-n,\"px\"),a.style.width=\"\".concat(i,\"px\"),a.style.top=\"\".concat(e,\"px\")}}},{key:\"_redrawTitle\",value:function(e){if(me(this.DOMelements.title),void 0!==this.options[e].title&&void 0!==this.options[e].title.text){var t=he(\"div\",this.DOMelements.title,this.dom.frame);t.className=\"vis-y-axis vis-title vis-\".concat(e),t.innerHTML=this.options[e].title.text,void 0!==this.options[e].title.style&&So.addCssText(t,this.options[e].title.style),\"left\"===e?t.style.left=\"\".concat(this.props.titleCharHeight,\"px\"):t.style.right=\"\".concat(this.props.titleCharHeight,\"px\"),t.style.width=\"\".concat(this.height,\"px\")}ue(this.DOMelements.title)}},{key:\"_calculateCharSize\",value:function(){if(!(\"minorCharHeight\"in this.props)){var e=document.createTextNode(\"0\"),t=document.createElement(\"div\");t.className=\"vis-y-axis vis-minor vis-measure\",t.appendChild(e),this.dom.frame.appendChild(t),this.props.minorCharHeight=t.clientHeight,this.props.minorCharWidth=t.clientWidth,this.dom.frame.removeChild(t)}if(!(\"majorCharHeight\"in this.props)){var o=document.createTextNode(\"0\"),n=document.createElement(\"div\");n.className=\"vis-y-axis vis-major vis-measure\",n.appendChild(o),this.dom.frame.appendChild(n),this.props.majorCharHeight=n.clientHeight,this.props.majorCharWidth=n.clientWidth,this.dom.frame.removeChild(n)}if(!(\"titleCharHeight\"in this.props)){var i=document.createTextNode(\"0\"),a=document.createElement(\"div\");a.className=\"vis-y-axis vis-title vis-measure\",a.appendChild(i),this.dom.frame.appendChild(a),this.props.titleCharHeight=a.clientHeight,this.props.titleCharWidth=a.clientWidth,this.dom.frame.removeChild(a)}}}]),t}(dn),ri;Nt.draw=function(e,t,o,n){n=n||0;for(var a=Ht(o,t),r=0;r<e.length;r++)if(!a)ye(e[r].screen_x+n,e[r].screen_y,Lt(t),o.svgElements,o.svg,e[r].label);else{var s=a(e[r],t);(!0===s||\"object\"===je(s))&&ye(e[r].screen_x+n,e[r].screen_y,Lt(t,s),o.svgElements,o.svg,e[r].label)}},Nt.drawIcon=function(e,t,o,n,i,a){var r=.5*i,s=ge(\"rect\",a.svgElements,a.svg);s.setAttributeNS(null,\"x\",t),s.setAttributeNS(null,\"y\",o-r),s.setAttributeNS(null,\"width\",n),s.setAttributeNS(null,\"height\",2*r),s.setAttributeNS(null,\"class\",\"vis-outline\"),ye(t+.5*n,o,Lt(e),a.svgElements,a.svg)},Gt.drawIcon=function(e,t,o,n,i,a){var r=.5*i,s=ge(\"rect\",a.svgElements,a.svg);s.setAttributeNS(null,\"x\",t),s.setAttributeNS(null,\"y\",o-r),s.setAttributeNS(null,\"width\",n),s.setAttributeNS(null,\"height\",2*r),s.setAttributeNS(null,\"class\",\"vis-outline\");var d=qt(.3*n),l=e.options.barChart.width,p=qt(.4*i),m=qt(.75*i),u=qt((n-2*d)/3);if(fe(t+.5*d+u,o+r-p-1,d,p,e.className+\" vis-bar\",a.svgElements,a.svg,e.style),fe(t+1.5*d+u+2,o+r-m-1,d,m,e.className+\" vis-bar\",a.svgElements,a.svg,e.style),!0==e.options.drawPoints.enabled){var c={style:e.options.drawPoints.style,styles:e.options.drawPoints.styles,size:e.options.drawPoints.size/(l/d),className:e.className};ye(t+.5*d+u,o+r-p-1,c,a.svgElements,a.svg),ye(t+1.5*d+u+2,o+r-m-1,c,a.svgElements,a.svg)}},Gt.draw=function(e,t,o){var n=[],a={},r=0,s,d,l,p,m,u;for(m=0;m<e.length;m++)if(p=o.groups[e[m]],\"bar\"===p.options.style&&!0===p.visible&&(void 0===o.options.groups.visibility[e[m]]||!0===o.options.groups.visibility[e[m]]))for(u=0;u<t[e[m]].length;u++)n.push({screen_x:t[e[m]][u].screen_x,screen_end:t[e[m]][u].screen_end,screen_y:t[e[m]][u].screen_y,x:t[e[m]][u].x,end:t[e[m]][u].end,y:t[e[m]][u].y,groupId:e[m],label:t[e[m]][u].label}),r+=1;if(0!==r)for(n.sort(function(e,t){return e.screen_x===t.screen_x?e.groupId<t.groupId?-1:1:e.screen_x-t.screen_x}),Gt._getDataIntersections(a,n),m=0;m<n.length;m++){p=o.groups[n[m].groupId];var c=null==p.options.barChart.minWidth?.1*p.options.barChart.width:p.options.barChart.minWidth;d=n[m].screen_x;var g=0;if(void 0===a[d])m+1<n.length&&(s=Xt(n[m+1].screen_x-d)),l=Gt._getSafeDrawData(s,p,c);else{var h=m+(a[d].amount-a[d].resolved);h<n.length&&(s=Xt(n[h].screen_x-d)),l=Gt._getSafeDrawData(s,p,c),a[d].resolved+=1,!0===p.options.stack&&!0!==p.options.excludeFromStacking?n[m].screen_y<p.zeroPosition?(g=a[d].accumulatedNegative,a[d].accumulatedNegative+=p.zeroPosition-n[m].screen_y):(g=a[d].accumulatedPositive,a[d].accumulatedPositive+=p.zeroPosition-n[m].screen_y):!0===p.options.barChart.sideBySide&&(l.width/=a[d].amount,l.offset+=a[d].resolved*l.width-.5*l.width*(a[d].amount+1))}var y=l.width,f=n[m].screen_x;if(null==n[m].screen_end?f+=l.offset:(y=n[m].screen_end-n[m].screen_x,f+=.5*y),fe(f,n[m].screen_y-g,y,p.zeroPosition-n[m].screen_y,p.className+\" vis-bar\",o.svgElements,o.svg,p.style),!0===p.options.drawPoints.enabled){var b={screen_x:n[m].screen_x,screen_y:n[m].screen_y-g,x:n[m].x,y:n[m].y,groupId:n[m].groupId,label:n[m].label};Nt.draw([b],p,o,l.offset)}}},Gt._getDataIntersections=function(e,t){for(var o=0,n;o<t.length;o++)o+1<t.length&&(n=Xt(t[o+1].screen_x-t[o].screen_x)),0<o&&(n=Jt(n,Xt(t[o-1].screen_x-t[o].screen_x))),0===n&&(void 0===e[t[o].screen_x]&&(e[t[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),e[t[o].screen_x].amount+=1)},Gt._getSafeDrawData=function(e,t,o){var n,i;return e<t.options.barChart.width&&0<e?(n=e<o?o:e,i=0,\"left\"===t.options.barChart.align?i-=.5*e:\"right\"===t.options.barChart.align&&(i+=.5*e)):(n=t.options.barChart.width,i=0,\"left\"===t.options.barChart.align?i-=.5*t.options.barChart.width:\"right\"===t.options.barChart.align&&(i+=.5*t.options.barChart.width)),{width:n,offset:i}},Gt.getStackedYRange=function(e,t,o,n,i){if(0<e.length){e.sort(function(e,t){return e.screen_x===t.screen_x?e.groupId<t.groupId?-1:1:e.screen_x-t.screen_x});var a={};Gt._getDataIntersections(a,e),t[n]=Gt._getStackedYRange(a,e),t[n].yAxisOrientation=i,o.push(n)}},Gt._getStackedYRange=function(e,t){for(var o=t[0].screen_y,n=t[0].screen_y,a=0,r;a<t.length;a++)r=t[a].screen_x,void 0===e[r]?(o=o>t[a].screen_y?t[a].screen_y:o,n=n<t[a].screen_y?t[a].screen_y:n):0>t[a].screen_y?e[r].accumulatedNegative+=t[a].screen_y:e[r].accumulatedPositive+=t[a].screen_y;for(var s in e)e.hasOwnProperty(s)&&(o=o>e[s].accumulatedNegative?e[s].accumulatedNegative:o,o=o>e[s].accumulatedPositive?e[s].accumulatedPositive:o,n=n<e[s].accumulatedNegative?e[s].accumulatedNegative:n,n=n<e[s].accumulatedPositive?e[s].accumulatedPositive:n);return{min:o,max:n}},Ft.calcPath=function(e,t){if(null!=e&&0<e.length){var o=[];return o=!0==t.options.interpolation.enabled?Ft._catmullRom(e,t):Ft._linear(e),o}},Ft.drawIcon=function(e,t,o,n,i,a){var r=.5*i,s=ge(\"rect\",a.svgElements,a.svg),d,l;if(s.setAttributeNS(null,\"x\",t),s.setAttributeNS(null,\"y\",o-r),s.setAttributeNS(null,\"width\",n),s.setAttributeNS(null,\"height\",2*r),s.setAttributeNS(null,\"class\",\"vis-outline\"),d=ge(\"path\",a.svgElements,a.svg),d.setAttributeNS(null,\"class\",e.className),void 0!==e.style&&d.setAttributeNS(null,\"style\",e.style),d.setAttributeNS(null,\"d\",\"M\"+t+\",\"+o+\" L\"+(t+n)+\",\"+o+\"\"),!0==e.options.shaded.enabled&&(l=ge(\"path\",a.svgElements,a.svg),\"top\"==e.options.shaded.orientation?l.setAttributeNS(null,\"d\",\"M\"+t+\", \"+(o-r)+\"L\"+t+\",\"+o+\" L\"+(t+n)+\",\"+o+\" L\"+(t+n)+\",\"+(o-r)):l.setAttributeNS(null,\"d\",\"M\"+t+\",\"+o+\" L\"+t+\",\"+(o+r)+\" L\"+(t+n)+\",\"+(o+r)+\"L\"+(t+n)+\",\"+o),l.setAttributeNS(null,\"class\",e.className+\" vis-icon-fill\"),void 0!==e.options.shaded.style&&\"\"!==e.options.shaded.style&&l.setAttributeNS(null,\"style\",e.options.shaded.style)),!0==e.options.drawPoints.enabled){var p={style:e.options.drawPoints.style,styles:e.options.drawPoints.styles,size:e.options.drawPoints.size,className:e.className};ye(t+.5*n,o,p,a.svgElements,a.svg)}},Ft.drawShading=function(e,t,o,n){if(!0==t.options.shaded.enabled){var i=+n.svg.style.height.replace(\"px\",\"\"),a=ge(\"path\",n.svgElements,n.svg),r=\"L\";!0==t.options.interpolation.enabled&&(r=\"C\");var s=0,d;s=\"top\"==t.options.shaded.orientation?0:\"bottom\"==t.options.shaded.orientation?i:Jt($t(0,t.zeroPosition),i),d=\"group\"==t.options.shaded.orientation&&null!=o&&null!=o?\"M\"+e[0][0]+\",\"+e[0][1]+\" \"+this.serializePath(e,r,!1)+\" L\"+o[o.length-1][0]+\",\"+o[o.length-1][1]+\" \"+this.serializePath(o,r,!0)+o[0][0]+\",\"+o[0][1]+\" Z\":\"M\"+e[0][0]+\",\"+e[0][1]+\" \"+this.serializePath(e,r,!1)+\" V\"+s+\" H\"+e[0][0]+\" Z\",a.setAttributeNS(null,\"class\",t.className+\" vis-fill\"),t.options.shaded.style!==void 0&&a.setAttributeNS(null,\"style\",t.options.shaded.style),a.setAttributeNS(null,\"d\",d)}},Ft.draw=function(e,t,o){if(null!=e&&e!=null){var n=ge(\"path\",o.svgElements,o.svg);n.setAttributeNS(null,\"class\",t.className),t.style!==void 0&&n.setAttributeNS(null,\"style\",t.style);var i=\"L\";!0==t.options.interpolation.enabled&&(i=\"C\"),n.setAttributeNS(null,\"d\",\"M\"+e[0][0]+\",\"+e[0][1]+\" \"+this.serializePath(e,i,!1))}},Ft.serializePath=function(e,t,o){if(2>e.length)return\"\";var n=t,a;if(o)for(a=e.length-2;0<a;a--)n+=e[a][0]+\",\"+e[a][1]+\" \";else for(a=1;a<e.length;a++)n+=e[a][0]+\",\"+e[a][1]+\" \";return n},Ft._catmullRomUniform=function(e){var t=[],o,n,a,r,s,d;t.push([qt(e[0].screen_x),qt(e[0].screen_y)]);for(var l=1/6,p=e.length,m=0;m<p-1;m++)o=0==m?e[0]:e[m-1],n=e[m],a=e[m+1],r=m+2<p?e[m+2]:a,s={screen_x:(-o.screen_x+6*n.screen_x+a.screen_x)*l,screen_y:(-o.screen_y+6*n.screen_y+a.screen_y)*l},d={screen_x:(n.screen_x+6*a.screen_x-r.screen_x)*l,screen_y:(n.screen_y+6*a.screen_y-r.screen_y)*l},t.push([s.screen_x,s.screen_y]),t.push([d.screen_x,d.screen_y]),t.push([a.screen_x,a.screen_y]);return t},Ft._catmullRom=function(e,t){var o=t.options.interpolation.alpha;if(0==o||o===void 0)return this._catmullRomUniform(e);var n=[],a,r,s,d,l,p,m,u,c,g,h,y,f,b,_,v,k,w,x;n.push([qt(e[0].screen_x),qt(e[0].screen_y)]);for(var D=e.length,S=0;S<D-1;S++)a=0==S?e[0]:e[S-1],r=e[S],s=e[S+1],d=S+2<D?e[S+2]:s,m=Vt(Zt(a.screen_x-r.screen_x,2)+Zt(a.screen_y-r.screen_y,2)),u=Vt(Zt(r.screen_x-s.screen_x,2)+Zt(r.screen_y-s.screen_y,2)),c=Vt(Zt(s.screen_x-d.screen_x,2)+Zt(s.screen_y-d.screen_y,2)),b=Zt(c,o),v=Zt(c,2*o),_=Zt(u,o),k=Zt(u,2*o),x=Zt(m,o),w=Zt(m,2*o),g=2*w+3*x*_+k,h=2*v+3*b*_+k,y=3*x*(x+_),0<y&&(y=1/y),f=3*b*(b+_),0<f&&(f=1/f),l={screen_x:(-k*a.screen_x+g*r.screen_x+w*s.screen_x)*y,screen_y:(-k*a.screen_y+g*r.screen_y+w*s.screen_y)*y},p={screen_x:(v*r.screen_x+h*s.screen_x-k*d.screen_x)*f,screen_y:(v*r.screen_y+h*s.screen_y-k*d.screen_y)*f},0==l.screen_x&&0==l.screen_y&&(l=r),0==p.screen_x&&0==p.screen_y&&(p=s),n.push([l.screen_x,l.screen_y]),n.push([p.screen_x,p.screen_y]),n.push([s.screen_x,s.screen_y]);return n},Ft._linear=function(e){for(var t=[],o=0;o<e.length;o++)t.push([e[o].screen_x,e[o].screen_y]);return t},jt.prototype.setItems=function(e){null==e?this.itemsData=[]:(this.itemsData=e,!0==this.options.sort&&So.insertSort(this.itemsData,function(e,t){return e.x>t.x?1:-1}))},jt.prototype.getItems=function(){return this.itemsData},jt.prototype.setZeroPosition=function(e){this.zeroPosition=e},jt.prototype.setOptions=function(e){if(e!==void 0){So.selectiveDeepExtend([\"sampling\",\"style\",\"sort\",\"yAxisOrientation\",\"barChart\",\"zIndex\",\"excludeFromStacking\",\"excludeFromLegend\"],this.options,e),\"function\"==typeof e.drawPoints&&(e.drawPoints={onRender:e.drawPoints}),So.mergeOptions(this.options,e,\"interpolation\"),So.mergeOptions(this.options,e,\"drawPoints\"),So.mergeOptions(this.options,e,\"shaded\"),e.interpolation&&\"object\"==je(e.interpolation)&&e.interpolation.parametrization&&(\"uniform\"==e.interpolation.parametrization?this.options.interpolation.alpha=0:\"chordal\"==e.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization=\"centripetal\",this.options.interpolation.alpha=.5))}},jt.prototype.update=function(e){this.group=e,this.content=e.content||\"graph\",this.className=e.className||this.className||\"vis-graph-group\"+this.groupsUsingDefaultStyles[0]%10,this.visible=!(e.visible!==void 0)||e.visible,this.style=e.style,this.setOptions(e.options)},jt.prototype.getLegend=function(e,t,o,n,i){if(null==o||null==o){var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");o={svg:a,svgElements:{},options:this.options,groups:[this]}}switch((null==n||null==n)&&(n=0),(null==i||null==i)&&(i=.5*t),this.options.style){case\"line\":Ft.drawIcon(this,n,i,e,t,o);break;case\"points\":case\"point\":Nt.drawIcon(this,n,i,e,t,o);break;case\"bar\":Gt.drawIcon(this,n,i,e,t,o);}return{icon:o.svg,label:this.content,orientation:this.options.yAxisOrientation}},jt.prototype.getYRange=function(e){for(var t=e[0].y,o=e[0].y,n=0;n<e.length;n++)t=t>e[n].y?e[n].y:t,o=o<e[n].y?e[n].y:o;return{min:t,max:o,yAxisOrientation:this.options.yAxisOrientation}},Wt.prototype=new dn,Wt.prototype.clear=function(){this.groups={},this.amountOfGroups=0},Wt.prototype.addGroup=function(e,t){!0!=t.options.excludeFromLegend&&(!this.groups.hasOwnProperty(e)&&(this.groups[e]=t),this.amountOfGroups+=1)},Wt.prototype.updateGroup=function(e,t){this.groups[e]=t},Wt.prototype.removeGroup=function(e){this.groups.hasOwnProperty(e)&&(delete this.groups[e],this.amountOfGroups-=1)},Wt.prototype._create=function(){this.dom.frame=document.createElement(\"div\"),this.dom.frame.className=\"vis-legend\",this.dom.frame.style.position=\"absolute\",this.dom.frame.style.top=\"10px\",this.dom.frame.style.display=\"block\",this.dom.textArea=document.createElement(\"div\"),this.dom.textArea.className=\"vis-legend-text\",this.dom.textArea.style.position=\"relative\",this.dom.textArea.style.top=\"0px\",this.svg=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this.svg.style.position=\"absolute\",this.svg.style.top=\"0px\",this.svg.style.width=this.options.iconSize+5+\"px\",this.svg.style.height=\"100%\",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},Wt.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},Wt.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},Wt.prototype.setOptions=function(e){So.selectiveDeepExtend([\"enabled\",\"orientation\",\"icons\",\"left\",\"right\"],this.options,e)},Wt.prototype.redraw=function(){var e=0,t=Object.keys(this.groups);t.sort(function(e,t){return e<t?-1:1});for(var o=0,n;o<t.length;o++)n=t[o],!0==this.groups[n].visible&&(void 0===this.linegraphOptions.visibility[n]||!0==this.linegraphOptions.visibility[n])&&e++;if(!1==this.options[this.side].visible||0==this.amountOfGroups||!1==this.options.enabled||0==e)this.hide();else{if(this.show(),\"top-left\"==this.options[this.side].position||\"bottom-left\"==this.options[this.side].position?(this.dom.frame.style.left=\"4px\",this.dom.frame.style.textAlign=\"left\",this.dom.textArea.style.textAlign=\"left\",this.dom.textArea.style.left=this.options.iconSize+15+\"px\",this.dom.textArea.style.right=\"\",this.svg.style.left=\"0px\",this.svg.style.right=\"\"):(this.dom.frame.style.right=\"4px\",this.dom.frame.style.textAlign=\"right\",this.dom.textArea.style.textAlign=\"right\",this.dom.textArea.style.right=this.options.iconSize+15+\"px\",this.dom.textArea.style.left=\"\",this.svg.style.right=\"0px\",this.svg.style.left=\"\"),\"top-left\"==this.options[this.side].position||\"top-right\"==this.options[this.side].position)this.dom.frame.style.top=4-+this.body.dom.center.style.top.replace(\"px\",\"\")+\"px\",this.dom.frame.style.bottom=\"\";else{var a=this.body.domProps.center.height-this.body.domProps.centerContainer.height;this.dom.frame.style.bottom=4+a+ +this.body.dom.center.style.top.replace(\"px\",\"\")+\"px\",this.dom.frame.style.top=\"\"}!1==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+\"px\",this.dom.textArea.style.right=\"\",this.dom.textArea.style.left=\"\",this.svg.style.width=\"0px\"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+\"px\",this.drawLegendIcons());var r=\"\";for(o=0;o<t.length;o++)n=t[o],!0==this.groups[n].visible&&(void 0===this.linegraphOptions.visibility[n]||!0==this.linegraphOptions.visibility[n])&&(r+=this.groups[n].content+\"<br />\");this.dom.textArea.innerHTML=r,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+\"px\"}},Wt.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var e=Object.keys(this.groups);e.sort(function(e,t){return e<t?-1:1}),ce(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,o=+t.replace(\"px\",\"\"),n=this.options.iconSize,a=.75*this.options.iconSize,r=o+.5*a+3;this.svg.style.width=n+5+o+\"px\";for(var s=0,d;s<e.length;s++)d=e[s],!0==this.groups[d].visible&&(void 0===this.linegraphOptions.visibility[d]||!0==this.linegraphOptions.visibility[d])&&(this.groups[d].getLegend(n,a,this.framework,o,r),r+=a+this.options.iconSpacing)}};Ut.prototype=new dn,Ut.prototype._create=function(){var e=document.createElement(\"div\");e.className=\"vis-line-graph\",this.dom.frame=e,this.svg=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this.svg.style.position=\"relative\",this.svg.style.height=(\"\"+this.options.graphHeight).replace(\"px\",\"\")+\"px\",this.svg.style.display=\"block\",e.appendChild(this.svg),this.options.dataAxis.orientation=\"left\",this.yAxisLeft=new ai(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation=\"right\",this.yAxisRight=new ai(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new Wt(this.body,this.options.legend,\"left\",this.options.groups),this.legendRight=new Wt(this.body,this.options.legend,\"right\",this.options.groups),this.show()},Ut.prototype.setOptions=function(e){if(e){e.graphHeight===void 0&&e.height!==void 0?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):this.body.domProps.centerContainer.height!==void 0&&e.graphHeight!==void 0&&parseInt((e.graphHeight+\"\").replace(\"px\",\"\"))<this.body.domProps.centerContainer.height&&(this.updateSVGheight=!0),So.selectiveDeepExtend([\"sampling\",\"defaultGroup\",\"stack\",\"height\",\"graphHeight\",\"yAxisOrientation\",\"style\",\"barChart\",\"dataAxis\",\"sort\",\"groups\"],this.options,e),So.mergeOptions(this.options,e,\"interpolation\"),So.mergeOptions(this.options,e,\"drawPoints\"),So.mergeOptions(this.options,e,\"shaded\"),So.mergeOptions(this.options,e,\"legend\"),e.interpolation&&\"object\"==je(e.interpolation)&&e.interpolation.parametrization&&(\"uniform\"==e.interpolation.parametrization?this.options.interpolation.alpha=0:\"chordal\"==e.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization=\"centripetal\",this.options.interpolation.alpha=.5)),this.yAxisLeft&&e.dataAxis!==void 0&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&e.legend!==void 0&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(\"__ungrouped__\")&&this.groups.__ungrouped__.setOptions(e)}this.dom.frame&&(this.forceGraphUpdate=!0,this.body.emitter.emit(\"_change\",{queue:!0}))},Ut.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},Ut.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},Ut.prototype.setItems=function(e){var t=this,o=this.itemsData,n;if(!e)this.itemsData=null;else if(e instanceof rn||e instanceof sn)this.itemsData=e;else throw new TypeError(\"Data must be an instance of DataSet or DataView\");if(o&&(So.forEach(this.itemListeners,function(e,t){o.off(t,e)}),n=o.getIds(),this._onRemove(n)),this.itemsData){var i=this.id;So.forEach(this.itemListeners,function(e,o){t.itemsData.on(o,e,i)}),n=this.itemsData.getIds(),this._onAdd(n)}},Ut.prototype.setGroups=function(e){var t=this,o;if(this.groupsData){So.forEach(this.groupListeners,function(e,o){t.groupsData.off(o,e)}),o=this.groupsData.getIds(),this.groupsData=null;for(var n=0;n<o.length;n++)this._removeGroup(o[n])}if(!e)this.groupsData=null;else if(e instanceof rn||e instanceof sn)this.groupsData=e;else throw new TypeError(\"Data must be an instance of DataSet or DataView\");if(this.groupsData){var a=this.id;So.forEach(this.groupListeners,function(e,o){t.groupsData.on(o,e,a)}),o=this.groupsData.getIds(),this._onAddGroups(o)}},Ut.prototype._onUpdate=function(e){this._updateAllGroupData(e)},Ut.prototype._onAdd=function(e){this._onUpdate(e)},Ut.prototype._onRemove=function(e){this._onUpdate(e)},Ut.prototype._onUpdateGroups=function(e){this._updateAllGroupData(null,e)},Ut.prototype._onAddGroups=function(e){this._onUpdateGroups(e)},Ut.prototype._onRemoveGroups=function(e){for(var t=0;t<e.length;t++)this._removeGroup(e[t]);this.forceGraphUpdate=!0,this.body.emitter.emit(\"_change\",{queue:!0})},Ut.prototype._removeGroup=function(e){this.groups.hasOwnProperty(e)&&(\"right\"==this.groups[e].options.yAxisOrientation?(this.yAxisRight.removeGroup(e),this.legendRight.removeGroup(e),this.legendRight.redraw()):(this.yAxisLeft.removeGroup(e),this.legendLeft.removeGroup(e),this.legendLeft.redraw()),delete this.groups[e])},Ut.prototype._updateGroup=function(e,t){this.groups.hasOwnProperty(t)?(this.groups[t].update(e),\"right\"==this.groups[t].options.yAxisOrientation?(this.yAxisRight.updateGroup(t,this.groups[t]),this.legendRight.updateGroup(t,this.groups[t]),this.yAxisLeft.removeGroup(t),this.legendLeft.removeGroup(t)):(this.yAxisLeft.updateGroup(t,this.groups[t]),this.legendLeft.updateGroup(t,this.groups[t]),this.yAxisRight.removeGroup(t),this.legendRight.removeGroup(t))):(this.groups[t]=new jt(e,t,this.options,this.groupsUsingDefaultStyles),\"right\"==this.groups[t].options.yAxisOrientation?(this.yAxisRight.addGroup(t,this.groups[t]),this.legendRight.addGroup(t,this.groups[t])):(this.yAxisLeft.addGroup(t,this.groups[t]),this.legendLeft.addGroup(t,this.groups[t]))),this.legendLeft.redraw(),this.legendRight.redraw()},Ut.prototype._updateAllGroupData=function(e,t){if(null!=this.itemsData){var o={},n=this.itemsData.get(),a=this.itemsData._fieldId,r={};e&&e.map(function(e){r[e]=e});for(var s={},d=0;d<n.length;d++){var l=n[d],p=l.group;(null===p||p===void 0)&&(p=\"__ungrouped__\"),s.hasOwnProperty(p)?s[p]++:s[p]=1}var m={};if(!t&&e)for(p in this.groups)if(this.groups.hasOwnProperty(p)){y=this.groups[p];var u=y.getItems();o[p]=u.filter(function(e){return m[e[a]]=e[a],e[a]!==r[e[a]]});var c=s[p];s[p]-=o[p].length,o[p].length<c&&(o[p][c-1]={})}for(d=0;d<n.length;d++)if(l=n[d],p=l.group,(null===p||void 0===p)&&(p=\"__ungrouped__\"),!(!t&&e&&l[a]!==r[l[a]]&&m.hasOwnProperty(l[a]))){o.hasOwnProperty(p)||(o[p]=Array(s[p]));var g=So.bridgeObject(l);g.x=So.convert(l.x,\"Date\"),g.end=So.convert(l.end,\"Date\"),g.orginalY=l.y,g.y=+l.y,g[a]=l[a];var h=o[p].length-s[p]--;o[p][h]=g}for(p in this.groups)this.groups.hasOwnProperty(p)&&(o.hasOwnProperty(p)||(o[p]=[]));for(p in o)if(o.hasOwnProperty(p))if(0==o[p].length)this.groups.hasOwnProperty(p)&&this._removeGroup(p);else{var y=void 0;null!=this.groupsData&&(y=this.groupsData.get(p)),null==y&&(y={id:p,content:this.options.defaultGroup+p}),this._updateGroup(y,p),this.groups[p].setItems(o[p])}this.forceGraphUpdate=!0,this.body.emitter.emit(\"_change\",{queue:!0})}},Ut.prototype.redraw=function(){var e=!1;this.props.width=this.dom.frame.offsetWidth,this.props.height=this.body.domProps.centerContainer.height-this.body.domProps.border.top-this.body.domProps.border.bottom,e=this._isResized()||e;var t=this.body.range.end-this.body.range.start,o=t!=this.lastVisibleInterval;if(this.lastVisibleInterval=t,!0==e&&(this.svg.style.width=So.option.asSize(3*this.props.width),this.svg.style.left=So.option.asSize(-this.props.width),(-1!=(this.options.height+\"\").indexOf(\"%\")||!0==this.updateSVGheightOnResize)&&(this.updateSVGheight=!0)),!0==this.updateSVGheight?(this.options.graphHeight!=this.props.height+\"px\"&&(this.options.graphHeight=this.props.height+\"px\",this.svg.style.height=this.props.height+\"px\"),this.updateSVGheight=!1):this.svg.style.height=(\"\"+this.options.graphHeight).replace(\"px\",\"\")+\"px\",!0==e||!0==o||!0==this.abortedGraphUpdate||!0==this.forceGraphUpdate)e=this._updateGraph()||e,this.forceGraphUpdate=!1;else if(0!=this.lastStart){var n=this.body.range.start-this.lastStart,i=this.body.range.end-this.body.range.start;if(0!=this.props.width){var a=this.props.width/i;this.svg.style.left=-this.props.width-n*a+\"px\"}}return this.legendLeft.redraw(),this.legendRight.redraw(),e},Ut.prototype._getSortedGroupIds=function(){var e=[];for(var t in this.groups)if(this.groups.hasOwnProperty(t)){var o=this.groups[t];!0==o.visible&&(this.options.groups.visibility[t]===void 0||!0==this.options.groups.visibility[t])&&e.push({id:t,zIndex:o.options.zIndex})}So.insertSort(e,function(e,t){var o=e.zIndex,n=t.zIndex;return void 0===o&&(o=0),void 0===n&&(n=0),o==n?0:o<n?-1:1});for(var n=Array(e.length),a=0;a<e.length;a++)n[a]=e[a].id;return n},Ut.prototype._updateGraph=function(){if(me(this.svgElements),0!=this.props.width&&null!=this.itemsData){var e={},t=!1,o=this.body.util.toGlobalTime(-this.body.domProps.root.width),n=this.body.util.toGlobalTime(2*this.body.domProps.root.width),a=this._getSortedGroupIds(),r,s;if(0<a.length){var d={};for(this._getRelevantData(a,d,o,n),this._applySampling(a,d),s=0;s<a.length;s++)this._convertXcoordinates(d[a[s]]);if(this._getYRanges(a,d,e),t=this._updateYAxis(a,e),!0==t)return ue(this.svgElements),this.abortedGraphUpdate=!0,!0;this.abortedGraphUpdate=!1;var l;for(s=0;s<a.length;s++)r=this.groups[a[s]],!0!==this.options.stack||\"line\"!==this.options.style||null!=r.options.excludeFromStacking&&r.options.excludeFromStacking||(null!=l&&(this._stack(d[r.id],d[l.id]),!0==r.options.shaded.enabled&&\"group\"!==r.options.shaded.orientation&&(\"top\"==r.options.shaded.orientation&&\"group\"!==l.options.shaded.orientation?(l.options.shaded.orientation=\"group\",l.options.shaded.groupId=r.id):(r.options.shaded.orientation=\"group\",r.options.shaded.groupId=l.id))),l=r),this._convertYcoordinates(d[a[s]],r);var p={};for(s=0;s<a.length;s++)if(r=this.groups[a[s]],\"line\"===r.options.style&&!0==r.options.shaded.enabled){var m=d[a[s]];if(null==m||0==m.length)continue;if(p.hasOwnProperty(a[s])||(p[a[s]]=Ft.calcPath(m,r)),\"group\"===r.options.shaded.orientation){var u=r.options.shaded.groupId;if(-1===a.indexOf(u)){console.log(r.id+\": Unknown shading group target given:\"+u);continue}p.hasOwnProperty(u)||(p[u]=Ft.calcPath(d[u],this.groups[u])),Ft.drawShading(p[a[s]],r,p[u],this.framework)}else Ft.drawShading(p[a[s]],r,void 0,this.framework)}for(Gt.draw(a,d,this.framework),s=0;s<a.length;s++)if(r=this.groups[a[s]],0<d[a[s]].length)switch(r.options.style){case\"line\":p.hasOwnProperty(a[s])||(p[a[s]]=Ft.calcPath(d[a[s]],r)),Ft.draw(p[a[s]],r,this.framework);case\"point\":case\"points\":(\"point\"==r.options.style||\"points\"==r.options.style||!0==r.options.drawPoints.enabled)&&Nt.draw(d[a[s]],r,this.framework);break;case\"bar\":default:}}}return ue(this.svgElements),!1},Ut.prototype._stack=function(e,t){var o,n,i,a,r;o=0;for(var s=0;s<e.length;s++){a=void 0,r=void 0;for(var d=o;d<t.length;d++)if(t[d].x===e[s].x){a=t[d],r=t[d],o=d;break}else if(t[d].x>e[s].x){r=t[d],a=0==d?r:t[d-1],o=d;break}r===void 0&&(a=t[t.length-1],r=t[t.length-1]),n=r.x-a.x,i=r.y-a.y,e[s].y=0==n?e[s].orginalY+r.y:e[s].orginalY+i/n*(e[s].x-a.x)+a.y}},Ut.prototype._getRelevantData=function(e,t,o,n){var a,r,s,d;if(0<e.length)for(r=0;r<e.length;r++){a=this.groups[e[r]];var l=a.getItems();if(!0==a.options.sort){var p=function(e,t){return e.getTime()==t.getTime()?0:e<t?-1:1},m=$t(0,So.binarySearchValue(l,o,\"x\",\"before\",p)),u=Jt(l.length,So.binarySearchValue(l,n,\"x\",\"after\",p)+1);0>=u&&(u=l.length);var c=Array(u-m);for(s=m;s<u;s++)d=a.itemsData[s],c[s-m]=d;t[e[r]]=c}else t[e[r]]=a.itemsData}},Ut.prototype._applySampling=function(e,t){var o;if(0<e.length)for(var n=0;n<e.length;n++)if(o=this.groups[e[n]],!0==o.options.sampling){var a=t[e[n]];if(0<a.length){var r=1,s=a.length,d=this.body.util.toGlobalScreen(a[a.length-1].x)-this.body.util.toGlobalScreen(a[0].x);r=Jt(Kt(.2*s),$t(1,qt(s/d)));for(var l=Array(s),p=0,m;p<s;p+=r)m=qt(p/r),l[m]=a[p];t[e[n]]=l.splice(0,qt(s/r))}}},Ut.prototype._getYRanges=function(e,t,o){var n=[],a=[],r,s,d,l;if(0<e.length){for(d=0;d<e.length;d++)r=t[e[d]],l=this.groups[e[d]].options,0<r.length&&(s=this.groups[e[d]],!0===l.stack&&\"bar\"===l.style?\"left\"===l.yAxisOrientation?n=n.concat(r):a=a.concat(r):o[e[d]]=s.getYRange(r,e[d]));Gt.getStackedYRange(n,o,e,\"__barStackLeft\",\"left\"),Gt.getStackedYRange(a,o,e,\"__barStackRight\",\"right\")}},Ut.prototype._updateYAxis=function(e,t){var o=!1,n=!1,a=!1,r=1e9,s=1e9,d=-1e9,l=-1e9,p,m;if(0<e.length){for(var u=0,c;u<e.length;u++)c=this.groups[e[u]],c&&\"right\"!=c.options.yAxisOrientation?(n=!0,r=1e9,d=-1e9):c&&c.options.yAxisOrientation&&(a=!0,s=1e9,l=-1e9);for(u=0;u<e.length;u++)t.hasOwnProperty(e[u])&&!0!==t[e[u]].ignore&&(p=t[e[u]].min,m=t[e[u]].max,\"right\"==t[e[u]].yAxisOrientation?(a=!0,s=s>p?p:s,l=l<m?m:l):(n=!0,r=r>p?p:r,d=d<m?m:d));!0==n&&this.yAxisLeft.setRange(r,d),!0==a&&this.yAxisRight.setRange(s,l)}o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(a,this.yAxisRight)||o,!0==a&&!0==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,this.yAxisRight.masterAxis=this.yAxisLeft,!1==this.yAxisRight.master?(this.yAxisLeft.lineOffset=!0==a?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o;var g=[\"__barStackLeft\",\"__barStackRight\",\"__lineStackLeft\",\"__lineStackRight\"];for(u=0;u<g.length;u++)-1!=e.indexOf(g[u])&&e.splice(e.indexOf(g[u]),1);return o},Ut.prototype._toggleAxisVisiblity=function(e,t){var o=!1;return!1==e?t.dom.frame.parentNode&&!1==t.hidden&&(t.hide(),o=!0):!t.dom.frame.parentNode&&!0==t.hidden&&(t.show(),o=!0),o},Ut.prototype._convertXcoordinates=function(e){for(var t=this.body.util.toScreen,o=0;o<e.length;o++)e[o].screen_x=t(e[o].x)+this.props.width,e[o].screen_y=e[o].y,e[o].screen_end=null==e[o].end?void 0:t(e[o].end)+this.props.width},Ut.prototype._convertYcoordinates=function(e,t){var o=this.yAxisLeft,n=+this.svg.style.height.replace(\"px\",\"\");\"right\"==t.options.yAxisOrientation&&(o=this.yAxisRight);for(var a=0;a<e.length;a++)e[a].screen_y=qt(o.convertValue(e[a].y));t.setZeroPosition(Jt(n,o.convertValue(0)))};var si=\"boolean\",di=\"number\",li=\"date\",pi=\"object\",mi=\"moment\",ui=\"any\",ci={configure:{enabled:{boolean:si},filter:{boolean:si,function:\"function\"},container:{dom:\"dom\"},__type__:{object:pi,boolean:si,function:\"function\"}},alignCurrentTime:{string:\"string\",undefined:\"undefined\"},yAxisOrientation:{string:[\"left\",\"right\"]},defaultGroup:{string:\"string\"},sort:{boolean:si},sampling:{boolean:si},stack:{boolean:si},graphHeight:{string:\"string\",number:di},shaded:{enabled:{boolean:si},orientation:{string:[\"bottom\",\"top\",\"zero\",\"group\"]},groupId:{object:pi},__type__:{boolean:si,object:pi}},style:{string:[\"line\",\"bar\",\"points\"]},barChart:{width:{number:di},minWidth:{number:di},sideBySide:{boolean:si},align:{string:[\"left\",\"center\",\"right\"]},__type__:{object:pi}},interpolation:{enabled:{boolean:si},parametrization:{string:[\"centripetal\",\"chordal\",\"uniform\"]},alpha:{number:di},__type__:{object:pi,boolean:si}},drawPoints:{enabled:{boolean:si},onRender:{function:\"function\"},size:{number:di},style:{string:[\"square\",\"circle\"]},__type__:{object:pi,boolean:si,function:\"function\"}},dataAxis:{showMinorLabels:{boolean:si},showMajorLabels:{boolean:si},icons:{boolean:si},width:{string:\"string\",number:di},visible:{boolean:si},alignZeros:{boolean:si},left:{range:{min:{number:di,undefined:\"undefined\"},max:{number:di,undefined:\"undefined\"},__type__:{object:pi}},format:{function:\"function\"},title:{text:{string:\"string\",number:di,undefined:\"undefined\"},style:{string:\"string\",undefined:\"undefined\"},__type__:{object:pi}},__type__:{object:pi}},right:{range:{min:{number:di,undefined:\"undefined\"},max:{number:di,undefined:\"undefined\"},__type__:{object:pi}},format:{function:\"function\"},title:{text:{string:\"string\",number:di,undefined:\"undefined\"},style:{string:\"string\",undefined:\"undefined\"},__type__:{object:pi}},__type__:{object:pi}},__type__:{object:pi}},legend:{enabled:{boolean:si},icons:{boolean:si},left:{visible:{boolean:si},position:{string:[\"top-right\",\"bottom-right\",\"top-left\",\"bottom-left\"]},__type__:{object:pi}},right:{visible:{boolean:si},position:{string:[\"top-right\",\"bottom-right\",\"top-left\",\"bottom-left\"]},__type__:{object:pi}},__type__:{object:pi,boolean:si}},groups:{visibility:{any:ui},__type__:{object:pi}},autoResize:{boolean:si},throttleRedraw:{number:di},clickToUse:{boolean:si},end:{number:di,date:li,string:\"string\",moment:mi},format:{minorLabels:{millisecond:{string:\"string\",undefined:\"undefined\"},second:{string:\"string\",undefined:\"undefined\"},minute:{string:\"string\",undefined:\"undefined\"},hour:{string:\"string\",undefined:\"undefined\"},weekday:{string:\"string\",undefined:\"undefined\"},day:{string:\"string\",undefined:\"undefined\"},month:{string:\"string\",undefined:\"undefined\"},quarter:{string:\"string\",undefined:\"undefined\"},year:{string:\"string\",undefined:\"undefined\"},__type__:{object:pi}},majorLabels:{millisecond:{string:\"string\",undefined:\"undefined\"},second:{string:\"string\",undefined:\"undefined\"},minute:{string:\"string\",undefined:\"undefined\"},hour:{string:\"string\",undefined:\"undefined\"},weekday:{string:\"string\",undefined:\"undefined\"},day:{string:\"string\",undefined:\"undefined\"},month:{string:\"string\",undefined:\"undefined\"},quarter:{string:\"string\",undefined:\"undefined\"},year:{string:\"string\",undefined:\"undefined\"},__type__:{object:pi}},__type__:{object:pi}},moment:{function:\"function\"},height:{string:\"string\",number:di},hiddenDates:{start:{date:li,number:di,string:\"string\",moment:mi},end:{date:li,number:di,string:\"string\",moment:mi},repeat:{string:\"string\"},__type__:{object:pi,array:\"array\"}},locale:{string:\"string\"},locales:{__any__:{any:ui},__type__:{object:pi}},max:{date:li,number:di,string:\"string\",moment:mi},maxHeight:{number:di,string:\"string\"},maxMinorChars:{number:di},min:{date:li,number:di,string:\"string\",moment:mi},minHeight:{number:di,string:\"string\"},moveable:{boolean:si},multiselect:{boolean:si},orientation:{string:\"string\"},showCurrentTime:{boolean:si},showMajorLabels:{boolean:si},showMinorLabels:{boolean:si},start:{date:li,number:di,string:\"string\",moment:mi},timeAxis:{scale:{string:\"string\",undefined:\"undefined\"},step:{number:di,undefined:\"undefined\"},__type__:{object:pi}},width:{string:\"string\",number:di},zoomable:{boolean:si},zoomKey:{string:[\"ctrlKey\",\"altKey\",\"metaKey\",\"\"]},zoomMax:{number:di},zoomMin:{number:di},zIndex:{number:di},__type__:{object:pi}},gi={global:{alignCurrentTime:[\"none\",\"year\",\"month\",\"quarter\",\"week\",\"isoWeek\",\"day\",\"date\",\"hour\",\"minute\",\"second\"],sort:!0,sampling:!0,stack:!1,shaded:{enabled:!1,orientation:[\"zero\",\"top\",\"bottom\",\"group\"]},style:[\"line\",\"bar\",\"points\"],barChart:{width:[50,5,100,5],minWidth:[50,5,100,5],sideBySide:!1,align:[\"left\",\"center\",\"right\"]},interpolation:{enabled:!0,parametrization:[\"centripetal\",\"chordal\",\"uniform\"]},drawPoints:{enabled:!0,size:[6,2,30,1],style:[\"square\",\"circle\"]},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:[40,0,200,1],visible:!0,alignZeros:!0,left:{title:{text:\"\",style:\"\"}},right:{title:{text:\"\",style:\"\"}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:[\"top-right\",\"bottom-right\",\"top-left\",\"bottom-left\"]},right:{visible:!0,position:[\"top-right\",\"bottom-right\",\"top-left\",\"bottom-left\"]}},autoResize:!0,clickToUse:!1,end:\"\",format:{minorLabels:{millisecond:\"SSS\",second:\"s\",minute:\"HH:mm\",hour:\"HH:mm\",weekday:\"ddd D\",day:\"D\",month:\"MMM\",quarter:\"[Q]Q\",year:\"YYYY\"},majorLabels:{millisecond:\"HH:mm:ss\",second:\"D MMMM HH:mm\",minute:\"ddd D MMMM\",hour:\"ddd D MMMM\",weekday:\"MMMM YYYY\",day:\"MMMM YYYY\",month:\"YYYY\",quarter:\"YYYY\",year:\"\"}},height:\"\",locale:\"\",max:\"\",maxHeight:\"\",maxMinorChars:[7,0,20,1],min:\"\",minHeight:\"\",moveable:!0,orientation:[\"both\",\"bottom\",\"top\"],showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,start:\"\",width:\"100%\",zoomable:!0,zoomKey:[\"ctrlKey\",\"altKey\",\"metaKey\",\"\"],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1],zIndex:0}};zt.prototype=new xn,zt.prototype.setOptions=function(e){var t=zn.validate(e,ci);!0===t&&console.log(\"%cErrors have been found in the supplied options object.\",Un),xn.prototype.setOptions.call(this,e)},zt.prototype.setItems=function(e){var t=null==this.itemsData,o;if(o=e?e instanceof rn||e instanceof sn?e:new rn(e,{type:{start:\"Date\",end:\"Date\"}}):null,this.itemsData=o,this.linegraph&&this.linegraph.setItems(o),t)if(null!=this.options.start||null!=this.options.end){var n=null==this.options.start?null:this.options.start,i=null==this.options.end?null:this.options.end;this.setWindow(n,i,{animation:!1})}else this.fit({animation:!1})},zt.prototype.setGroups=function(e){var t;t=e?e instanceof rn||e instanceof sn?e:new rn(e):null,this.groupsData=t,this.linegraph.setGroups(t)},zt.prototype.getLegend=function(e,t,o){return void 0===t&&(t=15),void 0===o&&(o=15),void 0===this.linegraph.groups[e]?\"cannot find group:'\"+e+\"'\":this.linegraph.groups[e].getLegend(t,o)},zt.prototype.isGroupVisible=function(e){return void 0!==this.linegraph.groups[e]&&this.linegraph.groups[e].visible&&(void 0===this.linegraph.options.groups.visibility[e]||!0==this.linegraph.options.groups.visibility[e])},zt.prototype.getDataRange=function(){var e=null,t=null;for(var o in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(o)&&!0==this.linegraph.groups[o].visible)for(var n=0;n<this.linegraph.groups[o].itemsData.length;n++){var a=this.linegraph.groups[o].itemsData[n],r=So.convert(a.x,\"Date\").valueOf();e=null==e?r:e>r?r:e,t=null==t?r:t<r?r:t}return{min:null==e?null:new Date(e),max:null==t?null:new Date(t)}},zt.prototype.getEventProperties=function(e){var t=e.center?e.center.x:e.clientX,o=e.center?e.center.y:e.clientY,n=t-So.getAbsoluteLeft(this.dom.centerContainer),i=o-So.getAbsoluteTop(this.dom.centerContainer),a=this._toTime(n),r=wn.customTimeFromTarget(e),s=So.getTarget(e),d=null;So.hasParent(s,this.timeAxis.dom.foreground)?d=\"axis\":this.timeAxis2&&So.hasParent(s,this.timeAxis2.dom.foreground)?d=\"axis\":So.hasParent(s,this.linegraph.yAxisLeft.dom.frame)?d=\"data-axis\":So.hasParent(s,this.linegraph.yAxisRight.dom.frame)?d=\"data-axis\":So.hasParent(s,this.linegraph.legendLeft.dom.frame)?d=\"legend\":So.hasParent(s,this.linegraph.legendRight.dom.frame)?d=\"legend\":null==r?So.hasParent(s,this.currentTime.bar)?d=\"current-time\":So.hasParent(s,this.dom.center)&&(d=\"background\"):d=\"custom-time\";var l=[],p=this.linegraph.yAxisLeft,m=this.linegraph.yAxisRight;return!p.hidden&&0<this.itemsData.length&&l.push(p.screenToValue(i)),!m.hidden&&0<this.itemsData.length&&l.push(m.screenToValue(i)),{event:e,what:d,pageX:e.srcEvent?e.srcEvent.pageX:e.pageX,pageY:e.srcEvent?e.srcEvent.pageY:e.pageY,x:n,y:i,time:a,value:l}},zt.prototype._createConfigurator=function(){return new oi(this,this.dom.container,gi)};var hi={util:So,DOMutil:Co,DataSet:rn,DataView:sn,Queue:tn,Timeline:ni,Graph2d:zt,timeline:{Core:xn,DateUtil:ln,Range:pn,stack:Cn,TimeStep:fn,components:{items:{Item:In,BackgroundItem:Rn,BoxItem:Pn,PointItem:En,RangeItem:Yn},BackgroundGroup:Mn,Component:dn,CurrentTime:Dn,CustomTime:wn,DataAxis:ai,DataScale:ii,GraphGroup:jt,Group:On,ItemSet:jn,Legend:Wt,LineGraph:Ut,TimeAxis:bn}},moment:e,Hammer:yn,keycharm:vn};return hi});\n//# sourceMappingURL=vis-timeline-graph2d.min.js.map\n}exports.vis = vis;\n\n\n\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/plugins/kixam/timeline/widget.timeline.js": {
            "title": "$:/plugins/kixam/timeline/widget.timeline.js",
            "text": "/*\\\ntitle: $:/plugins/kixam/timeline/widget.timeline.js\ntype: application/javascript\nmodule-type: widget\n\n  A widget for displaying timelines using Vis.js.  http://visjs.org\n  Continued from emkay's plugin at https://github.com/emkayonline/tw5visjs\n\n  For full help see $:/plugins/kixam/timeline/help\n\n\\*/\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\n(function() {\n  'use strict';\n\n  var Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n  var moment = require(\"$:/plugins/kixam/moment/moment.js\");\n  if(typeof window !== 'undefined' && typeof window.moment !== 'function') {\n    window.moment = moment;\n  }\n  var utils = require(\"$:/plugins/kixam/timeline/lib.utils.js\");\n  var vis = require(\"$:/plugins/kixam/timeline/vis-timeline.js\");\n  if(typeof window !== 'undefined' && typeof window.vis !== 'function') {\n    window.vis = vis;\n  }\n\n  var TimelineWidget = function(parseTreeNode,options) {\n    Widget.call(this);\n    this.initialise(parseTreeNode,options);\n  };\n\n  TimelineWidget.prototype = new Widget();\n\n  TimelineWidget.prototype.render = function(parent,nextSibling) {\n    this.parentDomNode = parent;\n    this.computeAttributes();\n    this.options = {orientation: \"bottom\"};\n    this.tiddler = this.parentWidget;\n    while(this.tiddler.parentWidget !== undefined && this.tiddler.tiddlerTitle === undefined && this.tiddler.transcludeTitle === undefined) {\n      this.tiddler = this.tiddler.parentWidget;\n    }\n    this.tiddler = $tw.wiki.getTiddler(this.tiddler.tiddlerTitle || this.tiddler.transcludeTitle);\n    this.warningTiddlerTitle = \"$:/temp/plugins/kixam/visjstimeline/warning/\" + this.tiddler.fields.title;\n    this.persistentTiddlerTitle = \"$:/temp/plugins/kixam/visjstimeline/persistent/\" + this.tiddler.fields.title;\n    this.hasCustomTime = false;\n    this.twformat = \"YYYYMMDDHHmmssSSS\"\n\n    var attrParseWorked = this.execute();\n    if (attrParseWorked === undefined) {\n      this.timelineHolder = $tw.utils.domMaker(\"div\",{attributes:{style: \"position: relative;\"}});\n      parent.insertBefore(this.timelineHolder,nextSibling);\n      this.domNodes.push(this.timelineHolder);\n\n      if(this.attributes[\"boxing\"] !== \"auto\") {\n        this.timelineHolder.style[\"height\"]=\"100%\";\n        // -- adapted from felixhayashi's tiddlymap in widget.map.js\n        this.sidebar = document.getElementsByClassName(\"tc-sidebar-scrollable\")[0];\n        this.isContainedInSidebar = (this.sidebar && this.sidebar.contains(this.parentDomNode));\n        if(this.isContainedInSidebar) {\n          this.parentDomNode.style[\"margin-top\"]=\"-14px\";\n          this.parentDomNode.style[\"padding-right\"]=\"2px\";\n        } else {\n          this.parentDomNode.style[\"height\"] = \"auto\";\n        }\n        parent.style[\"width\"] = this.getAttribute(\"width\", \"100%\");\n        this.handleResizeEvent = this.handleResizeEvent.bind(this);\n        window.addEventListener(\"resize\", this.handleResizeEvent, false);\n        this.handleResizeEvent();\n        // --\n        this.options[\"height\"] = \"100%\";\n      }\n\n      this.createWarningButton();\n\n      this.createTimeline();\n\n      if(this.attributes[\"navpad\"] !== undefined) {\n        this.options[\"orientation\"] = \"top\";\n      }\n      // default options must be set at this point, as we might add/change options from user through 'config'\n      this.updateTimeline();\n\n      if(this.attributes[\"navpad\"] !== undefined) {\n        this.createNavpad(); // must be created only after all options were processed\n                             // e.g. for clickToUse, we observe vis-overlay, which will not exist if option is not processed\n      }\n\n\n    } else {\n      utils.dispError(this.parseTreeNode.type+\": Unexpected attribute(s) \"+attrParseWorked.join(\", \"));\n      this.refresh = function() {}; // disable refresh of this as it won't work with incorrrect attributes\n    }\n  };\n\n\n  TimelineWidget.prototype.execute = function() {\n    var attrParseWorked = utils.parseWidgetAttributes(this,{\n           filter: { type: \"string\", defaultValue: \"[!is[system]]\"},\n           groupField: { type: \"string\", defaultValue: undefined},\n           startDateField: { type: \"string\", defaultValue: \"created\"},\n           endDateField:  { type: \"string\", defaultValue: undefined},\n           format:  { type: \"string\", defaultValue: undefined},\n           tipFormat:  { type: \"string\", defaultValue: undefined},\n           customTime:  { type: \"string\", defaultValue: undefined},\n           groupTags: {type: \"string\", defaultValue: undefined},\n           boxing: {type: \"string\", defaultValue: \"static\"},\n           navpad: {type: \"string\", defaultValue: undefined},\n           config: {type: \"string\", defaultValue: undefined},\n           persistent: {type: \"string\", defaultValue: undefined},\n           });\n\n    if ((attrParseWorked === undefined) && (this.filter)) {\n      this.compiledFilter = this.wiki.compileFilter(this.filter);\n    }\n\n    return attrParseWorked;\n  };\n\n  TimelineWidget.prototype.getTimepointList = function(changedTiddlers) {\n    var tiddlerList = [];\n    // process the filter into an array of tiddler titles\n    tiddlerList = this.compiledFilter.call(null, changedTiddlers, null);\n    // If filter is a list of tiddlers it will return tiddlers even if they are not in changed Tiddlers\n    if (changedTiddlers !== undefined) {\n      tiddlerList = tiddlerList.filter(function (e) { return changedTiddlers[e];});\n    }\n    var self = this;\n    var withoutDraftsList = tiddlerList.filter(function(optionTitle) {\n      var optionTiddler = self.wiki.getTiddler(optionTitle);\n      if (optionTiddler === undefined) {\n        // tiddler may not exist if list attribute provided to widget, so exclude\n        return true;\n      } else {\n        var isDraft = optionTiddler && optionTiddler.hasField(\"draft.of\");\n        return !isDraft;\n      }\n    });\n    return withoutDraftsList;\n  };\n  /*\n     Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n     */\n  TimelineWidget.prototype.refresh = function(changedTiddlers) {\n    var changedAttributes = this.computeAttributes();\n    if(changedAttributes.filter\n    || changedAttributes.startDateField\n    || changedAttributes.endDateField\n    || changedAttributes.tipFormat\n    || changedAttributes.groupField\n    || changedAttributes.customTime\n    || changedAttributes.groupTags\n    || changedAttributes.boxing\n    || changedAttributes.navpad\n    || changedAttributes.config) {\n      this.refreshSelf();\n      this.updateTimeline();\n      return true;\n    }\n    if (this.displayedTiddlers.some(function (e) { return changedTiddlers[e.id]; })) {\n      this.updateTimeline();\n      return true;\n    }\n    var anyRelevantChanges = this.getTimepointList(changedTiddlers);\n    if (anyRelevantChanges.length !== 0) {\n      this.updateTimeline();\n      return true;\n    }\n    this.handleResizeEvent();\n  };\n\n  TimelineWidget.prototype.createTimeline = function() {\n    var data = [];\n    // create the timeline\n    this.timeline = new vis.Timeline(this.timelineHolder, data, this.options);\n    this.timeline.fit();\n\n    if(this.attributes[\"persistent\"] !== undefined) {\n      var persistentConfigTiddler = $tw.wiki.getTiddler(this.persistentTiddlerTitle);\n      if(persistentConfigTiddler === undefined) {\n        // duplicate initial settings to working tiddler if it does not exist\n        var start = moment(this.timeline.getWindow().start),\n            end = moment(this.timeline.getWindow().end),\n            fields = {title: this.persistentTiddlerTitle,\n                      text: \"Timeline in [[\" + this.tiddler.fields.title + \"]] starts from {{!!timeline.start}} and ends at {{!!timeline.end}}\"};\n        if(start.isValid() && end.isValid() && start.isBefore(end)) {\n          fields[\"timeline.start\"] = start.format(this.format || this.twformat);\n          fields[\"timeline.end\"] = end.format(this.format || this.twformat);\n        }\n        persistentConfigTiddler = $tw.wiki.addTiddler(new $tw.Tiddler(fields));\n      } else {\n        // apply saved x-axis range from the working tiddler\n        var start = moment(dateFieldToDate(persistentConfigTiddler.fields[\"timeline.start\"], this.format || this.twformat)),\n            end = moment(dateFieldToDate(persistentConfigTiddler.fields[\"timeline.end\"], this.format || this.twformat));\n        if(start.isValid() && end.isValid() && start.isBefore(end)) {\n          this.timeline.setWindow(start,end);\n        }\n      }\n      // monitor and save changes in x-axis range\n      this.writeRange = false;\n      this.handleRangeChanged = this.handleRangeChanged.bind(this);\n      this.timeline.on('rangechanged', this.handleRangeChanged);\n    }\n\n    var self = this;\n    this.timeline.on('click', function(properties) {\n      // Check if background or a tiddler is selected\n      if (properties.item !== null) {\n        var toTiddlerTitle = properties.item;\n        utils.displayTiddler(self, toTiddlerTitle);\n      }\n      else if(properties.group !== null && properties.what === \"group-label\") {\n        var toTiddlerTitle = properties.group;\n        if($tw.wiki.getTiddler(toTiddlerTitle)) {\n          utils.displayTiddler(self, toTiddlerTitle);\n        }\n      }\n    });\n  };\n\n  TimelineWidget.prototype.handleRangeChanged = function(properties) {\n    if(properties.byUser || this.writeRange) {\n      var start = moment(properties.start);\n      var end = moment(properties.end);\n      if(start.isValid() && end.isValid()) {\n        utils.setTiddlerField(this.persistentTiddlerTitle, \"timeline.start\", this.format ? start.format(this.format) : start.format(this.twformat));\n        utils.setTiddlerField(this.persistentTiddlerTitle, \"timeline.end\", this.format ? end.format(this.format) : end.format(this.twformat));\n      }\n    }\n    this.writeRange = false;\n  };\n\n  // -- adapted from felixhayashi's tiddlymap in widget.map.js\n  TimelineWidget.prototype.handleResizeEvent = function(event) {\n    if(this.isContainedInSidebar) {\n      var windowHeight = window.innerHeight;\n      var canvasOffset = this.parentDomNode.getBoundingClientRect().top;\n      var distanceBottom = this.getAttribute(\"bottom-spacing\", \"0px\");\n      var calculatedHeight = (windowHeight - canvasOffset - (this.isContainedInSidebar?3:0)) + \"px\";\n      this.parentDomNode.style[\"height\"] = \"calc(\" + calculatedHeight + \" - \" + distanceBottom + \")\";\n    } else if(this.attributes[\"boxing\"] === \"auto\") {\n      this.parentDomNode.style[\"height\"] = \"auto\";\n    } else {\n      var height = this.getAttribute(\"height\");\n      this.parentDomNode.style[\"height\"] = (height ? height : \"300px\");\n    }\n    if(this.timeline) {\n      this.timeline.redraw(); // redraw timeline\n    }\n  };\n  // --\n\n  TimelineWidget.prototype.createWarningButton = function() {\n    var button = $tw.utils.domMaker(\"div\", {innerHTML: $tw.wiki.getTiddlerText(\"$:/core/images/warning\",\"Warning\"), class: \"visjstimeline-warning\", attributes: {title: \"Not all tiddlers could be rendered\",  style: \"visibility: hidden\"}});\n\n    this.timelineHolder.appendChild(button);\n    this.domNodes.push(button);\n\n    this.handleWarningClick = this.handleWarningClick.bind(this);\n    button.addEventListener(\"click\", this.handleWarningClick, false);\n  }\n\n  TimelineWidget.prototype.handleWarningClick = function(event) {\n    utils.displayTiddler(this, this.warningTiddlerTitle);\n  }\n\n  TimelineWidget.prototype.appendWarning = function(message) {\n    if($tw.wiki.getTiddler(this.warningTiddlerTitle) === undefined) {\n      var format = \"Using \";\n      if(this.format === undefined) {\n        format += \"[[TW5 date format|http://tiddlywiki.com/#DateFormat]]\";\n      } else {\n        format += \"[[moment.js format|http://momentjs.com/docs/#/parsing/string-format/]]: `\" + this.format + \"`\";\n      }\n      var fields = {title: this.warningTiddlerTitle, text: \"!!!Problems found while rendering `<$visjstimeline/>` in [[\"+this.tiddler.fields.title+\"]]\\n\\n\" + format + \"\\n\\n|!Tiddler|!Problem|!Result|\\n\"};\n      $tw.wiki.addTiddler(new $tw.Tiddler(fields));\n    }\n    utils.setTiddlerField(this.warningTiddlerTitle,\"text\", $tw.wiki.getTiddlerText(this.warningTiddlerTitle) + message + \"\\n\");\n    var button = this.timelineHolder.getElementsByClassName(\"visjstimeline-warning\")[0];\n    button.style[\"visibility\"] = \"visible\";\n  }\n\n  TimelineWidget.prototype.resetWarning = function() {\n    $tw.wiki.deleteTiddler(this.warningTiddlerTitle);\n    var button = this.timelineHolder.getElementsByClassName(\"visjstimeline-warning\")[0];\n    button.style[\"visibility\"] = \"hidden\";\n  }\n\n  TimelineWidget.prototype.createNavpad = function() {\n    var navpad = $tw.utils.domMaker(\"div\",{class: \"visjstimeline-navpad\"});\n\n    this.timelineHolder.appendChild(navpad);\n    this.domNodes.push(navpad);\n\n    navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{id: \"up\", title: \"Browse up\", style: \"visibility: hidden\"}, innerHTML: \"▲\"}));\n    navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{id: \"down\", title: \"Browse down\", style: \"visibility: hidden\"}, innerHTML: \"▼\"}));\n    navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{id: \"left\", title: \"Browse to earlier\"}, innerHTML: \"◀\"}));\n    navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{id: \"right\", title: \"Browse to later\"}, innerHTML: \"▶\"}));\n    navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{id: \"zoomIn\", title: \"Zoom in\"}, innerHTML: \"⌼\"}));\n    navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{id: \"zoomOut\", title: \"Zoom out\"}, innerHTML: \"⌻\"}));\n    navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{id: \"zoomExtends\", title: \"Zoom to fit entries\"}, innerHTML: \"⛶\"}));\n\n    this.handleNavpadClick = this.handleNavpadClick.bind(this);\n    for(var i=0; i<navpad.childNodes.length; i++) {\n      this.domNodes.push(navpad.childNodes[i]);\n      navpad.childNodes[i].addEventListener(\"click\", this.handleNavpadClick, false);\n    }\n\n    var panel = this.timelineHolder.getElementsByClassName(\"vis-panel vis-center\")[0];\n    var top = panel.getElementsByClassName(\"vis-shadow vis-top\")[0];\n    var bottom = panel.getElementsByClassName(\"vis-shadow vis-bottom\")[0];\n    var overlay = this.timelineHolder.getElementsByClassName(\"vis-overlay\")[0];\n\n    this.handleItemsVisibilityChanged = this.handleItemsVisibilityChanged.bind(this);\n    var self = this;\n    var observer = new MutationObserver(function(mutations) {\n      for(var i=0; i<mutations.length; i++) {\n        self.handleItemsVisibilityChanged(mutations[i]);\n      }});\n    observer.observe(top, {attributes: true, subtree: false});\n    observer.observe(bottom, {attributes: true, subtree: false});\n    if(overlay !== undefined) { // clickToUse === true\n      observer.observe(overlay, {attributes: true, subtree: false});\n      navpad.style[\"visibility\"] = \"hidden\";\n    }\n  }\n\n  TimelineWidget.prototype.handleItemsVisibilityChanged = function(mutation) {\n    if(mutation.attributeName === \"style\") {\n      if((' ' + mutation.target.className + ' ').indexOf(' vis-overlay ') > -1) {\n        // whole navpad visibility\n        var timeline = this.timelineHolder.getElementsByClassName(\"vis-timeline\")[0];\n        var navpad = this.timelineHolder.getElementsByClassName(\"navpad\")[0];\n        if(navpad !== undefined) {\n          navpad.style[\"visibility\"] = (mutation.target.style[\"display\"] === \"none\" ? \"visible\":\"hidden\");\n        }\n      } else {\n        // up and down buttons visibility\n        var cls = \"vis-button \" + ( (' ' + mutation.target.className + ' ').indexOf(' vis-top ') > -1 ? \"vis-up\":\"vis-down\" );\n        var button = this.timelineHolder.getElementsByClassName(cls)[0];\n        if(button !== undefined) {\n          button.style[\"visibility\"] = mutation.target.style[\"visibility\"];\n        }\n      }\n    }\n  }\n\n  TimelineWidget.prototype.handleNavpadClick = function(event) {\n    var range = this.timeline.getWindow();\n    var interval = range.end - range.start;\n    var ratio = 0.2; // horizontal movement\n    var step = 10; // vertical movement\n\n    var centerdiv = this.timelineHolder.getElementsByClassName(\"vis-panel vis-center\")[0];\n    var contentdiv = centerdiv.getElementsByClassName(\"vis-content\")[0];\n    this.writeRange = true; // handle persistence\n    switch (event.target.id) {\n      case \"up\":\n        centerdiv.getElementsByClassName(\"vis-shadow vis-bottom\")[0].style[\"visibility\"] = \"visible\";\n        contentdiv.style[\"top\"] = parseInt(contentdiv.style[\"top\"]) + step + \"px\";\n        if(parseInt(contentdiv.style[\"top\"]) >= 0) {\n          contentdiv.style[\"top\"] = \"0px\";\n          centerdiv.getElementsByClassName(\"vis-shadow vis-top\")[0].style[\"visibility\"] = \"hidden\";\n        }\n        break;\n      case \"down\":\n        centerdiv.getElementsByClassName(\"vis-shadow vis-top\")[0].style[\"visibility\"] = \"visible\";\n        contentdiv.style[\"top\"] = parseInt(contentdiv.style[\"top\"]) - step + \"px\";\n        if( Math.abs(parseInt(contentdiv.style[\"top\"])) > contentdiv.getBoundingClientRect().height - centerdiv.getBoundingClientRect().height ) {\n          contentdiv.style[\"top\"] = contentdiv.getBoundingClientRect().height - centerdiv.getBoundingClientRect().height;\n          centerdiv.getElementsByClassName(\"vis-shadow vis-bottom\")[0].style[\"visibility\"] = \"hidden\";\n        }\n        break;\n      case \"left\":\n        this.timeline.setWindow({\n          start: range.start.valueOf() - interval * ratio,\n          end  : range.end.valueOf()   - interval * ratio,\n        });\n        break;\n      case \"right\":\n        this.timeline.setWindow({\n          start: range.start.valueOf() + interval * ratio,\n          end  : range.end.valueOf()   + interval * ratio,\n        });\n        break;\n      case \"zoomIn\":\n        this.timeline.setWindow({\n          start: range.start.valueOf() + interval * ratio,\n          end  : range.end.valueOf()   - interval * ratio,\n        });\n        break;\n      case \"zoomOut\":\n        this.timeline.setWindow({\n          start: range.start.valueOf() - interval * ratio,\n          end  : range.end.valueOf()   + interval * ratio,\n        });\n        break;\n      case \"zoomExtends\":\n        this.timeline.fit();\n        break;\n      default:\n        this.dispError(\"No such navtab action: \" + action);\n    }\n  }\n\n  function dateFieldToDate(dateField, dateFormat) {\n    if(dateField === undefined) return;\n    dateField = dateField.trim();\n    var re = /moment\\([\"' ]*([^)\"']*)[\"' ]*\\)\\.(add|subtract)\\( *([^,]+) *,[\"' ]*([^)\"']+)[\"' ]*\\)/i;\n    if (re.test(dateField)) {\n      var res = re.exec(dateField),\n          def = res[1],\n          operation = res[2],\n          qty = parseInt(res[3]),\n          unit = res[4],\n          m = (def.trim() === \"\" ? moment() : moment(def));\n      if (operation === \"add\") {\n        m.add(qty, unit);\n      } else if(operation === \"subtract\"){\n        m.subtract(qty, unit);\n      }\n      else m = moment.invalid();\n      if (m.isValid()) {\n        return m.toDate();\n      }\n    }\n    else if (dateField === \"now\") {\n        return new Date();\n    }\n    else if (dateField !== \"\") {\n      if (dateFormat === undefined) {\n        return $tw.utils.parseDate(dateField);\n      } else {\n        var m = moment(dateField, dateFormat, true);\n        if (m.isValid()) {\n          return m.toDate();\n        }\n      }\n    }\n  }\n\n  function iconPrefix(icon, color, spanclass)\n  {\n    var text = \"\",\n        iconTiddler = $tw.wiki.getTiddler(icon);\n    if(iconTiddler !== undefined) {\n      text = \"</span>&nbsp;\";\n      var type = iconTiddler.fields.type || \"image/svg+xml\";\n      if(type === \"image/svg+xml\") {\n        text = iconTiddler.fields.text + text;\n      } else {\n        $tw.Wiki.parsers[type](type, iconTiddler.fields.text, iconTiddler.fields);\n        var obj  = $tw.Wiki.parsers.tree[0];\n        text = \"></\" + obj.tag + \">\" + text;\n        for(var k in obj.attributes) {\n          text = \" \" + k + \" = '\" + obj.attributes[k].value + \"'\" + text;\n        }\n        text = \"<\" + obj.tag + text;\n      }\n      text = \"<span class='\" + spanclass + \"'\" + (color?\" style='fill:\"+color+\"';\":\"\") + \">\" + text;\n    }\n    return text;\n  }\n\n  function addTimeData(self) {\n    return function(current, tiddlerName) {\n      var currentData = current.data;\n      var currentGroups = current.groups;\n      var currentErrors = current.errors;\n      var theTiddler = self.wiki.getTiddler(tiddlerName);\n      // tiddler may not exist if list attribute provided to widget\n      if (theTiddler !== undefined) {\n        var tiddlerStartDate = theTiddler.getFieldString(self.startDateField);\n        var startDate = dateFieldToDate(tiddlerStartDate, self.format);\n        if (!isNaN(startDate)) {\n          var caption = theTiddler.fields.caption || tiddlerName,\n              description = theTiddler.fields.description || caption,\n              color = theTiddler.fields.color || false,\n              style = \"border-color: \" + color + \";\" || \"\",\n              icon = theTiddler.fields.icon;\n          caption = iconPrefix(icon, color, \"item-icon\") + caption;\n          if(self.tipFormat !== undefined) {\n            description += \"<br><br>\" + self.startDateField + \": \" + moment(startDate).format(self.tipFormat);\n          }\n          var newTimepoint = {id: tiddlerName, content: caption, title: description, style: style, start: startDate, type: 'point'};\n          var tiddlerGroup = \"\";\n          if (self.groupField !== undefined) {\n            tiddlerGroup = theTiddler.getFieldString(self.groupField);\n          } else if(self.groupTags !== undefined) {\n            $tw.utils.each($tw.wiki.filterTiddlers(self.groupTags),\n              function(tag) {if(theTiddler.hasTag(tag)) tiddlerGroup = tag;});\n          }\n          if(self.groupTags !== undefined || self.groupField !== undefined) {\n            if (tiddlerGroup !== \"\") {\n              newTimepoint.group = tiddlerGroup;\n              currentGroups[tiddlerGroup] = true;\n            } else {\n              newTimepoint.group = \"Global\";\n              currentGroups.Global = true;\n            }\n          }\n          if (self.endDateField !== undefined ) {\n            var tiddlerEndDate = theTiddler.getFieldString(self.endDateField);\n            var endDate = dateFieldToDate(tiddlerEndDate, self.format);\n            if(!isNaN(endDate) && endDate < startDate) {\n              currentErrors.push(\"| [[\" + tiddlerName + \"]] |End date \\\"\" + tiddlerEndDate + \"\\\" (field `\" + self.endDateField + \"`) is before start date \\\"\" + tiddlerStartDate + \"\\\" (field `\" + self.startDateField + \"`)|Used start date as end date|\");\n              endDate = startDate;\n            }\n            else if(isNaN(endDate)) {\n              if(tiddlerEndDate === \"\") {\n                currentErrors.push(\"| [[\" + tiddlerName + \"]] |End date field `\" + self.endDateField + \"` is empty or does not exist|Used start date as end date|\");\n              } else {\n                currentErrors.push(\"| [[\" + tiddlerName + \"]] |Could not parse end date \\\"\" + tiddlerEndDate + \"\\\" from field `\" + self.endDateField + \"`|Used start date as end date|\");\n              }\n              endDate = startDate;\n            }\n            else if(self.tipFormat !== undefined) {\n              newTimepoint.title += \"<br>\" + self.endDateField + \": \" + moment(endDate).format(self.tipFormat);\n            }\n\n            newTimepoint.end = endDate;\n            if (newTimepoint.end.getTime() != newTimepoint.start.getTime()) {\n              newTimepoint.type = 'range';\n              if(theTiddler.getFieldString(\"color\") !== \"\") {\n                newTimepoint.style += \"border-width: 3px;\" + utils.enhancedColorStyle(theTiddler.getFieldString(\"color\"));\n              }\n            }\n          }\n          currentData.push(newTimepoint);\n        } else {\n          if(tiddlerStartDate === \"\") {\n            currentErrors.push(\"| [[\" + tiddlerName + \"]] |Start date field `\" + self.startDateField + \"` is empty or does not exist|Not rendered|\");\n          } else {\n            currentErrors.push(\"| [[\" + tiddlerName + \"]] |Could not parse start date \\\"\" + tiddlerStartDate + \"\\\" from field `\" + self.startDateField + \"`|Not rendered|\");\n          }\n        }\n      } else {\n        currentErrors.push(\"| [[\" + tiddlerName + \"]] |Tiddler was not found|Not rendered|\");\n      }\n      return {data: currentData, groups: currentGroups, errors: currentErrors};\n    };\n  }\n\n  TimelineWidget.prototype.updateTimeline = function() {\n    this.resetWarning();\n\n    var langprefix = \"$:/languages/\".length,\n        lang = $tw.wiki.getTiddlerText(\"$:/language\").substring(langprefix, langprefix + 2);\n    if(lang === \"zh\") {\n      // TW5 does not use standard codes for Chinese\n      var suffix = $tw.wiki.getTiddlerText(\"$:/language\");\n      suffix = suffix.substring(suffix.length-1);\n      if(suffix === \"s\") {\n        lang = \"zh-cn\"; //simplified\n      } else {\n        lang = \"zh-tw\"; //traditional\n      }\n    }\n    this.options[\"locale\"] = moment.locale([lang, \"en\"]);\n\n    var timepointList = this.getTimepointList();\n    var groups = {};\n    if(this.groupTags !== undefined) {\n      $tw.utils.each($tw.wiki.filterTiddlers(this.groupTags),\n        function(tag) {groups[tag] = false;});\n    }\n    var result = timepointList.reduce(addTimeData(this), {data: [], groups: groups, errors: []});\n    this.displayedTiddlers = result.data;\n    this.timeline.setItems(result.data);\n    if (this.customTime !== undefined) {\n      if(this.hasCustomTime) {\n        this.timeline.removeCustomTime();\n        this.hasCustomTime = false;\n      }\n      var d = dateFieldToDate(this.customTime, this.format);\n      if (d !== undefined) {\n        this.timeline.addCustomTime(d);\n        this.hasCustomTime = true;\n      }\n    }\n    // override default options with these provided by the user, if any\n    var config = $tw.wiki.getTiddlerData(this.attributes[\"config\"], {});\n    var whitelist = $tw.wiki.getTiddlerData(\"$:/plugins/kixam/timeline/validOptions\", {\"whitelist\":[]}).whitelist;\n    if(this.attributes[\"persistent\"] !== undefined) {\n      whitelist.start = undefined;\n      whitelist.end = undefined;\n    }\n    for(var opt in config) {\n      if(whitelist.indexOf(opt) > -1) this.options[opt] = config[opt];\n    }\n    this.timeline.setOptions(this.options);\n    if (Object.keys(result.groups).length !== 0) {\n      var theGroups = [];\n      for (var group in result.groups) {\n        if(result.groups[group]) {\n          if(group === \"Global\") {\n            theGroups.splice(0,0,{id: group,\n                             content: \"&mdash; Global &mdash;\",\n                               title: \"(Global)\",\n                               style: \"background-color:rgba(0,0,0,0); font-style:italic;\"});\n          } else {\n            theGroups.push({id: group, content: group, title: group});\n            var tiddler = $tw.wiki.getTiddler(group);\n            if(tiddler !== undefined) {\n              var icon = tiddler.fields.icon,\n                  color = tiddler.fields.color || false,\n                  caption = iconPrefix(icon, color, \"group-icon\") + \"<p>\" + (tiddler.fields.caption || group) + \"</p>\",\n                  description = tiddler.fields.description || tiddler.fields.caption || group;\n              if(color) {\n                theGroups[theGroups.length-1].style = \"border-width:3px; border-style:solid;\"\n                                                    + \"border-bottom-width:3px; border-bottom-style:solid;\"\n                                                    + utils.enhancedColorStyle(color);\n              }\n              theGroups[theGroups.length-1].content = caption;\n              theGroups[theGroups.length-1].title = description;\n            }\n          }\n        }\n      }\n      this.timeline.setGroups(theGroups);\n    }\n    for(var i=0; i<result.errors.length; i++) {\n      this.appendWarning(result.errors[i]);\n    }\n\n    this.timeline.fit();\n    if(this.attributes[\"persistent\"] !== undefined) {\n      var persistentConfigTiddler = $tw.wiki.getTiddler(this.persistentTiddlerTitle);\n      if(persistentConfigTiddler === undefined) {\n        // create working tiddler if it does not exist\n        var fields = {title: this.persistentTiddlerTitle,\n                      text: \"Timeline in [[\" + this.tiddler.fields.title + \"]] starts from {{!!timeline.start}} and ends at {{!!timeline.end}}\"};\n        persistentConfigTiddler = $tw.wiki.addTiddler(new $tw.Tiddler(fields));\n      }\n      var start = moment(dateFieldToDate(config.start || persistentConfigTiddler.fields[\"timeline.start\"], this.format) || this.timeline.getWindow().start),\n          end = moment(dateFieldToDate(config.end || persistentConfigTiddler.fields[\"timeline.end\"], this.format) || this.timeline.getWindow().end);\n      if(start.isValid() && end.isValid() && start.isBefore(end)) {\n        // copy config settings to working tiddler\n        utils.setTiddlerField(this.persistentTiddlerTitle, \"timeline.start\", start.format(this.format || this.twformat));\n        utils.setTiddlerField(this.persistentTiddlerTitle, \"timeline.end\", end.format(this.format || this.twformat));\n        // apply saved x-axis range from the working tiddler\n        this.timeline.setWindow(start, end);\n      }\n    }\n  };\n\n  exports.visjstimeline = TimelineWidget;\n\n  }\n  ());\n",
            "type": "application/javascript",
            "module-type": "widget"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/kookma/favorites/frozen-list": {
            "title": "$:/plugins/kookma/favorites/frozen-list",
            "caption": "Favorites",
            "created": "20191228192318272",
            "list-after": "$:/core/ui/SideBar/Open",
            "modified": "20200326083226904",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "\\import $:/plugins/kookma/favorites/macros/definition\n\\import $:/plugins/kookma/favorites/macros/slider\n\n\\define contents()\n<div style=\"padding-left:20px;\">\n<$list filter=\"[list<currentTiddler>]\">\n<$transclude tiddler=\"$:/plugins/kookma/favorites/templates/show-link\" field=text/>\n</$list>\n</div>\n\\end\n\n\n<$list filter=<<recentlyAdded>> >\n<div><<contents>>\n</div>\n</$list>\n\n\n<$list filter=\"[subfilter<folders>]-[<recentlyAdded>]\" >\n<div>\n<$macrocall $name=favslider\ntitle=<<currentTiddler>>\ncontent=<<contents>>\n/></div>\n</$list>"
        },
        "$:/plugins/kookma/favorites/history": {
            "title": "$:/plugins/kookma/favorites/history",
            "created": "20200326073607951",
            "modified": "20200326080816159",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "Full change log  https://kookma.github.io/TW-Favorites/#ChangeLog\n\n* ''4.4.0 '' -- 2020.03.26 -- moved to new Thirdflow development platform \n* ''4.3.0 '' -- 2019.11.19 -- correct caption when caption filed has wikitext\n* ''4.0.0 '' -- 2019.12.17 -- a rewrite of old favorite plugin\n* ''3.0.12'' -- 2018.11.01 -- released by Mohammad Rahmani\n* ''3.0.5 '' -- 2017.08.03 -- released by Andrew Harrison"
        },
        "$:/plugins/kookma/favorites/image": {
            "title": "$:/plugins/kookma/favorites/image",
            "created": "20181010141333403",
            "modified": "20200326185558195",
            "path": "c-3.3-16.6-15.1-27.3-30.3-27.3-8.5,0-17.7,3.5-26.7,10.1-9.1-6.8-18.3-10.3-26.9-10.3-15.2,0-27.1,10.8-30.3,27.6-4.8,24.9 10.6,58 55.7,76 0.5,0.2 1,0.3 1.5,0.3 0.5,0 1-0.1 1.5-0.3 45-18.4 60.3-51.4 55.5-76.1zm-57,67.9c-39.6-16.4-53.3-45-49.2-66.3 2.4-12.7 11.2-21 22.3-21 7.5,0 15.9,3.6 24.3,10.5 1.5,1.2 3.6,1.2 5.1,0 8.4-6.7 16.7-10.2 24.2-10.2 11.1,0 19.8,8.1 22.3,20.7 4.1,21.1-9.5,49.6-49,66.3z",
            "tags": "$:/tags/Image",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define favorites-svg()\n<svg class='tc-image-favorites-button tc-image-button' width='22pt' height='22pt' viewBox=\"0 0 129 129\"><g><path stroke-width=\"6px\"   d='m$(m)$$(path)$'/></g></svg>\n\\end\n\n<$vars m='121.6,40.1' path={{!!path}}>\n<<favorites-svg>>\n</$vars>"
        },
        "$:/language/Buttons/Favorites/Caption/Add": {
            "title": "$:/language/Buttons/Favorites/Caption/Add",
            "created": "20191216200037937",
            "modified": "20200326193233403",
            "type": "text/vnd.tiddlywiki",
            "text": "favorites"
        },
        "$:/language/Buttons/Favorites/Caption/Remove": {
            "title": "$:/language/Buttons/Favorites/Caption/Remove",
            "created": "20191216200037793",
            "modified": "20200326193156596",
            "type": "text/vnd.tiddlywiki",
            "text": "Caption/Remove"
        },
        "$:/language/Buttons/Favorites/Hint/Add": {
            "title": "$:/language/Buttons/Favorites/Hint/Add",
            "created": "20191216200037919",
            "modified": "20200326193116928",
            "type": "text/vnd.tiddlywiki",
            "text": "Add to favorites"
        },
        "$:/language/Buttons/Favorites/Hint/Remove": {
            "title": "$:/language/Buttons/Favorites/Hint/Remove",
            "created": "20200326193045794",
            "modified": "20200326193104571",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "Remove from favorites"
        },
        "$:/plugins/kookma/favorites/license": {
            "title": "$:/plugins/kookma/favorites/license",
            "created": "20200326073607952",
            "modified": "20200326080900832",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "Distributed under an MIT license.\n\nCopyright (c) 2018-2020 [[Mohammad Rahmani|https://github.com/kookma]]<br>\nCopyright (c) 2017-2018 [[Andrew Harrison|http://favorites.tiddlyspot.com/]]\n\n<<<\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n<<<\n"
        },
        "$:/plugins/kookma/favorites/macros/combo-search": {
            "title": "$:/plugins/kookma/favorites/macros/combo-search",
            "created": "20191219070911471",
            "description": "do not delete, part of example 103",
            "modified": "20200326190600963",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define standardSearch() [list<favlistTid>search<searchTerms>]\n\\define filterSearch()   [list<favlistTid>]+[subfilter<searchTerms>]\n\n\\define displayResult(filter)\n<!-- other folders -->\n<$list filter=\"[<recentlyAdded>]\" variable=folder>\n<b><$view tiddler=<<folder>> field=caption/></b><br>\n<$list filter=<<__filter__>> variable=item >\n<$list filter=\"[<folder>search:list<item>]\">\n<span style=\"margin-left:8px;\"><$link to=<<item>>/></span><br>\n</$list>\n</$list>\n</$list>\n\n<!-- other folders -->\n<$list filter=\"[subfilter<folders>]-[<recentlyAdded>]\" variable=folder>\n<b><$view tiddler=<<folder>> field=caption/></b><br>\n<$list filter=<<__filter__>> variable=item >\n<$list filter=\"[<folder>search:list<item>]\">\n<span style=\"margin-left:8px;\"><$link to=<<item>>/></span><br>\n</$list>\n</$list>\n</$list>\n\\end\n\n\n\\define combo-search(stateTiddler:\"\")\n<$vars pattern=\"^\\[\"\n       stateTid={{{ [[$:/temp/combosearch/]addsuffix[$stateTiddler$]addsuffix<qualify>] }}}>\t \n<!--UI -->\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=<<stateTid>> tag=input default=\"\" placeholder=\"search by keyword or filter\" class=\"sltext\"/>\t\t\t\n\n<!-- show results if any-->\n<$reveal state=<<stateTid>> type=\"nomatch\" text=\"\"><!--do not display when searchbox is empty-->\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=<<stateTid>> $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n\n<$set name=searchTerms tiddler=<<stateTid>> field=text>\n\n<$list filter=\"[<searchTerms>trim[]minlength[3]limit[1]]\" emptyMessage=\"Search text too short\" variable=ignore>\n\n<!-- Check input search term -->\n<div class=\"tc-search-results\">\n<$list filter=\"[<searchTerms>regexp<pattern>then[filterSearch]else[standardSearch]]\" variable=searchMethod >\n<$reveal type=nomatch default=\"filterSearch\" text=<<searchMethod>> >\n<$macrocall $name=displayResult filter=<<standardSearch>> />\n</$reveal>\n<$reveal type=match default=\"filterSearch\" text=<<searchMethod>> >\n<$macrocall $name=displayResult filter=<<filterSearch>> />\n</$reveal>\n\n</$list>\n</div>\n</$list>\n</$set>\n</$reveal>\n</div>\n</$vars>\n\\end"
        },
        "$:/plugins/kookma/favorites/macros/definition": {
            "title": "$:/plugins/kookma/favorites/macros/definition",
            "created": "20191223204533023",
            "modified": "20200326190417057",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define folderpath()     $:/favorites/folder\n\\define favlistTid()     $:/favorites/favlist\n\\define foldertagTid()   $:/tags/Favorites/Folder\n\\define folders()        [tag[$(foldertagTid)$]]\n\\define recentlyAdded()  $:/plugins/kookma/favorites/recent\n\n\\define temppath()       $:/temp/favorites\n\n\\define selectionTid()   $(temppath)$/selection\n\\define tempNewTid()     $(temppath)$/new-folder\n\\define temppopupTid()   $(temppath)$/delete-confirm\n\\define tempreorderTid() $(temppath)$/reorder\n\\define saveTid()        $(temppath)$/savetitle"
        },
        "$:/plugins/kookma/favorites/macros/folding-editor": {
            "title": "$:/plugins/kookma/favorites/macros/folding-editor",
            "created": "20191222134036727",
            "modified": "20200326083226990",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define fv-folding-editor(tiddler)\n<$set name=\"state\" value={{{ [[$:/temp/folding-editor/]addsuffix<currentTiddler>addsuffix<__tiddler__>] }}}>\n<$reveal stateTitle=<<state>> type=\"nomatch\" text=\"edit\">\n<span style=\"display:inline-block;min-width:320px;font-weight:700\">\n<$transclude tiddler=<<__tiddler__>> field=\"caption\"/>\n</span>\n<$button class=\"tc-btn-invisible\" setTitle=<<state>> setTo=\"edit\">{{$:/core/images/edit-button}}</$button>\n</$reveal>\n<$reveal stateTitle=<<state>> type=\"match\" text=\"edit\">\n<$edit-text class=\"\" tiddler=<<__tiddler__>> field=\"caption\" tag=\"input\" default=\"\" placeholder=\"enter a folder title\"/>\n<$button class=\"tc-btn-invisible\" setTitle=<<state>> setTo=\"\">{{$:/core/images/done-button}}</$button>\n</$reveal>\n</$set><span class=\"fv-folding-button\">\n<$button class=\"tc-btn-invisible\"> {{$:/core/images/delete-button}}\n<$action-listops $tiddler=<<favlistTid>> $field=\"list\" $subfilter=\"-[list<__tiddler__>]\" />\n<$action-listops $tiddler=<<foldertagTid>> $field=\"list\" $subfilter=\"-[[$tiddler$]]\" />\n<$action-deletetiddler $tiddler=<<__tiddler__>>/>\n</$button>\n<$radio tiddler=<<tempreorderTid>> field=text value=<<__tiddler__>>/>\n</span>\n\\end\n"
        },
        "$:/plugins/kookma/favorites/macros/sidebar": {
            "title": "$:/plugins/kookma/favorites/macros/sidebar",
            "caption": "Favorites",
            "created": "20191226064633412",
            "list-before": "$:/core/ui/SideBar/Recent",
            "modified": "20200326190524020",
            "type": "text/vnd.tiddlywiki",
            "text": "\\whitespace trim\n\\import $:/plugins/kookma/favorites/macros/slider\n\\import $:/plugins/kookma/favorites/macros/definition\n\n\\define drop-actions()\n<!-- case 1: tiddler is already in favlist and moved between folders by drag and drop -->\n<$reveal type=match default=<<favlistTid>> text={{{[<actionTiddler>listed[]match<favlistTid>]}}} >\n<$vars oldFolder={{{ [<actionTiddler>listed[]]+[subfilter<folders>]-[<folder>]+[limit[1]] }}}>\n<$action-listops $tiddler=<<oldFolder>> $field=\"list\" $subfilter=\"-[<actionTiddler>]\" />\n</$vars>\n</$reveal>\n<!-- case 2: tiddler is NOT already in favlist and dropped from outside favorites -->\n<$reveal type=nomatch default=<<favlistTid>> text={{{[<actionTiddler>listed[]match<favlistTid>]}}} >\n<$action-listops $tiddler=<<favlistTid>> $field='list' $subfilter=\"[<actionTiddler>]\"/>\n</$reveal>\n<!-- move it to the target folder -->\n<$action-listops $tiddler=<<folder>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\">&nbsp;</div>\n\\end\n\n\\define droppable-item()\n\\whitespace trim\n<$droppable actions=<<drop-actions>>>\n<<placeholder>>\n<div>\n<$transclude tiddler=\"$:/plugins/kookma/favorites/templates/delete-item\" field=text/> \n<$transclude tiddler=\"$:/plugins/kookma/favorites/templates/show-link\" field=text/>\n</div>\n</$droppable>\n\\end\n\n\\define droppable-item-after-last-item()\n\\whitespace trim\n<!--add extra space for drag and drop after last item-->\n<$droppable actions=<<drop-actions>>>\n<<placeholder>><div style=\"margin-top:-6px;margin-bottom:-6px;\">&nbsp;</div>\n</$droppable>\n\\end\n\n\n\\define display-folder-is-empty()\n<div style=\"padding-left:20px;\">\n<$droppable actions=<<drop-actions>>>\n<<placeholder>>\n//Folder is empty//\n</$droppable>\n</div>\n\\end\n\n\\define display-fav-folder(folder)\n<$vars folder=<<__folder__>> >\n<!--check if folder is empty-->\n<$list filter=\"[list<folder>limit[1]]\" emptyMessage=<<display-folder-is-empty>> variable=ignore>\n<div style=\"padding-left:20px;\">\n<$list filter=\"[list<folder>]\"><!--display all tiddlers in folder list field one by one -->\n<$list filter=\"[<favlistTid>contains<currentTiddler>]\" variable=ignore><!--check if the tiddler is a favorite list-->\n<$macrocall $name=droppable-item />\n</$list>\n</$list>\n<<droppable-item-after-last-item>>\n</div>\n</$list>\n</$vars>\n\\end\n\n\\define display-fav-recentlyAdded()\n<$vars folder=<<recentlyAdded>> >\n<b><$transclude tiddler=<<folder>> field=\"caption\" /></b>\n<!--check if favlistTid is empty -->\n<$list filter=\"[list<folder>limit[1]]\" emptyMessage=<<display-folder-is-empty>> variable=ignore>\n<div style=\"padding-left:20px;\">\n<$list filter=\"[list<folder>]\"><!--get all items in favlistTid-->\n<$list filter=\"[<favlistTid>contains<currentTiddler>]\" variable=ignore><!--check if the tiddler is a favorite list-->\n<$macrocall $name=droppable-item />\n</$list>\n</$list>\n<<droppable-item-after-last-item>>\n</div>\n</$list>\n</$vars>\n\\end\n\n\n\\define favorites-tree()\n<!--show recently added favorites -->\n<<display-fav-recentlyAdded>>\n\n<!-- show all favorite folders -->\n<$list filter=\"[subfilter<folders>]-[<recentlyAdded>]\"  variable=favfolder >\n<div><!--create a div for each folder-->\n<$macrocall $name=favslider\n  title=<<favfolder>> \n  content=\"\"\"<$macrocall $name=\"display-fav-folder\" folder=<<favfolder>> />\"\"\" />\n</div>\n</$list>\n\\end\n<!-- create the favorite tree -->\n<<favorites-tree>>"
        },
        "$:/plugins/kookma/favorites/macros/slider": {
            "title": "$:/plugins/kookma/favorites/macros/slider",
            "created": "20191220123602267",
            "modified": "20200326190213819",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define favslider(title, content)\n<$set name=\"revealState\" filter={{{ [[$:/temp/favorits/]addsuffix<__title__>addsuffix<qualify>] }}}>\n<$reveal type=\"nomatch\" state=<<revealState>> text=\"yes\">\n    <$button class=\"tc-btn-invisible tc-tiddlylink\" set=<<revealState>> setTo=\"yes\" >\n      {{$:/core/images/right-arrow}}\n    </$button>\n</$reveal>\n<$reveal type=\"match\" state=<<revealState>> text=\"yes\">\n    <$button class=\"tc-btn-invisible tc-tiddlylink\" set=<<revealState>> setTo=\"no\" >\n      {{$:/core/images/down-arrow}}\n    </$button>\n</$reveal>\n<$list filter=\"[<fv-config-buttons>match[yes]]\" \n  emptyMessage=\"\"\"<b><$transclude tiddler=<<__title__>> field=\"caption\"/></b>\"\"\"\n\tvariable=ignore>\n  <$macrocall $name=\"fv-folding-editor\" tiddler=<<__title__>> />\n</$list>\n<$reveal type=\"match\" state=<<revealState>> text=\"yes\">\n$content$\n</$reveal>\n</$set>\n\\end"
        },
        "$:/plugins/kookma/favorites/manager/export": {
            "title": "$:/plugins/kookma/favorites/manager/export",
            "caption": "Export",
            "created": "20191226173845382",
            "modified": "20200326083227031",
            "tags": "$:/favorites/Manager",
            "type": "text/vnd.tiddlywiki",
            "text": "\\import $:/plugins/kookma/favorites/macros/definition\n\\define lingo-base() $:/language/Search/\n\nExport and delete favorites\n\n<$vars selection={{{ [<selectionTid>get[text]] }}} >\n\n<div class=\"tc-search tc-advanced-search fv-form\">\n<$select tiddler=<<selectionTid>> class=\"sltext\" field=\"text\" default=\"message\">\n<option value=\"message\" disabled selected>Select a folder</option>\n<$list filter=<<folders>> >\n<option value=<<currentTiddler>>><$transclude field=caption/></option>\n</$list>\n<$list filter=\"[subfilter<folders>count[]!match[0]]\">\n<option disabled>&#9472;&#9472;&#9472;&#9472;&#9472;</option>\n<option value=\"$:/favorites/favlist\" style=\"font-weight:500;\">all favorites</option>\n</$list>\n</$select>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/plugins/kookma/favorites/manager/exptab]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[list<selection>]\"/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter=\"[list<selection>]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n\n</$vars>"
        },
        "$:/plugins/kookma/favorites/manager/exptab-delete": {
            "title": "$:/plugins/kookma/favorites/manager/exptab-delete",
            "created": "20191226172205238",
            "modified": "20200326190524040",
            "type": "text/vnd.tiddlywiki",
            "text": "<$reveal type=nomatch default=\"0\" text={{{[list<selection>count[]]}}} ><!--display button if there is a result-->\n<$button popup=<<qualify $(temppopupTid)$>> class=\"tc-btn-invisible\" tooltip=\"delete tiddlers\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify $(temppopupTid)$>> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[list<selection>]\"/>\"\"\">\nAre you sure you wish to delete permanently <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-button tt-button\"> delete\n   <$action-deletetiddler $filter=\"[list<selection>]\" />\n\t <$action-listops $tiddler=<<favlistTid>> $field='list' $subfilter=\"-[list<selection>]\"/>\n\t <$action-listops $tiddler=<<selection>> $field='list'  $subfilter=\"-[list<selection>]\"/>\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
        },
        "$:/plugins/kookma/favorites/manager/exptab-export": {
            "title": "$:/plugins/kookma/favorites/manager/exptab-export",
            "created": "20191226172145394",
            "modified": "20200326190524050",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define export-favorites()\n<$reveal type=nomatch default=\"0\" text={{{[list<selection>count[]]}}} ><!--display button if there is a result-->\n<$macrocall $name=\"exportButton\"   exportFilter=\"[list[$(selection)$]]\" lingoBase=\"$:/language/Buttons/ExportTiddlers/\" baseFilename=\"favorites\"/>\n</$reveal>\n\\end\n<<export-favorites>>"
        },
        "$:/plugins/kookma/favorites/manager/folders": {
            "title": "$:/plugins/kookma/favorites/manager/folders",
            "caption": "Folders",
            "created": "20191226064442751",
            "modified": "20200326083227048",
            "tags": "$:/favorites/Manager",
            "type": "text/vnd.tiddlywiki",
            "text": "\\import $:/plugins/kookma/favorites/macros/definition\n\\define add() [[$(saveTitle)$]]\n\\define newtitle() $(folderpath)$-{{{[tag<foldertagTid>count[]add[1]addprefix[0000]split[]last[3]join[]]}}}\n\n\n\\define new-fav-folder()\n<$edit-text tag=input tiddler=<<tempNewTid>> default=\"\" placeholder=\"enter a folder name\"/>\n<$list filter=\"[<tempNewTid>get[text]!is[blank]]\">\n<$vars \n  folderName ={{{ [<tempNewTid>get[text]] }}} \n\tsaveTitle={{{[<saveTid>get[text]]}}} >\n<$wikify name=xtitle text=<<newtitle>> >\t\n<$button tooltip=\"create new folder\" class=\"tc-btn-invisible\">{{$:/core/images/new-button}}\n<$action-createtiddler \n  $basetitle=<<xtitle>>\n\t$savetitle=<<saveTid>>\n\tcaption=<<folderName>>\n\ttags=<<foldertagTid>> />\n<$action-listops $tiddler=<<foldertagTid>> $field=\"list\" $subfilter=\"[<saveTid>get[text]]\" />\n<!-- clear edit-text temp tiddler-->\n<$action-setfield $tiddler=<<tempNewTid>> text=\"\"/>\n</$button>\n</$wikify>\n</$vars>\n</$list>\n\\end\n\n\\define folder-reorder(listTid)\n<$tiddler tiddler={{{ [<tempreorderTid>get[text]] }}} >\n<span style=\"display:inline-block;min-width:120px;font-weight:700;\"><$view field=caption/></span>\n\n<$button class=\"tc-btn-invisible\">down\n<$action-listops $tiddler=\"$listTid$\" $field=\"list\" $subfilter=\"+[move<currentTiddler>]\"/>\n</$button>\n&nbsp;\n<$button class=\"tc-btn-invisible\">up\n<$action-listops $tiddler=\"$listTid$\" $field=\"list\" $subfilter=\"+[move:-1<currentTiddler>]\"/>\n</$button>\n&nbsp;\n<$button class=\"tc-btn-invisible\">putfirst\n<$action-listops $tiddler=\"$listTid$\" $field=\"list\" $subfilter=\"[<currentTiddler>]+[putfirst[]]\"/>\n</$button>\n&nbsp;\n<$button class=\"tc-btn-invisible\">putlast\n<$action-listops $tiddler=\"$listTid$\" $field=\"list\" $subfilter=\"+[putlast[]]\"/>\n</$button>\n&nbsp;\n<$button class=\"tc-btn-invisible\">sort downwards\n<$action-listops $tiddler=\"$listTid$\" $field=\"list\" $subfilter=\"+[sort[caption]]\"/>\n</$button>\n&nbsp;\n<$button class=\"tc-btn-invisible\">sort upwards\n<$action-listops $tiddler=\"$listTid$\" $field=\"list\" $subfilter=\"+[!sort[caption]]\"/>\n</$button>\n</$tiddler>\n\\end\n\n\n\n\\define remove-all-favs()\n<$button class=\"tc-btn-invisible tc-btn-mini\"  popup=<<qualify $(temppopupTid)$>> >\nRemove all favorite items\n</$button>\n<$reveal state=<<qualify $(temppopupTid)$>> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[list<favlistTid>]\"/>\"\"\">\nRemove all <<resultCount>> favorite item(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-button tt-button\"> delete\n<$list filter=\"[<favlistTid>] [subfilter<folders>]\">\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"list\" $value=\"\"/>\n</$list>  \n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n\\end\n\n\n<!-- Create the UI --->\n\nCreate, rename, rearrange and delete folders\n\n!! Rearrange\n<<<\nRearrange folder:&nbsp;<$macrocall $name=\"folder-reorder\" listTid=\"$(foldertagTid)$\" />\n<<<\n\n!! Create\n<<<\n<div class=\"fv-form\">\n<label>Add new folder:</label><<new-fav-folder>>\n</div>\n<<<\n\n!! Structure\n<<<\n<$vars fv-config-buttons=yes>\n<$transclude tiddler=\"$:/plugins/kookma/favorites/macros/sidebar\" field=text/>\n</$vars>\n<<remove-all-favs>>\n<<<"
        },
        "$:/plugins/kookma/favorites/manager/search": {
            "title": "$:/plugins/kookma/favorites/manager/search",
            "caption": "Search",
            "created": "20191226092612349",
            "modified": "20200326083227054",
            "tags": "$:/favorites/Manager",
            "type": "text/vnd.tiddlywiki",
            "text": "\\import $:/plugins/kookma/favorites/macros/definition\n\\import $:/plugins/kookma/favorites/macros/combo-search\n\nSearch in favorites list (use filter or standard search)\n\n<<combo-search favorites>>"
        },
        "$:/plugins/kookma/favorites/manager": {
            "title": "$:/plugins/kookma/favorites/manager",
            "created": "20191224190957179",
            "modified": "20200326083227025",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "<<tabs tabsList:\"[all[tiddlers+shadows]tag[$:/favorites/Manager]!has[draft.of]!sort[caption]]\" default:\"$:/plugins/kookma/favorites/manager/search\">>"
        },
        "$:/plugins/kookma/favorites/readme": {
            "title": "$:/plugins/kookma/favorites/readme",
            "created": "20200326073607952",
            "modified": "20200326082214810",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "; Favorites\nA favorite item also called a bookmark is a shortcut, you are creating for quick access to it. You can access that bookmark at any time and view that as many times as you want without having to search and find it again.\n\n''Favorites plugin'' is a set of tool for creating favorites (bookmarks) in Tiddlywiki. Each favorite item is a shortcut to a tiddler.\n\nThe Favorites plugin contains three modes\n\n* ''flat mode'': one favorite list, no folder\n* ''structured mode'': use folder, search tool, export and delete tool\n* ''frozen list'': read only, simple table of content style\n\n;Code and demo\nFor learning plugin features, syntax, tutorial and examples see the plugin demo and code pages\n\n* Demo: https://kookma.github.io/TW-Favorites/\n* Code: https://github.com/kookma/TW-Favorites\n"
        },
        "$:/plugins/kookma/favorites/recent": {
            "title": "$:/plugins/kookma/favorites/recent",
            "caption": "Recently added",
            "created": "20200103090757281",
            "creator": "a revised version of Andrew Harrison favorite plugin",
            "list": "$:/plugins/kookma/favorites/styles/image.css",
            "modified": "20200326195945747",
            "modifier": "a revised version of Andrew Harrison favorite plugin",
            "tags": "$:/tags/Favorites/Folder",
            "type": "text/vnd.tiddlywiki"
        },
        "$:/plugins/kookma/favorites/sidebar-tab": {
            "title": "$:/plugins/kookma/favorites/sidebar-tab",
            "caption": "Favorites",
            "created": "20191226064836102",
            "list-after": "$:/core/ui/SideBar/Open",
            "modified": "20200326083227061",
            "tags": "$:/tags/SideBar",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define show-options()\n<$button class=\"tc-btn-invisible\" to=\"$:/plugins/kookma/favorites/manager\">\n{{$:/core/images/options-button}} Manager\n</$button>\n\\end\n\n<!-- create the sidebar tab -->\n<div class=\"kk-favorites\">\n --- &nbsp; <<show-options>> <br>\n<$transclude tiddler=\"$:/plugins/kookma/favorites/macros/sidebar\" field=text/>\n</div>"
        },
        "$:/plugins/kookma/favorites/styles/image.css": {
            "title": "$:/plugins/kookma/favorites/styles/image.css",
            "button-color": "#ff0000",
            "created": "20200326140130064",
            "creator": "a revised version of Andrew Harrison favorite plugin",
            "modified": "20200326195938233",
            "modifier": "a revised version of Andrew Harrison favorite plugin",
            "tags": "$:/tags/Stylesheet",
            "type": "text/vnd.tiddlywiki",
            "text": ".tc-tiddler-controls .notselected .tc-image-favorites-button {\n stroke:  #ccc;\n fill:    #ccc;\n}\n\n.tc-tiddler-controls .selected .tc-image-favorites-button {\n stroke: {{!!button-color}};\n fill:   {{!!button-color}};\n}\n\n"
        },
        "$:/plugins/kookma/favorites/styles/style.css": {
            "title": "$:/plugins/kookma/favorites/styles/style.css",
            "text": ".sd-input textarea:focus, .sd-input input:focus { outline: none;}\n.sd-input textarea, .sd-input input { border:none; border-bottom: 1px dotted gray; margin-left:0px; width:75%;}\n\n.kk-custom-drop-down .tc-drop-down{min-width:60px;}\n\n.kk-favorites svg{\n    fill:#aaaaaa;\n}\n.kk-favorites button:hover svg {\n    fill: #000000; \n}\n\n.kk-btn-mini svg { font-size: 0.7em; fill: #bbb; }\n\n/* in folding-editor*/\n.fv-folding-button button svg{\n\t font-size:0.8em;\n\t vertical-align: middle;\n}\n\n.fv-folding-button input[type=\"radio\"] {\n  width: 0.8em; !important;\n  height: 0.8em; !important;\n  vertical-align: middle !important;\n}\n\n/* form elements */\n.fv-form label  { display:inline-block; width:130px; margin-left:5px; }\n.fv-form input, .fv-form select { display:inline-block; width:320px;}\n",
            "created": "20191219075310949",
            "modified": "20200326185700659",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/favorites/templates/delete-item": {
            "title": "$:/plugins/kookma/favorites/templates/delete-item",
            "created": "20191220075034126",
            "modified": "20200326190524058",
            "type": "text/vnd.tiddlywiki",
            "text": "<$button class=\"tc-btn-invisible kk-btn-mini\" tooltip=\"remove item from favorites\">\n{{$:/core/images/close-button}}\n<$action-listops $tiddler=<<favlistTid>> $field=\"list\" $subfilter=\"-[<currentTiddler>]\"/>\n<$action-listops $tiddler=<<folder>> $field=\"list\" $subfilter=\"-[<currentTiddler>]\"/>\n</$button>&nbsp;"
        },
        "$:/plugins/kookma/favorites/templates/item": {
            "title": "$:/plugins/kookma/favorites/templates/item",
            "created": "20191226214526038",
            "modified": "20200326190524068",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define tooltip() contains $(cnt)$ items\n<$vars cnt={{{[list<currentTiddler>count[]]}}}>\n<$link to=\"rr\" tooltip=<<cnt>> >\n<$view field=caption/>\n</$link>\n</$vars>"
        },
        "$:/plugins/kookma/favorites/templates/show-link": {
            "title": "$:/plugins/kookma/favorites/templates/show-link",
            "created": "20191220074823880",
            "modified": "20200326190524073",
            "type": "text/vnd.tiddlywiki",
            "text": "<$link to={{!!title}} tooltip=<<currentTiddler>> >\n<$transclude field=\"caption\">\n<$view field=\"title\" />\n</$transclude>\n</$link><br>"
        },
        "$:/plugins/kookma/favorites/ui/buttons/add-remove": {
            "title": "$:/plugins/kookma/favorites/ui/buttons/add-remove",
            "caption": "{{$:/plugins/kookma/favorites/image}}{{$:/language/Buttons/Favorites/Caption/Add}}",
            "created": "20181010141620348",
            "description": "{{$:/language/Buttons/Favorites/Hint/Add}}",
            "list-after": "$:/core/ui/Buttons/info",
            "modified": "20200326193035070",
            "tags": "$:/tags/ViewToolbar",
            "type": "text/vnd.tiddlywiki",
            "text": "\\whitespace trim\n\\import $:/plugins/kookma/favorites/macros/definition\n\n\\define add-this-tiddler() [[$(currentTiddler)$]]+[putfirst[]]\n\\define remove-this-tiddler() -[[$(currentTiddler)$]]\n\n\\define show-favorites-button(class)\n<$list filter='[<tv-config-toolbar-icons>match[yes]]'>\n<span class=\"$class$\">{{$:/plugins/kookma/favorites/image}}</span>\n</$list>\n<$list filter='[<tv-config-toolbar-text>match[yes]]'>\n<span class='tc-btn-text'><$text text={{$:/language/Buttons/Favorites/Caption/Add}}/></span>\n</$list>\n\\end\n\n\n\\define add-to-favorites-button()\n <$button \n   tooltip={{$:/language/Buttons/Favorites/Hint/Add}} aria-label={{$:/language/Buttons/Favorites/Caption/Add}} \n   class=<<tv-config-toolbar-class>>>\n     <$action-listops $tiddler=<<favlistTid>>    $field='list'  $subfilter=<<add-this-tiddler>>/>\n     <$action-listops $tiddler=<<recentlyAdded>> $field='list'  $subfilter=<<add-this-tiddler>>/>\n\t\t <$macrocall $name=\"show-favorites-button\" class=\"notselected\"/>\n </$button>\n\\end \n\n\\define remove-from-favorites-button()\n <$button \n   tooltip={{$:/language/Buttons/Favorites/Hint/Remove}} aria-label={{$:/language/Buttons/Favorites/Caption/Remove}} \n   class=<<tv-config-toolbar-class>> >\n     <$action-listops $tiddler=<<favlistTid>> $field='list' $subfilter=<<remove-this-tiddler>>/>\n     <$action-listops $tiddler={{{[subfilter<folders>contains<currentTiddler>limit[1]]}}} $field='list' $subfilter=<<remove-this-tiddler>>/>\n\t\t <$macrocall $name=\"show-favorites-button\" class=\"selected\"/>\n </$button>\n\\end \n\n<$list filter=\"[list<favlistTid>is[current]]\"><!-- tiddler is in favorites list, remove it   -->\n<<remove-from-favorites-button>>\n</$list>\n<$list filter=\"[all[current]!list<favlistTid>]\"><!-- tiddler is not in favorites list, add it -->\n<<add-to-favorites-button>>\n</$list>"
        },
        "$:/plugins/kookma/favorites/ui/ControlPanel/Settings": {
            "title": "$:/plugins/kookma/favorites/ui/ControlPanel/Settings",
            "caption": "Favorites",
            "created": "20191229193717073",
            "list-after": "$:/core/ui/ControlPanel/Settings/TiddlyWiki",
            "modified": "20200326191059735",
            "tags": "$:/tags/ControlPanel/SettingsTab $:/tags/MoreSideBar",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define checked-frozen()\n<$action-setfield $tiddler=\"$:/plugins/kookma/favorites/sidebar-tab\" tags=\"\"/>\n<$action-setfield $tiddler=\"$:/plugins/kookma/favorites/viewtoolbar\" tags=\"\"/> \n\\end\n\\define unchecked-frozen()\n<$action-setfield $tiddler=\"$:/plugins/kookma/favorites/sidebar-tab\" tags=\"$:/tags/SideBar\"/>\n<$action-setfield $tiddler=\"$:/plugins/kookma/favorites/viewtoolbar\" tags=\"$:/tags/ViewToolbar\"/> \n\\end\n\nThese settings let you customise the behaviour of Utility plugin.\n\n---\n\n;Show Utility setting in more sidebar\n:<$checkbox tiddler=\"$:/plugins/kookma/favorites/ui/ControlPanel/Settings\" tag=\"$:/tags/MoreSideBar\"> Show setting in more sidebar</$checkbox>\n\n;Options\n:<$checkbox checkactions=<<checked-frozen>> \n   tiddler=\"$:/plugins/kookma/favorites/frozen-list\" tag=\"$:/tags/SideBar\"\n\t checkactions=<<checked-frozen>>\n\t uncheckactions=<<unchecked-frozen>> > Enable frozen tab</$checkbox>\n:<input type=\"checkbox\" disabled> Viewtoolbar icon color <$edit-text tiddler=\"$:/plugins/kookma/favorites/styles/image.css\" \n\tfield=\"button-color\" tag=\"input\" type=\"color\"/>\n:<$checkbox tiddler=\"$:/plugins/kookma/favorites/styles/image.css\" \n\t field=\"button-color\" checked=\"#ff0000\" unchecked=\"#bbb\"> Reset viewtoolbar icon color</$checkbox>"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/kookma/shiraz/history": {
            "title": "$:/plugins/kookma/shiraz/history",
            "created": "20200323092614036",
            "modified": "20200325085725882",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "Full change log:  [[https://kookma.github.io/TW-Shiraz/#ChangeLog]]\n\n* ''2.1.1'' -- 2020.03.25 -- slider macro with initial status\n* ''2.1.0'' -- 2020.03.23 -- stable release on TW-5.1.22pre\n* ''1.0.0'' -- 2018.10.05 -- first public release\n"
        },
        "$:/plugins/kookma/shiraz/license": {
            "title": "$:/plugins/kookma/shiraz/license",
            "created": "20200323092614037",
            "modified": "20200323092631048",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "Distributed under an MIT license.\n\nCopyright (c) 2018-2020 [[Mohammad Rahmani|https://github.com/kookma]]\n\n<<<\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n<<<"
        },
        "$:/plugins/kookma/shiraz/macros/alerts": {
            "title": "$:/plugins/kookma/shiraz/macros/alerts",
            "created": "20180821095049685",
            "modified": "20200323093719256",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define alert(type:\"primary\" src:\"\", width:\"100%\", class:\"\")\n<div class=\"alert alert-$type$ $class$\" style=\"width:$width$;\">\n$src$\n</div>\n\\end\n\n\\define alert-leftbar(type:\"primary\" src:\"\", width:\"100%\", class:\"\")\n<div class=\"alert alert-$type$ bg-transparent leftbar border-$type$ $class$\" style=\"width:$width$;\">\n$src$\n</div>\n\\end\n"
        },
        "$:/plugins/kookma/shiraz/macros/badge": {
            "title": "$:/plugins/kookma/shiraz/macros/badge",
            "created": "20181124042103310",
            "modified": "20200323093719649",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define badge(type:\"primary\" src:\"\")\n<span class=\"badge badge-$type$\">$src$</span>\n\\end\n\n\\define badge-pill(type:\"primary\" src:\"\")\n<span class=\"badge badge-pill badge-$type$\">$src$</span>\n\\end\n"
        },
        "$:/plugins/kookma/shiraz/macros/card": {
            "title": "$:/plugins/kookma/shiraz/macros/card",
            "created": "20181124111624466",
            "modified": "20200323093719684",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define card(header:\"Empty\", title:\"Empty\" subtitle:\"Empty\" text:\"Empty\",footer:\"Empty\", width:\"100%\" class:\"\")\n<div class=\"card mb-3 $class$\" style=\"width:$width$;\">\n<$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__header__>> >\n   <div class=\"card-header\">$header$</div>\n</$reveal>\n<div class=\"card-body\">\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n   <div class=\"h5 card-title\">$title$</div>\n </$reveal>\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__subtitle__>> >\n   <div class=\"h6 card-subtitle mb-2 text-muted\">$subtitle$</div>\n </$reveal>\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n    <div class=\"card-text\"><<__text__>></div>\n </$reveal>\n</div>\n<$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n   <div class=\"card-footer text-muted\">$footer$</div>\n</$reveal>\n</div>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/dbadge": {
            "title": "$:/plugins/kookma/shiraz/macros/dbadge",
            "created": "20181203212737578",
            "modified": "20200323093719698",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define dbadge(subject,status, type:\"primary\")\n<div class=\"dbadge\"><span class=\"dbadge-subject\">$subject$</span><span class=\"dbadge-status dbadge-$type$ \">$status$</span></div>\n\\end\n"
        },
        "$:/plugins/kookma/shiraz/macros/details": {
            "title": "$:/plugins/kookma/shiraz/macros/details",
            "created": "20181101185833098",
            "modified": "20200323093719704",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define details(sum:\"summary\", src:\"source\", status:\"\", class:\"\", style:\"\")\n<details $status$>\n <summary style=\"$style$\">$sum$</summary>\n  <div class=\"$class$\">\n\t\n   $src$\n  </div>\n</details>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/dtables/confirm-delete": {
            "title": "$:/plugins/kookma/shiraz/macros/dtables/confirm-delete",
            "created": "20191129201531051",
            "modified": "20200323093719713",
            "tags": "$:/tags/Table/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define confirm-delete()\n<!-- reveals deletion confirmation -->\n<$list filter=\"[subfilter<inputFilter>limit[1]]\" variable=ignore>\n<$reveal class=\"tbl-delete-confirm\" type=\"match\" state=\"$:/temp/tables/delete-all!!text\" text=<<currentTable>> tag=\"tr\">\n<th colspan=<<ncols>> >\n<$list filter=\"[[$:/temp/tables/delete-all]get[confirm]match[yes]]\" \n  variable=ignore emptyMessage=<<ask-for-delete>> >\n  <<perform-delete>>\n</$list>\n</th>\n</$reveal>\n</$list>\n\\end\n\n\\define ask-for-delete()\n<$set name=ntids filter=\"[subfilter<inputFilter>count[]]\">\n   Delete all <<ntids>> records?\n\t<$button class=\"tc-btn-invisible\">\n     <$action-setfield $tiddler=\"$:/temp/tables/delete-all\" $field=\"confirm\" $value=\"yes\"/>\n      {{$:/core/images/delete-button}} yes\n    </$button> or \n    <$button class=\"tc-btn-invisible\">\n      <$action-deletetiddler $tiddler=\"$:/temp/tables/delete-all\"/>\n      {{$:/core/images/close-button}} no\n    </$button>\n</$set>\t\t\t\t\n\\end\n\n\\define perform-delete()\n   Warning! this action cannot be undone!\n\t<$button class=\"tc-btn-invisible\">\n     <$action-deletetiddler $tiddler=\"$:/temp/tables/delete-all\"/>\n     <$list filter=<<inputFilter>> variable=\"currentRecord\">\n        <$action-deletetiddler $tiddler=<<currentRecord>>/>\n     </$list>\n\t\t {{$:/core/images/delete-button}}  delete\n    </$button> or \n    <$button class=\"tc-btn-invisible\">\n      <$action-deletetiddler $tiddler=\"$:/temp/tables/delete-all\"/>\n\t\t\t{{$:/core/images/close-button}} cancel \n    </$button>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/dtables/display-extrecord": {
            "title": "$:/plugins/kookma/shiraz/macros/dtables/display-extrecord",
            "created": "20191203155802107",
            "modified": "20200323093719719",
            "tags": "$:/tags/Table/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define display-extended-record()\n<td colspan=<<ncols>> >\n<$tiddler tiddler=<<currentRecord>> >\n<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore\n  emptyMessage=\"\"\"<$transclude tiddler=<<currentRecord>> field=text mode=block/>\"\"\" >\n  <$edit-text class=\"tbl-inpt-edit\" tiddler=<<currentRecord>> field=\"text\" tag=textarea/>\n</$list>\n</$tiddler>\n</td>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/dtables/helper": {
            "title": "$:/plugins/kookma/shiraz/macros/dtables/helper",
            "created": "20191203102929722",
            "modified": "20200323093719728",
            "tags": "$:/tags/Table/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define columnFilter()    $(columns)$ tbl-delete\n\n\\define tempTable()       $:/state/dynamictables/$(currentTable)$\n\n\\define tempTableSort()   $(tempTable)$/sortby\n\\define tempTagPopup()    $(tempTable)$/$(currentRecord)$/$(currentTiddler)$\n\\define tempTableExpand() $(tempTable)$/expand\n\\define tempPathExpand()  $(tempTableExpand)$##$(currentRecord)$\n\\define tempTableEdit()   $(tempTable)$/edit-view-status\n\n\\define keepstate()       $:/keepstate/dynamictables/$(currentTable)$\n\n\\define tempTableFooter() $(keepstate)$/footer\n\\define tempTableStyle()  $(keepstate)$/style\n\\define tempWarningMsg()  $(keepstate)$/warning\n\n<!-- \n Those tiddlers based on keepstate are permanent.\n These are tiddlers hold the data and setting for footer, styles and warning (needs to be hold).\n These state and temporary tiddlers are independent of currentTiddler (host tiddler) and on changing\n the title of host tiddler will not disconnected to table\n-->"
        },
        "$:/plugins/kookma/shiraz/macros/dtables/maths": {
            "title": "$:/plugins/kookma/shiraz/macros/dtables/maths",
            "created": "20200209153246553",
            "modified": "20200323093719735",
            "tags": "$:/tags/Table/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define minall() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>minall[]] }}}/>\n\\define maxall() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>maxall[]] }}}/>\n\\define count() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>count[]] }}}/>\n\\define sum() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sum[]]   }}}/>\n\\define product() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>product[]]   }}}/>\n\\define average(pn:0)\n<$vars\n  xcount ={{{[subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>count[]]}}}\n\txsum   ={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sum[]]   }}} >\n  <$text text={{{ [<xsum>divide<xcount>fixed[$pn$]]   }}}/>\n</$vars>\n\\end\n\n\\define median(pn:0)\n<$vars xcount ={{{[subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>count[]]}}} >\n\t<$list filter=\"[<xcount>remainder[2]match[0]]\" variable=ignore>\n\t<!-- even number --> \n\t<$vars mid0={{{ [<xcount>divide[2]] }}} \n         mid1={{{ [<xcount>divide[2]add[1]] }}} >\t\t \n <$text text={{{[subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sort[]first<mid0>last[]][subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sort[]first<mid1>last[]]+[sum[]divide[2]fixed[$pn$]]}}} />\n </$vars>\n </$list>\n <$list filter=\"[<xcount>remainder[2]!match[0]]\" variable=ignore>\n\t<!-- odd number --> \n\t<$vars mid={{{ [<xcount>divide[2]ceil[]] }}} >\n  <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sort[]first<mid>last[]]}}} />\n\t</$vars>\n </$list>\n</$vars>\n\\end\n"
        },
        "$:/plugins/kookma/shiraz/macros/dtables/show-edit-cell": {
            "title": "$:/plugins/kookma/shiraz/macros/dtables/show-edit-cell",
            "created": "20200209135600453",
            "modified": "20200323093719743",
            "tags": "$:/tags/Table/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define showCell()\n  <$list filter=\"[<fieldOrIndex>]-index\">\n    <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"inline\" />\n  </$list>\n  <$list filter=\"[<fieldOrIndex>]-field\">\n    <$transclude tiddler=<<currentRecord>> index=<<currentColumn>> mode=\"inline\" />\n  </$list>\n\\end\t\n\\define editCell()\n  <$list filter=\"[<fieldOrIndex>]-index\">\n    <$edit-text tiddler=<<currentRecord>> field=<<currentColumn>> tag=\"input\" class=\"shiraz-dtable-textbox\"/>\n  </$list>\n  <$list filter=\"[<fieldOrIndex>]-field\">\n    <$edit-text tiddler=<<currentRecord>> index=<<currentColumn>> tag=\"input\" class=\"shiraz-dtable-textbox\"/>\n  </$list>\n\\end\n\n\\define showCell_Locked()\n <span style=\"font-style:oblique;\"><<showCell>></span>\n\\end "
        },
        "$:/plugins/kookma/shiraz/macros/dtables/table-dynamic": {
            "title": "$:/plugins/kookma/shiraz/macros/dtables/table-dynamic",
            "created": "20200209100939116",
            "modified": "20200323093719750",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define table-dynamic(filter, fields:\"\", indexes:\"\", sortOp:\"sort\", caption:\"\", class:\"\", footerRows:\"0\", stateTiddler:\"\", editButton:\"yes\")\n\\import [all[shadows+tiddlers]tag[$:/tags/Table/Macro]]\n\n<!--above commands import utility macros-->\n<$vars \n inputFilter=\"[subfilter<__filter__>!has[draft.of]]\"\n sortType=<<__sortOp__>>\n> \n<$set name=currentTable value=<<__stateTiddler__>> emptyValue=<<currentTiddler>> >\n<!-- check what type of columns are sent, fileds or indexes (data tiddlers as records) -->\n<$set name=fieldOrIndex filter=\"[<__fields__>!is[blank]]\" value=\"field\" emptyValue=\"index\">\n<<check_tiddlers_type_for_table_from_indexes isEditable:\"$editButton$\">>\n<$set name=columns filter=\"[<fieldOrIndex>]-index\" value=<<__fields__>> emptyValue=<<__indexes__>> >\n<!--check input filter parameter-->\n<$list filter=\"[subfilter<inputFilter>limit[1]]\" emptyMessage=\"filter input is empty\" variable=ignore>\n<$set name=sortneg tiddler=<<tempTableSort>> index=\"negate\">\n<!--calculate the number of columns in edit and view mode -->\n<$set name=ncols filter=\"[subfilter<columnFilter>] -[[tbl-delete]] [<tempTableEdit>getindex[mode]match[edit]] +[count[]]\" >\n<div class=\"tbl-container\" style=\"max-width:100%;\">\n<table class=<<__class__>> style=\"caption-side:top\">\n<!-- reveal caption and edit button -------------------->\n<caption style=\"text-align:left;\">\n<$list filter=\"[<__editButton__>match[yes]]\" variavle=ignore>\n<span style=\"padding-right:5px;padding-left:3px;\"><<toggle-edit-view>></span></$list>\n$caption$</caption>\n\n<!-- create header -------------------->\n<thead>\n<<confirm-delete>>\n<tr>\n<$list filter=<<columnFilter>> variable=currentColumn>\n<$set name=\"headerLookup\" filter=\"[all[tiddlers+shadows]tag[$:/tags/Table/HeaderTemplate]contains:tbl-column-list<currentColumn>limit[1]get[title]]\" value=<<headerLookup>> emptyValue=\"$:/plugins/kookma/shiraz/templates/header/default\">\n <$transclude tiddler=<<headerLookup>> field=\"text\" mode=\"inline\"/>\n</$set>\n</$list>\n</tr>\n</thead>\n\n<!-- create footer -------------------->\n<$reveal type=\"gt\" default=<<__footerRows__>> text=\"0\" tag=\"tfoot\" class=\"shiraz-dtable-footer\">\n<$list filter=\"[range[1,$footerRows$]addprefix[footer-]]\" variable=footerRow>\n<tr>\n<$list filter=<<columnFilter>> variable=currentColumn>\n<$set name=\"footerLookup\" filter=\"[all[tiddlers+shadows]tag[$:/tags/Table/FooterTemplate]contains:tbl-column-list<currentColumn>limit[1]get[title]]\" value=<<footerLookup>> emptyValue=\"$:/plugins/kookma/shiraz/templates/footer/default\">\n<$transclude tiddler=<<footerLookup>> field=\"text\" mode=\"inline\"/>\n</$set>\n</$list>\n</tr>\n</$list>\n</$reveal>\n\n<!-- reveal main body of table (generate records) -------------------->\n<tbody>\n<$set name=tableBody filter=\"[<fieldOrIndex>]-index\" value=\"display_body_fields\" emptyValue=\"display_body_indexes\" >\n<$macrocall $name=<<tableBody>> />\n</$set>\n</tbody>\n</table>\n</div><!-- container-->\n</$set>\n</$set>\n</$list><!--check input filter parameter-->\n</$set>\n</$set>\n</$set>\n</$vars>\n\\end\n\n"
        },
        "$:/plugins/kookma/shiraz/macros/dtables/table-utility": {
            "title": "$:/plugins/kookma/shiraz/macros/dtables/table-utility",
            "created": "20200209195541061",
            "modified": "20200323093719755",
            "tags": "$:/tags/Table/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define tableFilter_fields()   $(inputFilter)$+[$(sortneg)$$(sortType)${$(tempTableSort)$##sortIndex}]\n\\define tableFilter_indexes()  [enlist<items>]+[$(sortneg)$$(sortType)$[]]\n\n\\define getitems()\n<$set name=Index tiddler=<<tempTableSort>> index=\"sortIndex\">\n<$list filter=\"[subfilter<inputFilter>!has[draft.of]]\" >\n<$text text=\"[[\"/>{{{ [<currentTiddler>getindex<Index>addsuffix[°≡°]] }}}<<currentTiddler>><$text text=\"]]\"/>\n</$list>\n</$set>\n\\end\n\n\\define display_one_record()\n<$wikify name=\"rowStyle\" text=\"\"\"<$transclude tiddler=<<tempTableStyle>> index=<<currentRecord>> />\"\"\" mode=\"inline\">\n<tr style=<<rowStyle>>>\n<$list filter=<<columnFilter>> variable=currentColumn>\n<$set name=\"bodyLookup\" \n  filter=\"[all[tiddlers+shadows]tag[$:/tags/Table/BodyTemplate]contains:tbl-column-list<currentColumn>]\n          +[limit[1]get[title]]\"\n  value=<<bodyLookup>> \n  emptyValue=\"$:/plugins/kookma/shiraz/templates/body/default\">\n<$transclude tiddler=<<bodyLookup>> field=\"text\" mode=\"inline\"/>\n</$set>\n</$list>\n</tr>\n<!-- reveal expanded record-->\n<$reveal type=\"match\" state=<<tempPathExpand>> text=\"show\" tag=\"tr\">\n<<display-extended-record>>\n</$reveal>\n</$wikify>\n\\end\n\n\\define display_body_fields()\n<$list filter=<<tableFilter_fields>> variable=\"currentRecord\">\n<<display_one_record>>\n</$list>\n\\end\n\n\\define display_body_indexes()\n<$wikify name=\"items\" text=<<getitems>> > \n<$list filter=<<tableFilter_indexes>> variable=\"currentItem\" >\n<$list filter=\"[<currentItem>split[°≡°]last[]]\" variable=\"currentRecord\">\n <<display_one_record>>\n</$list>\n</$list>\n</$wikify>\n\\end\n\n"
        },
        "$:/plugins/kookma/shiraz/macros/dtables/toggle-edit-view": {
            "title": "$:/plugins/kookma/shiraz/macros/dtables/toggle-edit-view",
            "created": "20191128215812372",
            "modified": "20200323093719762",
            "tags": "$:/tags/Table/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define toggle-edit-view()\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" setTitle=<<tempTableEdit>> setIndex=\"mode\" setTo=\"edit\">{{$:/core/images/edit-button}}</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" setTitle=<<tempTableEdit>> setIndex=\"mode\" setTo=\"view\">{{$:/core/images/done-button}}</$button>\n</$reveal>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/dtables/warning_message": {
            "title": "$:/plugins/kookma/shiraz/macros/dtables/warning_message",
            "created": "20200210083402839",
            "modified": "20200323093719767",
            "tags": "$:/tags/Table/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define show_tiddler_types()\n<details>\n  <summary>List tiddlers with wrong type</summary>\n\t<dl>\n  <$list filter=\"[subfilter<inputFilter>]\">\n\t<$list filter=\"[<currentTiddler>get[type]match[application/x-tiddler-dictionary]][<currentTiddler>get[type]match[application/json]]\" variable=ignore\n\temptyMessage=\"\"\"<dt><$link/></dt><dd><$view field=type/></dd>\"\"\">\n\t</$list>\n\t</$list>\n\t</dl>\n</details>\n\\end\n\n\n\\define show_warning_message()\nDynamic editable table from ''indexes'' expects all input tiddlers are of dataTiddler (json or dictionary) types. Using tiddlers of non //json// or //x-tiddler-dictionary// types as input can unintentionally overwrite the data in the text field of those tiddlers.<br>\n<br>\nCheck the tiddler types to find which tiddlers are not of dataTiddler types!<br>\n<<show_tiddler_types>>\n\\end\n\n\n\\define check_tiddlers_type_for_table_from_indexes(isEditable)\n  <$list filter=\"[<fieldOrIndex>]-field\" variable=ignore><!-- only dataTiddler -->\n\t<$list filter=\"[<__isEditable__>match[yes]]\" variable=ignore> <!-- only editable table -->\n\t<$list filter=\"[<tempWarningMsg>is[missing]]\" variable=ignore><!-- dismiss if tempWarningMsg is set -->\n\t<$list filter=\"[subfilter<inputFilter>each[type]get[type]]-[[application/x-tiddler-dictionary]]-[[application/json]]\" variable=ignore>\n\t <div style=\"color: white;background-color:#ff0033;padding:8px;text-align:center;width:100%;\">\n\t Danger: Editable dynamic table from idexes with mixed types of tiddlers! &nbsp;\n\t <$button class=\"tc-btn-invisible tc-tiddlylink\" style=\"fill:white;\" tooltip=\"Dismiss alert and continue with the current selection!\">{{$:/core/images/close-button}}\n   <$action-setfield $tiddler=<<tempWarningMsg>> text=\"dissmiss\"/>\n   </$button>\n\t </div>\n\t <div style=\"border:1px solid #ff0033;padding:8px;\">\n\t <<show_warning_message>>\n\t </div>\n  </$list>\n\t</$list>\n\t</$list>\n\t</$list>\n\\end\t\n"
        },
        "$:/plugins/kookma/shiraz/macros/image-basic": {
            "title": "$:/plugins/kookma/shiraz/macros/image-basic",
            "created": "20181119183704246",
            "modified": "20200323093719776",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define image-basic(img, width:\"30%\", align:\"none\", caption:\"\", tooltip:\"\", alt:\"\")\n<figure class=\"image-simple image-align-$align$\" style=\"width:$width$;\">\n  <$image source=<<__img__>> tooltip=<<__tooltip__>> alt=<<__alt__>> /> \n  <figcaption>$caption$</figcaption>\n</figure> \n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/image-card-utility": {
            "title": "$:/plugins/kookma/shiraz/macros/image-card-utility",
            "created": "20191209113750505",
            "modified": "20200323093719788",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define image-card-top(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", alt:\"\")\n<div class=\"card image-align-$align$\" style=\"width:$width$;\">\n  <$image class=\"card-img-top\" source=<<__img__>> alt=<<__alt__>> />\n  <div class=\"card-body\">\n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n      <div class=\"h5 card-title\">$title$</div>\n    </$reveal>  \n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n      <div class=\"card-text\">$text$</div>\n    </$reveal> \n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n      <p class=\"card-text\"><small class=\"text-muted\">$footer$</small></p>\n    </$reveal>\n  </div>  \n</div>\n\\end\n\n\\define image-card-bottom(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", alt:\"\")\n<div class=\"card image-align-$align$\" style=\"width:$width$;\">\n  <div class=\"card-body\">\n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n      <div class=\"h5 card-title\">$title$</div>\n    </$reveal>  \n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n      <div class=\"card-text\">$text$</div>\n    </$reveal> \n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n      <p class=\"card-text\"><small class=\"text-muted\">$footer$</small></p>\n    </$reveal>\n  </div>  \n  <$image class=\"card-img-bottom\" source=<<__img__>> alt=<<__alt__>> />\n</div>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/image-card": {
            "title": "$:/plugins/kookma/shiraz/macros/image-card",
            "created": "20190913094619863",
            "modified": "20200323093719782",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define image-card(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", pos:\"top\", alt:\"\")\n\\import $:/plugins/kookma/shiraz/macros/image-card-utility\n<$reveal tag=\"div\" type=\"match\" default=\"top\" text=<<__pos__>> >\n<$macrocall $name=image-card-top img=<<__img__>> title=<<__title__>> text=<<__text__>>\n  footer=<<__footer__>> width=<<__width__>> align=<<__align__>> alt=<<__alt__>> />\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" default=\"top\" text=<<__pos__>> >\n<$macrocall $name=image-card-bottom img=<<__img__>> title=<<__title__>> text=<<__text__>>\n  footer=<<__footer__>> width=<<__width__>> align=<<__align__>> alt=<<__alt__>> />\n</$reveal>\n\\end\n\n\\define image-card-top(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", alt:\"\")\n<div class=\"card image-align-$align$\" style=\"width:$width$;\">\n  <$image class=\"card-img-top\" source=<<__img__>> alt=<<__alt__>> />\n  <div class=\"card-body\">\n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n      <div class=\"h5 card-title\">$title$</div>\n    </$reveal>  \n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n      <div class=\"card-text\">$text$</div>\n    </$reveal> \n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n      <p class=\"card-text\"><small class=\"text-muted\">$footer$</small></p>\n    </$reveal>\n  </div>  \n</div>\n\\end\n\n\\define image-card-bottom(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", alt:\"\")\n<div class=\"card image-align-$align$\" style=\"width:$width$;\">\n  <div class=\"card-body\">\n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n      <div class=\"h5 card-title\">$title$</div>\n    </$reveal>  \n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n      <div class=\"card-text\">$text$</div>\n    </$reveal> \n    <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n      <p class=\"card-text\"><small class=\"text-muted\">$footer$</small></p>\n    </$reveal>\n  </div>  \n  <$image class=\"card-img-bottom\" source=<<__img__>> alt=<<__alt__>> />\n</div>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/image-overlay-utility": {
            "title": "$:/plugins/kookma/shiraz/macros/image-overlay-utility",
            "created": "20191209114338849",
            "modified": "20200323093719804",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define _cls-content-details() image-overlay-content-details $(fdcls)$"
        },
        "$:/plugins/kookma/shiraz/macros/image-overlay": {
            "title": "$:/plugins/kookma/shiraz/macros/image-overlay",
            "created": "20181117203737197",
            "modified": "20200323093719798",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define image-overlay(img, width:\"30%\", align:\"none\", caption:\"\", title:\"\", text:\"\", fadein:\"left\", alt:\"\")\n\\import $:/plugins/kookma/shiraz/macros/image-overlay-utility\n<div class=\"image-overlay-container image-align-$align$\" style=\"width:$width$;\">\n    <h3 class=\"image-overlay-title\">$caption$</h3>\n    <div class=\"image-overlay-content\">\n      <div class=\"image-overlay-content-overlay\"></div>\n      <$image class=\"image-overlay-content-image\" source=<<__img__>> alt=<<__alt__>>/>\n      <$set name=\"fdcls\" filter=\"$fadein$ +[splitbefore[ ]] +[addprefix[image-overlay-fadeIn-]]\">\n      <div class=<<_cls-content-details>> >\n        <h3 class=\"image-overlay-content-title\">$title$</h3>\n        <p class=\"image-overlay-content-text\">$text$</p>\n      </div>\n      </$set>\n  </div>\n</div>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/image-polaroid": {
            "title": "$:/plugins/kookma/shiraz/macros/image-polaroid",
            "created": "20181117203654803",
            "modified": "20200323093719811",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define image-polaroid(img, width:\"30%\", align:\"none\", caption:\"\", tooltip:\"\", alt:\"\")\n<figure class=\"image-polaroid image-align-$align$\" style=\"width:$width$;\">\n  <$image source=\"\"\"$img$\"\"\" tooltip=\"\"\"$tooltip$\"\"\"/>\n  <figcaption class=\"image-polaroid-caption\">$caption$</figcaption>\n</figure> \n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/image-pretty": {
            "title": "$:/plugins/kookma/shiraz/macros/image-pretty",
            "created": "20181117203541398",
            "modified": "20200323093719817",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define image-pretty(img, width:\"30%\", align:\"none\", caption:\"\", tooltip:\"\", alt:\"\")\n<figure class=\"image-pretty image-align-$align$\" style=\"width:$width$;\">\n  <$image source=<<__img__>> tooltip=<<__tooltip__>> alt=<<__alt__>> /> \n  <figcaption class=\"image-pretty-caption\">$caption$</figcaption>\n</figure> \n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/image-slidein": {
            "title": "$:/plugins/kookma/shiraz/macros/image-slidein",
            "created": "20181117040544570",
            "modified": "20200323093719824",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define image-slidein(img, width:\"30%\", align:\"none\", caption:\"\", tooltip:\"\", slidein:\"left\", alt:\"\")\n<figure class=\"image-slidein mr-cap-$slidein$ image-align-$align$\" style=\"width:$width$;\">\n  <$image source=<<__img__>> tooltip=<<__tooltip__>> alt=<<__alt__>>/>\n  <figcaption>$caption$</figcaption>\n</figure> \n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/list-search": {
            "title": "$:/plugins/kookma/shiraz/macros/list-search",
            "author": "Jeremy Ruston",
            "created": "20191209101857832",
            "creator": "Mohammad",
            "description": "creates few paragraphs of dumy text",
            "modified": "20200323093719831",
            "modifier": "Mohammad",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define list-search( filter:\"[!is[system]]\", search:\"search:title\", template:\"$:/core/ui/ListItemTemplate\",\n class:\"\", stateTiddler:\"\", placeholder:\"keywords\")\n<$set name=\"state\" filter=\"[[$:/temp/list-search]addsuffix[/$stateTiddler$]addsuffix<qualify>]\">\n<div class=<<__class__>> >\n<$edit-text tiddler=<<state>> type=\"search\" tag=\"input\" default=\"\" placeholder=\"$placeholder$\"/>\n</div>\n<$reveal state=<<state>> type=\"match\" text=\"\" class=<<__class__>> tag=div>\n<$list filter=\"$filter$\" template=<<__template__>>/>\n</$reveal>\n<$reveal state=<<state>> type=\"nomatch\" text=\"\" class=<<__class__>> tag=div>\n<$set name=term tiddler=<<state>> field=\"text\">\n<$list filter=\"$filter$+[$search$<term>]\" template=<<__template__>>/>\n</$set>\n</$reveal>\n</$set>\n\\end\n<!-- from Tobias Beer list-search with modification-->"
        },
        "$:/plugins/kookma/shiraz/macros/multicol": {
            "title": "$:/plugins/kookma/shiraz/macros/multicol",
            "created": "20191018063242993",
            "modified": "20200323093719835",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define multicol(src, ncol:\"\", class:\"\")\n<div class=\"sh-multicol$ncol$ $class$\">\n\n$src$\n</div>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/slider": {
            "title": "$:/plugins/kookma/shiraz/macros/slider",
            "created": "20190322161929431",
            "description": "Slider macro shows (hides) its content.",
            "modified": "20200325085502996",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define slider(label, src, labelClass, srcClass, status:\"closed\")\n<$set name=\"revealState\" value=<<qualify \"$:/state/shiraz/slider-macro/$(currentTiddler)$/$label$\">>>\n\n<h2 class=\"$labelClass$\">\n  <$reveal type=\"nomatch\" state=<<revealState>> text=\"open\" default=\"$status$\">\n    <$button class=\"tc-btn-invisible tc-tiddlylink\" set=<<revealState>> setTo=\"open\">\n     <span class=\"kk-sh-slider\"><$transclude tiddler=\"$:/core/images/right-arrow\" /></span>\n    </$button>\n  </$reveal>\n  <$reveal type=\"match\" state=<<revealState>> text=\"open\" default=\"$status$\">\n    <$button class=\"tc-btn-invisible tc-tiddlylink\" set=<<revealState>> setTo=\"closed\">\n      <span class=\"kk-sh-slider\"><$transclude tiddler=\"$:/core/images/down-arrow\" /></span>\n    </$button>\n  </$reveal>\n  $label$\n</h2>\n\n<$reveal type=\"match\" state=<<revealState>> text=\"open\" default=\"$status$\" class=\"$srcClass$\">\n\n$src$\n</$reveal>\n</$set>\n\\end"
        },
        "$:/plugins/kookma/shiraz/macros/space": {
            "title": "$:/plugins/kookma/shiraz/macros/space",
            "created": "20170629183034888",
            "modified": "20200323093719849",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define vspace(height:\"25px\")\n<p style=\"margin-bottom: $height$;\"></p>\n\\end\n\n\\define hspace(width:\"25px\")\n<span style=\"margin-left: $width$;\"></span>\n\\end\n"
        },
        "$:/plugins/kookma/shiraz/macros/text-utility": {
            "title": "$:/plugins/kookma/shiraz/macros/text-utility",
            "created": "20181101154956345",
            "modified": "20200323093719853",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define tc(src:\"\", color:\"red\") <span style=\"color:$color$;\">$src$</span>\n\\define bc(src:\"\", color:\"yellow\") <span style=\"background-color:$color$;\">$src$</span>\n\\define mono(src:\"\", class:\"\") <code class=\"mono $class$\">$src$</code>\n\\define transform(case:\"\", src:\"\", class:\"\") <span class=\"text-$case$ $class$\">$src$</span>"
        },
        "$:/plugins/kookma/shiraz/readme": {
            "title": "$:/plugins/kookma/shiraz/readme",
            "created": "20200323092614037",
            "modified": "20200323134846163",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "; Shiraz\nShiraz is a small framework including stylesheets, templates and macros to create stylish contents in Tiddlywiki. It uses modified CSS classes from [[Bootstrap|https://getbootstrap.com/]] 4.3.1. Shiraz has customized elements like alerts, cards, panels, images, static tables, dynamic tables, badges, texts, ...\n\n;Code and demo\nFor learning plugin features, syntax, tutorial and examples see the plugin demo and code pages\n\n* Demo: https://kookma.github.io/TW-Shiraz/\n* Code: https://github.com/kookma/TW-Shiraz\n"
        },
        "$:/plugins/kookma/shiraz/styles/alerts-leftbar": {
            "title": "$:/plugins/kookma/shiraz/styles/alerts-leftbar",
            "text": ".leftbar{\n  border-width:0px !important;\n  border-radius:0px !important;\n  border-left-width: 5px !important;\n}",
            "created": "20181208184228896",
            "modified": "20200323093719861",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/alerts": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/alerts",
            "text": "/*Was taken from bootstrap 4.1.3*/\n.alert {\n  position: relative;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 1rem;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n.alert-primary {\n  color: #004085;\n  background-color: #cce5ff;\n  border-color: #b8daff;\n}\n\n.alert-primary hr {\n  border-top-color: #9fcdff;\n}\n.alert-secondary {\n  color: #383d41;\n  background-color: #e2e3e5;\n  border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n  border-top-color: #c8cbcf;\n}\n\n.alert-success {\n  color: #155724;\n  background-color: #d4edda;\n  border-color: #c3e6cb;\n}\n\n.alert-success hr {\n  border-top-color: #b1dfbb;\n}\n.alert-info {\n  color: #0c5460;\n  background-color: #d1ecf1;\n  border-color: #bee5eb;\n}\n\n.alert-info hr {\n  border-top-color: #abdde5;\n}\n.alert-warning {\n  color: #856404;\n  background-color: #fff3cd;\n  border-color: #ffeeba;\n}\n\n.alert-warning hr {\n  border-top-color: #ffe8a1;\n}\n\n.alert-danger {\n  color: #721c24;\n  background-color: #f8d7da;\n  border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n  border-top-color: #f1b0b7;\n}\n.alert-light {\n  color: #818182;\n  background-color: #fefefe;\n  border-color: #fdfdfe;\n}\n\n.alert-light hr {\n  border-top-color: #ececf6;\n}\n.alert-dark {\n  color: #1b1e21;\n  background-color: #d6d8d9;\n  border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n  border-top-color: #b9bbbe;\n}\n",
            "created": "20180820171551129",
            "modified": "20200323093719869",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/background-colors": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/background-colors",
            "text": ".bg-primary {\n  background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n  background-color: #0062cc !important;\n}\n\n.bg-secondary {\n  background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n  background-color: #545b62 !important;\n}\n\n.bg-success {\n  background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n  background-color: #1e7e34 !important;\n}\n\n.bg-info {\n  background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n  background-color: #117a8b !important;\n}\n\n.bg-warning {\n  background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n  background-color: #d39e00 !important;\n}\n\n.bg-danger {\n  background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n  background-color: #bd2130 !important;\n}\n\n.bg-light {\n  background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n  background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n  background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n  background-color: #1d2124 !important;\n}\n\n.bg-white {\n  background-color: #fff !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}",
            "created": "20180820170518161",
            "modified": "20200323093719877",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/badge": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/badge",
            "text": "/* Extracted from bootstrap 4.1.3 */\n.badge {\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n}\n\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem;\n}\n\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #0062cc;\n}\n\n.badge-secondary {\n  color: #fff;\n  background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #545b62;\n}\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #1e7e34;\n}\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #117a8b;\n}\n\n.badge-warning {\n  color: #212529;\n  background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n  color: #212529;\n  text-decoration: none;\n  background-color: #d39e00;\n}\n\n.badge-danger {\n  color: #fff;\n  background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #bd2130;\n}\n\n.badge-light {\n  color: #212529;\n  background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n  color: #212529;\n  text-decoration: none;\n  background-color: #dae0e5;\n}\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #1d2124;\n}\n\n",
            "created": "20181122140031075",
            "modified": "20200323093719884",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/borders": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/borders",
            "text": ".border {\n  border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n  border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n  border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n  border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n  border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-right-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !important;\n}\n\n.border-left-0 {\n  border-left: 0 !important;\n}\n\n.border-primary {\n  border-color: #007bff !important;\n}\n\n.border-secondary {\n  border-color: #6c757d !important;\n}\n\n.border-success {\n  border-color: #28a745 !important;\n}\n\n.border-info {\n  border-color: #17a2b8 !important;\n}\n\n.border-warning {\n  border-color: #ffc107 !important;\n}\n\n.border-danger {\n  border-color: #dc3545 !important;\n}\n\n.border-light {\n  border-color: #f8f9fa !important;\n}\n\n.border-dark {\n  border-color: #343a40 !important;\n}\n\n.border-white {\n  border-color: #fff !important;\n}\n\n.rounded {\n  border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n  border-top-left-radius: 0.25rem !important;\n  border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n  border-top-right-radius: 0.25rem !important;\n  border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n  border-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n",
            "created": "20180820174710383",
            "modified": "20200323093719893",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/btn": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/btn",
            "text": "/* Button and btn classes Mohammad*/\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  border: 1px solid transparent;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n\n.btn:hover, .btn:focus {\n  text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n  opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n  cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n  pointer-events: none;\n}\n\n.btn-primary {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-primary:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-secondary {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n  color: #fff;\n  background-color: #5a6268;\n  border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n\n.btn-success {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-success:hover {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-info {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-info:hover {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-warning {\n  color: #212529;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-warning:hover {\n  color: #212529;\n  background-color: #e0a800;\n  border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n  color: #212529;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-danger {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c82333;\n  border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-light {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n  color: #212529;\n  background-color: #e2e6ea;\n  border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-dark {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-dark:hover {\n  color: #fff;\n  background-color: #23272b;\n  border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-link {\n  font-weight: 400;\n  color: #007bff;\n  background-color: transparent;\n}\n\n.btn-link:hover {\n  color: #0056b3;\n  text-decoration: underline;\n  background-color: transparent;\n  border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n  text-decoration: underline;\n  border-color: transparent;\n  box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n  color: #6c757d;\n  pointer-events: none;\n}\n\n/* button size */\n\n.btn-lg{\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\n.btn-sm{\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}",
            "created": "20180822044340070",
            "modified": "20200323093719900",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/card-column": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/card-column",
            "text": "/* Extracted from bootstrap 4.3.1 */\n.card-columns .card {\n  margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n  .card-columns {\n    -webkit-column-count: 3;\n    -moz-column-count: 3;\n    column-count: 3;\n    -webkit-column-gap: 1.25rem;\n    -moz-column-gap: 1.25rem;\n    column-gap: 1.25rem;\n    orphans: 1;\n    widows: 1;\n  }\n  .card-columns .card {\n    display: inline-block;\n    width: 100%;\n  }\n}",
            "created": "20181122175345419",
            "modified": "20200323093719915",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/card-deck": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/card-deck",
            "text": "/* Extracted from bootstrap 4.1.3 */\n\n.card-deck {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n\n.card-deck .card {\n  margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n  .card-deck {\n    -ms-flex-flow: row wrap;\n    flex-flow: row wrap;\n    margin-right: -15px;\n    margin-left: -15px;\n  }\n  .card-deck .card {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex: 1 0 0%;\n    flex: 1 0 0%;\n    -ms-flex-direction: column;\n    flex-direction: column;\n    margin-right: 15px;\n    margin-bottom: 0;\n    margin-left: 15px;\n  }\n}",
            "created": "20180822174847352",
            "modified": "20200323093719923",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/card-group": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/card-group",
            "text": "/* Extracted from bootstrap 4.1.3 */\n.card-group {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n\n.card-group > .card {\n  margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n  .card-group {\n    -ms-flex-flow: row wrap;\n    flex-flow: row wrap;\n  }\n  .card-group > .card {\n    -ms-flex: 1 0 0%;\n    flex: 1 0 0%;\n    margin-bottom: 0;\n  }\n  .card-group > .card + .card {\n    margin-left: 0;\n    border-left: 0;\n  }\n  .card-group > .card:first-child {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n  }\n  .card-group > .card:first-child .card-img-top,\n  .card-group > .card:first-child .card-header {\n    border-top-right-radius: 0;\n  }\n  .card-group > .card:first-child .card-img-bottom,\n  .card-group > .card:first-child .card-footer {\n    border-bottom-right-radius: 0;\n  }\n  .card-group > .card:last-child {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n  }\n  .card-group > .card:last-child .card-img-top,\n  .card-group > .card:last-child .card-header {\n    border-top-left-radius: 0;\n  }\n  .card-group > .card:last-child .card-img-bottom,\n  .card-group > .card:last-child .card-footer {\n    border-bottom-left-radius: 0;\n  }\n  .card-group > .card:only-child {\n    border-radius: 0.25rem;\n  }\n  .card-group > .card:only-child .card-img-top,\n  .card-group > .card:only-child .card-header {\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem;\n  }\n  .card-group > .card:only-child .card-img-bottom,\n  .card-group > .card:only-child .card-footer {\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0.25rem;\n  }\n  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n    border-radius: 0;\n  }\n  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n    border-radius: 0;\n  }\n}\n",
            "created": "20181122175111676",
            "modified": "20200323093719932",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/card": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/card",
            "text": "/* Extracted from bootstrap 4.1.3 */\n.card {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  min-width: 0;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: border-box;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n  border-radius: 0.25rem;\n}\n\n.card > hr {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  padding: 1.25rem;\n}\n\n.card-title {\n  margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n  margin-top: -0.375rem;\n  margin-bottom: 0;\n}\n\n.card-text:last-child {\n  margin-bottom: 0;\n}\n\n.card-link:hover {\n  text-decoration: none;\n}\n\n.card-link + .card-link {\n  margin-left: 1.25rem;\n}\n\n.card-header {\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 0;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n  border-top: 0;\n}\n\n.card-footer {\n  padding: 0.75rem 1.25rem;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n  margin-right: -0.625rem;\n  margin-bottom: -0.75rem;\n  margin-left: -0.625rem;\n  border-bottom: 0;\n}\n\n.card-header-pills {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 1.25rem;\n}\n\n.card-img {\n  width: 100%;\n  border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n  width: 100%;\n  border-top-left-radius: calc(0.25rem - 1px);\n  border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n  width: 100%;\n  border-bottom-right-radius: calc(0.25rem - 1px);\n  border-bottom-left-radius: calc(0.25rem - 1px);\n}\n",
            "created": "20180822174608965",
            "modified": "20200323093719907",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/clearfix": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/clearfix",
            "text": ".clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}",
            "created": "20190919042042391",
            "modified": "20200323093719936",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/float": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/float",
            "text": ".float-left {\n  float: left;\n}\n\n.float-right {\n  float: right;\n}\n\n.float-none {\n  float: none;\n}\n",
            "created": "20180823142040855",
            "modified": "20200323093719944",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/my-adjustment": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/my-adjustment",
            "text": "/* My adjustments to bootstrap 4.1.3 css classes */\na {\n  color: #007bff;\n  text-decoration: none;\n  background-color: transparent;\n  -webkit-text-decoration-skip: objects;\n}\n/* Link is hacked to be compatible with bootstrap \nclasses remove it if the TW core objects break\n*/\n\n",
            "created": "20180822044831813",
            "modified": "20200323093719950",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/shadow": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/shadow",
            "text": ".shadow-sm {\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n  box-shadow: none !important;\n}",
            "created": "20180823114259911",
            "modified": "20200323093719957",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/sizing-spacing": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/sizing-spacing",
            "text": "/* Extracted from bootstrap 4.3.1 */\n/*Defines margins, paddings, width and height*/\n.w-25 {\n  width: 25% !important;\n}\n.w-50 {\n  width: 50% !important;\n}\n.w-75 {\n  width: 75% !important;\n}\n.w-100 {\n  width: 100% !important;\n}\n.w-auto {\n  width: auto !important;\n}\n.h-25 {\n  height: 25% !important;\n}\n.h-50 {\n  height: 50% !important;\n}\n.h-75 {\n  height: 75% !important;\n}\n.h-100 {\n  height: 100% !important;\n}\n.h-auto {\n  height: auto !important;\n}\n.mw-100 {\n  max-width: 100% !important;\n}\n.mh-100 {\n  max-height: 100% !important;\n}\n.m-0 {\n  margin: 0 !important;\n}\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n.m-1 {\n  margin: 0.25rem !important;\n}\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n.m-2 {\n  margin: 0.5rem !important;\n}\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n",
            "created": "20180822191952379",
            "modified": "20200323093719964",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/text-alignment": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/text-alignment",
            "text": ".text-justify {\n  text-align: justify !important;\n}\n\n.text-nowrap {\n  white-space: nowrap !important;\n}\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.text-left {\n  text-align: left !important;\n}\n\n.text-right {\n  text-align: right !important;\n}\n\n.text-center {\n  text-align: center !important;\n}",
            "created": "20180822051223866",
            "modified": "20200323093719971",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/text-colors": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/text-colors",
            "text": "/* from bootstrap 4.1.3 */\n\n.text-white {\n  color: #fff !important;\n}\n\n.text-primary {\n  color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n  color: #0062cc !important;\n}\n\n.text-secondary {\n  color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n  color: #545b62 !important;\n}\n\n.text-success {\n  color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n  color: #1e7e34 !important;\n}\n\n.text-info {\n  color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n  color: #117a8b !important;\n}\n\n.text-warning {\n  color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n  color: #d39e00 !important;\n}\n\n.text-danger {\n  color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n  color: #bd2130 !important;\n}\n\n.text-light {\n  color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n  color: #dae0e5 !important;\n}\n\n.text-dark {\n  color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n  color: #1d2124 !important;\n}\n\n.text-body {\n  color: #212529 !important;\n}\n\n.text-muted {\n  color: #6c757d !important;\n}\n\n.text-black-50 {\n  color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n  color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n",
            "created": "20180820173351023",
            "modified": "20200323093719978",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/bs/text-utility": {
            "title": "$:/plugins/kookma/shiraz/styles/bs/text-utility",
            "text": "/* Can be removed latter. This is used for illustration of bootstrap cards */\n\n.text-lowercase {\n  text-transform: lowercase !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n\n.text-capitalize {\n  text-transform: capitalize !important;\n}\n\n.font-weight-light {\n  font-weight: 300 !important;\n}\n\n.font-weight-normal {\n  font-weight: 400 !important;\n}\n\n.font-weight-bold {\n  font-weight: 700 !important;\n}\n\n.font-italic {\n  font-style: italic !important;\n}\n\n\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: 0.5rem;\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.2;\n  color: inherit;\n}\n\n.h1 {\n  font-size: 2.5rem;\n}\n\n.h2 {\n  font-size: 2rem;\n}\n\n.h3 {\n  font-size: 1.75rem;\n}\n\n.h4 {\n  font-size: 1.5rem;\n}\n\n.h5 {\n  font-size: 1.25rem;\n}\n\n.h6 {\n  font-size: 1rem;\n}\n\n.lead {\n  font-size: 1.25rem;\n  font-weight: 300;\n}\n\n.display-1 {\n  font-size: 6rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-2 {\n  font-size: 5.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-3 {\n  font-size: 4.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-4 {\n  font-size: 3.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.hr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.small {\n  font-size: 80%;\n  font-weight: 400;\n}\n\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\n}\n",
            "created": "20180822130528002",
            "modified": "20200323093719985",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/clear-float": {
            "title": "$:/plugins/kookma/shiraz/styles/clear-float",
            "text": "/* Resolve issue for floating objects which cross the tiddler frame!\nThe below code should force the tiddler to always wrap around floating elements, so that they are always inside\nRef: https://groups.google.com/d/msg/tiddlywiki/5bZwwj6cyac/2LzFeA7AAwAJ\n*/\n\n.tc-tiddler-body:before, .tc-tiddler-body:after {\n    content: \"\";\n    display: table;\n}\n.tc-tiddler-body:after {\n    clear: both;\n}\n.tc-tiddler-body {\n    zoom: 1;\n}",
            "created": "20190902043605186",
            "modified": "20200323093719992",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/colorful-sidebar-tab": {
            "title": "$:/plugins/kookma/shiraz/styles/colorful-sidebar-tab",
            "text": ".tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n    background: none;\n    border: none;\n    border-bottom: solid 1px #737373 !important;\n    font-weight: bold;\n    color: #DB4C3F !important;\n}",
            "created": "20191209105546612",
            "modified": "20200323093719997",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/dbadge": {
            "title": "$:/plugins/kookma/shiraz/styles/dbadge",
            "text": "/*Credits: \nNishant Srivastava https://codepen.io/nisrulz/pen/bpQWLW\nMohammad Rahmani: https://github.com/kookma\n*/\n.dbadge {\n display: inline-block;\n margin: 0.0em;\n}\n.dbadge > span {\n  color: #ffffff;\n  font-size: 0.8em;\n  font-weight: 400;\n  line-height: 1;\n  padding: .2em .6em;\n  text-align: center;\n  vertical-align: baseline;\n  white-space: nowrap;}\n\n.dbadge-subject{\n  background-color: #656565;\n  border-bottom-left-radius: 0.25em;\n  border-top-left-radius: 0.25em;}\n.dbadge-status {\n  border-bottom-right-radius: 0.25em;\n  border-top-right-radius: 0.25em;}\n\n.dbadge-primary {\n    background-color: #337ab7;}\n.dbadge-success {\n    background-color: #5cb85c;}\n.dbadge-info {\n    background-color: #5bc0de;}\n.dbadge-warning {\n    background-color: #f0ad4e;}\n.dbadge-danger {\n    background-color: #d9534f;}",
            "created": "20181204192835967",
            "modified": "20200323093720003",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/details-slider": {
            "title": "$:/plugins/kookma/shiraz/styles/details-slider",
            "text": "/*details html5 macro*/\ndetails > summary {\n  padding: 2px 6px;\n  font-weight:500;\n  outline:none;\n}\ndetails > div {\n  padding: 2px 6px;\n  margin: 0;\n}\n\nbutton .kk-sh-slider svg{\nwidth: 0.8em;\nheight: 0.8em;\nvertical-align: middle;}",
            "created": "20181101185908941",
            "modified": "20200325083406128",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/dynamic-tables": {
            "title": "$:/plugins/kookma/shiraz/styles/dynamic-tables",
            "text": "/* edit-text box for dynamic table */\n.shiraz-dtable-textbox {\n    width:100%;\n    padding-left: 5px;\n    border: none;\n}\n\n.shiraz-dtable-textbox:focus {\n    outline: none;\n    border: 1px solid #5778d8;\n    background: transparent;\n}\n\n.tbl-inpt-edit { width: 100%; background-color: transparent; border: none; color: #000000;}\n\nbutton.tbl-sort-svg > svg { text-shadow: none; fill:#000000; height:10px; padding:0 0 2px 0; }\n\nth .tc-tiddlylink, th a { text-shadow: none; margin: 0 0 0 0; padding: 0 0 0 0; color:#000000; font-weight: bold; }\n\n\n/* DELETE CONFIRMATION */\ntable thead .tbl-delete-confirm > th {\n  color: white;\n  background-color:#ff0033;\n  padding: 8px;\n  margin: 0px;\n  text-align:center;\n\tfont-weight:normal;\n}\n\ntable thead .tbl-delete-confirm > th > button {\n  color: white;\n  fill: white;\n}\n\n/* customize the table footer used for numerical summary*/\n.shiraz-dtable-footer tr td{\n\tbackground:#f0f0f0; \n\tborder:none;\n}",
            "created": "20191128184537594",
            "modified": "20200323093720018",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/image-alignment": {
            "title": "$:/plugins/kookma/shiraz/styles/image-alignment",
            "text": "/*Image aligning classes*/\n.image-align-right{\n    float:right;\n    margin:0.5em 0 1.3em 1.4em;\n}\n.image-align-left{\n    float:left;\n    margin: 0.5em 1.4em 1.3em 0;\n}\n.image-align-center{\n  display:block;\n  margin: 0.5em auto 1.3em; \n}\n\n.image-float-none {\n  float: none !important;\n}",
            "created": "20190918193736314",
            "modified": "20200323093720025",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/image-basic": {
            "title": "$:/plugins/kookma/shiraz/styles/image-basic",
            "text": ".image-simple {\n  text-align: center;\n  font-style: italic;\n  font-size: smaller;\n  text-indent: 0;\n  padding: 0.5em;\n}",
            "created": "20181119182848505",
            "modified": "20200323093720030",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/image-overlay": {
            "title": "$:/plugins/kookma/shiraz/styles/image-overlay",
            "text": ".image-overlay-container{\n  width: 50%; \n  box-sizing: border-box;\n}\n\n@media screen and (max-width: 640px){\n  .image-overlay-container{\n    display: block;\n    width: 100%;\n  }\n}\n\n@media screen and (min-width: 900px){\n  .image-overlay-container{\n    width: 33.33%;\n  }\n}\n\n.image-overlay-container .image-overlay-title{\n  color: #1a1a1a;\n  text-align: center;\n  margin-bottom:10px;\n}\n\n.image-overlay-content {\n  position: relative;\n  width: 90%;\n  max-width: 400px;\n  margin: auto;\n  overflow: hidden;\n}\n\n.image-overlay-content .image-overlay-content-overlay {\n  background: rgba(0,0,0,0.7);\n  position: absolute;\n  height: 99%;\n  width: 100%;\n  left: 0;\n  top: 0;\n  bottom: 0;\n  right: 0;\n  opacity: 0;\n  -webkit-transition: all 0.4s ease-in-out 0s;\n  -moz-transition: all 0.4s ease-in-out 0s;\n  transition: all 0.4s ease-in-out 0s;\n}\n\n.image-overlay-content:hover .image-overlay-content-overlay{\n  opacity: 1;\n}\n\n.image-overlay-content-image{\n  width: 100%;\n}\n\n.image-overlay-content-details {\n  position: absolute;\n  text-align: center;\n  padding-left: 1em;\n  padding-right: 1em;\n  width: 100%;\n  top: 50%;\n  left: 50%;\n  opacity: 0;\n  -webkit-transform: translate(-50%, -50%);\n  -moz-transform: translate(-50%, -50%);\n  transform: translate(-50%, -50%);\n  -webkit-transition: all 0.3s ease-in-out 0s;\n  -moz-transition: all 0.3s ease-in-out 0s;\n  transition: all 0.3s ease-in-out 0s;\n}\n\n.image-overlay-content:hover .image-overlay-content-details{\n  top: 50%;\n  left: 50%;\n  opacity: 1;\n}\n\n.image-overlay-content-details h3{\n  color: #fff;\n  font-weight: 500;\n  letter-spacing: 0.15em;\n  margin-bottom: 0.5em;\n  text-transform: uppercase;\n}\n\n.image-overlay-content-details p{\n  color: #fff;\n  font-size: 0.8em;\n}\n\n.image-overlay-fadeIn-bottom{\n  top: 80%;\n}\n\n.image-overlay-fadeIn-top{\n  top: 20%;\n}\n\n.image-overlay-fadeIn-left{\n  left: 20%;\n}\n\n.image-overlay-fadeIn-right{\n  left: 80%;\n}",
            "created": "20181116173704182",
            "modified": "20200323093720035",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/image-polaroid": {
            "title": "$:/plugins/kookma/shiraz/styles/image-polaroid",
            "text": ".image-polaroid {\n  min-width:64px;\n  background-color: #f8f9fa;\n  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\n}\n.image-polaroid img {\n    width: 100%;\n    padding:10px;\n    height: auto;\n}\n.image-polaroid .image-polaroid-caption {\n    padding:10px 15px 10px;\n    text-align: center; \n    line-height: 1.4em;\n    font-weight:300;\n    font-size: 0.9em; \n}",
            "created": "20181116094450565",
            "modified": "20200323093720041",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/image-pretty": {
            "title": "$:/plugins/kookma/shiraz/styles/image-pretty",
            "text": ".image-pretty {\n    min-width:64px;\n    border: 1px solid #c8ccd1;\n    background-color:#f8f9fa;\n}\n.image-pretty:hover {\n    border: 1px solid #777;\n}\n.image-pretty img {\n    padding:2px;\n    width: 100%;\n    height: auto;\n}\n.image-pretty .image-pretty-caption {\n    padding:10px 15px 10px;\n    text-align: center; \n    line-height: 1.4em;\n    font-weight:300;\n    font-size: 0.9em; \n}\n\n",
            "created": "20181115182806512",
            "modified": "20200323093720047",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/image-slidein": {
            "title": "$:/plugins/kookma/shiraz/styles/image-slidein",
            "text": ".image-slidein { \n  display: block; \n  position: relative; \n  /*float: left;*/\n  overflow: hidden; \n /* margin: 0 20px 20px 0;*/\n}\n\n.image-slidein img {\n    width: 100%;\n    height: auto;\n}\n\n.image-slidein figcaption { \n  position: absolute; \n  background: rgba(0,0,0,0.75); \n  color: white; \n  padding: 10px 20px; \n  opacity: 0;\n  -webkit-transition: all 0.6s ease;\n  -moz-transition:    all 0.6s ease;\n  -o-transition:      all 0.6s ease;\n}\n.image-slidein:hover figcaption {\n  opacity: 1;\n}\n.image-slidein:before { \n  content: \"?\"; \n  position: absolute; \n  font-weight: 800; \n  background: rgba(255,255,255,0.75); \n  text-shadow: 0 0 5px white;\n  color: black;\n  width: 24px;\n  height: 24px;\n  -webkit-border-radius: 12px;\n  -moz-border-radius:    12px;\n  border-radius:         12px;\n  text-align: center;\n  font-size: 14px;\n  line-height: 24px;\n  -moz-transition: all 0.6s ease;\n  opacity: 0.75;\t\n}\n.image-slidein:hover:before {\n  opacity: 0;\n}\n\n.mr-cap-left:before {  bottom: 10px; left: 10px; }\n.mr-cap-left figcaption { bottom: 0; left: -30%; }\n.mr-cap-left:hover figcaption { left: 0; }\n\n.mr-cap-right:before { bottom: 10px; right: 10px; }\n.mr-cap-right figcaption { bottom: 0; right: -30%; }\n.mr-cap-right:hover figcaption { right: 0; }\n\n.mr-cap-top:before { top: 10px; left: 10px; }\n.mr-cap-top figcaption { left: 0; top: -30%; }\n.mr-cap-top:hover figcaption { top: 0; }\n\n.mr-cap-bottom:before { bottom: 10px; left: 10px; }\n.mr-cap-bottom figcaption { left: 0; bottom: -30%;}\n.mr-cap-bottom:hover figcaption { bottom: 0; }\n",
            "created": "20181117040213926",
            "modified": "20200323093720054",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/misc/edit-buttons": {
            "title": "$:/plugins/kookma/shiraz/styles/misc/edit-buttons",
            "text": "/*Edit buttons as traffic lights*/\n.tc-tiddler-controls .tc-image-delete-button {fill:#ebb;}\n.tc-tiddler-controls .tc-image-cancel-button {fill:#ed9;}\n.tc-tiddler-controls .tc-image-done-button {fill:#beb;}",
            "created": "20191029091851469",
            "modified": "20200323093720062",
            "tags": "",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/misc/tiddler-button-visibility": {
            "title": "$:/plugins/kookma/shiraz/styles/misc/tiddler-button-visibility",
            "text": "/* Mouseover toolbar visibility: courtesy from Tobias Beer*/\n.tc-tiddler-frame .tc-titlebar button {\n  opacity: 0;\n  transition: opacity .5s ease-in-out;\n}\n.tc-tiddler-frame:hover .tc-titlebar button {\n  zoom: 1;\n  filter: alpha(opacity=100);\n  opacity: 1;\n}\n",
            "created": "20191029094209435",
            "modified": "20200323093720069",
            "tags": "",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/misc/ui-buttons": {
            "title": "$:/plugins/kookma/shiraz/styles/misc/ui-buttons",
            "created": "20191029092047069",
            "modified": "20200323093720078",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css",
            "text": "/* These css rules makes TW UI buttons in beatiful color */\n\n/*page control buttons*/\n.tc-page-controls .tc-image-new-button { fill: #5EB95E; } /*New tiddler button*/\n.tc-page-controls .tc-image-options-button { fill:#8058A5; } /*Open control pannel*/\n\n/*tiddler buttons in beautiful color*/\n.tc-tiddler-controls .tc-image-edit-button { fill:#F37B1D; }/*edit tiddler*/\n.tc-tiddler-controls .tc-image-info-button { fill: #0e90d2; } /*Info button*/\n"
        },
        "$:/plugins/kookma/shiraz/styles/mono": {
            "title": "$:/plugins/kookma/shiraz/styles/mono",
            "text": ".mono {\n\tcolor:unset;\n\tbackground-color: #f7f7f9;\n\tborder: 1px solid #e1e1e8;\n\twhite-space: pre-wrap;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: \"SFMono-Regular\",Consolas,\"Liberation Mono\",Menlo,Courier,monospace;\n}",
            "created": "20181010192406005",
            "modified": "20200323093720084",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/multicols/column": {
            "title": "$:/plugins/kookma/shiraz/styles/multicols/column",
            "text": "/* multicolumn layouts with fixed column number works on the whole tiddler */\n.multicol .tc-tiddler-body {\n  column-width: 14em;\n  column-rule: 1px solid #ccc;\n}\n/* two columns responsive*/\n.multicol2 .tc-tiddler-body {\n\tcolumn-count:2; \n\tcolumn-width:15em;\n}\n/* three columns responsive*/\n.multicol3 .tc-tiddler-body {\n\tcolumn-count:3; \n\tcolumn-width:10em;\n}\n\n\n/* remove the extra space from first paragraph */\n.multicol .tc-tiddler-body > :first-child, \n.multicol2 .tc-tiddler-body > :first-child, \n.multicol3 .tc-tiddler-body > :first-child { margin-top: 0;}\n\n/*-------------------------------------------------------------------------------*/\n/* Classes for using with macro and div elements */\n.sh-multicol {\n  column-width: 14em;\n  column-rule: 1px solid #ccc;\n}\n/* two columns responsive*/\n.sh-multicol2 {\n\tcolumn-count:2; \n\tcolumn-width:15em;\n}\n/* three columns responsive*/\n.sh-multicol3 {\n\tcolumn-count:3; \n\tcolumn-width:10em;\n}\n\n/* remove the extra space from first paragraph */\n.sh-multicol  > :first-child,\n.sh-multicol2 > :first-child,\n.sh-multicol3 > :first-child { margin-top: 0;}",
            "created": "20190627204703061",
            "modified": "20200323093720089",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/multicols/flex backup": {
            "title": "$:/plugins/kookma/shiraz/styles/multicols/flex backup",
            "text": "/* multicolumn layout using flexbox courtesy from Bootstrap 4.3.1*/\n.flex-row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px;\n}\n.flex-col-1, \n.flex-col-2, \n.flex-col-3 {\n  position: relative;\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.flex-col-1{flex: 1 1 0;}\n.flex-col-2{flex: 2 1 0;}\n.flex-col-3{flex: 3 1 0;}\n\n.flex-col-1 > :first-child,\n.flex-col-2 > :first-child,\n.flex-col-3 > :first-child {\n\tmargin-top: 0;}",
            "created": "20191030140900552",
            "modified": "20200323093720101",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/multicols/flex": {
            "title": "$:/plugins/kookma/shiraz/styles/multicols/flex",
            "text": "/* multicolumn layout using flexbox courtesy from Bootstrap 4.3.1*/\n.flex-row {\n   display: flex;\n   flex-direction: row;\n   flex-wrap: wrap;\n/*   margin-right: -15px;\n   margin-left: -15px;*/\n}\n\n.flex-col,\n.flex-col-1, \n.flex-col-2, \n.flex-col-3,\n.flex-col-4 {\n  position: relative;\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n/* for small screen width>=576px\nhttps://getbootstrap.com/docs/4.3/layout/grid/\n*/\n@media (min-width: 576px) {\n.flex-col   {flex: 1 1 0; max-width: 100%;}\n.flex-col-1 {flex: 0 0 25%; max-width:25%}\n.flex-col-2 {flex: 0 0 50%; max-width:50%}\n.flex-col-3 {flex: 0 0 75%; max-width:75%}\n.flex-col-4 {flex: 0 0 100%; max-width:100%}\n}\n\n.flex-col   > :first-child,\n.flex-col-1 > :first-child,\n.flex-col-2 > :first-child,\n.flex-col-3 > :first-child,\n.flex-col-4 > :first-child {\n  margin-top: 0;}\n\n\n/* Alignment */\n.flex-align-items-center {\n  align-items: center !important;\n}\n.flex-justify-content-center {\n  justify-content: center !important;\n}\n\n.flex-no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}",
            "created": "20191014193910006",
            "modified": "20200323093720097",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/multicols/storyriver": {
            "title": "$:/plugins/kookma/shiraz/styles/multicols/storyriver",
            "text": "/* create story river in two column layout */\n.tc-story-river {\n  display: flex;\n  flex-wrap: wrap;\n}\n\n.tc-tiddler-frame\n{\n  max-width: 49%; margin-right: 1%;\n  /*max-width: 32%; margin-right: 1%; */\n}\n",
            "created": "20140523214749659",
            "modified": "20200323093720108",
            "tags": "",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/notebook": {
            "title": "$:/plugins/kookma/shiraz/styles/notebook",
            "text": "@media print{\n  .notebook .tc-tiddler-body {\n    padding-left:60px;\n    margin-top:25px;\n  }\n  .notebook .tc-tiddler-title,\n  .notebook .tc-subtitle,\n\t.notebook .tc-tags-wrapper {\n    padding-left:60px;\n  }\n}\n\n@media screen{\n  .notebook .tc-tiddler-title,\n  .notebook .tc-subtitle,\n\t.notebook .tc-tags-wrapper,\n\t.notebook .tc-tiddler-body {\n    padding-left:30px;\n  }\n\n}\t\n\n@media screen and (max-width:960px) {\n  .notebook .tc-tiddler-title,\n  .notebook .tc-subtitle,\n    .notebook .tc-tags-wrapper,\n    .notebook .tc-tiddler-body {\n    padding-left:60px;\n  }\n\n}\n\n.notebook:before {\n    content: '';\n    position: absolute;\n    top: 0; bottom: 0; left: 0;\n    width: 50px;\n    background: radial-gradient(#575450 6px, transparent 7px) repeat-y;\n    background-size: 30px 30px;\n    border-right: 3px solid #D44147;\n\t  z-index:1;\n}\n\n.notebook .tc-tiddler-body {\n\t  position: relative;\n    background: linear-gradient(transparent, transparent 1.95em, #91D1D3 1.95em);\n    background-size: 2em 2em;\n\t  min-height:90px;   \n}\n\n.notebook .tc-tiddler-body{\n\t   padding-top:20px;\n     font-family: \"Handlee\", cursive;\n     font-weight:300;\n     line-height:2em;\n     color:#696969;\n}\n\n/* Setting font for other elements */\n.notebook .tc-tiddler-body pre,\n.notebook .tc-tiddler-body code,\n.notebook .tc-tiddler-body pre code\n{\n  font-family: \"Handlee\", cursive;\n  font-weight:300;\n}",
            "created": "20180412105446259",
            "modified": "20200323093720115",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/semantic/bglowtone-colors": {
            "title": "$:/plugins/kookma/shiraz/styles/semantic/bglowtone-colors",
            "text": "/* Colors taked from [1] https://www.bg-w3schools.bg-com/colors/colors_names.bg-asp \n[2] http://www.bg-workwithcolor.bg-com/color-chart-full-01.bg-htm*/\n/*Low tone background colors*/\n.bg-mistyrose{background-color:#ffe4e1;}\n.bg-lemonchiffon{background-color:#fffacd;}\n.bg-lavenderblush{background-color:#fff0f5;}\n.bg-lavender{background-color:#e6e6fa;}\n.bg-honeydew{background-color:#f0fff0;}\n.bg-lightcyan{background-color:#e0ffff;}\n.bg-aliceblue{background-color:#f0f8ff;}\n.bg-cornsilk{background-color:#fff8dc;}\n.bg-gainsboro{background-color:#dcdcdc;}\n.bg-bisque{background-color:#ffe4c4;}\n.bg-snow{background-color:#fffafa;}",
            "created": "20181029071532524",
            "list": "mistyrose lemonchiffon lavenderblush lavender honeydew lightcyan aliceblue cornsilk gainsboro bisque snow",
            "modified": "20200323093720119",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/sticky-footer": {
            "title": "$:/plugins/kookma/shiraz/styles/sticky-footer",
            "text": ".sticky-footer {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 0.5rem;\n  background-color: #efefef;\n  text-align: center;\n  margin-top: 5px;\n  box-sizing: border-box;\n  width: 100%;\n}\n",
            "created": "20180907070611557",
            "modified": "20200323093720126",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/tables": {
            "title": "$:/plugins/kookma/shiraz/styles/tables",
            "text": ".table-tight{\n\tfont-size:0.8em;\n}\n\n\n/*\nThis tiddler defines the custom stylesheet for tables \nApril 13, 2018\n*/\n\n/*center aligned table*/\n.table-center {\n margin:0 auto;\n}\n\n/* Table caption at top */\n.table-caption-top caption {\n caption-side:top;\n margin-bottom:0.2rem;\n}\n\n/* Striped row table */\n.table-striped-row tr:nth-child(even) td{\n  background-color:#F3F6F6; \n}\n\n/* Striped column table */\n.table-striped-col tbody tr td:nth-child(odd) {\n\tbackground-color: #F3F6F6;\n}\n\n/*Borderless table*/\n.table-borderless, \n.table-borderless thead td, \n.table-borderless th, \n.table-borderless tr, \n.table-borderless td{\n  border:0;\n}\n\n/* Table lines should be used with table-borderless for abbreviations and two column layout */\n\n.table-lines thead td, .table-lines th{\n   border-bottom: 2px solid #dddddd;\n\t background-color:unset;\n   }\n.table-lines td{\n   border-bottom: 1px solid #dddddd;\n   background-color:unset;\n   }\n\n/* Table hover (yellow background on mouse over) */\n.table-hover tbody tr:hover{\n  color: #212529;\n  background-color: #e6e6e6;\n}\n.table-hover-yellow tbody tr:hover{background-color: #ffffcc;}\n.table-hover-cyan tbody tr:hover{background-color: #e6ffff;}\n\n/* Table with colored header */\n.thead-primary thead td, .thead-primary th{background-color: #007bff; color: #fff;}\n.thead-secondary thead td, .thead-secondary th{background-color: #6c757d; color: #fff;}\n.thead-success thead td, .thead-success th{background-color: #28a745; color: #fff;}\n.thead-warning thead td, .thead-warning th{background-color: #ffc107; color: #fff;}\n.thead-danger thead td, .thead-danger th{background-color: #dc3545; color: #fff;}\n.thead-info thead td, .thead-info th{background-color: #17a2b8; color: #fff;}\n.thead-dark thead td, .thead-dark th{background-color: #343a40; color: #fff;}\n.thead-light thead td, .thead-light th{background-color: #f8f9fa; color: #212529;}\n\n/* Table with colored header correct to fill svgs with white color */\n.thead-primary > thead> tr > td svg, .thead-primary > thead> tr > th svg,\n.thead-secondary > thead> tr > td svg, .thead-secondary > thead> tr > th svg,\n.thead-success > thead> tr > td svg, .thead-success > thead> tr > th svg,\n.thead-warning > thead> tr > td svg, .thead-warning > thead> tr > th svg,\n.thead-danger > thead> tr > td svg, .thead-danger > thead> tr > th svg,\n.thead-info > thead> tr > td svg, .thead-info > thead> tr > th svg,\n.thead-dark > thead> tr > td svg, .thead-dark > thead> tr > th svg\n {fill:#ffffff; padding:0 0 3px 0; }\n\n\n.thead-primary th .tc-tiddlylink, .thead-primary th a,\n.thead-secondary th .tc-tiddlylink, .thead-primary th a,\n.thead-success th .tc-tiddlylink, .thead-primary th a,\n.thead-warning th .tc-tiddlylink, .thead-primary th a,\n.thead-danger th .tc-tiddlylink, .thead-primary th a,\n.thead-info th .tc-tiddlylink, .thead-primary th a,\n.thead-dark th .tc-tiddlylink, .thead-primary th a{color:#ffffff}\n",
            "created": "20180413092232257",
            "modified": "20200323093720133",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/styles/tiddler-title-class": {
            "title": "$:/plugins/kookma/shiraz/styles/tiddler-title-class",
            "text": ".title-primary .tc-title {\n  color: #007bff;\n}\n.title-secondary .tc-title {\n  color: #6c757d;\n}\n.title-success .tc-title {\n  color: #28a745;\n}\n.title-info .tc-title {\n  color: #17a2b8;\n}\n.title-warning .tc-title {\n  color: #ffc107;\n}\n.title-danger .tc-title {\n  color: #dc3545;\n}\n.title-light .tc-title {\n  color: #f8f9fa;\n}\n.title-dark .tc-title {\n  color: #343a40;\n}\n.title-white .tc-title {\n  color: #fff;\n}",
            "created": "20191101112257846",
            "modified": "20200323093720140",
            "tags": "test $:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/shiraz/templates/body/color": {
            "title": "$:/plugins/kookma/shiraz/templates/body/color",
            "created": "20200210160016959",
            "modified": "20200323093720147",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "color",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define showCell()\n<style>\n.dt:not(:disabled):dt(.disabled) {cursor: pointer;}\na.dt.disabled,fieldset:disabled a.dt {pointer-events: none;}\n</style>\n<$link overrideClass=\"dt disabled\" to=\"\">\n<$edit-text tag=input type=color tiddler=<<currentRecord>> field=color/>\n</$link>\n\\end\n\n\\define edit_color() <$edit-text tag=input type=color tiddler=<<currentRecord>> field=<<currentColumn>>/>\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<edit_color>> >\n <<showCell_Locked>>\n</$list>\n</$reveal>"
        },
        "$:/plugins/kookma/shiraz/templates/body/date": {
            "title": "$:/plugins/kookma/shiraz/templates/body/date",
            "created": "20170128100657312",
            "modified": "20200323093720153",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "created modified",
            "type": "text/vnd.tiddlywiki",
            "text": "<td>\n<$view tiddler=<<currentRecord>> field=<<currentColumn>> format=\"date\" template=\"YYYY.0MM.0DD\"/>\n</td>"
        },
        "$:/plugins/kookma/shiraz/templates/body/default": {
            "title": "$:/plugins/kookma/shiraz/templates/body/default",
            "created": "20191125202328213",
            "modified": "20200323093720160",
            "tags": "$:/tags/Table/BodyTemplate",
            "type": "text/vnd.tiddlywiki",
            "text": "<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<editCell>> >\n <<showCell_Locked>>\n</$list>\n</$reveal>"
        },
        "$:/plugins/kookma/shiraz/templates/body/due-date": {
            "title": "$:/plugins/kookma/shiraz/templates/body/due-date",
            "created": "20200206191120454",
            "modified": "20200323093720165",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "due-date",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define showCell() <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"inline\" />\n\\define showCell_Locked() <span style=\"font-style:oblique;\"><<showCell>></span>\n\\define edit_date() <$edit-text tag=input type=date tiddler=<<currentRecord>> field=<<currentColumn>>/>\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<edit_date>> >\n <<showCell_Locked>>\n</$list>\n</$reveal>\n\n<!-- Part of Task Manager\n  this template ALWAYS works on fields -->"
        },
        "$:/plugins/kookma/shiraz/templates/body/email": {
            "title": "$:/plugins/kookma/shiraz/templates/body/email",
            "created": "20191202210913762",
            "modified": "20200323093720171",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "email",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define display-email-address()\n<a class=\"tc-tiddlylink-external\" href=\"mailto:$(currentRecord)$!!$(currentColumn)$\" rel=\"noopener noreferrer\" target=\"_blank\">\n<<showCell>>\n</a>\n\\end\n\\define display-email-address_Locked()\n<a class=\"tc-tiddlylink-external\" href=\"mailto:$(currentRecord)$!!$(currentColumn)$\" rel=\"noopener noreferrer\" target=\"_blank\">\n<<showCell_Locked>>\n</a>\n\\end\n\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<display-email-address>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<editCell>> >\n<<display-email-address_Locked>>\n</$list>\n</$reveal>\n\n"
        },
        "$:/plugins/kookma/shiraz/templates/body/priority": {
            "title": "$:/plugins/kookma/shiraz/templates/body/priority",
            "created": "20200206183739894",
            "modified": "20200323093720180",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "priority",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define circle(color, fill)\n<svg width=\"12\" height=\"12\" >\n<circle cx=\"6\" cy=\"6\" r=\"5\" stroke=<<__color__>>  fill=<<__fill__>> stroke-width=\"1\"/>\n</svg>\n\\end\n\n\\define showCell()\n<$list filter=\"[<currentRecord>get<currentColumn>match[very high]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#dc3545\" fill=\"#f8d7da\"/>\n</$list>\n<$list filter=\"[<currentRecord>get<currentColumn>match[high]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#ff8c00\" fill=\"#fff3cd\"/>\n</$list>\n<$list filter=\"[<currentRecord>get<currentColumn>match[normal]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#17a2b8\" fill=\"#d1ecf1\"/>\n</$list>\n<$list filter=\"[<currentRecord>get<currentColumn>match[low]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#007bff\" fill=\"#cce5ff\"/>\n</$list>\n<$list filter=\"[<currentRecord>get<currentColumn>match[very low]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#6c757d\" fill=\"#e2e3e5\"/>\n</$list>\n&nbsp; <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"inline\" />\n\\end\n\\define showCell_Locked() <span style=\"font-style:oblique;\"><<showCell>></span>\n\n\\define select_priority()\n<$select tiddler=<<currentRecord>> field=<<currentColumn>> default=\"\"><option value=''>Select...</option><option value='very high'>very high</option><option value='high'>high</option><option value='normal'>normal</option><option value='low'>low</option><option value='very low'>very low</option><option value=''>no priority</option></$select>\n\\end\n\n\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<select_priority>>   >\n <<showCell_Locked>>\n</$list>\n<$reveal>\n\n<!-- Part of Task Manager\n  this template ALWAYS works on fields -->"
        },
        "$:/plugins/kookma/shiraz/templates/body/status": {
            "title": "$:/plugins/kookma/shiraz/templates/body/status",
            "created": "20200206171854272",
            "modified": "20200323093720186",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "status",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define showCell() <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"inline\" />\n\\define showCell_Locked() <span style=\"font-style:oblique;\"><<showCell>></span>\n\\define select_status()\n<$select tiddler=<<currentRecord>> field=<<currentColumn>> default=\"\"><option value=''>Select...</option><option value='open'>open</option><option value='not started'>not started</option><option value='in-work'>in-work</option><option value='on-hold'>on-hold</option><option value='complete'>complete</option><option value='rework'>rework</option><option value='closed'>closed</option></$select>\n\\end\n\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<select_status>>   >\n <<showCell_Locked>>\n</$list>\n</$reveal>\n\n<!-- Part of Task Manager\n  this template ALWAYS works on fields -->"
        },
        "$:/plugins/kookma/shiraz/templates/body/tags": {
            "title": "$:/plugins/kookma/shiraz/templates/body/tags",
            "created": "20191125193831767",
            "modified": "20200323093720193",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "tags",
            "type": "text/vnd.tiddlywiki",
            "text": "<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<$list filter=\"[title<currentRecord>tags[]]\">\n<span class=\"tc-tag-list-item\" >\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<tempTagPopup>> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<tempTagPopup>> style=\"position:absolute; z-index:9999;\" type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n</$list>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<editCell>> >\n <<showCell_Locked>>\n</$list>\n</$reveal>"
        },
        "$:/plugins/kookma/shiraz/templates/body/tbl-checkbox": {
            "title": "$:/plugins/kookma/shiraz/templates/body/tbl-checkbox",
            "created": "20200206150644636",
            "modified": "20200323093720199",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "tbl-checkbox",
            "type": "text/vnd.tiddlywiki",
            "text": "<td style=\"width:28px;text-align:center;\">\n<$checkbox tiddler=<<currentRecord>> tag=\"done\"\ncheckactions=\"\"\"<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> $value=\"color:#155724;background-color:#d4edda;\" /><$action-setfield $tiddler=<<currentRecord>> status=\"complete\"/>\"\"\"\nuncheckactions=\"\"\"<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> /><$action-setfield $tiddler=<<currentRecord>> status=\"rework\"/>\"\"\" />\n</td>"
        },
        "$:/plugins/kookma/shiraz/templates/body/tbl-delete": {
            "title": "$:/plugins/kookma/shiraz/templates/body/tbl-delete",
            "created": "20170212101814663",
            "modified": "20200323093720205",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "tbl-delete",
            "type": "text/vnd.tiddlywiki",
            "text": "<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore>\n<td style=\"width:28px;text-align:center;\">\n  <$button class=\"tc-btn-invisible\">\n    <$action-sendmessage $message=\"tm-delete-tiddler\" $param=<<currentRecord>>/>\n    {{$:/core/images/delete-button}}\n  </$button>\n</td>\n</$list>"
        },
        "$:/plugins/kookma/shiraz/templates/body/tbl-expand": {
            "title": "$:/plugins/kookma/shiraz/templates/body/tbl-expand",
            "created": "20200209072642825",
            "modified": "20200323093720213",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "tbl-expand",
            "type": "text/vnd.tiddlywiki",
            "text": "<$reveal type=\"nomatch\" state=<<tempPathExpand>> text=\"show\" tag=\"td\">\n  <$button class=\"tc-btn-invisible tc-tiddlylink\">\n    <$action-setfield $tiddler=<<tempTableExpand>> $index=<<currentRecord>> $value=\"show\" />\n    {{$:/core/images/right-arrow}}\n  </$button>\n</$reveal>\n<$reveal type=\"match\" state=<<tempPathExpand>> text=\"show\" tag=\"td\">\n  <$button class=\"tc-btn-invisible tc-tiddlylink\">\n    <$action-setfield $tiddler=<<tempTableExpand>> $index=<<currentRecord>>/>\n    {{$:/core/images/down-arrow}}\n  </$button>\n</$reveal>"
        },
        "$:/plugins/kookma/shiraz/templates/body/title": {
            "title": "$:/plugins/kookma/shiraz/templates/body/title",
            "created": "20170128100357203",
            "modified": "20200323093720218",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "title",
            "type": "text/vnd.tiddlywiki",
            "text": "<td>\n<$link to=<<currentRecord>>><$text text=<<currentRecord>> /></$link>\n</td>"
        },
        "$:/plugins/kookma/shiraz/templates/body/type": {
            "title": "$:/plugins/kookma/shiraz/templates/body/type",
            "created": "20200210063953546",
            "modified": "20200323093720227",
            "tags": "$:/tags/Table/BodyTemplate",
            "tbl-column-list": "type",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define showCell() <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"inline\" />\n<td>\n<<showCell>>\n</td>\n<!-- Note that the showCell here overrides the global showCell from table-dynamic macro -->"
        },
        "$:/plugins/kookma/shiraz/templates/footer/default": {
            "title": "$:/plugins/kookma/shiraz/templates/footer/default",
            "created": "20200130171717175",
            "modified": "20200323093720234",
            "tags": "$:/tags/Table/FooterTemplate",
            "type": "text/vnd.tiddlywiki",
            "text": "<$vars idx={{{ [<currentColumn>addsuffix[/]addsuffix<footerRow>] }}}>\n<$set name=getFieldOrIndex filter=\"[<fieldOrIndex>]-index\" value=\"get\" emptyValue=\"getindex\">\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<$transclude tiddler=<<tempTableFooter>> index=<<idx>> mode=\"inline\" />\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<$edit-text tiddler=<<tempTableFooter>> index=<<idx>> tag=\"input\" class=\"shiraz-dtable-textbox\"/>\n</$reveal>\n</$set>\n</$vars>"
        },
        "$:/plugins/kookma/shiraz/templates/footer/tbl-delete": {
            "title": "$:/plugins/kookma/shiraz/templates/footer/tbl-delete",
            "created": "20200130174835714",
            "modified": "20200323093720243",
            "tags": "$:/tags/Table/FooterTemplate",
            "tbl-column-list": "tbl-delete",
            "type": "text/vnd.tiddlywiki",
            "text": "<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore>\n<td></td>\n</$list>"
        },
        "$:/plugins/kookma/shiraz/templates/footer/tbl-expand": {
            "title": "$:/plugins/kookma/shiraz/templates/footer/tbl-expand",
            "created": "20200130173518861",
            "modified": "20200323093720250",
            "tags": "$:/tags/Table/FooterTemplate",
            "tbl-column-list": "tbl-expand",
            "type": "text/vnd.tiddlywiki",
            "text": "<td style=\"width:28px;\"></td>"
        },
        "$:/plugins/kookma/shiraz/templates/header/default": {
            "title": "$:/plugins/kookma/shiraz/templates/header/default",
            "created": "20170205223914688",
            "modified": "20200323093720254",
            "tags": "$:/tags/Table/HeaderTemplate",
            "type": "text/vnd.tiddlywiki",
            "text": "<$reveal type=\"nomatch\" stateTitle=<<tempTableSort>> stateIndex=\"sortIndex\" text=<<currentColumn>> tag=\"th\">\n<$button setTitle=<<tempTableSort>> setIndex=\"sortIndex\" setTo=<<currentColumn>> class=\"tc-btn-invisible tc-tiddlylink\" >\n<$action-setfield $tiddler=<<tempTableSort>> $index=\"hasnegate\" $value=\"false\"/>\n<$action-setfield $tiddler=<<tempTableSort>> $index=\"negate\" $value=\"\"/>\n<span style=\"text-transform: capitalize;\"><<currentColumn>></span>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableSort>> stateIndex=\"sortIndex\" text=<<currentColumn>> tag=\"th\">\n<$list filter=\"[<tempTableSort>getindex[hasnegate]match[false]]\" variable=ignore><!--set negate for sort-->\n<$button setTitle=<<tempTableSort>> setIndex=\"hasnegate\" setTo=\"true\" class=\"tbl-sort-svg tc-btn-invisible tc-tiddlylink\" >\n<$action-setfield $tiddler=<<tempTableSort>> $index=\"negate\" $value=\"!\"/>\n<span style=\"text-transform: capitalize;\"><<currentColumn>></span> {{$:/core/images/down-arrow}}\n</$button>\n</$list>\n<$list filter=\"[<tempTableSort>getindex[hasnegate]match[true]]\" variable=ignore><!--remove negate for sort-->\n<$button setTitle=<<tempTableSort>> setIndex=\"hasnegate\" setTo=\"false\" class=\"tbl-sort-svg tc-btn-invisible tc-tiddlylink\" >\n<$action-setfield $tiddler=<<tempTableSort>> $index=\"negate\" $value=\"\"/>\n<span style=\"text-transform: capitalize;\"><<currentColumn>></span> {{$:/core/images/up-arrow}}\n</$button>\n</$list>\n</$reveal>\n"
        },
        "$:/plugins/kookma/shiraz/templates/header/tbl-checkbox": {
            "title": "$:/plugins/kookma/shiraz/templates/header/tbl-checkbox",
            "created": "20200206151157578",
            "modified": "20200323093720262",
            "tags": "$:/tags/Table/HeaderTemplate",
            "tbl-column-list": "tbl-checkbox",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define chk-checkactions()\n<$list filter=\"[subfilter<inputFilter>]\" variable=\"currentRecord\">\n<$action-listops $tiddler=<<currentRecord>> $tags=\"+[append[done]]\" />\n<$action-setfield $tiddler=<<currentRecord>> status=\"complete\"/>\n<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> $value=\"color:#155724;background-color:#d4edda;\" />\n</$list>\n\\end\n\\define chk-uncheckactions()\n<$list filter=\"[subfilter<inputFilter>]\" variable=\"currentRecord\">\n<$action-listops $tiddler=<<currentRecord>> $tags=\"+[remove[done]]\" />\n<$action-setfield $tiddler=<<currentRecord>> status=\"rework\"/>\n<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> />\n</$list>\n\\end\n\n<th style=\"width:28px;\">\n<$checkbox checkactions=<<chk-checkactions>> uncheckactions=<<chk-uncheckactions>> />\n</th>"
        },
        "$:/plugins/kookma/shiraz/templates/header/tbl-delete": {
            "title": "$:/plugins/kookma/shiraz/templates/header/tbl-delete",
            "created": "20170212102107998",
            "modified": "20200323093720268",
            "tags": "$:/tags/Table/HeaderTemplate",
            "tbl-column-list": "tbl-delete",
            "type": "text/vnd.tiddlywiki",
            "text": "<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore>\n<th style=\"width:28px;text-align:center;\">\n  <span>\n  <$button class=\"tc-btn-invisible\">\n    <$action-setfield $tiddler=\"$:/temp/tables/delete-all\" text=<<currentTable>>/>\n    {{$:/core/images/delete-button}}\n  </$button>\n  </span>\n</th>\n</$list>"
        },
        "$:/plugins/kookma/shiraz/templates/header/tbl-expand": {
            "title": "$:/plugins/kookma/shiraz/templates/header/tbl-expand",
            "created": "20200209072944418",
            "modified": "20200323093720276",
            "tags": "$:/tags/Table/HeaderTemplate",
            "tbl-column-list": "tbl-expand",
            "type": "text/vnd.tiddlywiki",
            "text": "<th style=\"width:28px;\">\n  <$list filter=\"[<tempTableExpand>indexes[]limit[1]]\">\n      <$button class=\"tc-btn-invisible\">{{$:/core/images/fold-button}}\n        <$action-setfield $tiddler=<<tempTableExpand>> text=\"\"/>\n      </$button>\n  </$list>\n</th>"
        },
        "$:/plugins/kookma/shiraz/ui/ControlPanel/Settings": {
            "title": "$:/plugins/kookma/shiraz/ui/ControlPanel/Settings",
            "caption": "Shiraz",
            "created": "20191018054657077",
            "list-after": "$:/core/ui/ControlPanel/Settings/TiddlyWiki",
            "modified": "20200323093720283",
            "tags": "$:/tags/ControlPanel/SettingsTab $:/tags/MoreSideBar",
            "type": "text/vnd.tiddlywiki",
            "text": "These settings let you customise the behaviour of Shiraz plugin.\n\n---\n\n;Show Shiraz setting in more sidebar\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/ui/ControlPanel/Settings\" tag=\"$:/tags/MoreSideBar\"> Show setting in more sidebar</$checkbox>\n\n;Options\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/multicols/storyriver\" tag=\"$:/tags/Stylesheet\"> Multicolumn story river</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/misc/ui-buttons\" tag=\"$:/tags/Stylesheet\"> Colorful UI buttons</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/misc/tiddler-button-visibility\" tag=\"$:/tags/Stylesheet\"> Tiddler visibility on mouse hover</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/misc/edit-buttons\" tag=\"$:/tags/Stylesheet\"> Traffic lights for edit toolbar buttons</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/colorful-sidebar-tab\" tag=\"$:/tags/Stylesheet\"> Colorify sidebar tabs</$checkbox>\n\n\n\n\n"
        },
        "$:/plugins/kookma/shiraz/viewtemplates/sticky-footer": {
            "title": "$:/plugins/kookma/shiraz/viewtemplates/sticky-footer",
            "created": "20180907071314793",
            "modified": "20200323125207226",
            "tags": "$:/tags/ViewTemplate",
            "type": "text/vnd.tiddlywiki",
            "text": "<$list filter=\"[all[current]has[sticky-footer]]\">\n<div class=\"sticky-footer\">\n{{!!sticky-footer}}\n</div>\n</$list>\n"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/kookma/todolist/history": {
            "title": "$:/plugins/kookma/todolist/history",
            "created": "20200331053532911",
            "modified": "20200405054217219",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "Full change log  https://kookma.github.io/TW-???/#ChangeLog\n\n* ''1.2.1'' -- 2020.04.05 -- minor issue in drag and drop fixed\n* ''1.2.0'' -- 2020.04.03 -- new features, item reording using drag and drop\n* ''1.1.0'' -- 2020.03.31 -- bugs fixed, moved to new Thirdflow development platform\n* ''1.0.0'' -- 2019.07.22 -- first stable release\n"
        },
        "$:/plugins/kookma/todolist/images/archive.svg": {
            "title": "$:/plugins/kookma/todolist/images/archive.svg",
            "created": "20190716095419117",
            "modified": "20200331065952093",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg class=\"tc-image-file-archive tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 384 512\"><path d=\"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"/></svg>"
        },
        "$:/plugins/kookma/todolist/images/bug.svg": {
            "title": "$:/plugins/kookma/todolist/images/bug.svg",
            "created": "20190714051837328",
            "modified": "20200331065952099",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg class=\"tc-image-bug tc-image-button\" width=\"1em\" height=\"1em\" viewBox=\"0 0 512 512\"><path d=\"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z\"/></svg>"
        },
        "$:/plugins/kookma/todolist/images/bullhorn": {
            "title": "$:/plugins/kookma/todolist/images/bullhorn",
            "caption": "bullhorn (Solid)",
            "created": "20190721150354198",
            "modified": "20200331065952107",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg class=\"tc-image-bullhorn tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 576 512\"><path d=\"M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z\"/></svg>"
        },
        "$:/plugins/kookma/todolist/images/lightbulb": {
            "title": "$:/plugins/kookma/todolist/images/lightbulb",
            "caption": "lightbulb (Regular)",
            "created": "20190721150413950",
            "modified": "20200331065952116",
            "tags": "$:/tags/Image [[Font Awesome 5]] Regular",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg class=\"tc-image-lightbulb tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 352 512\"><path d=\"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"/></svg>"
        },
        "$:/plugins/kookma/todolist/images/list-alt.svg": {
            "title": "$:/plugins/kookma/todolist/images/list-alt.svg",
            "created": "20190716095433587",
            "modified": "20200331065952123",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg class=\"tc-image-list-alt tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 512 512\"><path d=\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"/></svg>"
        },
        "$:/plugins/kookma/todolist/images/share-alt": {
            "title": "$:/plugins/kookma/todolist/images/share-alt",
            "caption": "share-alt (Solid)",
            "created": "20190721150321438",
            "modified": "20200331065952131",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg class=\"tc-image-share-alt tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 448 512\"><path d=\"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z\"/></svg>"
        },
        "$:/plugins/kookma/todolist/images/times.svg": {
            "title": "$:/plugins/kookma/todolist/images/times.svg",
            "created": "20190716033811299",
            "modified": "20200331065952137",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg class=\"tc-image-times tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 352 512\"><path d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"/></svg>"
        },
        "$:/plugins/kookma/todolist/images/wrench.svg": {
            "title": "$:/plugins/kookma/todolist/images/wrench.svg",
            "created": "20190714052925874",
            "modified": "20200331065952142",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "<svg class=\"tc-image-wrench tc-image-button\" width=\"1em\" height=\"1em\" viewBox=\"0 0 512 512\"><path d=\"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"/></svg>"
        },
        "$:/plugins/kookma/todolist/license": {
            "title": "$:/plugins/kookma/todolist/license",
            "created": "20200331053532912",
            "modified": "20200331055909558",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "Distributed under an MIT license.\n\nCopyright (c) 2019-2020 [[Mohammad Rahmani|https://github.com/kookma]]\n\n<<<\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n<<<"
        },
        "$:/plugins/kookma/todolist/macros/add-remove-list-item": {
            "title": "$:/plugins/kookma/todolist/macros/add-remove-list-item",
            "created": "20190718081952856",
            "modified": "20200402154453857",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-remove-item-from-list(targetTiddler, item)\n<$action-listops $tiddler=<<__targetTiddler__>>    $field=\"list\" $subfilter=\"+[remove[$item$]]\"/>\n\\end\n\n\\define todolist-add-item-to-list(targetTiddler, item)\n<$action-listops $tiddler=<<__targetTiddler__>> $field=\"list\" $subfilter=\"[[$item$]]+[putfirst[]]\"/>\n\\end\n"
        },
        "$:/plugins/kookma/todolist/macros/add-task": {
            "title": "$:/plugins/kookma/todolist/macros/add-task",
            "created": "20190715170540482",
            "modified": "20200402122702989",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-input-task()\n<$keyboard key=\"escape\" actions=<<todolist-cancel-action>>   >\n<$keyboard key=\"enter\"  actions=<<todolist-add-task-action>> >\n<$edit-text \n tiddler=<<stateTiddler>> \n index=\"itemtext\" \n tag=\"input\"\n class=\"kk-todolist-input-textbox\"\n placeholder=\"add new item\"\n default=\"\" minHeight=\"1em\" focus=\"yes\"\n />\n</$keyboard> \n</$keyboard> \n\\end\n \n\\define todolist-add-task()\n<$button class=\"tc-btn-invisible\" tooltip=\"Add new item\">\n\t{{$:/core/images/new-button}}\n\t<<todolist-add-task-action>>\n</$button>\n\\end\n\n\\define todolist-add-task-action()\n  <$list filter=\"[<stateTiddler>getindex[itemtext]!is[blank]]\" variable=ignor>\n\t<$set name=item value=<<now \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\">> >\n\t<$action-setfield \n\t $tiddler=<<taskTiddler>>\n\t $index=<<item>>\n\t $value={{{ [<stateTiddler>getindex[itemtext]] }}}\n\t/>\n\t<$action-setfield $tiddler=<<statusTiddler>> $index=<<item>> $value=\"undone\"\t/>\n\t<$action-setfield $tiddler=<<priorityTiddler>> $index=<<item>> $value=\"none\"\t/>\n  <$macrocall $name=\"todolist-add-item-to-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n\t</$set>\n\t<$action-setfield $tiddler=<<stateTiddler>> $index=\"itemtext\" $value=\"\"/>\n\t</$list>\n\\end\n\n\\define todolist-cancel-action()\n <$action-setfield $tiddler=<<stateTiddler>> $index=\"itemtext\" $value=\"\"/>\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/archive-operations": {
            "title": "$:/plugins/kookma/todolist/macros/archive-operations",
            "created": "20190719141644069",
            "modified": "20200402120458856",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-list-archived-items(nameSpace:\"\")\n<$vars\n archiveTiddler=\"\"\"$nameSpace$/archive\"\"\"\n priorityTiddler=\"\"\"$nameSpace$/priority\"\"\"\n>\n<$list filter=\"[<archiveTiddler>indexes[]!sort[]]\" variable=\"item\">\n<div class=\"kk-todolist-row\">\n  <div class=\"kk-todolist-delete\"><<todolist-delete-item>></div>\n\t<div class=\"kk-todolist-priority\"><<todolist-show-priority-level>></div>\n  <div class=\"kk-todolist-desc\">\n\t<span class=\"kk-todolist-date\">\n\t<$view tiddler=<<item>> field=\"title\" format=\"date\" template=\"mmm 0DD, YYYY 0hh:0mm\"/></span>\n\t<$transclude tiddler=<<archiveTiddler>> index=<<item>>/>\n\t</div>\n</div>\n</$list>\n</$vars>\n\\end\n\n\\define todolist-show-priority-level()\n<$button class=\"tc-btn-invisible\" tooltip=\"Prority of archived items cannot be changed\">\n<$macrocall $name=\"disp-priority-badge\" color={{{[<priorityTiddler>getindex<item>]}}} />\n</$button>\n\\end\n\n\\define todolist-delete-item()\n<$button class=\"tc-btn-invisible\">\n{{$:/plugins/kookma/todolist/images/times.svg}}\n<$action-setfield $tiddler=<<archiveTiddler>>  $index=<<item>> />\n<$action-setfield $tiddler=<<priorityTiddler>> $index=<<item>> />\n</$button>\n\\end\n\n\\define todolist-empty-archived-tiddler(nameSpace)\n<$vars\n archiveTiddler=\"\"\"$nameSpace$/archive\"\"\"\n priorityTiddler=\"\"\"$nameSpace$/priority\"\"\"\n>\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"Empty archive\"> {{$:/core/images/delete-button}} Delete archive\n<$list filter=\"[<archiveTiddler>indexes[]!sort[]]\" variable=\"item\">\n <$action-setfield $tiddler=<<archiveTiddler>>  $index=<<item>> />\n <$action-setfield $tiddler=<<priorityTiddler>> $index=<<item>> />\n</$list>\n</$button>\n</$vars>\n\\end\t "
        },
        "$:/plugins/kookma/todolist/macros/bulk-operation": {
            "title": "$:/plugins/kookma/todolist/macros/bulk-operation",
            "created": "20190716083959795",
            "modified": "20200403122124607",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-all-tasks-unfinished()\n<span style=\"font-size:smaller\">\n<$list filter=\"[<taskTiddler>indexes[]limit[1]]\" emptyMessage=\"You're all done\" variable=ignore>\n<$count filter=\"[<taskTiddler>indexes[]]\"/> ITEMS\n</$list>\n</span>\n\\end\n\n\\define todolist-mark-all-button()\n<$reveal type=\"nomatch\" stateTitle=<<stateTiddler>> stateIndex=\"markall\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Mark all items as done\" setTitle=<<stateTiddler>> setIndex=\"markall\" setTo=\"yes\">\n{{$:/core/images/save-button}}\n<<tdl-done-all>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"markall\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Mark all items as undone\" setTitle=<<stateTiddler>> setIndex=\"markall\" setTo=\"no\">\n{{$:/core/images/refresh-button}}\n<<tdl-undone-all>>\n</$button>\n</$reveal>\n\\end\n\n\\define tdl-done-all()\n<$list filter=\"[<taskTiddler>indexes[]]\" variable=\"item\">\n<$action-setfield \n$tiddler=<<doneTiddler>>\n$index=<<item>>\n$value={{{ [<taskTiddler>getindex<item>] }}}\n/>\n<$action-setfield \n$tiddler=<<statusTiddler>>\n$index=<<item>>\n$value=\"done\"\n/>\n<$macrocall $name=\"todolist-remove-item-from-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n<$action-setfield $tiddler=<<taskTiddler>> $index=<<item>> />\n</$list>\n\\end\n\n\\define tdl-undone-all()\n<$list filter=\"[<doneTiddler>indexes[]]\" variable=\"item\">\n<$action-setfield \n$tiddler=<<taskTiddler>>\n$index=<<item>>\n$value={{{ [<doneTiddler>getindex<item>] }}}\n/>\n<$action-setfield \n$tiddler=<<statusTiddler>>\n$index=<<item>>\n$value=\"undone\"\n/>\n<$macrocall $name=\"todolist-add-item-to-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n<$action-setfield $tiddler=<<doneTiddler>> $index=<<item>> />\n</$list>\n\\end\n\n\n\\define todolist-archive-completed-items()\n<$button class=\"tc-btn-invisible\" tooltip=\"Archive done items\">\n{{$:/plugins/kookma/todolist/images/archive.svg}}\n<$list filter=\"[<doneTiddler>indexes[]]\" variable=\"item\">\n<$action-setfield \n$tiddler=<<archiveTiddler>>\n$index=<<item>>\n$value={{{ [<doneTiddler>getindex<item>] }}}\n/>\n<$action-setfield $tiddler=<<statusTiddler>> $index=<<item>> />\n<$action-setfield $tiddler=<<doneTiddler>> $index=<<item>> />\n<$action-setfield $tiddler=<<stateTiddler>> $index=\"markall\" $value=\"no\"/>\n</$list>\n</$button>\n\\end\n\n\\define todolist-display-archived-items()\n<$button class=\"tc-btn-invisible\" tooltip=\"Display archived items\"> {{$:/plugins/kookma/todolist/images/list-alt.svg}}\n\n<$action-setfield  \n$tiddler=\"$:/plugins/kookma/todolist/template/archive-list\"\ntitle=<<displayArchivedTiddler>>    />  \n<$action-setfield  $tiddler=<<displayArchivedTiddler>>\n$field=\"td-namespace\" $value=<<nameSpace>>  />\n\n<$action-navigate $to=<<displayArchivedTiddler>> $scroll=\"yes\"/>\n</$button>\n\\end\t"
        },
        "$:/plugins/kookma/todolist/macros/category": {
            "title": "$:/plugins/kookma/todolist/macros/category",
            "created": "20190714040123984",
            "modified": "20200331184650454",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define high(text) \n<span style=\"padding-left:3px;color:#cd5360;\">$text$</span>\n\\end\n\n\\define normal(text) \n<span style=\"color:#286da8;\">$text$</span>\n\\end\n\n\\define low(text) \n<span style=\"color:#b37d4e;\">$text$</span>\n\\end\n\n\\define fixme(text)\n<span class=\"kk-todolist-category-c1\">{{$:/plugins/kookma/todolist/images/wrench.svg}} $text$</span>\n\\end\n\n\\define bug(text)\n<span class=\"kk-todolist-category-c1\">{{$:/plugins/kookma/todolist/images/bug.svg}} $text$</span>\n\\end\n\n\\define horn(text)\n<span class=\"kk-todolist-category-c2\">{{$:/plugins/kookma/todolist/images/bullhorn}} $text$</span>\n\\end\n\n\\define tip(text)\n<span class=\"kk-todolist-category-c2\">{{$:/plugins/kookma/todolist/images/lightbulb}} $text$</span>\n\\end\n\n\\define share(text)\n<span class=\"kk-todolist-category-c2\">{{$:/plugins/kookma/todolist/images/share-alt}} $text$</span>\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/confirm-delete": {
            "title": "$:/plugins/kookma/todolist/macros/confirm-delete",
            "created": "20190721041511697",
            "modified": "20200331172725431",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-confirm-delete(\nbtnLabel:\"Delete these tiddlers\", \nconfirmMessage:\"Are you sure you wish to delete\", \nstateTiddler:\"\", \ncountFilter:\"\", \nactionMacro:\"\")\n\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"Empty archive\" popup=<<qualify \"\"\"$stateTiddler$\"\"\">> > {{$:/core/images/delete-button}} $btnLabel$\n</$button>\n\n<$reveal state=<<qualify \"\"\"$stateTiddler$\"\"\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=<<__countFilter__>> />\"\"\">\n$confirmMessage$ <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"Empty archive\"\nactions=<<__actionMacro__>> > \n{{$:/core/images/delete-button}} Delete all?\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/delete-task": {
            "title": "$:/plugins/kookma/todolist/macros/delete-task",
            "created": "20190715170610146",
            "modified": "20200402124703285",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-delete-task(dataTiddler)\n<$button class=\"tc-btn-invisible\">\n{{$:/plugins/kookma/todolist/images/times.svg}}\n<$action-setfield $tiddler=<<__dataTiddler__>> $index=<<item>> />\n<$action-setfield $tiddler=<<statusTiddler>> $index=<<item>> />\n<$action-setfield $tiddler=<<priorityTiddler>> $index=<<item>> />\n<!-- delete item from list field of task tiddler if it is an undone task! -->\n<$reveal type=\"match\" text=<<__dataTiddler__>> default=<<taskTiddler>> >\n<$macrocall $name=\"todolist-remove-item-from-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n</$reveal>\n</$button>\n\\end\n"
        },
        "$:/plugins/kookma/todolist/macros/done-task": {
            "title": "$:/plugins/kookma/todolist/macros/done-task",
            "created": "20190715170633034",
            "modified": "20200403094412340",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-done-task()\n<$checkbox \n tiddler=<<statusTiddler>> \n index=<<item>> \n checked=\"done\" \n unchecked=\"undone\" \n default=\"undone\"\n actions=<<tdl-done-actions>>\n>\n</$checkbox>\n\\end\n\n\\define tdl-done-actions()\n <$action-setfield \n  $tiddler=<<doneTiddler>>\n  $index=<<item>>\n  $value={{{ [<taskTiddler>getindex<item>] }}}\n  />\n<$macrocall $name=\"todolist-remove-item-from-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n<$action-setfield $tiddler=<<taskTiddler>> $index=<<item>> />\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/draggable-list": {
            "title": "$:/plugins/kookma/todolist/macros/draggable-list",
            "created": "20190718070116654",
            "modified": "20200405054450296",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define draggable-list(targetTiddler)\n\\whitespace trim\n<$vars targetTiddler=<<__targetTiddler__>> >\n<span class=\"kk-todolist-draggable-list\">\n<$list filter=\"[list<targetTiddler>]\" variable=\"item\">\n<$droppable actions=<<droppable-actions>>>\n    <div class=\"tc-droppable-placeholder kk-todolist-placeholder\"></div> \n    <$draggable tiddler=<<item>> >\n    <$transclude tiddler=\"$:/plugins/kookma/todolist/template/undone-task\" field=\"text\"/>\n    </$draggable>\n</$droppable>\n</$list>\n<<disp-empty-placeholder>>\n</span>\n</$vars>\n\\end\n\n\\define droppable-actions()\n<!-- the $list checks to prvents drag items not listed in this Todolist -->\n<$list filter=\"[<targetTiddler>contains<actionTiddler>]\" variable=ignore>\n<$action-listops $tiddler=<<targetTiddler>> $field=\"list\" $subfilter=\"+[insertbefore:item<actionTiddler>]\"/>\n</$list>\n\\end\n\n\\define xxdisp-empty-placeholder()\n<$tiddler tiddler=\"\"><!-- an empty place holder-->\n<$droppable actions=<<droppable-actions>> tag=\"div\">\n<div style=\"height:0.5em;\"/>\n<div class=\"tc-droppable-placeholder kk-todolist-placeholder\">&nbsp;</div>\n</$droppable>\n</$tiddler>\n\\end\n\n\n\\define disp-empty-placeholder()\n<$tiddler tiddler=\"\">\n<$droppable actions=<<droppable-actions>> tag=\"div\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder kk-todolist-placeholder\">\n&nbsp;\n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/explore-internalTids": {
            "title": "$:/plugins/kookma/todolist/macros/explore-internalTids",
            "created": "20190719143452217",
            "modified": "20200401214333824",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-fullbaseName() $(td-basePath)$$(baseName)$\n\n\\define todolist-explore-data-tiddlers()\n\n><b>Number of internal tiddlers found: <$count filter=\"[all[tiddlers+shadows]prefix<td-basePath>]\" /></b><br>\n><$macrocall $name=\"todolist-delete-all-tids\" filter=<<dataTids>> />\n\n<h2> Todo lists</h2>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<td-basePath>splitbefore[/]removesuffix[/]sort[]]\" variable=\"baseName\">\n\n<$set name=bsFilter value=\"[prefix<todolist-fullbaseName>sort[]]\">\n<h3><<todolist-delete-all-tids-baseName>> <<baseName>></h3>\n<blockquote>\n<$list filter=<<bsFilter>> variable=\"internalTid\" emptyMessage=\"//No internal data tiddlers is found!//\">\n<div class=\"kk-todolist-row\">\n<div class=\"kk-todolist-delete\"><$macrocall $name=\"todolist-delete-single-iternalTid\" /></div>\n<div class=\"kk-todolist-desc\"><$link to=<<internalTid>>><$view tiddler=<<internalTid>> field=\"title\"/></$link></div>\n</div>\n</$list>\n</blockquote>\n</$set>\n\n</$list>\n\n\\end\n\n\n\\define todolist-delete-single-iternalTid()\n<$button class=\"tc-btn-invisible tc-tiddlylink\">\n\t{{$:/plugins/kookma/todolist/images/times.svg}}\n\t<$action-deletetiddler $tiddler=<<internalTid>> />\n</$button>\n\\end\n\n\\define todolist-delete-all-tids-baseName()\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"Delete all data tiddlers in this Todo list?\"> {{$:/core/images/delete-button}}\n <$action-deletetiddler $filter=<<bsFilter>> />\n</$button>\n\\end\n\n\\define todolist-delete-all-tids()\n<!-- uses confirm delete macro to notify user when delete all internal tiddlers -->\n<$macrocall $name=\"todolist-confirm-delete\" \nbtnLabel=\"Delete all interal tiddlers?\"\nstateTiddler=\"temp\"\ncountFilter=\"[all[tiddlers+shadows]prefix<td-basePath>]\"\nactionMacro=<<action-empty-archive>>\n/>\n\\end\n\\define action-empty-archive()\n<$action-deletetiddler $filter=\"[all[tiddlers+shadows]prefix<td-basePath>]\" />\n\\end\t \n"
        },
        "$:/plugins/kookma/todolist/macros/nondraggable-list": {
            "title": "$:/plugins/kookma/todolist/macros/nondraggable-list",
            "created": "20200403105715811",
            "modified": "20200403105734826",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define disp-list-in-edit-mode()\n<$list filter=\"[list<taskTiddler>]\" variable=\"item\">\n <$transclude tiddler=\"$:/plugins/kookma/todolist/template/undone-task\" field=\"text\"/>\n</$list>\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/options": {
            "title": "$:/plugins/kookma/todolist/macros/options",
            "created": "20190716075847899",
            "modified": "20200403120956166",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-options-button()\n<$reveal type=\"nomatch\" stateTitle=<<stateTiddler>> stateIndex=\"option\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Show options\" setTitle=<<stateTiddler>> setIndex=\"option\" setTo=\"yes\">\n{{$:/core/images/options-button}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"option\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Hide options\" setTitle=<<stateTiddler>> setIndex=\"option\" setTo=\"no\">\n{{$:/core/images/options-button}}\n</$button>\n</$reveal>\n\\end\n\n\\define todolist-options-content()\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"option\" text=\"yes\">\n<<todolist-mark-all-button>> <<todolist-archive-completed-items>> <<todolist-display-archived-items>> <<todolist-toggle-timestamp>>&nbsp;<<todolist-all-tasks-unfinished>>\n</$reveal>\n\\end\n\n"
        },
        "$:/plugins/kookma/todolist/macros/priority": {
            "title": "$:/plugins/kookma/todolist/macros/priority",
            "created": "20190718170817837",
            "modified": "20200402105643019",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define categoryColors()\n<$list filter=\"[[$:/plugins/kookma/todolist/settings/colors]indexes[]sortby{$:/plugins/kookma/todolist/settings/colors!!list}]\" variable=color>\n<<color>>\n</$list>\n\\end\n\n\\define todolist-set-priority()\n<$wikify name=colors text=<<categoryColors>> >\n<$macrocall $name=\"todolist-cycle-color\" arraySet=<<colors>> stateTiddler=<<priorityTiddler>> stateIndex=<<item>> />\n</$wikify>\n\\end\n\n\\define disp-priority-badge(color)\n<svg width=\"12\" height=\"12\" >\n<circle cx=\"6\" cy=\"6\" r=\"5\"  stroke=\"grey\" fill=\"$color$\" />\n</svg>\n\\end\n\n\n\\define todolist-cycle-color(arraySet:\"\", stateTiddler:\"\", stateIndex:\"txt\")\n<$vars array=<<__arraySet__>>  currentColor={{{[<__stateTiddler__>getindex<__stateIndex__>]}}} >\n<$button class=\"tc-btn-invisible\" tooltip=\"Set priority level\">\n    <$macrocall $name=\"disp-priority-badge\" color=<<currentColor>> />\n    <$set\n      filter='[enlist<array>after<currentColor>]'\n      name=NextItem\n      emptyValue={{{[enlist<array>first[]]}}}\n    >\n    <$action-setfield\n     $tiddler=<<__stateTiddler__>>\n     $index=<<__stateIndex__>>\n     $value=<<NextItem>> />\n      </$set>\n  </$button>\n</$vars>\t\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/show-task": {
            "title": "$:/plugins/kookma/todolist/macros/show-task",
            "created": "20190715170652239",
            "modified": "20200403054629783",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-show-task()\n<$keyboard key=\"enter\" actions=<<tdl-kbd-action>> >\n<$list filter=\"[<stateTiddler>getindex[editview]match[edit]]\" \n  emptyMessage=\"\"\"<$macrocall $name=\"view-task\" dataTiddler=<<taskTiddler>> />\"\"\" >\n<$edit-text \n tiddler=<<taskTiddler>>\n index=<<item>>\n tag=input\n class=\"kk-todolist-input-textbox\"\n />\n</$list>\n</$keyboard>\n\\end\n\n\\define tdl-kbd-action()\n<$action-setfield $tiddler=<<stateTiddler>> $index=\"editview\" $value=\"view\" />\n\\end\n\n\\define view-task(dataTiddler)\n<$transclude tiddler=<<__dataTiddler__>> index=<<item>>/>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"timestamp\" text=\"show\">\n<span class=\"kk-todolist-date\"> <$view tiddler=<<item>> field=\"title\" format=\"date\" template=\"mmm 0DD, YYYY 0hh:0mm\"/></span>\n</$reveal>\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/toggle-edit-button": {
            "title": "$:/plugins/kookma/todolist/macros/toggle-edit-button",
            "created": "20190715171733677",
            "modified": "20200331172725488",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-toggle-edit-button()\n<$reveal type=\"nomatch\" stateTitle=<<stateTiddler>> stateIndex=\"editview\" text=\"edit\">\n<$button class=\"tc-btn-invisible\" setTitle=<<stateTiddler>> setIndex=\"editview\" setTo=\"edit\" tooltip=\"Edit items\">\n{{$:/core/images/edit-button}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"editview\"  text=\"edit\">\n<$button class=\"tc-btn-invisible\" setTitle=<<stateTiddler>> setIndex=\"editview\" setTo=\"view\" tooltip=\"Save items\">\n{{$:/core/images/done-button}}\n</$button>\n</$reveal>\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/toggle-timestamp": {
            "title": "$:/plugins/kookma/todolist/macros/toggle-timestamp",
            "created": "20190722034557852",
            "modified": "20200331172725496",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-toggle-timestamp()\n<$reveal type=\"nomatch\" stateTitle=<<stateTiddler>> stateIndex=\"timestamp\" text=\"show\">\n<$button class=\"tc-btn-invisible\" setTitle=<<stateTiddler>> setIndex=\"timestamp\" setTo=\"show\" tooltip=\"Show timestamp\">\n{{$:/core/images/timestamp-on}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"timestamp\"  text=\"show\">\n<$button class=\"tc-btn-invisible\" setTitle=<<stateTiddler>> setIndex=\"timestamp\" setTo=\"hide\" tooltip=\"Hide timestamp\">\n{{$:/core/images/timestamp-off}}\n</$button>\n</$reveal>\n\\end"
        },
        "$:/plugins/kookma/todolist/macros/ui": {
            "title": "$:/plugins/kookma/todolist/macros/ui",
            "created": "20190715170739310",
            "modified": "20200405061046677",
            "tags": "$:/tags/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define td-basePath() $:/todolist/data/\n\n\\define todolist-ui(caption:\"A plain todolist\", width:\"100%\" base:\"base\")\n\\import [all[tiddlers+shadows]tag[$:/tags/Todolist/Macro]!has[draft.of]]\n\\whitespace trim\n\n<$vars \n nameSpace=      \"$(td-basePath)$$base$\"\n stateTiddler=   \"$(td-basePath)$$base$/state\"\n taskTiddler=    \"$(td-basePath)$$base$/tasks\"\n doneTiddler=    \"$(td-basePath)$$base$/done\"\n statusTiddler=  \"$(td-basePath)$$base$/status\"\n priorityTiddler=\"$(td-basePath)$$base$/priority\"\n archiveTiddler= \"$(td-basePath)$$base$/archive\"\t\n displayArchivedTiddler=\"Todolist - Archived Items - $base$\"\n>\t\n<div class=\"kk-todolist-ui\" style=\"max-width:$width$;\">\n\n$caption$\n\n<div class=\"kk-todolist-header-ui\">\n<div class=\"kk-todolist-header-textbox\"><<todolist-input-task>></div>\n<div><<todolist-add-task>></div>\n<div><<todolist-toggle-edit-button>></div>\n<div><<todolist-options-button>></div>\n</div>\n<<todolist-options-content>>\n<!--\n<$list filter=\"[<taskTiddler>indexes[]!sort[]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/kookma/todolist/template/undone-task\" field=\"text\" />\n</$list>\n-->\n\n<!-- display undone items -->\n<$list filter=\"[<stateTiddler>getindex[editview]match[edit]]\" variable=ignore \n   emptyMessage=\"\"\"<$macrocall $name=\"draggable-list\" targetTiddler=<<taskTiddler>> />\"\"\">\n\t <<disp-list-in-edit-mode>>\n</$list>\n\n<div style=\"height:0.2em\"/>\n\n<!-- display done items -->\n<$list filter=\"[<doneTiddler>indexes[]!nsort[]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/kookma/todolist/template/done-task\" field=\"text\" />\n</$list>\n</div>\n</$vars>\n\\end\n"
        },
        "$:/plugins/kookma/todolist/macros/undone-task": {
            "title": "$:/plugins/kookma/todolist/macros/undone-task",
            "created": "20190715190405259",
            "modified": "20200403094425309",
            "tags": "$:/tags/Todolist/Macro",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define todolist-undone-task()\n<$checkbox \ntiddler=<<statusTiddler>> \nindex=<<item>> \nchecked=\"done\" \nunchecked=\"undone\" \ndefault=\"undone\"\nuncheckactions=<<tdl-undone-actions>>\n>\n</$checkbox>\n\\end\n\n\\define tdl-undone-actions()\n<$action-setfield \n$tiddler=<<taskTiddler>>\n$index=<<item>>\n$value={{{ [<doneTiddler>getindex<item>] }}}\n/><\n<$macrocall $name=\"todolist-add-item-to-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n<$action-setfield $tiddler=<<doneTiddler>> $index=<<item>> />\n\\end\n"
        },
        "$:/plugins/kookma/todolist/readme": {
            "title": "$:/plugins/kookma/todolist/readme",
            "created": "20200331053532913",
            "modified": "20200403133906816",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "; Todolist\nTodolist is a small pure wikitext plugin, contain all of the tasks that you need to complete on a given day. Todolist gives you the confidence that everything’s organized and accounted for, so you can make progress on the things that are important to you.\n\nYou can also make to-dos for major tasks like a project, a work assignment or an overall goal. Therefore, the overall purpose of creating a to-do is to remember tasks and prioritize them.\n\n\n;Code and demo\nFor learning plugin features, syntax, tutorial and examples see the plugin demo and code pages\n\n* Demo: https://kookma.github.io/TW-Todolist/\n* Code: https://github.com/kookma/TW-Todolist\n"
        },
        "$:/plugins/kookma/todolist/settings/colors": {
            "title": "$:/plugins/kookma/todolist/settings/colors",
            "text": "limegreen:50\nyellow: 70\norange: 80\nred: 100\npink: 90\nturquoise:40\ndodgerblue:30\nnone:10",
            "type": "application/x-tiddler-dictionary",
            "created": "20200402092725933",
            "list": "limegreen yellow orange red pink turquoise dodgerblue none",
            "modified": "20200403064915453",
            "tags": ""
        },
        "$:/plugins/kookma/todolist/settings/internals": {
            "title": "$:/plugins/kookma/todolist/settings/internals",
            "caption": "Todolist",
            "created": "20190716171918410",
            "modified": "20200401221146952",
            "tags": "$:/tags/ControlPanel/SettingsTab",
            "type": "text/vnd.tiddlywiki",
            "text": "\\import $:/plugins/kookma/todolist/macros/explore-internalTids\n\n!! Explore Todolist internal tiddlers\n<<<\nTodolist plugin uses some internal data tiddlers to create and manage todo list. Each todolist uses several data tiddlers. It is recommended after deleting a todolist, delete all data tiddlers which are not in use.\n<<<\n\n<<todolist-explore-data-tiddlers>>\n\n\n"
        },
        "$:/plugins/kookma/todolist/styles/drag-drop": {
            "title": "$:/plugins/kookma/todolist/styles/drag-drop",
            "text": "/*  drag and drop elements */\n.kk-todolist-placeholder { \n\tposition:relative; \n\theight:0; \t\n\tborder:0 !important; \n\tborder-bottom:1px dotted grey !important; \n}\n\n.kk-todolist-draggable-list .tc-draggable  { cursor: default !important; }\n",
            "created": "20200402192425421",
            "modified": "20200403112252654",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/todolist/styles/main.css": {
            "title": "$:/plugins/kookma/todolist/styles/main.css",
            "text": "/* Todolist main ui */\n.kk-todolist-ui{\n\tmin-width:320px; /* controls the minimum width of whole ui */\n}\n\n.kk-todolist-ui svg{\n\tfill:#aaaaaa;\n}\n\n\n.kk-todolist-ui button:hover svg {\n\tfill: #888888; \n}\n\n\n/* Todolist header ui */\n\n.kk-todolist-header-ui{\n\tdisplay: flex;\n\twidth: 100%;\n}\n.kk-todolist-header-ui > div{\n\tmargin: 2px;\n\tflex-grow:0;\t\n}\n.kk-todolist-header-ui .kk-todolist-header-textbox{\n\tflex-grow:1;\t\n}\n\n/* Todolist items ui */\n.kk-todolist-row{\n\tdisplay: flex;\t\n\twidth: 100%; /* for larg screen width> 960px*/\n\tflex-wrap: wrap;\n}\n\n.kk-todolist-row .kk-todolist-done,\n.kk-todolist-row .kk-todolist-priority,\n.kk-todolist-row .kk-todolist-delete {\n\tflex-grow:0; width:15px;\n}\n\n.kk-todolist-row .kk-todolist-desc{\n\tflex-grow:1; \n\twidth: calc(100% - 50px); \n\tpadding-left: 10px;\n\tpadding-right: 10px;\n}\n.kk-todolist-row .kk-todolist-delete {\n\topacity: 0.3;\n}\n\n.kk-todolist-row .kk-todolist-priority{\n\tmargin-right:5px;\n}\n.kk-todolist-row:hover {\n\tbackground-color: #f6f6f6;\n}\n.kk-todolist-row:hover .kk-todolist-delete {\n\topacity: 1;\n}",
            "created": "20190716040116074",
            "modified": "20200401084920801",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/todolist/styles/other.css": {
            "title": "$:/plugins/kookma/todolist/styles/other.css",
            "text": "/* completed item */\n\n.kk-todolist-item-done {\n\ttext-decoration: red line-through;\n\tfont-style: italic;\n}\n\n/* inputbox for add-task */\n.kk-todolist-input-textbox {\n\twidth:100%;\n\tpadding-left: 5px;\n\tborder: none;\n\tborder-bottom: 1px dotted grey;\n}\n\n.kk-todolist-input-textbox:focus {\n\toutline: none;\n\tborder-bottom: 1px solid #5778d8;\n\tbackground: transparent;\n}\n\n/* item timestamp */\n.kk-todolist-date {\n\tfont-size:0.8em;\n\tcolor:#c0c0c0;\n}\n\n/* Item categories */\n.kk-todolist-category-c1,\n.kk-todolist-category-c2 {\n\tpadding-right:3px;\n}\n\n.kk-todolist-category-c1 svg, \n.kk-todolist-category-c2 svg  {\n\topacity:0.70;\n\tvertical-align: middle;\n\twidth: 1em;\n\theight: 1em;\n}\n\n.kk-todolist-category-c1 svg{\n\tfill:#8B0000;\n}\n\n.kk-todolist-category-c2 svg{\n\tfill:#006400;\n}",
            "created": "20190715171940902",
            "modified": "20200401084923039",
            "tags": "$:/tags/Stylesheet",
            "type": "text/css"
        },
        "$:/plugins/kookma/todolist/template/archive-list": {
            "title": "$:/plugins/kookma/todolist/template/archive-list",
            "created": "20190716084402662",
            "modified": "20200401214548455",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "\\import $:/plugins/kookma/todolist/macros/archive-operations\n\\import $:/plugins/kookma/todolist/macros/priority\n\n!! Archive of completed (done) items\n\n<$macrocall $name=\"todolist-empty-archived-tiddler\" nameSpace={{!!td-namespace}} />\n\n> <$macrocall $name=\"todolist-list-archived-items\" nameSpace={{!!td-namespace}} />\n\n"
        },
        "$:/plugins/kookma/todolist/template/done-task": {
            "title": "$:/plugins/kookma/todolist/template/done-task",
            "created": "20200402102928801",
            "modified": "20200402103156109",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "<div class=\"kk-todolist-row\">\n  <div class=\"kk-todolist-done\"><<todolist-undone-task>></div>\n  <div class=\"kk-todolist-desc\"><span class=\"kk-todolist-item-done\">\n\t<$macrocall $name=\"view-task\" dataTiddler=<<doneTiddler>> /></span></div>\n\t<div class=\"kk-todolist-priority\"><<todolist-set-priority>></div>\n  <div class=\"kk-todolist-delete\"><$macrocall $name=\"todolist-delete-task\" dataTiddler=<<doneTiddler>>/></div>\n</div>\n"
        },
        "$:/plugins/kookma/todolist/template/undone-task": {
            "title": "$:/plugins/kookma/todolist/template/undone-task",
            "created": "20200402103007259",
            "modified": "20200402103542808",
            "tags": "",
            "type": "text/vnd.tiddlywiki",
            "text": "<div class=\"kk-todolist-row\">\n\t<div class=\"kk-todolist-done\"><<todolist-done-task>></div>\n\t<div class=\"kk-todolist-desc\"><<todolist-show-task>></div>\n\t<div class=\"kk-todolist-priority\"><<todolist-set-priority>></div>\n\t<div class=\"kk-todolist-delete\"><$macrocall $name=\"todolist-delete-task\" dataTiddler=<<taskTiddler>>/></div>\n</div>"
        }
    }
}
{"tiddlers":{"$:/plugins/kookma/utility/author/author-tools":{"title":"$:/plugins/kookma/utility/author/author-tools","created":"20190912082519234","key":"((author-tools))","modified":"20200316130508400","tags":"$:/tags/KeyboardShortcut","type":"text/vnd.tiddlywiki","text":"<$action-sendmessage $message=\"tm-modal\" $param=\"$:/plugins/kookma/utility/author/modal\" />"},"$:/plugins/kookma/utility/author/exclude-items":{"title":"$:/plugins/kookma/utility/author/exclude-items","caption":"Exclude items","created":"20200313124437263","modified":"20200322115519909","tags":"","type":"text/vnd.tiddlywiki","text":"\\define showItems(label, filter)\n<h2>$label$</h2>\n<$list filter=<<__filter__>> >\n<$checkbox tiddler=<<currentTiddler>> tag=\"excluded\"/>&nbsp;<$link to=<<currentTiddler>>><$text text=<<currentTiddler>>/></$link><br>\n</$list>\n\\end\n<!-- drag and drop -->\n<<showItems label:\"Disable drag and drop\" filter:\"[title[$:/config/DragAndDrop/Enable]]\">>\n<!-- side bar items -->\n<<showItems label:\"Sidebar tabs\" filter:\"[all[shadows+tiddlers]]+[tag[$:/tags/SideBar]]\">>\n<!-- viewtoolbar items -->\n<<showItems label:\"View toolbars\" filter:\"[all[shadows+tiddlers]prefix[$:/config/ViewToolbarButtons/Visibility]]\">>\n<!-- Page controls -->\n<<showItems label:\"Page controls\" filter:\"[all[shadows+tiddlers]prefix[$:/config/PageControlButtons/Visibility]]\">>\n<$list filter=\"\">"},"$:/plugins/kookma/utility/author/individual-items":{"title":"$:/plugins/kookma/utility/author/individual-items","caption":"Hide individual UI element","created":"20200313141533701","modified":"20200322130601872","tags":"","type":"text/vnd.tiddlywiki","text":"Select individual items to hide in reader mode.\n\n! Site options\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/site-title\" tag=\"$:/tags/SideBarSegment\"/> Show site title<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/site-subtitle\" tag=\"$:/tags/SideBarSegment\"/> Show site subtitle<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/page-controls\" tag=\"$:/tags/SideBarSegment\"/> Show page controls<br/>\n\n! Right sidebar elements\n<$checkbox tiddler=\"$:/core/ui/TopBar/menu\" tag=\"$:/tags/TopRightBar\"/> Show right sidebar toggle button<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/search\" tag=\"$:/tags/SideBarSegment\"/> Show search bar<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/tabs\" tag=\"$:/tags/SideBarSegment\"/> Show sidebar tabs<br/>\n<!-- reserved\n<$checkbox tiddler=\"$:/config/custom-segment\" tag=\"$:/tags/SideBarSegment\"/> Show custom menu -->\n\n! Sidebar tabs\n<$checkbox tiddler=\"$:/core/ui/SideBar/Open\" tag=\"$:/tags/SideBar\"/> Show Open tab<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBar/Recent\" tag=\"$:/tags/SideBar\"/> Show Recent tab<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBar/Tools\" tag=\"$:/tags/SideBar\"/> Show Tools tab<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBar/More\" tag=\"$:/tags/SideBar\"/> Show More tab<br/>\n\n! Tiddler options\n<$checkbox tiddler=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit\" field=text checked=show unchecked=hide default=show /> Show edit button in the tiddler toolbar<br/>\n<$checkbox tiddler=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close\" field=text checked=show unchecked=hide default=show /> Show close button in the tiddler toolbar<br/>\n<$checkbox tiddler=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions\" field=text checked=show unchecked=hide default=show /> Show more actions button in the tiddler toolbar\n\n! Other items\n<$checkbox tiddler=\"$:/config/DragAndDrop/Enable\" field=text checked=no unchecked=yes default=yes /> Disable page dropzone\n"},"$:/plugins/kookma/utility/author/modal":{"title":"$:/plugins/kookma/utility/author/modal","created":"20190912073245120","modified":"20200316124818329","tags":"","type":"text/vnd.tiddlywiki","text":"<<tabs tabsList:\"$:/plugins/kookma/utility/author/tools $:/plugins/kookma/utility/author/individual-items\" default:\"$:/plugins/kookma/utility/author/tools\">>"},"$:/plugins/kookma/utility/author/switch-author":{"title":"$:/plugins/kookma/utility/author/switch-author","created":"20200315203327216","key":"((switch-author))","modified":"20200316130423198","tags":"$:/tags/KeyboardShortcut","type":"text/vnd.tiddlywiki","text":"\\import $:/plugins/kookma/utility/author/tools\n\n<$reveal type=nomatch state=<<configTid>> text=\"\">\n<<unhide-elements>>\n</$reveal>\n<$reveal type=match state=<<configTid>> text=\"\" default=\"\">\n<<hide-elements>>\n</$reveal>"},"$:/plugins/kookma/utility/author/tools":{"title":"$:/plugins/kookma/utility/author/tools","caption":"Hide bulk of UI elements","created":"20200313111922410","modified":"20200322160845236","type":"text/vnd.tiddlywiki","text":"\\define configTid() $:/config/utility/author\n\\define add-remove-tag(msg:\"\", tag:\"\")\n<$fieldmangler><!--msg: tm-add-tag tm-remove-tag-->\n<$action-sendmessage $message=\"$msg$\" $param=\"$tag$\"/>\n</$fieldmangler>\n\\end\n\n\\define hide-elements()\n<!-- hide side bar items -->\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!tag[excluded]]\">\n<$action-setfield $tiddler=<<configTid>> $index=<<currentTiddler>> $value=\"$:/tags/SideBar\"/>\n<$macrocall $name=\"add-remove-tag\" msg=\"tm-remove-tag\" tag=\"$:/tags/SideBar\"/>\n</$list>\n<!-- hide view toolbars -->\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/ViewToolbarButtons/Visibility]!tag[excluded]]\">\n<$reveal type=match stateTitle=<<currentTiddler>> stateField=\"text\" text=\"show\">\n<$action-setfield $tiddler=<<configTid>> $index=<<currentTiddler>> $value=\"show\"/>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"text\" $value=\"hide\"/>\n</$reveal>\n</$list>\n<!-- hide page controls -->\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/PageControlButtons/Visibility]!tag[excluded]]\">\n<$reveal type=match stateTitle=<<currentTiddler>> stateField=\"text\" text=\"show\">\n<$action-setfield $tiddler=<<configTid>> $index=<<currentTiddler>> $value=\"show\"/>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"text\" $value=\"hide\"/>\n</$reveal>\n</$list>\n<!-- disable dropzone -->\n<$list filter=\"[[$:/config/DragAndDrop/Enable]!tag[excluded]]\" variable=ignore>\n<$action-setfield $tiddler=\"$:/config/DragAndDrop/Enable\" $field=\"text\" $value=\"no\"/>\n</$list>\n\\end\n\n\\define unhide-elements()\n<!-- Revert view toolbar and page controls -->\n<$list filter=\"[<configTid>indexes[]]\">\n<$reveal type=match stateTitle=<<configTid>> stateIndex=<<currentTiddler>> text=\"show\">\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"text\" $value=\"show\"/>\n</$reveal>\n</$list>\n<!-- Revert sidebar tabs -->\n<$list filter=\"[<configTid>indexes[]]\">\n<$reveal type=match stateTitle=<<configTid>> stateIndex=<<currentTiddler>> text=\"$:/tags/SideBar\">\n<$macrocall $name=\"add-remove-tag\" msg=\"tm-add-tag\" tag=\"$:/tags/SideBar\"/>\n</$reveal>\n</$list>\n<!-- delete the configTid -->\n<$action-deletetiddler $tiddler=<<configTid>>/>\n<!-- enable dropzone -->\n<$list filter=\"[[$:/config/DragAndDrop/Enable]!tag[excluded]]\" variable=ignore>\n<$action-deletetiddler $tiddler=\"$:/config/DragAndDrop/Enable\"/>\n</$list>\n\\end\n\n<$reveal type=nomatch state=<<configTid>> text=\"\">\n<$button actions=<<unhide-elements>> tooltip=\"Unhide UI elements\">Author mode</$button>\n</$reveal>\n<$reveal type=match state=<<configTid>> text=\"\" default=\"\">\n<$button actions=<<hide-elements>> tooltip=\"Hide UI elements\">Reader mode</$button>\n</$reveal>\n<small><ul>\n<li>Author mode: all UI elements are visible</li>\n<li>Redaer mode: all UI elements are hidden except those excluded</li>\n</ul></small>\n<$reveal type=match state=<<configTid>> text=\"\" default=\"\">\n<details>\n<summary>Select items to be excluded</summary>\n<div style=\"padding-left:30px\">{{$:/plugins/kookma/utility/author/exclude-items}}\n</div>\n</details>\n</$reveal>"},"$:/plugins/kookma/utility/config/reveal-tags":{"title":"$:/plugins/kookma/utility/config/reveal-tags","created":"20200123085623608","modified":"20200123200112351","tags":"","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/utility/history":{"title":"$:/plugins/kookma/utility/history","created":"20190930044127683","modified":"20200403062039433","tags":"","type":"text/vnd.tiddlywiki","text":"* ''2.1.2'' -- 2020.04.03 -- page control button issue fixed\n* ''2.1.1'' -- 2020.03.25 -- page control button improved and minor issues in css fixed\n* ''2.1.0'' -- 2020.03.23 -- new transclusion output for fields macro and disable drag and drop globally\n* ''2.0.0'' -- 2020.03.16 -- new author-reader mode switch\n* ''1.8.0'' -- 2020.03.13 -- admin panel added\n* ''1.7.0'' -- 2020.02.23 -- show tiddler raw content including the macros on demand\n* ''1.0.0'' -- 2019.10.13 -- stable release\n* ''0.5.0'' -- 2019.10.10 -- first beta release"},"$:/plugins/kookma/utility/images/view-fields.svg":{"title":"$:/plugins/kookma/utility/images/view-fields.svg","created":"20181010193706723","modified":"20200123200937680","tags":"","type":"text/vnd.tiddlywiki","text":"<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-image-button tc-image-view-fields\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 11H1v2h6v-2zm2.17-3.24L7.05 5.64 5.64 7.05l2.12 2.12 1.41-1.41zM13 1h-2v6h2V1zm5.36 6.05l-1.41-1.41-2.12 2.12 1.41 1.41 2.12-2.12zM17 11v2h6v-2h-6zm-5-2c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3zm2.83 7.24l2.12 2.12 1.41-1.41-2.12-2.12-1.41 1.41zm-9.19.71l1.41 1.41 2.12-2.12-1.41-1.41-2.12 2.12zM11 23h2v-6h-2v6z\"/></svg>"},"$:/plugins/kookma/utility/license":{"title":"$:/plugins/kookma/utility/license","created":"20190930044127683","modified":"20200325141629992","tags":"","type":"text/vnd.tiddlywiki","text":"Distributed under an MIT license.\n\nCopyright (c) 2019-2020 [[Mohammad Rahmani|https://github.com/kookma]]\n\n<<<\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n<<<\n"},"$:/plugins/kookma/utility/macro/doc-svg":{"title":"$:/plugins/kookma/utility/macro/doc-svg","created":"20190722141637145","modified":"20200123200937669","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define doc-svg(tiddler:\"\", color:\"\")\n<span class=\"kk-doc\" style=\"fill:$color$;\"><$transclude tiddler=<<__tiddler__>> /></span>\n\\end"},"$:/plugins/kookma/utility/macro/find":{"title":"$:/plugins/kookma/utility/macro/find","created":"20181213121411187","modified":"20200325124037811","tags":"$:/tags/Macro","type":"application/x-tiddler","text":"\\define find(text, begin, end, output:\"simple\", mode:\"all\")\n<$vars \n  fulltext=<<__text__>>\n  start=<<__begin__>>\n  stop=<<__end__>>\n  output-macro=<<__output__>>\n>\n<$list variable=\"p1\" filter=\"[<fulltext>splitbefore<start>]\">\n<$list variable=\"p2\" filter=\"[<fulltext>removeprefix<p1>]\">\n<$list variable=\"p3\" filter=\"[<p2>splitbefore<stop>removesuffix<stop>]\">\n<$macrocall $name=<<output-macro>> p=<<p3>> />\n<$reveal type=\"match\" text=\"all\" default=<<__mode__>> >\n<$macrocall $name=\"find\"\n  text={{{[<p2>removeprefix<p3>removeprefix<stop>]}}}\n  begin=<<start>>\n  end=<<stop>>\n  output=<<output-macro>>\n/>\n</$reveal>\n</$list>\n</$list>\n</$list>\n</$vars>\n\\end\n\n\\define simple(p)\n<$text text=<<__p__>> />\n\\end\n\n\\define simple-list(p)\n<li><$text text=<<__p__>>/></li>\n\\end\n\n\n!! Summary\n* `find` is a macro to search a text and find all snippets delimited between values of `begin` and `end` delimiters\n* `simple` is a macro used by `find` to show the output in a simple format\n* `simple-list` is a macro used by `find` to show the output in a simple list format. The ordered and unordered list\ncan be used if the call to `find` macro wrapped in a `div` with suitable type e.g `ol` or `ul`."},"$:/plugins/kookma/utility/macro/lorem":{"title":"$:/plugins/kookma/utility/macro/lorem","author":"Jeremy Ruston","created":"20190316214433792","description":"creates few paragraphs of dumy text","modified":"20200123200937645","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define .lorem(np:1)\n<$list filter=\"[range[1,$np$]]\" variable=null>\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n<$list filter=\"[<__np__>!match[1]]\"><p/></$list>\n</$list>\n\\end"},"$:/plugins/kookma/utility/macro/show-macro":{"title":"$:/plugins/kookma/utility/macro/show-macro","created":"20190317174614898","description":"This is a customized version of `show-macro` used in TW-Yazd. This macro is used to display the macro codes in specified place.","modified":"20200123200937632","tags":"$:/tags/Macro","type":"application/x-tiddler","text":"\\define disp-macro-contents(p)\n<pre>\\define<$text text=<<__p__>> />\\end</pre>\n\\end\n\n\\define show-macro(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$macrocall $name='find'\n  text={{{[<selected-tiddler>get[text]]}}}\n  begin=\"\\define\"\n  end=\"\\end\"\n  output=\"disp-macro-contents\"/>\n\\end"},"$:/plugins/kookma/utility/macro/simple-navigation":{"title":"$:/plugins/kookma/utility/macro/simple-navigation","created":"20190823062102008","description":"create a new tiddler tagged with $:/tags/Viewtemplate and call simple-navigation with desired tag","modified":"20200126151115600","tags":"$:/tags/Macro","type":"application/x-tiddler","text":"\\define simple-navigation(tag:\"demo\", class, close:\"no\")\n<$list filter=\"[all[current]tag[$tag$]]\">\n<div class=\"$class$\">\n<$list filter=\"[tag[$tag$]before<currentTiddler>]\" variable=\"prevTiddler\">\n<$button to=<<prevTiddler>> tooltip=<<prevTiddler>> class=\"tc-btn-invisible $class$\">previous\n<$list filter=\"[<__close__>match[yes]]\" variable=ignore><$action-sendmessage $message=\"tm-close-tiddler\" $param=<<currentTiddler>>/></$list>\n</$button>\n</$list>\n<$list filter=\"[tag[$tag$]after<currentTiddler>] [tag[$tag$]before<currentTiddler>] +[count[]] -1\" variable=ignore>|</$list>\n<$list filter=\"[tag[$tag$]after<currentTiddler>]\" variable=\"nextTiddler\">\n<$button to=<<nextTiddler>> tooltip=<<nextTiddler>> class=\"tc-btn-invisible $class$\">next\n<$list filter=\"[<__close__>match[yes]]\" variable=ignore><$action-sendmessage $message=\"tm-close-tiddler\" $param=<<currentTiddler>>/></$list>\n</$button>\n</$list>\n</div>\n</$list>\n\\end"},"$:/plugins/kookma/utility/macro/transclusion":{"title":"$:/plugins/kookma/utility/macro/transclusion","created":"20190930050545887","modified":"20200324201449425","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define code(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$codeblock language={{{[<selected-tiddler>get[type]]}}} code={{{[<selected-tiddler>get[text]]}}}/>\n</$set>\n\\end\n\n\\define code-link(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$link to=<<selected-tiddler>>/>\n<$codeblock language={{{[<selected-tiddler>get[type]]}}} code={{{[<selected-tiddler>get[text]]}}}/>\n</$set>\n\\end\n\n\\define content(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$link to=<<selected-tiddler>>/>\n<$transclude tiddler=<<selected-tiddler>> mode=\"block\"/>\n</$set>\n\\end\n\n\\define fields(tiddler)\n<style>\n/*Borderless table*/\n.kk-utility-tbl-borderless, \n.kk-utility-tbl-borderless tr,\n.kk-utility-tbl-borderless td{border:0;}\n</style>\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$link to=<<selected-tiddler>>/>\n<$list filter='[<selected-tiddler>fields[]] -[enlist[text title created modified tags creator modifier]] +[limit[1]]' variable=\"ignore\"><!--check if there is any user field -->\n<table class=\"kk-utility-tbl-borderless\">\n<$list filter='[<selected-tiddler>fields[]] -[enlist[text title created modified tags creator modifier]]' variable=\"fld\">\n<tr><td style=\"text-align:right\"><<fld>>:</td><td><$text text={{{[<selected-tiddler>get<fld>]}}}/></td></tr>\n</$list>\n</table>\n</$list>\n</$set>\n\\end\n\n\\define description(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<dl><dt><$link to=<<selected-tiddler>>/></dt><dd><$transclude tiddler=<<selected-tiddler>> field=\"description\"/></dd></dl>\n</$set>\n\\end"},"$:/plugins/kookma/utility/macro/unique-id":{"title":"$:/plugins/kookma/utility/macro/unique-id","author":"Jeremy Ruston","created":"20200210134515855","description":"creates a unique id for permanent state tiddler","modified":"20200210134635362","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define create_id_from_timedata(prefix) $prefix$-<<now [UTC]YYYY0MM0DD0hh0mm0ssXXX>>\n\n\\define unique-id(prefix:id)\n<$wikify name=id text=<<create_id_from_timedata \"\"\"$prefix$\"\"\">>  >\n<$button tooltip=\"create unique id\" class=\"tc-btn-invisible\" message=\"tm-copy-to-clipboard\" param=<<id>> >{{$:/core/images/copy-clipboard}} \n</$button> <$text text=<<id>>/>\n</$wikify>\n\\end\n"},"$:/plugins/kookma/utility/macro/wikitext-macros":{"title":"$:/plugins/kookma/utility/macro/wikitext-macros","created":"20150117184156000","modified":"20200123200937571","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define wikitext-example(src)\n<div class=\"doc-example\">\n\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<__src__>>/>\n\n```\n$src$\n```\n\nThat renders as:\n\n$src$\n\n... and the underlying HTML is:\n\n$$$text/vnd.tiddlywiki>text/html\n$src$\n$$$\n</div>\n\\end\n\n\\define wikitext-example-without-html(src)\n<div class=\"doc-example\">\n\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<__src__>>/>\n\n```\n$src$\n```\n\nThat renders as:\n\n$src$\n</div>\n\\end\n<!--\n; Credit\n:Jeremy Ruston TW 5.1.18\n\nThe wiki-text macros are set of macro for documenting TW codes.\n-->"},"$:/plugins/kookma/utility/pagecontrol/view-fields-button":{"title":"$:/plugins/kookma/utility/pagecontrol/view-fields-button","caption":"{{$:/plugins/kookma/utility/images/view-fields.svg}} {{$:/language/Buttons/Utility/Caption}}","created":"20181010190533135","description":"Show a toggle button for view fields","modified":"20200403115112475","tags":"$:/tags/PageControls","type":"text/vnd.tiddlywiki","text":"\\define viewtemplateTid() $:/plugins/kookma/utility/viewtemplate/view-fields\n\\define fldshowstateTid() $:/keepstate/utility/toggle-view-fields\n\n\\define show-fields-button()\n\\whitespace trim\n\n<$reveal type=\"nomatch\" state=<<fldshowstateTid>> text=\"show\">\n  <$button set=<<fldshowstateTid>> setTo=\"show\" \n\t         tooltip={{$:/language/Buttons/Utility/Hint}} \n\t\t\t\t\t aria-label={{$:/language/Buttons/Utility/Caption}} \n\t\t\t\t\t class=<<tv-config-toolbar-class>> >\n    <<disp-on-pagecontrols>>\n    <$action-setfield $tiddler=<<viewtemplateTid>> tags=\"$:/tags/ViewTemplate\"/>\n  </$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<fldshowstateTid>> text=\"show\">\n  <$button set=<<fldshowstateTid>> setTo=\"hide\" \n           tooltip={{$:/language/Buttons/Utility/Hint}} \n\t\t\t\t   aria-label={{$:/language/Buttons/Utility/Caption}} \n\t\t\t\t   class=\"\"\"$(tv-config-toolbar-class)$ tc-selected\"\"\">\n     <<disp-on-pagecontrols>>\n     <$action-setfield $tiddler=<<viewtemplateTid>> tags=\"\"/>\n  </$button>\n</$reveal>\n\\end\n\n\\define disp-on-pagecontrols() \n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/kookma/utility/images/view-fields.svg}}  \n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Utility/Caption}}/></span>\n</$list>\n\\end\n\n\n<<show-fields-button>>"},"$:/plugins/kookma/utility/readme":{"title":"$:/plugins/kookma/utility/readme","created":"20190930044127683","modified":"20200322194049962","tags":"","type":"text/vnd.tiddlywiki","text":"; Utility plugin\nThe utility plugin objective is to provide set of tools for developers and authors. These tools includes simple transclusions, show raw contents of tiddlers, author tools, wikitext macros, show fields in view mode, ...\n\n; Code and demo\nFor learning plugin features, syntax, tutorial and examples see the plugin demo and code pages\n\n* Demo: https://kookma.github.io/TW-Utility/\n* Code: https://github.com/kookma/TW-Utility\n"},"$:/plugins/kookma/utility/snippet/macrocall-wikitext-example":{"title":"$:/plugins/kookma/utility/snippet/macrocall-wikitext-example","caption":"Wikitext-example macrocall","created":"20181023161605661","modified":"20200123200937811","tags":"$:/tags/TextEditor/Snippet","type":"text/vnd.tiddlywiki","text":"<$macrocall $name=\"wikitext-example-without-html\" \nsrc=\"\"\"\n\"\"\"/>"},"$:/plugins/kookma/utility/snippet/wikitext-macro":{"title":"$:/plugins/kookma/utility/snippet/wikitext-macro","caption":"Wikitext-example","created":"20181007154126921","modified":"20200123200937797","tags":"$:/tags/TextEditor/Snippet","type":"text/vnd.tiddlywiki","text":"<<wikitext-example-without-html \nsrc:\"\"\"\n\"\"\">>"},"$:/plugins/kookma/utility/styles/doc-svg":{"title":"$:/plugins/kookma/utility/styles/doc-svg","text":".kk-doc svg{\nwidth: 1.2em;\nheight: 1.2em;\nvertical-align: middle;}\n\n.kk-ut-txt{\nmin-width:50%}","created":"20190722142023425","modified":"20200322091202744","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/utility/styles/tw-version":{"title":"$:/plugins/kookma/utility/styles/tw-version","text":"<pre>/* TW-version added to site title */\n.tc-site-title:before {\n  content:\"TW <<version>>\";\n  position:absolute;\n  margin-top:-1.9em;\n  color:silver;\n  font-size:13px;\n}\n</pre>","created":"20180906042308596","modified":"20200325164200123","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki"},"$:/plugins/kookma/utility/styles/wikitext-macro":{"title":"$:/plugins/kookma/utility/styles/wikitext-macro","text":".doc-example { margin: 1em 0; padding: 0.8em 0; } .doc-example:hover { background-color: #f7f7f9; } .doc-example ul { margin-bottom: 0; padding-bottom: 0; margin-top: 0.2em; } .doc-example pre:first-child { margin-top: 0; } .doc-example-result { border-left: 5px solid #bbb; border-right: 5px solid #bbb; margin-left: 0; margin-right: 0; padding: 0 10px; } .doc-example-result ul { margin-left: 0; padding-left: 10px; } .doc-example-result ol { margin-left: 0; padding-left: 20px; }","created":"20180909042646908","modified":"20200325141241379","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/utility/ui/ControlPanel/Settings":{"title":"$:/plugins/kookma/utility/ui/ControlPanel/Settings","caption":"Utility","created":"20190930212747824","list-after":"$:/core/ui/ControlPanel/Settings/TiddlyWiki","modified":"20200322091210028","tags":"$:/tags/ControlPanel/SettingsTab $:/tags/MoreSideBar","type":"text/vnd.tiddlywiki","text":"These settings let you customise the behaviour of Utility plugin.\n\n---\n\n;Show Utility setting in more sidebar\n:<$checkbox tiddler=\"$:/plugins/kookma/utility/ui/ControlPanel/Settings\" tag=\"$:/tags/MoreSideBar\"> Show setting in more sidebar</$checkbox>\n\n;Options\n:<$checkbox tiddler=\"$:/plugins/kookma/utility/pagecontrol/view-fields-button\" tag=\"$:/tags/PageControls\"> Enable show fields</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/utility/styles/tw-version\" tag=\"$:/tags/Stylesheet\"> Show the Tiddlywiki version badge</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/utility/viewtemplate/display-tiddler-raw-content\" tag=\"$:/tags/ViewTemplate\"> Display the tiddler raw content</$checkbox><div style=\"padding-left:18px;\">\n<$list filter=\"[[$:/plugins/kookma/utility/viewtemplate/display-tiddler-raw-content]tags[]search[$:/tags/ViewTemplate]]\" variable=ignore>\nFilters to reveal tiddlers content &nbsp; <$edit-text tiddler=\"$:/plugins/kookma/utility/config/reveal-tags\" field=\"text\" tag=input defualt=\"\" placeholder=\"enter a filter e.g. [tag[myTag]] \" class=\"kk-ut-txt\"/>\n</$list></div>\n\n"},"$:/plugins/kookma/utility/viewtemplate/display-tiddler-raw-content":{"title":"$:/plugins/kookma/utility/viewtemplate/display-tiddler-raw-content","created":"20181212041419278","description":"this view template displays the content of global macro tiddlers","modified":"20200126142626441","tags":"$:/tags/ViewTemplate","type":"text/vnd.tiddlywiki","text":"<$set name=\"revealFilters\" tiddler=\"$:/plugins/kookma/utility/config/reveal-tags\" field=text>\n<$list filter=\"[all[current]tag[show-content]]\n  [all[current]tag[$:/tags/EditTemplate]]\n  [all[current]tag[$:/tags/ViewTemplate]] \n  [all[current]tag[$:/tags/Macro]]\n  [all[current]subfilter<revealFilters>] +[limit[1]]\">\n<$codeblock code={{!!text}} language=\"xml\" />\n</$list>\n</$set>\n\n"},"$:/plugins/kookma/utility/viewtemplate/view-fields":{"title":"$:/plugins/kookma/utility/viewtemplate/view-fields","created":"20181010162537613","description":"Toggle field handling in view mode","list-after":"$:/core/ui/ViewTemplate/tags","modified":"20200403082439483","tags":"","type":"text/vnd.tiddlywiki","text":"\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define new-field()\n<$vars name={{$:/temp/newfieldname}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span>\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"$:/temp/newfieldname\">\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\"  variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\"/>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n"},"$:/language/Buttons/Utility/Hint":{"title":"$:/language/Buttons/Utility/Hint","created":"20190930171301401","modified":"20191111154125882","tags":"","type":"text/vnd.tiddlywiki","text":"Show fields"},"$:/language/Buttons/Utility/Caption":{"title":"$:/language/Buttons/Utility/Caption","created":"20190930171340202","modified":"20191111154125886","tags":"","type":"text/vnd.tiddlywiki","text":"show fields"},"$:/config/ShortcutInfo/author-tools":{"title":"$:/config/ShortcutInfo/author-tools","created":"20190912083358612","modified":"20200316123519558","tags":"","type":"text/vnd.tiddlywiki","text":"Show Author tools dialog"},"$:/config/shortcuts/author-tools":{"title":"$:/config/shortcuts/author-tools","created":"20191121050813703","modified":"20200316123531677","type":"text/vnd.tiddlywiki","text":"ctrl-alt-A"},"$:/config/ShortcutInfo/switch-author":{"title":"$:/config/ShortcutInfo/switch-author","created":"20200315203528401","modified":"20200316123455880","type":"text/vnd.tiddlywiki","text":"Toggle the author-reader mode"},"$:/config/shortcuts/switch-author":{"title":"$:/config/shortcuts/switch-author","created":"20200315203409995","modified":"20200316123545221","type":"text/vnd.tiddlywiki","text":"ctrl+alt+L"}}}
\define lingo-base() $:/language/EditTemplate/
\define config-title()
$:/config/EditTemplateFields/Visibility/$(currentField)$
\end

\define config-filter()
[[hide]] -[title{$(config-title)$}]
\end

\define new-field()
<$vars name={{$:/temp/newfieldname}}>
<$reveal type="nomatch" text="" default=<<name>>>
<$button>
<$action-sendmessage $message="tm-add-field"
$name=<<name>>
$value={{$:/temp/newfieldvalue}}/>
<$action-deletetiddler $tiddler="$:/temp/newfieldname"/>
<$action-deletetiddler $tiddler="$:/temp/newfieldvalue"/>
<<lingo Fields/Add/Button>>
</$button>
</$reveal>
<$reveal type="match" text="" default=<<name>>>
<$button>
<<lingo Fields/Add/Button>>
</$button>
</$reveal>
</$vars>
\end

<div class="tc-edit-fields">
<table class="tc-edit-fields">
<tbody>
<$list filter="[all[current]fields[]] +[sort[title]]" variable="currentField">
<$list filter=<<config-filter>> variable="temp">
<tr class="tc-edit-field">
<td class="tc-edit-field-name">
<$text text=<<currentField>>/>:</td>
<td class="tc-edit-field-value">
<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>
</td>
<td class="tc-edit-field-remove">
<$button class="tc-btn-invisible" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>
<$action-deletefield $field=<<currentField>>/>
{{$:/core/images/delete-button}}
</$button>
</td>
</tr>
</$list>
</$list>
</tbody>
</table>
</div>

<$fieldmangler>
<div class="tc-edit-field-add">
<em class="tc-edit">
<<lingo Fields/Add/Prompt>>
</em>
<span class="tc-edit-field-add-name">
<$edit-text tiddler="$:/temp/newfieldname" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify "$:/state/popup/field-dropdown">> class="tc-edit-texteditor tc-popup-handle"/>
</span>
<$button popup=<<qualify "$:/state/popup/field-dropdown">> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>
<$reveal state=<<qualify "$:/state/popup/field-dropdown">> type="nomatch" text="" default="">
<div class="tc-block-dropdown tc-edit-type-dropdown">
<$linkcatcher to="$:/temp/newfieldname">
<div class="tc-dropdown-item">
<<lingo Fields/Add/Dropdown/User>>
</div>
<$list filter="[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type"  variable="currentField">
<$link to=<<currentField>>>
<<currentField>>
</$link>
</$list>
<div class="tc-dropdown-item">
<<lingo Fields/Add/Dropdown/System>>
</div>
<$list filter="[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]" variable="currentField">
<$link to=<<currentField>>>
<<currentField>>
</$link>
</$list>
</$linkcatcher>
</div>
</$reveal>
<span class="tc-edit-field-add-value">
<$edit-text tiddler="$:/temp/newfieldvalue" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class="tc-edit-texteditor"/>
</span>
<span class="tc-edit-field-add-button">
<$macrocall $name="new-field"/>
</span>
</div>
</$fieldmangler>
{
    "tiddlers": {
        "Bar Chart Creator": {
            "title": "Bar Chart Creator",
            "text": "\\define thisInnerShowCode() <$~ProgressBar\n\n\\define thisShowCode(code:ProgressBar)\n<pre>\n<<thisInnerShowCode>>\n    filters=<$text text='\"\"\"'/>{{$:/temp/InteractiveDemo!!filters}}<$text text='\"\"\"'/>\n    colors=<$text text='\"\"\"'/>{{$:/temp/InteractiveDemo!!colors}}<$text text='\"\"\"'/>\n    mode=<$text text='\"'/>{{$:/temp/InteractiveDemo!!mode}}<$text text='\"'/>\n    orientation=<$text text='\"'/>{{$:/temp/InteractiveDemo!!orientation}}<$text text='\"'/>\n    side=<$text text='\"'/>{{$:/temp/InteractiveDemo!!side}}<$text text='\"'/>\n    class=<$text text='\"'/>{{$:/temp/InteractiveDemo!!class}}<$text text='\"'/>\n    width=<$text text='\"'/>{{$:/temp/InteractiveDemo!!width}}<$text text='\"'/>\n    width-unit=<$text text='\"'/>{{$:/temp/InteractiveDemo!!width-unit}}<$text text='\"'/>\n    height=<$text text='\"'/>{{$:/temp/InteractiveDemo!!height}}<$text text='\"'/>\n    height-unit=<$text text='\"'/>{{$:/temp/InteractiveDemo!!height-unit}}<$text text='\"'/>\n    vertical=<$text text='\"'/>{{$:/temp/InteractiveDemo!!vertical}}<$text text='\"'/>\n    label=<$text text='\"'/>{{$:/temp/InteractiveDemo!!label}}<$text text='\"'/>\n/>\n</pre>\n\\end\n\nThis is both a demo of the sort of charts you can make using this plugin and a tool for creating charts without having to remember the syntax. Just select the options you want below and then copy the code into a tiddler where you want the chart.\n\n<table style='width:100%'>\n    <tr>\n        <th>\n            filters\n        </th>\n        <td\n            colspan=2\n        >\n            <$edit-text\n                tiddler='$:/temp/InteractiveDemo'\n                field='filters'\n                class='tc-edit-texteditor'\n            />\n        </td>\n    </tr>\n    <tr>\n        <th>\n            colors\n        </th>\n        <td\n            colspan=2\n        >\n            <$edit-text\n                tiddler='$:/temp/InteractiveDemo'\n                field='colors'\n                class='tc-edit-texteditor'\n            />\n        </td>\n    </tr>\n    <tr>\n        <th>\n            orientation\n        </th>\n        <td>\n            <$radio\n                tiddler='$:/temp/InteractiveDemo'\n                field='orientation'\n                value='vertical'\n            >\n                vertical\n            </$radio>\n        </td>\n        <td>\n            <$radio\n                tiddler='$:/temp/InteractiveDemo'\n                field='orientation'\n                value='horizontal'\n            >\n                horizontal\n            </$radio>\n        </td>\n    </tr>\n    <tr>\n        <th>\n            mode\n        </th>\n        <td>\n            <$radio\n                tiddler='$:/temp/InteractiveDemo'\n                field='mode'\n                value='stacked'\n            >\n                stacked\n            </$radio>\n        </td>\n        <td>\n            <$radio\n                tiddler='$:/temp/InteractiveDemo'\n                field='mode'\n                value='bars'\n            >\n                bars\n            </$radio>\n        </td>\n    </tr>\n    <tr>\n        <th>\n            side\n        </th>\n        <td>\n            <$radio\n                tiddler='$:/temp/InteractiveDemo'\n                field='side'\n                value='left'\n            >\n                left\n            </$radio>\n        </td>\n        <td>\n            <$radio\n                tiddler='$:/temp/InteractiveDemo'\n                field='side'\n                value='right'\n            >\n                right\n            </$radio>\n        </td>\n    </tr>\n    <tr>\n        <th>\n            vertical\n        </th>\n        <td>\n            <$radio\n                tiddler='$:/temp/InteractiveDemo'\n                field='vertical'\n                value=top\n            >\n                top\n            </$radio>\n        </td>\n        <td>\n            <$radio\n                tiddler='$:/temp/InteractiveDemo'\n                field='vertical'\n                value='bottom'\n            >\n                bottom\n            </$radio>\n        </td>\n    </tr>\n    <tr>\n        <th>\n            width\n        </th>\n        <td>\n            <$edit-text\n                tiddler='$:/temp/InteractiveDemo'\n                field='width'\n                class='tc-edit-texteditor'\n            />\n        </td>\n        <td>\n            <$select\n                tiddler='$:/temp/InteractiveDemo'\n                field='width-unit'\n            >\n                <$list\n                    filter='% em px ex cm mm in pt pc ch rem vw vh vmin vmax'\n                >\n                    <option>\n                        <<currentTiddler>>\n                    </option>\n                </$list>\n            </$select>\n        </td>\n    </tr>\n    <tr>\n        <th>\n            height\n        </th>\n        <td>\n            <$edit-text\n                tiddler='$:/temp/InteractiveDemo'\n                field='height'\n                class='tc-edit-texteditor'\n            />\n        </td>\n        <td>\n            <$select\n                tiddler='$:/temp/InteractiveDemo'\n                field='height-unit'\n            >\n                <$list\n                    filter='% em px ex cm mm in pt pc ch rem vw vh vmin vmax'\n                >\n                    <option>\n                        <<currentTiddler>>\n                    </option>\n                </$list>\n            </$select>\n        </td>\n    </tr>\n    <tr>\n        <th>\n            label\n        </th>\n        <td\n            colspan=2\n        >\n            <$select\n                tiddler='$:/temp/InteractiveDemo'\n                field='label'\n            >\n                <option\n                    value=''\n                >\n                    //None//\n                </option>\n                <$list\n                    filter='% n nofm'\n                >\n                    <option>\n                        <<currentTiddler>>\n                    </option>\n                </$list>\n            </$select>\n        </td>\n    </tr>\n    <tr>\n        <th>\n            class\n        </th>\n        <td\n            colspan=2\n        >\n            <$select\n                tiddler='$:/temp/InteractiveDemo'\n                field='class'\n            >\n                <option\n                    value=''\n                >\n                    //Default//\n                </option>\n                <$list\n                    filter='progress-bar-vertical progress-bar-horizontal bar-chart-horizontal-left bar-chart-horizontal-right'\n                >\n                    <option>\n                        <<currentTiddler>>\n                    </option>\n                </$list>\n            </$select>\n        </td>\n    </tr>\n</table>\n\n\nCode:\n\n<<thisShowCode>>\n\n\n<$ProgressBar\n    filters={{$:/temp/InteractiveDemo!!filters}}\n    colors={{$:/temp/InteractiveDemo!!colors}}\n    mode={{$:/temp/InteractiveDemo!!mode}}\n    orientation={{$:/temp/InteractiveDemo!!orientation}}\n    side={{$:/temp/InteractiveDemo!!side}}\n    class={{$:/temp/InteractiveDemo!!class}}\n    width={{$:/temp/InteractiveDemo!!width}}\n    width-unit={{$:/temp/InteractiveDemo!!width-unit}}\n    height={{$:/temp/InteractiveDemo!!height}}\n    height-unit={{$:/temp/InteractiveDemo!!height-unit}}\n    vertical={{$:/temp/InteractiveDemo!!vertical}}\n    label={{$:/temp/InteractiveDemo!!label}}\n/>\n"
        },
        "$:/plugins/OokTech/BarChart/Acknowledgements": {
            "title": "$:/plugins/OokTech/BarChart/Acknowledgements",
            "text": " This plugin was created and is maintained by [[OokTech|$:/plugins/OokTech/OokTechInfo]].\n\n\n[[Tiddlywiki|http://TiddlyWiki.com]] was originally created by [[Jeremy Ruston|https://github.com/Jermolene/TiddlyWiki5]]. For general ~TiddlyWiki help see [[tiddlywiki.com|http://tiddlywiki.com]] or the [[google group|https://groups.google.com/forum/#!forum/tiddlywiki]].\n\nThank you to the general TiddlyWiki community for developing and maintaining the tiddlywiki core.\n"
        },
        "$:/plugins/OokTech/BarChart/License": {
            "title": "$:/plugins/OokTech/BarChart/License",
            "text": "BSD 3-Clause License\n\nCopyright (c) 2017, OokTech LLC\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
        },
        "$:/plugins/OokTech/OokTechInfo": {
            "title": "$:/plugins/OokTech/OokTechInfo",
            "text": "~OokTech is a small engineering company based in the USA with an international presence. We work on open software and hardware projects.\n\nWebsite: http://Ooktech.com<br>\n~GitHub: [[OokTech GitHub|https://github.com/OokTech]]\n"
        },
        "$:/pluginlibrary/OokTech/OokTechPlugins": {
            "title": "$:/pluginlibrary/OokTech/OokTechPlugins",
            "tags": "$:/tags/PluginLibrary",
            "url": "https://ooktech.com/TiddlyWiki/PluginLibrary",
            "text": "The plugin library for plugins developed and maintained by OokTech. See http://OokTech.com/TiddlyWiki for more information.\n"
        },
        "$:/plugins/OokTech/ProgressBar/ProgressBar.js": {
            "text": "/*\\\ntitle: $:/plugins/OokTech/ProgressBar/ProgressBar.js\ntype: application/javascript\nmodule-type: widget\n\nA widget that creates a progress bar with progress defined by filters.\n\nThe most basic usage takes two filters, one for finished and one for unfinished.\nThe total is defined as the total number of tiddlers returned by both filters\nThe progress is shown as the percentage of tiddlers from the finished filter in\ngreen, the remaining part of the bar is shown in red. Percentages are shown for\nboth finished and unfinished parts.\n\nBasic usage:\n\nTo make a progress bar that shows the a returned by [tag[task]!tag[done]] as\nunfinished and [task[done]tag[done]] and uses the default class just put\n\n<$ProgressBar/>\n\nto specify the filters used to determine the number of finished and unfinished tasks use:\n\n<$ProgressBar finished=<<finishedFilter>> unfinished=<<unfinishedFilter>>/>\n\nAdvanced usage:\n\nyou can give a comma separated list of filters, each filter represents one segment of the bar, the color list determines the colors for each segment. If there are more segments than colors than the color list is repeated. You can also give a css class that will be used instead of the default css:\n\n<$ProgressBar filters=\"comma separated list of filters\" colors=\"comma separated list of colors\" class=\"custom-class\"/>\n\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar widgets;\nvar container;\n\nvar ProgressBar = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nProgressBar.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nProgressBar.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar domNode = this.document.createElement(\"div\");\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nProgressBar.prototype.execute = function() {\n\t//Get widget attributes.\n\tthis.finishedFilter = this.getAttribute(\"finished\", '[tag[task]tag[done]]');\n\tthis.unfinishedFilter = this.getAttribute(\"unfinished\", '[tag[task]!tag[done]]');\n\tthis.filters = this.getAttribute(\"filters\");\n\tvar TotalWidth = this.getAttribute(\"width\",\"100\");\n\tvar TotalHeight = this.getAttribute(\"height\",\"1.5\");\n\tvar widthUnit = this.getAttribute(\"width-unit\", \"%\");\n\tvar heightUnit = this.getAttribute(\"height-unit\", \"em\");\n\tvar colors = this.getAttribute(\"colors\");\n\tvar barClass = this.getAttribute(\"class\");\n\tvar mode = this.getAttribute(\"mode\", \"stacked\");\n\tvar orientation = this.getAttribute(\"orientation\", \"horizontal\");\n\tvar side = this.getAttribute(\"side\", \"left\");\n\tvar vertical = this.getAttribute(\"vertical\", \"bottom\");\n\tvar label = this.getAttribute(\"label\", \"%\");\n\n\t//This updates the current state of the bar\n\tvar Total = this.GetBarState();\n\t//This saves the state so that refreshes work correctly\n\tthis.OldBarState = this.BarState;\n\n\t//Initialise colors\n\tvar colorList = ['ForestGreen','FireBrick','CadetBlue','Aquamarine'];\n\tvar thisColor = 'ForestGreen';\n\t//Get the list of colors, if any. If there isn't a color list given the\n\t//default defined above is used.\n\tif (colors) {\n\t\tcolorList = colors.split(\",\");\n\t}\n\n\tvar segments = this.BarState.split(\",\");\n\t//Build the html for making the progress bar\n\t//Outer div that sets the full height and width\n\tvar ProgressBarString = \"<div style='height:\" + TotalHeight + heightUnit + \";width:\" + TotalWidth + widthUnit + \";'>\";\n\t//Inner div that sets the classes\n\tProgressBarString += \"<div class='bar-chart \" + barClass;\n\tif (side === \"right\" && orientation !== \"vertical\") {\n\t\tProgressBarString += \" bars-right-align \";\n\t} else {\n\t\tProgressBarString += \" bars-left-align \";\n\t}\n\tif (vertical === \"bottom\") {\n\t\tProgressBarString += \" bars-bottom-align \";\n\t} else {\n\t\tProgressBarString += \" bars-top-align \";\n\t}\n\n\tProgressBarString += \"' style='width:inherit;height:inherit;'>\";\n\tvar displayLabel = \"&nbsp;\";\n\t//Add each segment/bar to the bar in order\n\tfor (var segment in segments) {\n\t\t//Create the label for the bar, if any\n\t\tif (label === \"%\") {\n\t\t\tdisplayLabel = Math.round(segments[segment]/Total*100) + '%';\n\t\t} else if (label === \"n\") {\n\t\t\tdisplayLabel = segments[segment];\n\t\t} else if (label === \"nofm\") {\n\t\t\tdisplayLabel = segments[segment] + \" of \" + Total;\n\t\t}\n\t\t//Bar Dimension is the height for horizontal thing and the width for vertical things (the non-data dimension)\n\t\tvar BarDimension = (mode === 'bars')?100/segments.length:100;\n\t\t//This is the largest value from the values for the bars.\n\t\tvar Maximum = (mode === \"bars\")?Math.max.apply(null, segments):Total;\n\t\t//Bar size is the height for vertical things and the width for horizontal things (the data dimension)\n\t\tvar BarSize = segments[segment]/Maximum*100;\n\t\tvar DataDimension = (orientation === 'vertical')?\"height\":\"width\";\n\t\tvar OtherDimension = (orientation === 'vertical')?\"width\":\"height\";\n\t\t//If the color list is shorter than the number of segments than the\n\t\t//list loops.\n\t\tthisColor = colorList[segment%colorList.length];\n\n\t\tvar PrefixString = \"\";\n\t\tvar SuffixString = \"\";\n\t\tvar displayPart = \"\";\n\t\tvar TextAlign = \"\";\n\n\t\tif (mode === 'bars') {\n\t\t\tif (orientation === 'vertical') {\n\t\t\t\tPrefixString = \"<div style='height:100%;width:\" + BarDimension + \"%;'>\";\n\t\t\t\tSuffixString = \"</div>\";\n\t\t\t\tdisplayPart = \"display:inline-block;\";\n\t\t\t\tTextAlign = \"text-align:center;\";\n\t\t\t} else {\n\t\t\t\tSuffixString = \"<br/>\";\n\t\t\t}\n\t\t} else {\n\t\t\tTextAlign = \"text-align:center\";\n\t\t}\n\n\t\t//If the segment is longer than 0 or in bar mode add the segment.\n\t\tif (segments[segment] > 0 || mode === 'bars') {\n\t\t\t//Create the next part of the bar\n\t\t\tProgressBarString += PrefixString + \"<div style='\" + DataDimension + \":\" + BarSize + \"%;\" + OtherDimension + \":\" + BarDimension + \"%;background-color:\" + thisColor + \";\" + displayPart + \";\" + TextAlign + \";'>\" + displayLabel + \"</div>\" + SuffixString;\n\t\t}\n\t}\n\t//Close the outer divs\n\tProgressBarString += \"</div></div>\";\n\n\t//This is the part that actually displays the bar in the wiki\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",ProgressBarString,{parseAsInline: false});\n\tvar parseTreeNodes = parser ? parser.tree : [];\n\tthis.makeChildWidgets(parseTreeNodes);\n\n};\n\n/*\nThis makes a value that can be checked against to see if the bar needs to be updates.\n*/\nProgressBar.prototype.GetBarState = function () {\n\tvar currentSegment = 0;\n\tvar Total = 0;\n\t//Get the list of filters, if the filters attribute is given it overrides\n\t//the finished and unfinished filters if they are given.\n\tvar filterList = [];\n\tif (this.filters) {\n\t\tfilterList = this.filters.split(\",\");\n\t} else {\n\t\tfilterList = [this.finishedFilter, this.unfinishedFilter];\n\t}\n\n\t//this.BarState is used to determine if the bar should be updated or not.\n\t//It is a string that will change if the bars apperance should change.\n\tthis.BarState = \"\";\n\t//Get the output from each filter\n\tfor (var filter in filterList) {\n\t\tcurrentSegment = this.wiki.filterTiddlers(filterList[filter]).length;\n\t\tTotal += currentSegment;\n\t\tif (this.BarState !== \"\") {\n\t\t\tthis.BarState += \",\";\n\t\t}\n\t\tthis.BarState += String(currentSegment);\n\t}\n\treturn Total;\n}\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nProgressBar.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t//This may be able to be more efficient, but I can't think of how at the moment.\n\tthis.GetBarState();\n\tif(Object.keys(changedAttributes).length || this.OldBarState !== this.BarState) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"ProgressBar\"] = ProgressBar;\n\n})();\n",
            "title": "$:/plugins/OokTech/ProgressBar/ProgressBar.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/plugins/OokTech/BarChart/readme": {
            "title": "$:/plugins/OokTech/BarChart/readme",
            "text": "This plugin adds the ~ProgressBar widget to ~TiddlyWiki.\n\nThis widget can be used to make progress bars to show a percentage finished/unfinished bar, or it can be used to show a stacked bar chart.\n\nMultiple widgets can be stacked to make a normal barchart as well, with one widget for each bar displayed.\n\nSimple Usage:\n\n`<$ProgressBar finished=<<FinishedFilter>> unfinished=<<UnfinishedFilter>>/>`\n\nAdvanced Usage:\n\n```\n<$ProgressBar\n    filters='[[Filter1]],[[Filter2]]'\n    colors='Color1,Color2'\n    mode=SomeMode\n    orientation='horizontal'\n    class='bar-class'\n    width=WidthValue\n    height=HeightValue\n    unit=WidthHeightUnit\n/>\n```\n\n|!Parameter |!Description |!Default Value |\n|!finished |A filter that lists all the things that are finished. If `filters` has a value this is ignored. |`[tag[task]tag[done]]` |\n|!unfinished |A filter that lists all the things that are not finished. If `filters` has a value this is ignored. |`[tag[task]!tag[done]]` |\n|!filters |A comma separated list of filters, each filter defines one section of the bar created. If this has a value than `finished` and `unfinished` are ignored. |No Default |\n|!colors |A comma separated list of css colors that defines the colors for each part of the bar. If there are fewer colors than sections of the bar than the colors loop. |`red, green` |\n|!mode |This sets if the bar is `stacked` or `sidebyside` |`stacked` |\n|!orientation |This sets if the bars are `horizontal` or `vertical` |`horizontal` |\n|!class |An optional css class. |`progress-bar` |\n|!width |The width of the full chart, used when orientation is `horizontal` |`100` |\n|!height |The height of the full chart, used when the orientation is `vertical` |`100` |\n|!unit |The css unit that the width and height are measured in. |`%` |\n\n\nLicense: [[BSD 3 Clause|$:/plugins/OokTech/BarChart/License]]\n\nCreator: [[OokTech|$:/plugins/OokTech/OokTechInfo]]\n\nSource: [[GitHub|https://https://github.com/OokTech/TW5-BarChart]]\n"
        },
        "$:/plugins/OokTech/BarChart/Styles": {
            "title": "$:/plugins/OokTech/BarChart/Styles",
            "tags": "$:/tags/Stylesheet",
            "text": ".progress-bar-horizontal {\n\n}\n\n.progress-bar-horizontal > div > div:first-child {\n    border-top-left-radius:4px;\n    border-bottom-left-radius:4px;\n}\n\n.progress-bar-horizontal > div > div:last-child {\n    border-top-right-radius:4px;\n    border-bottom-right-radius:4px;\n}\n\n.progress-bar-horizontal > div > div {\n    display:inline-block;\n    text-align:center;\n}\n\n.bar-chart-horizontal-left > div:nth-child(1n) {\n    border-top-right-radius:15%;\n    border-bottom-right-radius:15%;\n    display: inline-flex;\n    align-items: center;\n}\n\n.bar-chart-horizontal-right > div:nth-child(1n) {\n    border-top-left-radius:15%;\n    border-bottom-left-radius:15%;\n    display: inline-flex;\n    align-items: center;\n    justify-content: flex-end;\n}\n\n.progress-bar-vertical {\n\n}\n\n.progress-bar-vertical > div:first-child {\n    border-top-left-radius:4px;\n    border-top-right-radius:4px;\n}\n\n.progress-bar-vertical > div:last-child {\n    border-bottom-left-radius:4px;\n    border-bottom-right-radius:4px;\n}\n\n.bar-chart {\n\n}\n\n.bar-chart > div {\n    display:inline-block;\n}\n\n.bars-right-align {\n    text-align:right;\n}\n\n.bars-right-align > div > div {\n    margin-left:auto;\n    margin-right:0px;\n}\n\n.bars-top-align {\n    position: relative;\n    top:0px;\n    right:0px;\n}\n\n.bars-top-align > div > div {\n    position: absolute;\n    top: 0px;\n    text-align: center;\n}\n\n.bars-bottom-align {\n    position: relative;\n    top:0px;\n    right:0px;\n}\n\n.bars-bottom-align > div > div {\n    position: absolute;\n    bottom: 0px;\n    text-align: center;\n    vertical-align: bottom;\n}\n"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/OokTech/SimpleTaskList/Acknowledgements": {
            "title": "$:/plugins/OokTech/SimpleTaskList/Acknowledgements",
            "text": " This plugin was created and is maintained by [[OokTech|$:/plugins/OokTech/OokTechInfo]].\n\n\n[[Tiddlywiki|http://TiddlyWiki.com]] was originally created by [[Jeremy Ruston|https://github.com/Jermolene/TiddlyWiki5]]. For general ~TiddlyWiki help see [[tiddlywiki.com|http://tiddlywiki.com]] or the [[google group|https://groups.google.com/forum/#!forum/tiddlywiki]].\n\nThank you to the general TiddlyWiki community for developing and maintaining the tiddlywiki core.\n"
        },
        "$:/plugins/OokTech/SimpleTaskList/License": {
            "title": "$:/plugins/OokTech/SimpleTaskList/License",
            "text": "BSD 3-Clause License\n\nCopyright (c) 2017, OokTech LLC\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
        },
        "$:/plugins/OokTech/OokTechInfo": {
            "title": "$:/plugins/OokTech/OokTechInfo",
            "text": "~OokTech is a small engineering company based in the USA with an international presence. We work on open software and hardware projects.\n\nWebsite: http://Ooktech.com<br>\n~GitHub: [[OokTech GitHub|https://github.com/OokTech]]\n"
        },
        "$:/pluginlibrary/OokTech/OokTechPlugins": {
            "title": "$:/pluginlibrary/OokTech/OokTechPlugins",
            "tags": "$:/tags/PluginLibrary",
            "url": "https://ooktech.com/TiddlyWiki/PluginLibrary",
            "text": "The plugin library for plugins developed and maintained by OokTech. See http://OokTech.com/TiddlyWiki for more information.\n"
        },
        "$:/plugins/OokTech/SimpleTaskList/Simple Task List": {
            "caption": "Simple Task List",
            "title": "$:/plugins/OokTech/SimpleTaskList/Simple Task List",
            "text": "<$edit-text\n    tiddler='$:/state/Basic Task List'\n    field='task_name'\n    class='tc-edit-texteditor'\n    placeholder='Task Name'\n/>\n<$button>\n    New Task\n    <$action-setfield\n        $tiddler={{$:/state/Basic Task List!!task_name}}\n        tags='task'\n    />\n    <$action-setfield\n        $tiddler='$:/state/Basic Task List'\n        task_name=''\n    />\n</$button>\n\n! Outstanding tasks\n\n<$list\n    filter=\"[!has[draft.of]tag[task]!tag[done]sort[created]!title[TiddlerTaskTemplate]]\"\n>\n\n    <$checkbox\n        tag=\"done\"\n    >\n        <$link\n            to={{!!title}}\n        >\n            <$view\n                field=\"title\"\n            />\n        </$link>\n    </$checkbox>\n\n</$list>\n\n! Completed tasks\n\nLimit list size:\n<$edit-text\n    tiddler='$:/plugins/OokTech/SimpleTaskList/Simple Task List'\n    field='finished_list_size'\n/>\n\n<$reveal\n    type='nomatch'\n    state='$:/plugins/OokTech/SimpleTaskList/Simple Task List!!finished_list_size'\n    text=''\n>\n\n    <$list\n        filter=\"[!has[draft.of]tag[task]tag[done]sort[created]limit{$:/plugins/OokTech/SimpleTaskList/Simple Task List!!finished_list_size}]\"\n    >\n\n<$checkbox\n    tag=\"done\"\n>\n    ~~<$link to={{!!title}}><$view field=\"title\"/></$link>~~\n</$checkbox>\n\n</$list>\n\n</$reveal>\n\n<$reveal\n    type='match'\n    state='$:/plugins/OokTech/SimpleTaskList/Simple Task List!!finished_list_size'\n    text=''\n>\n\n    <$list\n        filter=\"[!has[draft.of]tag[task]tag[done]sort[created]]\"\n    >\n\n        <$checkbox\n            tag=\"done\"\n        >\n            ~~<$link to={{!!title}}><$view field=\"title\"/></$link>~~\n        </$checkbox>\n\n    </$list>\n\n</$reveal>\n"
        },
        "$:/plugins/OokTech/SimpleTaskList/readme": {
            "title": "$:/plugins/OokTech/SimpleTaskList/readme",
            "text": "This is a simple task list for tiddlywiki. To add the task list to a tiddler put `{{$:/plugins/OokTech/SimpleTaskList/Simple Task List}}` inside a tidler.\n\nAdd tasks by using the input at the top of the list, you can limit the number of tasks shown in the finished list using the `limit list size input`\n\nLicense: [[BSD 3 Clause|$:/plugins/OokTech/SimpleTaskList/License]]\n\nCreator: [[OokTech|$:/plugins/OokTech/OokTechInfo]]\n\nSource: [[GitHub|https://https://github.com/OokTech/TW5-SimpleTaskList]]\n"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/OokTech/WordCount/EditWordCountTemplate": {
            "list-after": "$:/core/ui/EditTemplate/tags",
            "tags": "$:/tags/EditTemplate",
            "title": "$:/plugins/OokTech/WordCount/EditWordCountTemplate",
            "text": "<$reveal\n    type='nomatch'\n    state='$:/settings/OokTech/WordCount!!enable_edit_view'\n    text=false\n>\n    <$list\n        filter='[is[current]has[text]]'\n        emptyMessage=\"Word Count: 0\"\n    >\n        Word Count:\n        <$word-count\n            tiddler=<<currentTiddler>>\n            field='text'\n            mode=word\n        />\n    </$list>\n</$reveal>\n"
        },
        "$:/plugins/OokTech/WordCount/Acknowledgements": {
            "title": "$:/plugins/OokTech/WordCount/Acknowledgements",
            "text": " This plugin was created and is maintained by [[OokTech|$:/plugins/OokTech/OokTechInfo]].\n\n\n[[Tiddlywiki|http://TiddlyWiki.com]] was originally created by [[Jeremy Ruston|https://github.com/Jermolene/TiddlyWiki5]]. For general ~TiddlyWiki help see [[tiddlywiki.com|http://tiddlywiki.com]] or the [[google group|https://groups.google.com/forum/#!forum/tiddlywiki]].\n\nThank you to the general TiddlyWiki community for developing and maintaining the tiddlywiki core.\n"
        },
        "$:/plugins/OokTech/WordCount/License": {
            "title": "$:/plugins/OokTech/WordCount/License",
            "text": "BSD 3-Clause License\n\nCopyright (c) 2017, OokTech LLC\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
        },
        "$:/plugins/OokTech/OokTechInfo": {
            "title": "$:/plugins/OokTech/OokTechInfo",
            "text": "~OokTech is a small engineering company based in the USA with an international presence. We work on open software and hardware projects.\n\nWebsite: http://Ooktech.com<br>\n~GitHub: [[OokTech GitHub|https://github.com/OokTech]]\n\n\nTo add the OokTech plugin library to your wiki so you can install plugins from the control panel drag and drop [[this tiddler|$:/pluginlibrary/OokTech/OokTechPlugins]] into your wiki.\n"
        },
        "$:/pluginlibrary/OokTech/OokTechPlugins": {
            "title": "$:/pluginlibrary/OokTech/OokTechPlugins",
            "tags": "$:/tags/PluginLibrary",
            "url": "https://ooktech.com/TiddlyWiki/PluginLibrary",
            "text": "The plugin library for plugins developed and maintained by OokTech. See http://OokTech.com/TiddlyWiki for more information.\n"
        },
        "$:/plugins/OokTech/WordCount/readme": {
            "tags": "",
            "title": "$:/plugins/OokTech/WordCount/readme",
            "text": "This plugin contains the [[word-count widget|$:/plugins/OokTech/WordCount/WordCountControls]] and some templates that display the number of words in a tiddler. The value isn't updaded while you type, but if you pause for a moment it will update. You can make something that updates as you type but there are some severe performance penalties from that.\n\nTo use this just import the plugin into your wiki, save and restart. Settings are in the ~WordCount tab in the control panel. This tab is added as part of the plugin.\n\nSee [[Word Count Widget|$:/plugins/OokTech/WordCount/Word Count Widget]] for more documentation.\n\nLicense: [[BSD 3 Clause|$:/plugins/OokTech/WordCount/License]]\n\nCreator: [[OokTech|$:/plugins/OokTech/OokTechInfo]]\n\nSource: [[GitHub|https://https://github.com/OokTech/TW5-WordCount]]\n"
        },
        "$:/plugins/OokTech/WordCount/Word Count Widget": {
            "tags": "",
            "title": "$:/plugins/OokTech/WordCount/Word Count Widget",
            "text": "This is a widget that will display the number of words or characters in a tiddler or text string given to it.\n\nWidget tiddler: [[$:/plugins/OokTech/WordCount/word-count.js]]\n\nRemember you have to save and reload your wiki before the widget will work.\n\n|!Parameter |!Description |\n|mode |This can be set to `word` or `character` and will count either words or characters, defaults to `word` |\n|tiddler |The tiddler with the text to process (defauts to `currentTiddler`) |\n|field |The field with the text to process (defaults to the text field) |\n|text |A text string for the widget to count, if this is given it overrides the `tiddler` and `field` inputs. |\n|colors |(Optional) An input that sets text color when the count reaches a certain number. See the examples below. |\n|colorState |(Optional) The name of a state tiddler to use to store the current text color so it can be used to set the color of more than just the displayed number. |\n\n!!Usage\n\n!!!Count the number of words in a string:\n\n```\n<$word-count text='some text string'/>\n```\n\n<$word-count\n    text='some text string'\n/>\n\n!!!Count the number of characters in a string:\n\n```\n<$word-count text='some text string' mode=character/>\n```\n\n<$word-count\n    text='some text string'\n    mode=character\n/>\n\n!!!Count the number of words in a field:\n\n```\n<$word-count tiddler='Word Count Widget' field='title' mode=word/>\n```\n\n<$word-count\n    tiddler='Word Count Widget'\n    field='title'\n    mode=word\n/>\n\n!!!Using the colors parameter:\n\nThis uses the `colorState` tiddler.\n\n```\n<$word-count tiddler='$:/temp/Word Count Widget' mode=character colors='#f0f:10,indianred:100,red:122' colorState='$:/state/Word Count Widget/color'/>\n```\n\n<$word-count\n    tiddler='$:/temp/Word Count Widget'\n    mode=character\n    colors='#f0f:10,indianred:100,red:122'\n    colorState='$:/state/Word Count Widget/color'\n/>\n\nEdit the field here:\n<$edit-text\n    tiddler='$:/temp/Word Count Widget'\n    class='tc-edit-texteditor'\n/>\n\nContents of the color state tiddler:\n\n<$view\n    tiddler='$:/state/Word Count Widget/color'\n/>\n\n!!!Change colors of text as the number of characters in a field changes:\n\nAt the moment the input field loses focus every time the color changes.\n\n```\n<$word-count tiddler='$:/temp/Word Count Widget' mode=character colors='#f0f:10,indianred:100,red:122' colorState='$:/state/Word Count Widget/color'/>\n```\n\n<$word-count\n    tiddler='$:/temp/Word Count Widget'\n    mode=character\n    colors='#f0f:10,indianred:100,red:122'\n    colorState='$:/state/Word Count Widget/color'\n/>\n\nEdit the field here:\n<$set\n    name=CurrentColor\n    value={{$:/state/Word Count Widget/color}}\n>\n    <$edit-text\n        tiddler='$:/temp/Word Count Widget'\n        class='tc-edit-texteditor change-color'\n    />\n</$set>\n\nContents of the color state tiddler:\n\n<$view\n    tiddler='$:/state/Word Count Widget/color'\n/>\n"
        },
        "$:/plugins/OokTech/WordCount/WordCountControls": {
            "caption": "~WordCount",
            "tags": "$:/tags/ControlPanel",
            "title": "$:/plugins/OokTech/WordCount/WordCountControls",
            "text": "<$checkbox\n    tiddler='$:/settings/OokTech/WordCount'\n    field='enable_edit_view'\n    checked=true\n    unchecked=false\n    default=true\n>\n    Enable ~WordCount in edit mode\n</$checkbox>\n<br>\n<$checkbox\n    tiddler='$:/settings/OokTech/WordCount'\n    field='enable_view_mode'\n    checked=true\n    unchecked=false\n    default=false\n>\n    Enable ~WordCount in view mode\n</$checkbox>\n(This counts words in the raw text field, so wikitext that isn't visible in the view template is still counted. I may change this later.)\n"
        },
        "$:/plugins/OokTech/WordCount/WordCountViewTemplate": {
            "list-after": "$:/core/ui/ViewTemplate/tags",
            "tags": "$:/tags/ViewTemplate",
            "title": "$:/plugins/OokTech/WordCount/WordCountViewTemplate",
            "text": "<$reveal\n    type='match'\n    state='$:/settings/OokTech/WordCount!!enable_view_mode'\n    text=true\n>\n    <$list\n        filter='[is[current]has[text]]'\n        emptyMessage=\"Word Count: 0\"\n    >\n        Word Count:\n        <$word-count\n            tiddler=<<currentTiddler>>\n            field='text'\n            mode=word\n        />\n    </$list>\n</$reveal>\n"
        },
        "$:/widgets/OokTech/WordCount/word-count.js": {
            "text": "/*\\\ntitle: $:/widgets/OokTech/WordCount/word-count.js\ntype: application/javascript\nmodule-type: widget\n\nA widget to count the number of words or characters in a tiddlr/field/input string\n\nWith thanks to Skeeve for the original macro version this is based on\n\nDemo site:\n\nhttp://ooktech.com/jed/ExampleWikis/WordCount/\n\nUsage:\n\n<$word-count tiddler=SomeTiddler field=some_field mode=word/>\n<$word-count text=\"some text string\" mode=character/>\n<$word-count tiddler=SomeTiddler mode=character colors=\"blue:10,green:50,red:100\"/>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WordCount = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWordCount.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWordCount.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tvar domNode = this.document.createElement(\"span\");\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWordCount.prototype.execute = function() {\n\tvar color_array = [];\n\tvar count_array = [];\n\tvar i;\n\n\t// Get parameters from our attributes\n\tthis.mode = this.getAttribute(\"mode\", \"word\");\n\tthis.tiddler = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.field = this.getAttribute(\"field\",\"text\");\n\tthis.countText = this.getAttribute(\"text\");\n\tthis.colors = this.getAttribute(\"colors\");\n\tthis.stateTiddler = this.getAttribute(\"colorState\");\n\n\t//Find the color cut-offs, if any.\n\tif(this.colors) {\n\t\tvar color_array1 = this.colors.split(',');\n\t\tcolor_array1.sort(function sortfunction(a, b){\n\t\t\treturn a.split(':')[1] - b.split(':')[1];\n\t\t});\n\t\tfor(i = 0; i < color_array1.length; i++) {\n\t\t\tcolor_array[i] = color_array1[i].split(':')[0];\n\t\t\tcount_array[i] = color_array1[i].split(':')[1];\n\t\t}\n\t}\n\n\t// Count letters or words as appropriate.\n\tif(this.countText) {\n\t\tif(this.mode === \"character\") {\n\t\t\tthis.currentCount = this.countText.length.toString();\n\t\t} else {\n\t\t\tif (this.countText.match(/\\w+/g)) {\n\t\t\t\tthis.currentCount = this.countText.match(/\\w+/g).length.toString();\n\t\t\t}\n\t\t}\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.tiddler);\n\t\tif(tiddler) {\n\t\t\tvar text = tiddler.getFieldString(this.field);\n\t\t\tif (text) {\n\t\t\t\tif(this.mode === \"word\") {\n\t\t\t\t\tif (text.match(/\\w+/g)) {\n\t\t\t\t\t\tthis.currentCount = text.match(/\\w+/g).length.toString();\n\t\t\t\t\t}\n\t\t\t\t} else if(this.mode === \"character\") {\n\t\t\t\t\tthis.currentCount = text.length.toString();\n\t\t\t\t} else {\n\t\t\t\t\tthis.currentCount = undefined;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.currentCount = undefined;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.currentCount = undefined;\n\t\t}\n\t}\n\n\t//If this.currentCount is long enough set the color. It is the color with the largest value that is less than this.currentCount.\n\t//If no color has a large enough value do nothing.\n\tif(this.currentCount) {\n\t\tif(color_array) {\n\t\t\tfor(i = 0; i < color_array.length; i++) {\n\t\t\t\tif(Number(this.currentCount) > Number(count_array[color_array.length - 1 - i])) {\n\t\t\t\t\tif(this.stateTiddler) {\n\t\t\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,color_array[color_array.length -1 - i]);\n\t\t\t\t\t}\n\t\t\t\t\tthis.currentCount = '@@color:' + color_array[color_array.length -1 - i] + ';' + this.currentCount + '@@';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(i === color_array.length-1) {\n\t\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,'');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",this.currentCount,{parseAsInline: true});\n    var parseTreeNodes = parser ? parser.tree : [];\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWordCount.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports[\"word-count\"] = WordCount;\n\n})();\n",
            "title": "$:/widgets/OokTech/WordCount/word-count.js",
            "type": "application/javascript",
            "module-type": "widget"
        }
    }
}
{
    "tiddlers": {
        "$:/core/images/email": {
            "text": "<svg class=\"tc-image-format-excise tc-image-button\" width=\"20px\" height=\"20px\" viewBox=\"0 0 32 32\">\n    <g fill-rule=\"evenodd\">\n<path d=\"M26.66699981689453,0h-21.33300018310547c-2.934000015258789,0,-5.334000110626221,2.4000000953674316,-5.334000110626221,5.334000110626221v21.332000732421875c0,2.9360008239746094,2.4000000953674316,5.3339996337890625,5.334000110626221,5.3339996337890625h21.33300018310547c2.934000015258789,0,5.333000183105469,-2.398000717163086,5.333000183105469,-5.3339996337890625v-21.332000732421875c0,-2.934000015258789,-2.3990001678466797,-5.334000110626221,-5.333000183105469,-5.334000110626221ZM26.66699981689453,4c0.25,0,0.48600006103515625,0.07299995422363281,0.6879997253417969,0.1979999542236328l-11.354999542236328,9.387999534606934l-11.354999542236328,-9.38700008392334c0.20200014114379883,-0.125,0.43900012969970703,-0.1979999542236328,0.689000129699707,-0.1979999542236328h21.33300018310547ZM5.334000110626221,28c-0.059999942779541016,0,-0.11899995803833008,-0.0049991607666015625,-0.17799997329711914,-0.01300048828125l7.051000595092773,-9.779998779296875l-0.9139995574951172,-0.9139995574951172l-7.293000221252441,7.293001174926758v-19.097999572753906l11.999999046325684,14.512001037597656l12,-14.51200008392334v19.097999572753906l-7.292999267578125,-7.292999267578125l-0.9139995574951172,0.9139995574951172l7.051000595092773,9.780000686645508c-0.05800056457519531,0.007999420166015625,-0.11700057983398438,0.01300048828125,-0.1770000457763672,0.01300048828125h-21.33300018310547Z\" transform=\"matrix(0.811166, 0, 0, 0.811166, 3.24689, 3.08769)\"/>\n    </g>\n</svg>",
            "created": "20160313210512027",
            "modified": "20160313210655434",
            "tags": "$:/tags/Image",
            "title": "$:/core/images/email"
        },
        "$:/core/modules/editor-operations/text/emailconverter.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor-operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"email\"] = function(event,operation) {\nvar listtext=operation.selection;\n\nvar len= listtext.length;\n\n  listtext= listtext.replace(/\\</gm,'&lt;');\n  listtext= listtext.replace(/\\>/gm,'&gt;');\n  listtext= listtext.replace(/ $/gm,'\\n');\n  listtext= listtext.replace(/$/gm,'\\n');\n\n// convert uncommon bullets to bullets\n  listtext= listtext.replace(/[\\uF0FC\\uF0A7\\uF076\\uF0D8\\u2022\\u2219\\u25E6\\u2219\\u27A2\\u2756\\u25CB\\u2713·]/gm,'\\n*');\n  listtext= listtext.replace(/\\n[ov\\u2022§Øü]\\t/gm,'\\n* ');\n\n// Remove excess linebreaks and tabs\nvar lenb=listtext.length;\n\ndo {\nvar lena=lenb;\n  listtext= listtext.replace(/\\n\\n\\n/gm,'\\n\\n');\n  listtext= listtext.replace(/ \\n/gm,'\\n');\n  listtext= listtext.replace(/<br>\\n<br>/gm,'\\n');\n  listtext= listtext.replace(/\\n<br>/gm,'\\n');\n  listtext= listtext.replace(/<br>\\n <br>/gm,'\\n');\n  listtext= listtext.replace(/  /gm,' ');\n  lenb=listtext.length;\n}\nwhile (lenb<lena);\n\n// remove unnecessary <br>\n  listtext= listtext.replace(/<br>\\n/gm,'<br>');\n\noperation.replacement=listtext;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "created": "20160328021002009",
            "modified": "20160328021548446",
            "module-type": "texteditoroperation",
            "tags": "",
            "title": "$:/core/modules/editor-operations/text/emailconverter.js",
            "type": "application/javascript"
        },
        "$:/core/ui/TextEditorToolbar/email": {
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"email\"\n/>",
            "caption": "{{$:/language/Buttons/EmailConverter/Caption}}",
            "condition": "[all[current]!is[image]]",
            "created": "20160315202157820",
            "creator": "Stephen",
            "description": "{{$:/language/Buttons/EmailConverter/Hint}}",
            "icon": "$:/core/images/email",
            "list-after": "$:/core/ui/TextEditorToolbar/link",
            "modified": "20160505115709725",
            "modifier": "Stephen",
            "shortcuts": "((emailconvert))",
            "tags": "$:/tags/EditorToolbar",
            "title": "$:/core/ui/TextEditorToolbar/email"
        },
        "$:/language/Buttons/EmailConverter/Caption": {
            "text": "email converter",
            "created": "20150129183040480",
            "creator": "Stephen",
            "modified": "20150204201744504",
            "modifier": "Stephen",
            "tags": "ske",
            "title": "$:/language/Buttons/EmailConverter/Caption"
        },
        "$:/language/Buttons/EmailConverter/Hint": {
            "text": "Convert email to Tiddler format",
            "created": "20150202180755860",
            "creator": "Stephen",
            "modified": "20150204201758818",
            "modifier": "Stephen",
            "tags": "ske",
            "title": "$:/language/Buttons/EmailConverter/Hint"
        },
        "$:/config/ShortcutInfo/emailconvert": {
            "text": "{{$:/language/Buttons/EmailConverter/Hint}}",
            "created": "20160505025008746",
            "creator": "Stephen",
            "modified": "20160505025045739",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/config/ShortcutInfo/emailconvert"
        },
        "$:/config/shortcuts/emailconvert": {
            "text": "ctrl-alt-E",
            "created": "20160505024943232",
            "creator": "Stephen",
            "modified": "20160505121841827",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/config/shortcuts/emailconvert"
        }
    }
}
{
    "tiddlers": {
        "$:/language/Buttons/HtmlConverter/Caption": {
            "text": "HTML Converter",
            "created": "20150304032218670",
            "creator": "Stephen",
            "modified": "20150304032351873",
            "modifier": "Stephen",
            "tags": "ske",
            "title": "$:/language/Buttons/HtmlConverter/Caption"
        },
        "$:/language/Buttons/HtmlConverter/Hint": {
            "text": "convert an HTML page imported from the Internet",
            "created": "20150129182744418",
            "creator": "Stephen",
            "modified": "20150204202033738",
            "modifier": "Stephen",
            "tags": "ske",
            "title": "$:/language/Buttons/HtmlConverter/Hint"
        },
        "$:/core/ui/TextEditorToolbar/htmlconvert": {
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"htmlconverter\"\n/>",
            "caption": "{{$:/language/Buttons/HtmlConverter/Caption}}",
            "condition": "[all[current]!is[image]]",
            "created": "20160316212443637",
            "creator": "Stephen",
            "description": "{{$:/language/Buttons/HtmlConverter/Hint}}",
            "icon": "$:/core/images/format-html",
            "list-after": "$:/core/ui/TextEditorToolbar/tablehelper",
            "modified": "20160505115755238",
            "modifier": "Stephen",
            "shortcuts": "((htmlconvert))",
            "tags": "$:/tags/EditorToolbar",
            "title": "$:/core/ui/TextEditorToolbar/htmlconvert"
        },
        "$:/core/modules/editor-operations/text/htmlconverter.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor-operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n\n// skimmel insertion =============\nfunction lister(str){\nvar prefix=\"\";\nvar ops=[\"<ol>\",\"<ul>\",\"</ol>\",\"</ul>\",\"<li>\",\"</li>\"];\nvar index=-1;\n\n     str=\" \"+str;\n     var len= str.length;\n\n/* Strip the trailing li */\n    var re = /<\\/li>/gim;\n    var subst = '\\n';\n    str = str.replace(re, subst);\n/* Strip anything but core stuff in the ops */\n    re = /<([l|u|o])([l|i])(.*?)>/gim; \n    subst = '<$1$2>'; \n    str = str.replace(re, subst);\n\n/* Find First op */\n\ndo {\nvar firstop= 999;\nvar first=str.length;\n\nfor (index=0; index<ops.length;index++) {\nvar dummy = ops[index];\nvar n = str.indexOf(dummy);\nif (n>-1 && n<first) {\nfirst = n;\nvar firstop = index;\n}/* end if */\n}/* end for */\n\nif (firstop<999){\nswitch (firstop) {\ncase 0: /* <ol> */\n    prefix=prefix+\"#\";\n    re = /<ol>/im; \n    subst=\"\\n\";\n    str = str.replace(re, subst);\n    break;\ncase 1:/* <ul> */\n    prefix = prefix +\"*\";\n    var re = /<ul>/im; \n    subst=\"\\n\";\n    str = str.replace(re, subst);\n    break;\ncase 2: /* </ol> */\n    prefix=prefix.slice(0,prefix.length-1);\n    var re = /<\\/ol>/im; \n    subst=\"\\n\";\n    str = str.replace(re, subst);\n    break;\ncase 3: /* </ul> */\n    prefix=prefix.slice(0,prefix.length-1);\n    var re = /<\\/ul>/im; \n    subst=\"\\n\";\n    str = str.replace(re, subst);\n    break;\ncase 4: /* <li> */\n    var re = /<li>/im; \n    subst=\"\"+prefix;\n    str = str.replace(re, subst);\n\n} /* end switch */\n\n} /* end if */\n\n}\nwhile (firstop<999)\nvar re =/\\n\\n([*|#])/gmi;\nsubst=\"\\n$1\";\nstr = str.replace(re, subst);\n\nvar re = /#\\n# /gm; \nvar subst = '\\n#'; \nstr = str.replace(re, subst);\n\nstr=str.slice(1, str.length);\nreturn str;\n\n}/* end function */\n// ====== End List Converter =====\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"htmlconverter\"] = function(event,operation) {\nvar listtext=operation.selection;\nlisttext=lister(listtext);\nvar re = /<\\/div>/gm;\nvar subst =\"\\n\";\nvar listtext = listtext.replace(re, subst);\n\nvar re = /<header.*?>|<\\/header>/gmi; \nvar subst = ''; \nvar listtext = listtext.replace(re, subst);\n\n// ===== start image processing =====\nvar str = listtext;\nvar n = str.indexOf(\"<img \");\nwhile (n>-1){\nvar n2 = str.indexOf(\">\",n);\nvar imagesub = str.substring(n,n2+1);\nvar front = str.substring(0,n);\nvar len=str.length;\nvar back = str.substring(n2+1,len);\nvar re = /<img (.*?)>/gmi; \nvar subst = '$1'; \nimagesub = imagesub.replace(re, subst);\n// get the title if any\nvar nalt=imagesub.indexOf('src=\"');\nvar title=\"\";\nif (nalt>-1){\nnalt=nalt+5;\nvar nalte=imagesub.indexOf('\"',nalt);\ntitle=imagesub.substring(nalt,nalte);\n}\n\nvar nalt=imagesub.indexOf('class=\"');\nvar nclass=\"\";\nif (nalt>-1){\nvar nalte=imagesub.indexOf('\"',nalt+7)+1;\nnclass=imagesub.substring(nalt,nalte)+\" \";\n}\n\nvar nalt=imagesub.indexOf(' width=\"');\nvar nwidth=\"\";\nif (nalt>-1){\nvar nalte=imagesub.indexOf('\"',nalt+7)+1;\nnwidth=imagesub.substring(nalt,nalte)+\" \";\n}\n\nvar nalt=imagesub.indexOf(' height=\"');\nvar nheight=\"\";\nif (nalt>-1){\nvar nalte=imagesub.indexOf('\"',nalt+8)+1;\nnheight=imagesub.substring(nalt,nalte)+\" \";\n}\n\nvar nalt=imagesub.indexOf('alt=\"');\nvar alt=\"\";\nif (nalt>-1){\nvar nalte=imagesub.indexOf('\"',nalt+5)+1;\nalt=imagesub.substring(nalt,nalte)+\" \";\n}\n\nimagesub = \"[img \"+alt+nclass+nwidth+nheight+\"[\"+title+\"]]\";\nlisttext=front+imagesub+back;\nstr=listtext;\nn = str.indexOf(\"<img \");\n}\n\n//----- End Image Processing\n\nvar re = /amp;/gm;\nvar subst =\"\";\nvar listtext = listtext.replace(re, subst);\n\nre = /<small.*?>|<\\/small>/gm; \nsubst = ''; \nlisttext = listtext.replace(re, subst);\n\nre = /<pre.*?>|<\\/pre>/gm; \nsubst = '\\n```\\n'; \nlisttext = listtext.replace(re, subst);\n\nvar re = /<p .*?>|<p>|<\\/p>/gm;\nvar subst = \"\\n\";  \nvar listtext = listtext.replace(re, subst);\n\nvar re = /<u>|<\\/u>|<ins>|<\\/ins>/gm;\nsubst = '__';\nlisttext = listtext.replace(re, subst);\n\nvar re = /<mark>/gm;\nsubst = '@@.highlight ';\nlisttext = listtext.replace(re, subst);\n\nvar re = /<\\/mark>/gm;\nsubst = '@@';\nlisttext = listtext.replace(re, subst);\n\nre = /\\t/gmi\nsubst = '';  \nlisttext = listtext.replace(re, subst);\n\nre = /<b>|<\\/b>|<strong>|<\\/strong>/gmi;\nsubst = '\\'\\'';  \nlisttext = listtext.replace(re, subst);\n\nre = /<i>|<\\/i>|<em>|<\\/em>/gmi;\nsubst = '//';  \nlisttext = listtext.replace(re, subst);\n\nre = /<sup(.*?)>|<\\/sup>/gmi;\nsubst = '^^';  \nlisttext = listtext.replace(re, subst);\n\nre = /<sub>|<\\/sub>/gmi;\nsubst = ',,';  \nlisttext = listtext.replace(re, subst);\n\nre = /<del>|<\\/del>|<strike>|<\\/strike>/gmi;\nsubst = '~~';  \nlisttext = listtext.replace(re, subst);\n\nre = /<h1(.*?)>/gmi;\nsubst = '\\n! ';  \nlisttext = listtext.replace(re, subst);\nre = /<h2(.*?)>/gmi;\nsubst = '\\n!! ';  \nlisttext = listtext.replace(re, subst);\nre = /<h3(.*?)>/gmi;\nsubst = '\\n!!! ';  \nlisttext = listtext.replace(re, subst);\nre = /<h4(.*?)>/gmi;\nsubst = '\\n!!!! ';  \nlisttext = listtext.replace(re, subst);\nre = /<h5(.*?)>/gmi;\nsubst = '\\n!!!!! ';  \nlisttext = listtext.replace(re, subst);\nre = /<h6(.*?)>/gmi;\nsubst = '\\n!!!!!! ';  \nlisttext = listtext.replace(re, subst);\nre = /<\\/h.>/gmi;\nsubst = '';  \nlisttext = listtext.replace(re, subst);\n\nre = /<blockquote.*?>|<\\/blockquote>/gmi;\nsubst='\\n<<<\\n';\nlisttext = listtext.replace(re, subst);\n\nre = /<a.*?href=\"(.*?)\".*?>(.*?)<\\/a>/gmi;\nsubst = \"[[$2|$1]]\"; \nlisttext = listtext.replace(re, subst);\n\n//Stray characters\nre=/%24/gm;\nsubst=\"$\";\nlisttext = listtext.replace(re, subst);\nre=/%3A/gm;\nsubst=\":\";\nlisttext = listtext.replace(re, subst);\nre=/%2F/gm;\nsubst=\"/\";\nlisttext = listtext.replace(re, subst);\n\nre = /<li(.*?)>/gmi; \nsubst = '<li>';\nlisttext = listtext.replace(re, subst);\n\n// ------------- Tables  --------\nre = /<\\/td.*?>|<\\/th>|<tr.*?>|<tbody.*?>|<\\/tbody>|<\\/table>/gmi; \nsubst = '';\nlisttext = listtext.replace(re, subst);\n\nre = /<td.*?>/gmi; \nsubst = '|';\nlisttext = listtext.replace(re, subst);\n\nre = /<th.*?>/gmi; \nsubst = '|';\nlisttext = listtext.replace(re, subst);\n\nre = /<\\/thead(.*?)>/gmi; \nsubst = '|h';\nlisttext = listtext.replace(re, subst);\n\nre = /<table.*?class=\"(.*?)\".*?>/gmi;\nsubst='\\n\\n|$1|k\\n\\n';\nlisttext = listtext.replace(re, subst);\n\nre= /<caption.*?>(.*?)<\\/caption>/gm;\nsubst='\\n|$1|c\\n\\n';\nlisttext = listtext.replace(re, subst);\n\nre = /<table(.*?)>|<\\/tr>/gmi; \nsubst = '|\\n';\nlisttext = listtext.replace(re, subst);\n\nre = /<span(.*?)>|<\\/span>|<div.*?>/gmi; \nsubst = ' ';\nlisttext = listtext.replace(re, subst);\n\nre = /\\n\\|/gm; \nsubst = '|';\nlisttext = listtext.replace(re, subst);\n\nre = /([0-9a-z.!?\"\\]\\^])\\n\\|/gmi; \nsubst = '$1|'; \nlisttext = listtext.replace(re, subst);\n\nre = /<\\/div>\\n\\|/gmi; \nsubst = '</div>|'; \nlisttext = listtext.replace(re, subst);\n\nre = /\\|\\n\\n\\|/gmi; \nsubst = '|\\n|'; \nlisttext = listtext.replace(re, subst);\n\nre=/<dl>|<\\/dl>|<\\/dt>|<\\/dd>/gmi;\nsubst = '';\nlisttext = listtext.replace(re, subst);\n\nre=/<dt>/gmi;\nsubst = ';';\nlisttext = listtext.replace(re, subst);\n\nre=/<dd>/gmi;\nsubst = ':';\nlisttext = listtext.replace(re, subst);\n\n// Correct issue with images in links\nvar re = /\\[\\[(\\[img.*?\\[.*?\\|)(.*?)\\]\\]/gmi; \nsubst = '<a href=\"$2\">$1</a>'; \nlisttext = listtext.replace(re, subst);\n\n// Clean up\n// Remove excess linebreaks and tabs\nvar lenb=listtext.length;\ndo {\nvar lena=lenb;\n  listtext= listtext.replace(/\\n\\n\\n/gm,'\\n\\n');\n  listtext= listtext.replace(/\\n \\n/gm,'\\n\\n');\n  listtext= listtext.replace(/<br>\\n<br>/gm,'\\n');\n  listtext= listtext.replace(/^\\n/,'');\n// Strip multiple blanks \n  listtext = listtext.replace(/  /,' ');\n  lenb=listtext.length;\n}\nwhile (lenb<lena);\n\noperation.replacement=listtext;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "created": "20160328021828150",
            "modified": "20160328024105960",
            "module-type": "texteditoroperation",
            "tags": "",
            "title": "$:/core/modules/editor-operations/text/htmlconverter.js",
            "type": "application/javascript"
        },
        "$:/core/images/format-html": {
            "text": "<svg class=\"tc-image-format-bold tc-image-button\" width=\"38pt\" height=\"32pt\" viewBox=\"0 0 34 34\">\n    <g fill-rule=\"evenodd\">\n<text  style=\"font-family: Arial; font-size: 26px; font-weight: bold;\" x=\"-2.5211\" y=\"16.7774\" id=\"e4_texte\" transform=\"matrix(0.558332, 0, 0, 0.6606, 1.53576, 9.12324)\">HTML</text>\n    </g>\n</svg>",
            "created": "20160314124318483",
            "modified": "20160316130747994",
            "tags": "$:/tags/Image",
            "title": "$:/core/images/format-html"
        },
        "$:/config/ShortcutInfo/htmlconvert": {
            "text": "{{$:/language/Buttons/HtmlConverter/Hint}}",
            "created": "20160505025108629",
            "creator": "Stephen",
            "modified": "20160505025137755",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/config/ShortcutInfo/htmlconvert"
        },
        "$:/config/shortcuts/htmlconvert": {
            "text": "ctrl-alt-H",
            "created": "20160505025144746",
            "creator": "Stephen",
            "modified": "20160505122149630",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/config/shortcuts/htmlconvert"
        }
    }
}
{
    "tiddlers": {
        "$:/core/images/format-indent": {
            "text": "<svg class=\"tc-image-format-bold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 32 32\">\n    <g fill-rule=\"evenodd\">\n<path d=\"M0,2h32v4h-32ZM12,8h20v4h-20ZM12,14h20v4h-20ZM12,20h20v4h-20ZM0,26h32v4h-32ZM0,22v-12l8,6Z\" transform=\"matrix(0.787546, 0, 0, 0.787546, 3.99252, 3.17783)\"/>\n\n    </g>\n</svg>",
            "created": "20160309033519012",
            "modified": "20160309033653986",
            "tags": "$:/tags/Image",
            "title": "$:/core/images/format-indent"
        },
        "$:/core/ui/TextEditorToolbar/indent": {
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix='<div style=\"padding-left: 50px\";>'\n\tsuffix=\"</div>\"\n/>",
            "caption": "{{$:/language/Buttons/Indent/Caption}}",
            "condition": "[all[current]!is[image]]",
            "created": "20160309033243275",
            "creator": "Stephen",
            "description": "{{$:/language/Buttons/Indent/Hint}}",
            "icon": "$:/core/images/format-indent",
            "list-after": "$:/core/ui/TextEditorToolbar/Colour-Picker",
            "modified": "20160505115255124",
            "modifier": "Stephen",
            "shortcuts": "((indent))",
            "tags": "$:/tags/EditorToolbar",
            "title": "$:/core/ui/TextEditorToolbar/indent"
        },
        "$:/language/Buttons/Indent/Caption": {
            "text": "indent",
            "created": "20160202125743972",
            "creator": "Stephen",
            "modified": "20160202125809776",
            "modifier": "Stephen",
            "tags": "ske",
            "title": "$:/language/Buttons/Indent/Caption"
        },
        "$:/language/Buttons/Indent/Hint": {
            "text": "Indent the highlighted selection",
            "created": "20160202130252685",
            "creator": "Stephen",
            "modified": "20160202130311459",
            "modifier": "Stephen",
            "tags": "ske",
            "title": "$:/language/Buttons/Indent/Hint"
        },
        "$:/config/ShortcutInfo/indent": {
            "text": "{{$:/language/Buttons/Indent/Hint}}",
            "created": "20160505023441784",
            "creator": "Stephen",
            "modified": "20160505023752509",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/config/ShortcutInfo/indent"
        },
        "$:/config/shortcuts/indent": {
            "text": "ctrl-alt-N",
            "created": "20160505023801780",
            "creator": "Stephen",
            "modified": "20160505121745541",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/config/shortcuts/indent"
        }
    }
}
{
    "tiddlers": {
        "$:/sk/SidebarEditorHelp": {
            "text": "@@border: 1px solid lightgray;width:90%;\n<table  class=noborders><tr><td>\nSearch Help Tiddlers</td><td><$edit-text tiddler=\"$:/temp/sbsearch\" tag=input/></td></tr>\n<tr><td>Select a topic</td><td>\n<$select tiddler=\"$:/temp/help-browser\" class=\"editortoolbar\">\n<$list filter='[all[shadows+tiddlers]tag[Learning]sort[title]search{$:/temp/sbsearch}] [all[shadows+tiddlers]tag[EditorHelp]sort[title]search{$:/temp/sbsearch}] [all[shadows+tiddlers]tag[WikiText]sort[title]search{$:/temp/sbsearch}] [all[shadows+tiddlers]tag[Concepts]sort[title]search{$:/temp/sbsearch}] [all[shadows+tiddlers]tag[Reference]sort[title]search{$:/temp/sbsearch}] [all[shadows+tiddlers]tag[Messages]sort[title]search{$:/temp/sbsearch}] [all[shadows+tiddlers]tag[Widgets]sort[title]search{$:/temp/sbsearch}] [all[shadows+tiddlers]tag[external]sort[title]search{$:/temp/sbsearch}] [all[shadows+tiddlers]tag[Help]sort[title]search{$:/temp/sbsearch}]'>\n<option value=<<currentTiddler>>><$view field='caption'><$view field='title'/></$view></option>\n</$list>\n</$select>\n</td></tr>\n</table>\n<hr>\n<$transclude tiddler={{$:/temp/help-browser}} mode=\"block\" />\n@@\n",
            "caption": "Editor Help",
            "created": "20160407024230979",
            "creator": "Stephen",
            "modified": "20160427121856374",
            "modifier": "Stephen",
            "tags": "$:/tags/SideBar",
            "title": "$:/sk/SidebarEditorHelp"
        },
        "$:/sk/BasicFormatting": {
            "text": "| Enter | To Get |h\n| `''`some bold text`''`<br>two single-quotes, not a double-quote | ''some bold text'' |\n| `//`some italicized text`//`<br>double reverse slashes  | //some italicized text// |\n| `''//`bold italics`//''` | ''//bold italics//'' |\n| `__`underlined text`__`<br>double underscore | __underlined text__ |\n| `~~`Strikethrough`~~`<br>double tildes | ~~Strikethrough~~ |\n| super`^^`script`^^`<br>double carets | super^^script^^ |\n| sub`,,`script`,,`<br>double commas | sub,,script,, |\n|{{{```}}}<br>~PlainText<br>No Formatting<br>{{{```}}}<br>triple {{{```}}} before and after on separate lines | <$transclude tiddler=\"$:/sk/PlainText\" mode=\"block\"/> |\n\n!!Line Break Formatting\n\nLine breaks can be forced explicitly using `<br>`\n\n```\nSome text with a<br>line break in the middle\n```\nSome text with a<br>line break in the middle\n\n!!Horizontal Rule Formatting\n\nFour dashes on a line by themselves are used to introduce a horizontal rule:\n\n```\nBefore the rule\n\n----\nAfter the rule\n```\n\nBefore the rule\n\n----\nAfter the rule\n\n\nThe HTML tag `<hr>` can be used as an alternative syntax:\n\n```\nBefore the rule<hr>After the rule\n```\n\nBefore the rule<hr>After the rule\n\n!!Highlighting with CSS Formatting\nVirtually any CSS command can be incorporated within the text: using ``@@..@@`` as div markers at start and end of sections\n\n```\n@@color:#C06;font-style:oblique;font-size:20px;font-family:\"Times New Roman\",Georgia,Serif;Some Text@@\n```\n\ngives\n\n@@color:#C06;font-style:oblique;font-size:20px;font-family:\"Times New Roman\",Georgia,Serif;Some Text@@\n\n```\n@@color:#4bbbbb;Some random text@@\n\n```\nshows as\n\n@@color:#4bbbbb;Some random text@@\n\nwith the color code being either the three character rgb or the six character hex. \n\n*First position Red\n*Second position Green\n*Third position Blue\n\n*@@color:#C06;C06 is red@@\n*@@color:#8cf;8cf light blue@@\n*@@color:#18f;18f mid blue@@\n*@@color:#04b;04b mid blue@@\n*@@color:#014;014 dark blue@@\n*@@color:#060;060 green@@\n\nNames also work\n\n*@@color:blue;Blue@@ `*@@color:blue;Blue@@`\n*@@color:purple;Purple@@ `*@@color:purple;Purple@@`\n\nBackground Colors work similarly:\n``@@background:yellow;color:blue;Blue on Yellow@@``\n\n@@background:yellow;color:blue;Blue on Yellow@@\n\n`@@box-shadow: 10px 10px 5px #888888;Some stuff@@`\n\n@@box-shadow: 10px 10px 5px #888888;Some stuff@@\n\n!!Indents\n:The text will ne indented one tab for each colon at the start of the line. \n\n```\n: the text will be indented one tab.\n:: this text will be indented two tabs\n```\ngives:\n\n: the text will be indented one tab.\n:: this text will be indented two tabs\n\n\nTo indent from both the left and the right, you must use some htmml/css code such as this:\n\n```\n<div style=\"margin-left: auto;margin-right: auto;width: 80%;\">\n{{Short Text}}\n</div>\n```\n\n<div style=\"margin-left: auto;margin-right: auto;width: 80%;\">\n{{$:/sk/ShortText}}\n</div>\n",
            "caption": "Basic Formatting - Examples",
            "changecount": "1",
            "created": "20131023175500000",
            "creator": "Stephen",
            "description": "help for general formatting",
            "modified": "20150205182226400",
            "modifier": "Stephen",
            "server.page.revision": "201311041441",
            "server.type": "file",
            "tags": "EditorHelp ske",
            "title": "$:/sk/BasicFormatting",
            "type": "text/vnd.tiddlywiki"
        },
        "$:/sk/AddaHelpTopic": {
            "created": "20160430165728596",
            "text": "The new help topics can be anything you would like such as reminders for editing commands to notes on the tagging system you are using.<br><br>\n\nThe help topics may be tiddlers in your wiki or they may be references to webpages that exist on the Internet.<br><br>\n\nEditor Help can display any existing tiddlers that has one of the following tags:<br><br>\n\n*Standard ~TiddlyWiki Tags\n**`Learning`\n**`Concepts`\n**`Reference`\n**`Messages`\n**`Widgets`\n** `WikiText`\n\n* `Additional Tags`\n** `Help` \n** `EditorHelp` \n** `external` - links to internet sources such as Wikipedia\n\nTo incorporate an Internet reference into your help system, use code that looks like this:\n\n```\n<iframe src=\"http://www.somebrilliantreference.com\" width=\"100%\" height=\"450\" frameborder=\"0\" scrolling=\"yes\"></iframe>\n```\nwhere you will replace `http://www.somebrilliantreference.com` with the address of the source you want.<br><br>\n\nYou want something that will format reasonably in a narrow column. For internet sources, it may be best to use the mobile form of the web pages as these are formatted for display in limited area. An example of this is $:/sk/Wikipedia<br><br>\n\nThe Editor Help system displays a drop down list which displays the contents of the \"caption\" field or if no caption field is used, it will list based on the title. <br><br>\n\nThe sidebar has slightly different formatting than the main story display so it is probably best to use `<br><br>` to force blank lines.",
            "caption": "New Help Topic",
            "creator": "Stephen",
            "modified": "20160430171602174",
            "modifier": "Stephen",
            "tags": "EditorHelp ske",
            "title": "$:/sk/AddaHelpTopic"
        },
        "$:/sk/Wikipedia": {
            "text": "<iframe src=\"http://en.m.wikipedia.org/wiki/Main_Page\" width=\"100%\" height=\"450\" frameborder=\"0\" scrolling=\"yes\"></iframe>",
            "caption": "External - Wikipedia",
            "created": "20150126124408634",
            "creator": "Stephen",
            "modified": "20150205180500157",
            "modifier": "Stephen",
            "tags": "external ske",
            "title": "$:/sk/Wikipedia"
        },
        "$:/sk/KeyboardShortcuts": {
            "text": "{{$:/core/ui/ControlPanel/KeyboardShortcuts}}",
            "caption": "Keyboard Shortcuts",
            "created": "20160505115919261",
            "creator": "Stephen",
            "modified": "20160505120532482",
            "modifier": "Stephen",
            "tags": "EditorHelp",
            "title": "$:/sk/KeyboardShortcuts"
        },
        "$:/core/modules/editor-operations/text/tablehelper.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor-operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"tablehelper\"] = function(event,operation) {\nvar listtext=operation.selection;\nvar target =\"$:/config/WikiParserRules/Inline/commaconvert\";\nvar commasr = $tw.wiki.getTiddlerText(target);\n\nvar target =\"$:/config/WikiParserRules/Inline/centertable\";\nvar centeroption = $tw.wiki.getTiddlerText(target);\n\nvar leadpipe=\"|\";\nvar midpipe=\"|\";\nvar finalpipe=\"|\";\n\nif(centeroption==\"enable\") {\nvar leadpipe=\"| \";\nvar midpipe=\" | \";\nvar finalpipe=\" |\";\n}\n\n// strip tabs at the end of a line\n  listtext= listtext.replace(/\\t$/gm,'');\n\n// convert tab to a pipe\n  listtext=listtext.replace(/\\t/gm,midpipe);\n\n\n// convert start of line to pipe\n  listtext=listtext.replace(/^/gm,leadpipe);\n\n    if (commasr == \"enable\") {\n  listtext=listtext.replace(/,/gm,midpipe);\n    } else {\n    }\n\n// convert new line to pipe newline\n  listtext=listtext.replace(/\\n/gm,finalpipe+'\\n');\n// convert quote to space\n  listtext=listtext.replace(/\"/gm,'');\n// convert stray last pipe\n  listtext=listtext.replace(/\\|\\n\\|$/gm,'|\\n');\n//make last character a pipe\n  listtext=listtext.replace(/\\b$/gm,'|');\n//count the lines\n\nvar rowcount = (listtext.match(/\\n/g) || []).length;\n\n//Array rows contains the individual rows\nvar rows=listtext.split(/\\n/)\n\n//count the vertical pipes in each row\n\nvar maxcols=0;\nvar i=0;\nvar templist=\"\";\n\nwhile (i < rowcount) {\nvar colcount=0;\ncolcount = (rows[i].match(/\\|/g) || []).length;\nif (colcount > maxcols) {maxcols=colcount;}\ni++;\n}\n//alert(\"MaxCols = \"+maxcols);\n\nvar i=0;\nwhile (i <= rowcount) {\ncolcount = (rows[i].match(/\\|/g) || []).length;\n\nwhile (colcount<maxcols) {\nrows[i]=rows[i]+\"|\";\ncolcount = (rows[i].match(/\\|/g) || []).length;\n//alert(i+\": \"+rows[i]+\" colcount = \"+colcount);\n}\nvar templist=templist + rows[i]+\"\\n\";\n//alert(templist);\ni++;\n} // end of second pass through the rows\n//make first line a header\n  listtext=templist.replace(/\\|$/m,'|h');\noperation.replacement=listtext;\n\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "created": "20160327155515041",
            "modified": "20160505184929861",
            "module-type": "texteditoroperation",
            "title": "$:/core/modules/editor-operations/text/tablehelper.js",
            "type": "application/javascript"
        }
    }
}
{
    "tiddlers": {
        "$:/core/modules/editor-operations/text/tablehelper.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor-operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"tablehelper\"] = function(event,operation) {\nvar listtext=operation.selection;\nvar target =\"$:/config/WikiParserRules/Inline/commaconvert\";\nvar commasr = $tw.wiki.getTiddlerText(target);\n\nvar target =\"$:/config/WikiParserRules/Inline/centertable\";\nvar centeroption = $tw.wiki.getTiddlerText(target);\n\nvar leadpipe=\"|\";\nvar midpipe=\"|\";\nvar finalpipe=\"|\";\n\nif(centeroption==\"enable\") {\nvar leadpipe=\"| \";\nvar midpipe=\" | \";\nvar finalpipe=\" |\";\n}\n\n// strip tabs at the end of a line\n  listtext= listtext.replace(/\\t$/gm,'');\n\n// convert tab to a pipe\n  listtext=listtext.replace(/\\t/gm,midpipe);\n// convert start of line to pipe\n  listtext=listtext.replace(/^/gm,leadpipe);\n\n    if (commasr == \"enable\") {\n  listtext=listtext.replace(/,/gm,midpipe);\n    } else {\n    }\n\n// convert new line to pipe newline\n  listtext=listtext.replace(/\\n/gm,finalpipe+'\\n');\n// convert quote to space\n  listtext=listtext.replace(/\"/gm,'');\n// convert stray last pipe\n  listtext=listtext.replace(/\\|\\n\\|$/gm,'|\\n');\n//make last character a pipe\n  listtext=listtext.replace(/\\b$/gm,'|');\n//make first line a header\n  listtext=listtext.replace(/\\|$/m,'|h');\noperation.replacement=listtext;\n\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "created": "20160327155515041",
            "modified": "20160328020840295",
            "module-type": "texteditoroperation",
            "title": "$:/core/modules/editor-operations/text/tablehelper.js",
            "type": "application/javascript"
        },
        "$:/core/ui/ControlPanel/Settings/TableHelper": {
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n<<lingo TableHelper/Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/centertable\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/centertable\"><<lingo TableHelper/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/commaconvert\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/commaconvert\"><<lingo CommaConvert/Description>></$link> </$checkbox>\n\n",
            "caption": "{{$:/language/ControlPanel/Settings/TableHelper/Caption}}",
            "created": "20160216162111127",
            "creator": "Stephen",
            "modified": "20160310033707646",
            "modifier": "Stephen",
            "tags": "$:/tags/ControlPanel/Settings",
            "title": "$:/core/ui/ControlPanel/Settings/TableHelper"
        },
        "$:/core/ui/TextEditorToolbar/tablehelper": {
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"tablehelper\"\n/>\n",
            "caption": "{{$:/language/Buttons/TableHelper/Caption}}",
            "condition": "[all[current]!is[image]]",
            "created": "20160315202727813",
            "creator": "Stephen",
            "description": "{{$:/language/Buttons/TableHelper/Hint}}",
            "icon": "$:/core/images/format-table",
            "list-after": "$:/core/ui/TextEditorToolbar/email",
            "modified": "20160505121459274",
            "modifier": "Stephen",
            "shortcuts": "((tablehelper))",
            "tags": "$:/tags/EditorToolbar",
            "title": "$:/core/ui/TextEditorToolbar/tablehelper"
        },
        "$:/language/Buttons/TableHelper/Caption": {
            "text": "table helper",
            "created": "20150202191228672",
            "creator": "Stephen",
            "modified": "20150204205416048",
            "modifier": "Stephen",
            "tags": "ske",
            "title": "$:/language/Buttons/TableHelper/Caption"
        },
        "$:/language/Buttons/TableHelper/Hint": {
            "text": "convert an imported Excel spreadsheet into a table",
            "created": "20150129183243342",
            "creator": "Stephen",
            "modified": "20150204205437279",
            "modifier": "Stephen",
            "tags": "ske",
            "title": "$:/language/Buttons/TableHelper/Hint"
        },
        "$:/language/ControlPanel/Settings/TableHelper/Hint": {
            "text": "You can control how the ~TableHelper converts material to tables. ",
            "created": "20160216163511744",
            "creator": "Stephen",
            "modified": "20160219140701012",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/language/ControlPanel/Settings/TableHelper/Hint"
        },
        "$:/language/ControlPanel/Settings/TableHelper/Description": {
            "text": "Center Cells",
            "created": "20160216162445619",
            "creator": "Stephen",
            "modified": "20160216173132637",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/language/ControlPanel/Settings/TableHelper/Description"
        },
        "$:/language/ControlPanel/Settings/TableHelper/Caption": {
            "text": "~TableHelper Conversion Options",
            "created": "20160216162155055",
            "creator": "Stephen",
            "modified": "20160219140610529",
            "modifier": "Stephen",
            "title": "$:/language/ControlPanel/Settings/TableHelper/Caption"
        },
        "$:/language/ControlPanel/Settings/CommaConvert/Caption": {
            "text": "Comma Convert Table Helper",
            "created": "20160126140738185",
            "creator": "Stephen",
            "modified": "20160126140816335",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/language/ControlPanel/Settings/CommaConvert/Caption"
        },
        "$:/language/ControlPanel/Settings/CommaConvert/Description": {
            "text": "Convert commas to new table cells",
            "created": "20160126140830632",
            "creator": "Stephen",
            "modified": "20160216173217101",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/language/ControlPanel/Settings/CommaConvert/Description"
        },
        "$:/language/ControlPanel/Settings/CommaConvert/Hint": {
            "text": "You can have the ~TableHelper convert commas to new cells. This is useful when converting csv files to tables.",
            "created": "20160216171244663",
            "creator": "Stephen",
            "modified": "20160219140619864",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/language/ControlPanel/Settings/CommaConvert/Hint"
        },
        "$:/core/images/format-table": {
            "text": "<svg class=\"tc-image-format-strikethrough tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 32 32\">\n    <g fill-rule=\"evenodd\">\n<path  d=\"M0,6v22h32v-22h-32ZM12,20v-4h8v4h-8ZM20,22v4h-8v-4h8ZM20,10v4h-8v-4h8ZM10,10v4h-8v-4h8ZM2,16h8v4h-8v-4ZM22,16h8v4h-8v-4ZM22,14v-4h8v4h-8ZM2,22h8v4h-8v-4ZM22,26v-4h8v4h-8Z\" /></path>\n    </g>\n</svg>",
            "created": "20160308171837488",
            "modified": "20160308173159974",
            "tags": "$:/tags/Image",
            "title": "$:/core/images/format-table"
        },
        "$:/config/ShortcutInfo/tablehelper": {
            "text": "{{$:/language/Buttons/TableHelper/Hint}}",
            "created": "20160505024511236",
            "creator": "Stephen",
            "modified": "20160505024542681",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/config/ShortcutInfo/tablehelper"
        },
        "$:/config/shortcuts/tablehelper": {
            "text": "ctrl-alt-T",
            "created": "20160505023415043",
            "creator": "Stephen",
            "modified": "20160505121529857",
            "modifier": "Stephen",
            "tags": "",
            "title": "$:/config/shortcuts/tablehelper"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/telmiger/details/details.css": {
            "text": "/* details and summary */\n\ndetails {\n   transition: height 1s ease;\n   padding: 0 0.5em 0 0.66em;\n   margin-top: 0.66em;\n   margin-bottom: 0.66em;\n}\n\ndetails + details {\n   margin-top: -0.46em;\n}\n\ndetails[open] {\n   padding-bottom: 1em;\n}\n\ndetails:not([open]) { \n   cursor: pointer;\n}\n\ndetails > summary {\n   display: list-item;\n   margin: 0 -0.5em 0 -0.66em;\n   padding: 0.2em 0.5em 0.2em 0.66em;\n   padding-left: 1.76em;  /* adjust for indentation */\n   text-indent: -1.1em;\n   cursor: pointer;\n}\n\ndetails[open] > summary {\n   margin-bottom: 1em;\n}\n\ndetails[open] > *:first-child:not(summary) {\n   margin-top: 1em;\n}\n",
            "title": "$:/plugins/telmiger/details/details.css",
            "tags": "$:/tags/Stylesheet",
            "modifier": "Thomas Elmiger",
            "modified": "20180929131615369",
            "creator": "Thomas Elmiger",
            "created": "20170122140815442"
        },
        "$:/plugins/telmiger/details/details.js": {
            "text": "/*\\\ntitle: $:/plugins/telmiger/details/details.js\ntype: application/javascript\nmodule-type: widget\n\nDetails widget v 0.8\n\nWill output an HTML 5 <details> section including a <summary>\n\n```\n\t<details>\n\t\t<summary>This sums it up</summary> \n\t\tAll the details follow here.\n\t</details>\n```\n\n|Parameter |Description |h\n|summary |Optional text to display as summary. Wins over field (see below). |\n|open |Optional initial state, set to \"open\" to show details on load. Defaults to \"\". |\n|state |An optional TextReference containing the state. Wins over open. |\n|field |Optionally, the summary is taken from the field with this name in a given tiddler. Defaults to \"title\". |\n|tiddler |Optional title of a tiddler to watch, connected to field. Defaults to current tiddler. |\n|class |Optional CSS classes to be assigned to the details tag. |\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DetailsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDetailsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDetailsWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute attributes\n\tthis.computeAttributes();\n\t// Execute logic\n\tthis.execute();\n\t// Create elements\n\tthis.detailsDomNode = this.document.createElement(\"details\");\n\tif(this.detailsClass !== \"\") {\n\t\t// this.detailsClass += \" \";\n\t\t// this.detailsClass += \"tc-details\";\n\t\tthis.detailsDomNode.setAttribute(\"class\",this.detailsClass);\n\t}\n\tif(this.detailsOpen == \"open\") {\n\t\tthis.detailsDomNode.setAttribute(\"open\",\"open\");\n\t}\n\tif(this.detailsSummary !== \"\") {\n\t\tthis.summaryDomNode = this.document.createElement(\"summary\");\n\t\t// this.summaryDomNode.setAttribute(\"class\",\"tc-summary\");\n\t\tthis.detailsDomNode.appendChild(this.summaryDomNode);\n\t\tthis.summaryDomNode.appendChild(this.document.createTextNode(this.detailsSummary));\n\t}\n// register an event listener\n/* Maybe this can be reactivated later, see below.\n\tif(this.detailsStateTitle) {\n\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t{name: \"toggle\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t}\n*/\n// As iOS mobile browsers lack support of toggle events on details \n// we emulate the toggle event using click\n\tif(this.detailsStateTitle && this.summaryDomNode) {\n\t\t$tw.utils.addEventListeners(this.summaryDomNode,[\n\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t} else {\n\t\tif(this.detailsStateTitle) {\n\t\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t\t]);\n\t\t}\n\t}\n\t// Insert the details into the DOM and render any children\n\tthis.parentDomNode.insertBefore(this.detailsDomNode,nextSibling);\n\tthis.renderChildren(this.detailsDomNode,null);\n\tthis.domNodes.push(this.detailsDomNode);\n};\n\n/*\nRetrieve the value of the summary\n*/\nDetailsWidget.prototype.getSummary = function() {\n\tvar summary = \"\";\n\tif(this.summaryTitle === \"Tiddler not found\" && this.summaryField === \"\") {\n\t// nothing defined: leave empty \n\t\tsummary = \"\";\n\t} else {\n\t\t// tiddler defined? use defined field or title\n\t\tif(this.myTiddler) {\n\t\t\tif(this.summaryField === \"title\" || this.summaryField === \"\") {\n\t\t\t\tsummary = this.summaryTitle;\n\t\t\t} else {\n\t\t\t\tif(this.summaryField === \"text\") {\n         \t\t// getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\t\tsummary = this.wiki.getTiddlerText(this.summaryTitle);\n\t\t\t\t} else {\n\t\t\t\t\tsummary = this.myTiddler.fields[this.summaryField];\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.summaryField !== \"\" && this.summaryField !== \"text\") {\n\t\t\t\t// try defined field in current tiddler\n\t\t\t\tvar tiddler = this.wiki.getTiddler(this.getVariable(\"currentTiddler\"));\n\t\t\t\tsummary = tiddler.fields[this.summaryField];\n\t\t\t} else {\n\t\t\t\tsummary = \"\";\n\t\t\t}\n\t\t}\n\t}\n   return summary;\n};\n\n/*\nRetrieve the value of the state text reference\n*/\nDetailsWidget.prototype.getStateFromReference = function() {\n    var state = this.detailsStateTitle ? this.wiki.getTextReference(this.detailsStateTitle,\"\",this.getVariable(\"currentTiddler\")) : \"\";\n    return state;\n};\n\n/*\nCheck all open signals, state fields/tiddlers get priority\n*/\nDetailsWidget.prototype.getOpenState = function() {\n\tvar result = \"\";\n\tif((this.detailsOpenDefault !== \"\" && this.detailsOpenDefault !== \"no\") \n\t    || this.detailsState === \"open\") {\n\t\tresult = \"open\";\n\t } \n\tif(this.detailsStateTitle !==\"\" && this.detailsState !== \"open\") {\n\t\tresult = \"\";\n\t}\n\treturn result;\n};\n\n/*\nUpdate the state text reference after click event\n*/\nDetailsWidget.prototype.updateState = function(openState) {\n\tvar fieldValue = \"false\";\n\tvar currentTiddler = this.getVariable(\"currentTiddler\");\n    // get the title for the (existing/new) tiddler\n\tvar tr = $tw.utils.parseTextReference(this.detailsStateTitle);\n\tvar tidTitle = tr.title || currentTiddler;\n    // is it an existing state tiddler?\n\tvar isStateTiddler = (tr.title === this.detailsStateTitle);\n\tvar hasStateTiddler = this.wiki.tiddlerExists(tr.title);\n\tvar currentStateTiddler = (tr.title === currentTiddler);\n\tif(isStateTiddler || hasStateTiddler || (currentStateTiddler && tr.field !== \"text\")) { \n\t\t// Set the state field (but never overwrite the current tiddler’s text field\n\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t} else {\n\t\tif(!hasStateTiddler && tidTitle !== currentTiddler) {\n\t\t\tthis.createTiddler(tidTitle);\n\t\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t\t} else {\n\t\t\tconsole.log (\"Something went wrong in updateState\");\n\t\t}\n\t}\n};\n\n/*\nCreate a tiddler with a title only\n*/\nDetailsWidget.prototype.createTiddler = function(tidTitle) {\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: tidTitle,\n\t\t\ttags: []\n\t\t}\n\t));\n};\n\n/*\nSet openState according to click\n*/\nDetailsWidget.prototype.handleToggleEvent = function(event) {\n\t// check if an open attribute is present\n\tvar newState = this.detailsDomNode.open ? \"\" : \"open\";\n\t// update only, if the node has a new state\n\tif(newState !== this.detailsState) {\n\t\tthis.updateState(newState);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDetailsWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes \n\tvar tryTiddler = this.getAttribute(\"tiddler\");\n\tthis.myTiddler = this.wiki.getTiddler(tryTiddler);\n\tthis.summaryTitle = this.myTiddler ? tryTiddler : \"Tiddler not found\";\n\tthis.summaryField = this.getAttribute(\"field\",\"\");\n\tthis.detailsSummary = this.getAttribute(\"summary\") || this.getSummary();\n\tthis.detailsStateTitle = this.getAttribute(\"state\",\"\");\n\tthis.detailsState = this.getStateFromReference();\n\tthis.detailsOpenDefault = this.getAttribute(\"open\",\"\");\n\tthis.detailsOpen = this.getOpenState();\n\tthis.detailsClass = this.getAttribute(\"class\",\"\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDetailsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.summary || changedAttributes.state || changedAttributes.open || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tvar testState = this.getStateFromReference();\n\t\tif(testState !== this.detailsState) {\n\t\t\t// state change\n\t\t\tthis.refreshSelf();\n\t\t\trefreshed = true;\n\t\t} \n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.details = DetailsWidget;\n\n})();",
            "type": "application/javascript",
            "title": "$:/plugins/telmiger/details/details.js",
            "tags": "Plugins",
            "module-type": "widget",
            "modifier": "Thomas Elmiger",
            "modified": "20180929212032187",
            "creator": "Thomas Elmiger",
            "created": "20170124173619910"
        },
        "$:/plugins/telmiger/details/icon": {
            "created": "20170205205314072",
            "text": "<svg class=\"tc-image-button telmiger-icon\" viewBox=\"0 0 128 128\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title\"><title id=\"title\">T</title><path class=\"circle\" d=\"M64 2C30 2 2 29.753 2 64c0 34.235 27.753 62 62 62s62-27.752 62-62C126 29.753 98.221 2 64 2z\"/><path class=\"t\" d=\"M100.41 63.254c-2.886 1.92-7.544 2.883-13.979 2.883h-8.008c-4.246 0-7.331.845-9.254 2.536-1.922 1.69-3.449 5.086-4.576 10.19 0 0-.181 1.481-.503 1.481s-.369-.877-.518-1.586a37.897 37.897 0 0 0-.721-2.754c-.631-2.137-1.262-3.753-1.894-4.847-.764-1.359-1.727-2.452-2.889-3.28-1.162-.83-2.49-1.326-3.985-1.492l-2.092-.248H41.73c-6.144 0-10.711-.962-13.7-2.884-4.976-3.159-7.649-9.129-8.02-17.91-.03-.706.003-1.351.132-2.171h.585c.399 3.975 3.679 7.048 6.086 9.219 2.408 2.172 6.269 3.258 11.581 3.258h9.313c5.347 0 9.257 1.226 11.731 3.68 2.231 2.213 3.701 5.68 4.406 10.4.076.511.03.736.178.736.149 0 .11-.256.17-.783.713-6.122 3.085-10.219 7.117-12.294 2.487-1.292 6.434-1.906 11.841-1.839l6.368.1c4.311.066 7.942-.788 10.893-2.56 2.953-1.773 6.447-5.079 6.844-9.917h.595c.183.478.16 1.576.127 2.333-.371 8.752-2.894 14.668-7.567 17.749z\"/></svg>\n<style>\n.telmiger-icon .circle { fill: #e2001a }\n.telmiger-icon .t { fill: #fff }\n</style>",
            "title": "$:/plugins/telmiger/details/icon",
            "tags": "",
            "modified": "20171219183752113"
        },
        "$:/plugins/telmiger/details/license": {
            "text": "!! Plugin license\n!!!The MIT License (MIT)\n\n```\nCopyright © 2017/2018 Thomas Elmiger – thomas-elmiger.ch\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```",
            "title": "$:/plugins/telmiger/details/license",
            "tags": "",
            "modified": "20170205214435064",
            "created": "20170205213335455"
        },
        "$:/plugins/telmiger/details/readme": {
            "created": "20170205212323032",
            "text": "! ~DetailsWidget\n\nA plugin for [[TiddlyWiki|http://tiddlywiki.com]] 5 containing a script and some styles to create an HTML 5 `<details>` section including a `<summary>`. Here’s an example:\n\n<$details summary=\"W3C definition\">\n\n<<<\nThe [[details|http://w3c.github.io/html/interactive-elements.html#elementdef-details]] element represents a disclosure widget from which the user can obtain additional information or controls.\n<<< W3C\n\n</$details>\n\nDocumentation can be found at http://tid.li/tw5/plugins.html#DetailsWidget\n",
            "title": "$:/plugins/telmiger/details/readme",
            "tags": "",
            "modified": "20171219183752113"
        },
        "$:/plugins/telmiger/details/colours.css": {
            "text": "/* details and summary colours */\n\ndetails {\n   background-color: <<colour tiddler-info-tab-background>>;\n   color: <<colour foreground>>;\n}\n\ndetails summary {\n   background-color: <<colour dropdown-tab-background>>;\n}\n\ndetails.notification summary {\n    background-color: <<colour notification-background>>;\n    /* TW leaves color undefined/uses foreground */\n}\n\ndetails.warning summary {\n    background-color: #ffbbaf;\n    color: #000;\n}\n\ndetails.success summary {\n    background-color: #88edc5;\n    color: #000;\n}\n",
            "title": "$:/plugins/telmiger/details/colours.css",
            "tags": "$:/tags/Stylesheet",
            "modifier": "Thomas Elmiger",
            "modified": "20180926204140772",
            "creator": "Thomas Elmiger",
            "created": "20180925155320737"
        },
        "$:/plugins/telmiger/details/accordion": {
            "text": "\\define accordion(filter:\"_no_\",open:\"no\",class:\"\")\n<$vars accordion-filter=\"\"\"$filter$\"\"\" open=\"\"\"$open$\"\"\" class=\"\"\"$class$\"\"\">\n<$list filter=<<accordion-filter>>>\n<$details summary=<<currentTiddler>> open=<<open>> class=<<class>>>\n\n<$transclude tiddler=<<currentTiddler>>/>\n\n</$details>\n</$list>\n</$vars>\n\\end\n\n<!-- !!! Accordion Macro for Details\n\nList tiddlers and open them in a details-summary structure\n\n!!!! Attributes\n* filter: filter to select tiddlers\n* open: set to \"open\" to display details on load\n* class: set a class for the details tag\n\n-->",
            "title": "$:/plugins/telmiger/details/accordion",
            "tags": "$:/tags/Macro",
            "modifier": "Thomas Elmiger",
            "modified": "20180929065014252",
            "creator": "Thomas Elmiger",
            "created": "20180928194557274"
        }
    }
}
{
    "tiddlers": {
        "$:/language/Buttons/Cancel-Close/Caption": {
            "text": "cancel & close",
            "title": "$:/language/Buttons/Cancel-Close/Caption",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20170914204107296",
            "creator": "Thomas Elmiger",
            "created": "20170914204041613"
        },
        "$:/language/Buttons/Save-Close/Caption": {
            "text": "save & close",
            "title": "$:/language/Buttons/Save-Close/Caption",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20170914210017662",
            "creator": "Thomas Elmiger",
            "created": "20170914205946898"
        },
        "$:/language/Buttons/Cancel-Close/Hint": {
            "text": "Discard changes and close this tiddler",
            "title": "$:/language/Buttons/Cancel-Close/Hint",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20170914204458205",
            "creator": "Thomas Elmiger",
            "created": "20170914204437669"
        },
        "$:/language/Buttons/Save-Close/Hint": {
            "text": "Confirm changes and close this tiddler",
            "title": "$:/language/Buttons/Save-Close/Hint",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20170914214256855",
            "creator": "Thomas Elmiger",
            "created": "20170914210802887"
        },
        "$:/core/images/cancel-close-button": {
            "created": "20170911161631900",
            "creator": "Thomas Elmiger",
            "text": "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-image-button edit-btn-icon cancel-close\" viewBox=\"0 0 22 22\">\n<g fill-rule=\"evenodd\">\n<path d=\"M11,13.114l-2.922,2.922c-0.26,0.287 -0.631,0.452 -1.019,0.452c-0.754,0 -1.375,-0.621 -1.375,-1.375c0,-0.388 0.164,-0.759 0.452,-1.019l2.922,-2.922l-2.922,-2.922c-0.288,-0.261 -0.452,-0.631 -0.452,-1.019c0,-0.754 0.621,-1.375 1.375,-1.375c0.388,0 0.759,0.164 1.019,0.452l2.922,2.922l2.922,-2.922c0.26,-0.288 0.631,-0.452 1.019,-0.452c0.754,0 1.375,0.621 1.375,1.375c0,0.388 -0.164,0.758 -0.452,1.019l-2.922,2.922l2.922,2.922c0.288,0.26 0.452,0.631 0.452,1.019c0,0.754 -0.621,1.375 -1.375,1.375c-0.388,0 -0.759,-0.165 -1.019,-0.452l-2.922,-2.922Zm0,9.058c6.034,0 11,-4.966 11,-11c0,-6.035 -4.966,-11 -11,-11c-6.034,0 -11,4.965 -11,11c0,6.034 4.966,11 11,11Zm0,-2.75c4.526,0 8.25,-3.724 8.25,-8.25c0,-4.526 -3.724,-8.25 -8.25,-8.25c-4.526,0 -8.25,3.724 -8.25,8.25c0,4.526 3.724,8.25 8.25,8.25Z\"/>\n</g>\n<path class=\"tc-mini-icon\" d=\"M17.5,22c-2.469,0 -4.5,-2.031 -4.5,-4.5c0,-2.469 2.031,-4.5 4.5,-4.5c2.469,0 4.5,2.031 4.5,4.5c0,2.469 -2.031,4.5 -4.5,4.5Z\"/><path class=\"tc-mini-icon-foreground\" d=\"M17.5,18.5l-1.5,1.6l-1,-1l1.6,-1.6l-1.6,-1.6l1,-1l1.6,1.6l1.6,-1.6l1,1l-1.6,1.6l1.6,1.6l-1,1l-1.6,-1.6l-0.1,0Z\"/>\n</svg>",
            "title": "$:/core/images/cancel-close-button",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20181120065428219"
        },
        "$:/core/images/done-close-button": {
            "created": "20170914190201427",
            "creator": "Thomas Elmiger",
            "text": "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-image-button edit-btn-icon save-close\" viewBox=\"0 0 22 22\"><path d=\"M7,19c-0.537,0 -1,-0.5 -1,-0.5l-5.596,-6.616c-0.538,-0.54 -0.538,-1.41 0,-1.946c0.535,-0.536 1.407,-0.536 1.945,0l4.651,5.562l12.6,-13.1c0.537,-0.537 1.363,-0.537 1.9,0c0.536,0.536 0.587,1.413 0.05,1.95l-13.55,14.15c0,0 -0.463,0.5 -1,0.5Z\"/><path class=\"tc-mini-icon\" d=\"M17.5,22c-2.469,0 -4.5,-2.031 -4.5,-4.5c0,-2.469 2.031,-4.5 4.5,-4.5c2.469,0 4.5,2.031 4.5,4.5c0,2.469 -2.031,4.5 -4.5,4.5Z\"/><path class=\"tc-mini-icon-foreground\" d=\"M17.5,18.5l-1.5,1.6l-1,-1l1.6,-1.6l-1.6,-1.6l1,-1l1.6,1.6l1.6,-1.6l1,1l-1.6,1.6l1.6,1.6l-1,1l-1.6,-1.6l-0.1,0Z\"/></svg>",
            "title": "$:/core/images/done-close-button",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20181120065438063"
        },
        "$:/core/ui/Buttons/cancel-and-close": {
            "text": "<$button tooltip={{$:/language/Buttons/Cancel-Close/Hint}} aria-label={{$:/language/Buttons/Cancel-Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-cancel-tiddler\"/>\n<$list filter=\"[all[current]get[draft.of]]\" variable=\"originaltiddler\">\n<$action-sendmessage $message=\"tm-close-tiddler\" $param=<<originaltiddler>>/>\n</$list>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/cancel-close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel-Close/Caption}}/></span>\n</$list>\n</$button>",
            "title": "$:/core/ui/Buttons/cancel-and-close",
            "tags": "$:/tags/EditToolbar",
            "modifier": "Thomas Elmiger",
            "modified": "20170915114833907",
            "description": "{{$:/language/Buttons/Cancel-Close/Hint}}",
            "creator": "Thomas Elmiger",
            "created": "20170911162241564",
            "caption": "{{$:/core/images/cancel-close-button}} {{$:/language/Buttons/Cancel-Close/Caption}}"
        },
        "$:/core/ui/Buttons/save-and-close": {
            "text": "<$fieldmangler><$button tooltip={{$:/language/Buttons/Save-Close/Hint}} aria-label={{$:/language/Buttons/Save-Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n<$list filter=\"[all[current]get[draft.title]]\" variable=\"newtiddler\">\n<$action-sendmessage $message=\"tm-close-tiddler\" $param=<<newtiddler>>/>\n</$list>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/done-close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save-Close/Caption}}/></span>\n</$list>\n</$button></$fieldmangler>",
            "title": "$:/core/ui/Buttons/save-and-close",
            "tags": "$:/tags/EditToolbar",
            "modifier": "Thomas Elmiger",
            "modified": "20170915115649595",
            "description": "{{$:/language/Buttons/Save-Close/Hint}}",
            "creator": "Thomas Elmiger",
            "created": "20170531174454839",
            "caption": "{{$:/core/images/done-close-button}} {{$:/language/Buttons/Save-Close/Caption}}"
        },
        "$:/core/images/done-button": {
            "text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 22 22\" class=\"tc-image-button tc-image-done-button\" fill=\"currentColor\" width=\"22pt\" height=\"22pt\"><path d=\"M7 19c-.422 0-.73-.23-1-.5L.404 11.884c-.538-.54-.538-1.41 0-1.946.535-.536 1.407-.536 1.945 0L7 15.5 19.6 2.4c.537-.537 1.363-.537 1.9 0 .536.536.587 1.413.05 1.95L8 18.5s-.578.5-1 .5z\"/></svg>",
            "title": "$:/core/images/done-button",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20181117224936639",
            "creator": "Thomas Elmiger",
            "created": "20170914191345424"
        },
        "$:/plugins/telmiger/EditButtons/readme": {
            "created": "20170531175031820",
            "creator": "Thomas Elmiger",
            "text": "!! The Plugin\n\nThe [[EditButtons|$:/plugins/telmiger/EditButtons]] plugin makes editing of tiddlers more efficient by adding three buttons to the ''edit toolbar'': \n\n* Cancel & Close (Discard & Close)\n* Save & Close (Done & Close)\n* Save & Keep Open (Done & Reopen)\n\nInspired by Josiah and Richard William Smith. See Discussion in the [[Google Group|https://groups.google.com/d/msg/tiddlywiki/A4v-DqjN_D8/4hkOaaf0BQAJ]].\n\n!!! Versions\n\n!!!! 1.0.2\n* simpler button graphics (single svg)\n* simpler CSS (tiddler renamed)\n* documentation update\n\n!!!! 0.1.5\n* control colours via CSS\n* much cleaner construction using class names\n** edit-btn-icon (in variants cancel-close, save-close, save-open)\n** tc-mini-icon\n\n!!! Plugin components\n* buttons\n** $:/core/ui/Buttons/cancel-and-close\n** $:/core/ui/Buttons/save-and-close\n** $:/core/ui/Buttons/save-open\n* button graphics\n** $:/core/images/done-close-button\n** $:/core/images/cancel-close-button\n** $:/core/images/done-open-button\n* SVG\n** $:/core/images/done-button – a slightly modified core button. <br>Original: <$transclude tiddler=\"$:/core\" subtiddler=\"$:/core/images/done-button\"/> => {{$:/core/images/done-button}} \n* Hints and Captions you could translate\n** $:/language/Buttons/Cancel-Close/Hint\n** $:/language/Buttons/Cancel-Close/Caption\n** $:/language/Buttons/Save-Close/Hint\n** $:/language/Buttons/Save-Close/Caption\n** $:/language/Buttons/Save-Open/Hint\n** $:/language/Buttons/Save-Open/Caption\n* CSS\n** $:/plugins/telmiger/EditButtons/styles.css",
            "title": "$:/plugins/telmiger/EditButtons/readme",
            "tags": "Hacks ToDo",
            "priority": "1",
            "modifier": "Thomas Elmiger",
            "modified": "20181120224609527"
        },
        "$:/core/ui/Buttons/save-open": {
            "created": "20170916134122812",
            "creator": "Thomas Elmiger",
            "text": "<$fieldmangler><$button tooltip={{$:/language/Buttons/Save-Open/Hint}} aria-label={{$:/language/Buttons/Save-Open/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n<$list filter=\"[all[current]get[draft.title]]\" variable=\"newtiddler\">\n<$action-sendmessage $message=\"tm-edit-tiddler\" $param=<<newtiddler>>/>\n</$list>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/done-open-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save-Open/Caption}}/></span>\n</$list>\n</$button></$fieldmangler>",
            "title": "$:/core/ui/Buttons/save-open",
            "tags": "$:/tags/EditToolbar",
            "modifier": "Thomas Elmiger",
            "modified": "20170916154824488",
            "description": "{{$:/language/Buttons/Save-Open/Hint}}",
            "caption": "{{$:/core/images/done-open-button}} {{$:/language/Buttons/Save-Open/Caption}}"
        },
        "$:/language/Buttons/Save-Open/Hint": {
            "created": "20170916154230762",
            "creator": "Thomas Elmiger",
            "text": "Confirm changes – keep this tiddler open",
            "title": "$:/language/Buttons/Save-Open/Hint",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20170916154328885"
        },
        "$:/language/Buttons/Save-Open/Caption": {
            "created": "20170916154007636",
            "creator": "Thomas Elmiger",
            "text": "save & keep open",
            "title": "$:/language/Buttons/Save-Open/Caption",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20170916154034272"
        },
        "$:/core/images/done-open-button": {
            "created": "20170916150802062",
            "creator": "Thomas Elmiger",
            "text": "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-image-button edit-btn-icon save-open\" viewBox=\"0 0 22 22\"><path d=\"M7,19c-0.537,0 -1,-0.5 -1,-0.5l-5.596,-6.616c-0.538,-0.54 -0.538,-1.41 0,-1.946c0.535,-0.536 1.407,-0.536 1.945,0l4.651,5.562l12.6,-13.1c0.537,-0.537 1.363,-0.537 1.9,0c0.536,0.536 0.587,1.413 0.05,1.95l-13.55,14.15c0,0 -0.463,0.5 -1,0.5Z\"/><path class=\"tc-mini-icon\" d=\"M15.577,13.971c-1.606,0 -1.606,1.606 -1.606,1.606l0,4.817c0,0 0,1.606 1.606,1.606l4.817,0c1.606,0 1.606,-1.606 1.606,-1.606l0,-4.817c0,0 0,-1.606 -1.606,-1.606l-4.817,0Z\"/><rect class=\"tc-mini-icon-foreground\" x=\"15.927\" y=\"15.927\" width=\"4\" height=\"4\"/></svg>",
            "title": "$:/core/images/done-open-button",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20181120065422533"
        },
        "$:/plugins/telmiger/EditButtons/icon": {
            "created": "20181113063926371",
            "text": "{{$:/core/images/done-close-button}}",
            "title": "$:/plugins/telmiger/EditButtons/icon",
            "tags": "",
            "modified": "20181113063958299"
        },
        "$:/plugins/telmiger/EditButtons/styles.css": {
            "created": "20170914192742622",
            "creator": "Thomas Elmiger",
            "text": "/* Colours */\n\n.edit-btn-icon.cancel-close {\n    fill: rgba(255,0,0,0.75);\n}\n\n.edit-btn-icon.save-close,\n.tc-plugin-info .tc-plugin-info-chunk > svg.save-close {\n    fill: orange;\n}\n\n.edit-btn-icon.save-open {\n    fill: rgba(0,200,0,0.75);\n}\n\n\n/* Mini Icon Colours */\n\n.edit-btn-icon .tc-mini-icon {\n    fill: #000;\n}\n\n.edit-btn-icon .tc-mini-icon-foreground {\n    fill: #fff;\n}\n",
            "title": "$:/plugins/telmiger/EditButtons/styles.css",
            "tags": "$:/tags/Stylesheet",
            "modifier": "Thomas Elmiger",
            "modified": "20181120225758986"
        },
        "$:/plugins/telmiger/support": {
            "created": "20181103150753927",
            "text": "!! Support the Author\n\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\n\n---\n\n!!! One Time Support\n\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\n\nhttps://www.paypal.me/telmiger\n\n---\n\n!!! Permanent Support\n\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \n\nhttps://www.patreon.com/telmiger\n\n---\n\n!!! Thank You\n\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\n\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\n\nIf you like my work, I would be very happy to hear from you.\n\n''Thank you very much for your support!''<br>\n//Thomas//\n\nhttps://thomas-elmiger.ch",
            "title": "$:/plugins/telmiger/support",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20181104091650389",
            "creator": "Thomas Elmiger"
        },
        "$:/plugins/telmiger/EditButtons/support": {
            "created": "20181117205846710",
            "text": "{{$:/plugins/telmiger/support}}",
            "title": "$:/plugins/telmiger/EditButtons/support",
            "tags": "",
            "modified": "20181117205928865"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/telmiger/EditorCounter/counter.js": {
            "created": "20170207230719552",
            "creator": "Thomas Elmiger",
            "text": "/*\\\ntitle: $:/plugins/telmiger/EditorCounter/counter.js\ntype: application/javascript\nmodule-type: widget\n\nversion: 0.6.3\n\nCount the number of words or characters in a tiddler/field/input string – Autosave while editing\n\nUsage: see the plugin’s readme.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CounterWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCounterWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM – reset autosave attributes\n*/\nCounterWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\t// autosave attributes\n\tthis.diffTotal = 0;\n\tthis.saveNow = false;\n\t// calculate state \n\tthis.execute();\n\tif(this.mode == \"autosave\") {\n\t\t// store the number of last saved characters\n\t\tthis.lastSavedCount = this.currentCount;\n\t\tthis.diffLastCount = this.currentCount;\n\t} \n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tvar domNode = this.document.createElement(\"span\");\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCalculate the numbers\n*/\nCounterWidget.prototype.getLength = function(text) {\n\tvar result = 0;\n\tswitch(this.mode) {\n\t\tcase \"character\":\n\t\t\tresult = text.length.toString();\n\t\t\tbreak;\n\t\tcase \"autosave\":\n\t\t\tresult = text.length.toString();\n\t\t\t// sum up difference since last count\n\t\t\tthis.diffTotal += this.checkAutosave(result);\n\t\t\t// check saving limit\n\t\t\tthis.saveNow = (this.diffTotal >= this.saveLimit) ? true : false;\n\t\t\tbreak;\n\t\tcase \"word\":\n\t\t\tif(text.match(/\\w+/g)) {\n\t\t\t\tresult = text.match(/\\w+/g).length.toString();\n\t\t\t} else {\n\t\t\t\tresult = 0;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault: // \"?!\"\n\t\t\tresult = \"mode undefined\";\n\t}\n\treturn result;\n}\n\n/*\nSet autosave \n*/\nCounterWidget.prototype.checkAutosave = function(textlength) {\n\t// calculate difference since last count\n\tthis.diffChars = Math.abs(textlength - this.diffLastCount);\n\t// store text length\n\tthis.diffLastCount = textlength;\n\treturn this.diffChars;\n}\n\n/*\nGet the colors as an array\n*/\nCounterWidget.prototype.getColors = function() {\n\tvar color_array1 = this.colors.split(',');\n\tvar i;\n\tcolor_array1.sort(function sortfunction(a, b){\n\t\treturn a.split(':')[1] - b.split(':')[1];\n\t});\n\tfor(i = 0; i < color_array1.length; i++) {\n\t\tthis.color_array[i] = color_array1[i].split(':')[0];\n\t\tthis.count_array[i] = color_array1[i].split(':')[1];\n\t}\n}\n\n/*\nGet the numbers\n*/\nCounterWidget.prototype.getNumber = function() {\n\t// Count letters or words as appropriate.\n\tvar result = 0;\n\tif(this.countText) {\n\t\t// text supplied as parameter \n\t\tresult = this.getLength(this.countText);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.tiddler);\n\t\tvar fieldContent = tiddler.getFieldString(this.field);\n\t\tif(fieldContent) {\n\t\t\tresult = this.getLength(fieldContent);\n\t\t} else {\n\t\t\tresult = 0;\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nCounterWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.mode = this.getAttribute(\"mode\",\"character\");\n\tthis.saveLimit = this.getAttribute(\"savelimit\",200);\n\tthis.tiddler = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.field = this.getAttribute(\"field\",\"text\");\n\tthis.countText = this.getAttribute(\"text\");\n\tthis.colors = this.getAttribute(\"colors\");\n\tthis.stateTiddler = this.getAttribute(\"colorState\");\n\t// Count letters or words as appropriate.\n\tthis.currentCount = this.getNumber();\n\tthis.diffChars = 0;\n\t//Find the color cut-offs, if any.\n\tif(this.colors) {\n\t\tthis.color_array = [];\n\t\tthis.count_array = [];\n\t\tvar i;\n\t\tthis.getColors();\n\n\t\t// set the color if the counter is high enough. The color with the largest value that is less than this.currentCount wins.\n\t\tfor(i = 0; i < this.color_array.length; i++) {\n\t\t\tif(Number(this.currentCount) >= Number(this.count_array[this.color_array.length - 1 - i])) {\n\t\t\t\tif(this.stateTiddler) {\n\t\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,this.color_array[this.color_array.length -1 - i]);\n\t\t\t\t}\n\t\t\t\tthis.currentCount = '@@color:' + this.color_array[this.color_array.length -1 - i] + ';' \n\t\t\t\t\t+ this.currentCount + '@@';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(this.stateTiddler && i === this.color_array.length-1) {\n\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,'');\n\t\t\t}\n\t\t}\n\t}\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",this.currentCount,{parseAsInline: true});\n\tvar parseTreeNodes = parser ? parser.tree : [];\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCounterWidget.prototype.refresh = function(changedTiddlers) {\n\tvar refreshed = false;\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount && this.mode !== \"autosave\") {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\trefreshed = true;\n\t}\n\tif(this.saveNow) {\n\t\t// Trigger an autosave and refresh\n\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\tthis.refreshSelf();\n\t\trefreshed = true;\n\t} \n\treturn refreshed;\n};\n\nexports[\"editor-counter\"] = CounterWidget;\n\n})();\n",
            "type": "application/javascript",
            "title": "$:/plugins/telmiger/EditorCounter/counter.js",
            "tags": "EditorCounter",
            "module-type": "widget",
            "modifier": "Thomas Elmiger",
            "modified": "20170513200904421"
        },
        "$:/plugins/telmiger/EditorCounter/icon": {
            "created": "20200524221551931",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 22 22\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" stroke-linejoin=\"round\" stroke-miterlimit=\"2\">\n  <path d=\"M11.1.2l9.2 5.4v10.8L11.1 22 2 16.4V5.6L11 .2z\" fill=\"#d7d7d7\" fill-rule=\"nonzero\"/>\n  <path d=\"M11.1 2a9 9 0 100 18 9 9 0 000-18zM13 5c-.6 0-1 .5-1.4.8-.3.4-.5 1-.5 1.7v1.4c0 .7-.1 1.3-.5 1.6-.3.4-.8.6-1.5.7 1 .1 1.5.5 1.8 1 .2.4.3 1 .3 1.8v.9c0 .6 0 1.1.3 1.6.3.4.8.9 1.5 1h-.4c-1.2 0-2.1-.4-2.6-1-.2-.5-.4-1.1-.4-2v-1.2c0-.6 0-1-.3-1.3-.3-.3-.8-.5-1.5-.7h-.2l.2-.2a5.5 5.5 0 001.1-.3l.5-.5.2-.5V7.9c0-.9.2-1.6.4-2 .5-.7 1.4-1.1 2.6-1.2h.4V5z\" fill=\"#e2001a\" fill-rule=\"nonzero\"/>\n</svg>",
            "title": "$:/plugins/telmiger/EditorCounter/icon",
            "tags": "",
            "modified": "20200524221722267"
        },
        "$:/plugins/telmiger/EditorCounter/readme": {
            "created": "20170209064758307",
            "creator": "Thomas Elmiger",
            "text": "!! Count Your Texts & Autosave\n\n{{$:/plugins/telmiger/EditorCounter/about}}\n\n!!! The counters\n* In edit mode users can see stats concerning the tiddler’s text and title fields. The numbers are updated whenever they pause typing.\n* Counters for //words// and/or //characters// can be activated in the plugin settings.\n* The colours of the counters change at some predefined numbers.\n** Settings for colors and color limits are not available in the plugin configuration. <br>Workaround: edit [[the template|$:/plugins/telmiger/EditorCounter/EditTemplate]].\n\n!!! Autosave\n* When activated in the [[plugin settings|$:/plugins/telmiger/EditorCounter/settings]], //autosave// will try to save the wiki in the background during editing: whenever a predefined number of characters has been added or removed, a save is triggered.\n** As an option you can show a checkbox in the editor to pause/activate automatic saving.\n\n!!! Parameters\n\n|!Parameter |!Description |\n|colors |Optionally, define an array of color and number pairs to set minimal color limits. |\n|colorState |Optional state tiddler to save the color value. |\n|field |Calculate for the text in this field. |\n|mode |Entity to calculate: //word// or //character// or //autosave//. Defaults to \"character\". |\n|savelimit |A number of character changes after which //autosave// is performed. Default value: 200 |\n|text |Calculate this text. |\n|tiddler |Optional title of a tiddler to take the field from. Defaults to current tiddler. |\n\n!!! Widget usage\nThis plugin is based on a similar [[solution by Jed Carty|$:/plugins/telmiger/EditorCounter/credits]] – many thanks! \n\nThe widget can be used in other contexts than the plugin. The usage would be very similar to [[Jed’s examples on ooktech.com|http://ooktech.com/jed/ExampleWikis/WordCount/#%24%3A%2Fplugins%2Finmysocks%2FWordCount%2FWord%20Count%20Widget]] \n\nKnown differences: instead of `<$word-count` start with `<$editor-counter`. Default mode is //character//.\n\n!!!! Widget examples\n\n```\n<$editor-counter tiddler=SomeTiddler field=some_field mode=word/>\n<$editor-counter tiddler=SomeTiddler mode=character colors=\"blue:10,green:50,red:100\"/>\n<$editor-counter text=\"some text string\" mode=character colorState=\"$:/state/someTextColor\" colors=\"blue:10,green:50\"/>\n<$editor-counter mode=autosave savelimit=300/>\n```\n",
            "title": "$:/plugins/telmiger/EditorCounter/readme",
            "tags": "EditorCounter",
            "modifier": "Thomas Elmiger",
            "modified": "20200524222845937"
        },
        "$:/plugins/telmiger/EditorCounter/settings": {
            "text": "!! Counter Settings\nActivate counters here. Your choice will be visible below the text field in edit mode.\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/characters\" field=\"text\" checked=\"yes\" unchecked=\"no\"> Character counter</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/words\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Word counter</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/title\" field=\"text\" checked=\"yes\" unchecked=\"no\"> Title characters counter</$checkbox>\n\n!! Autosave Settings\nAutosave will try to save your wiki in the background after adding or removing 200 characters. You can change this value below.\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Autosave</$checkbox>\n every <$edit-text tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave\" field=\"limit\" size=\"4\"/> characters.\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave-pause\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Show checkbox to start/pause autosave in editor</$checkbox>\n\n<br>''\n\n<$button message=\"tm-save-wiki\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Hint}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>\n\n''<br>\n\nNote: ''All'' characters are counted as entered in the editor, regardless if they are invisible in the result or if they produce more text based on data or transclusion.",
            "title": "$:/plugins/telmiger/EditorCounter/settings",
            "tags": "EditorCounter",
            "modifier": "Thomas Elmiger",
            "modified": "20170513185158209",
            "creator": "Thomas Elmiger",
            "created": "20170208062643245"
        },
        "$:/plugins/telmiger/EditorCounter/settings/characters": {
            "created": "20170208063042363",
            "creator": "Thomas Elmiger",
            "text": "yes",
            "title": "$:/plugins/telmiger/EditorCounter/settings/characters",
            "modifier": "Thomas Elmiger",
            "modified": "20170209071527563",
            "tags": "EditorCounter"
        },
        "$:/plugins/telmiger/EditorCounter/settings/title": {
            "text": "yes",
            "title": "$:/plugins/telmiger/EditorCounter/settings/title",
            "tags": "EditorCounter",
            "modifier": "Thomas Elmiger",
            "modified": "20171112001656520",
            "creator": "Thomas Elmiger",
            "created": "20170208211524752"
        },
        "$:/plugins/telmiger/EditorCounter/settings/words": {
            "text": "no",
            "title": "$:/plugins/telmiger/EditorCounter/settings/words",
            "tags": "EditorCounter",
            "modifier": "Thomas Elmiger",
            "modified": "20170216003921105",
            "creator": "Thomas Elmiger",
            "created": "20170208063040756"
        },
        "$:/plugins/telmiger/EditorCounter/EditTemplate": {
            "created": "20170126185919666",
            "creator": "Thomas Elmiger",
            "text": "<div class=\"te-editor-counter\">\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/characters\">\n<$editor-counter tiddler=<<currentTiddler>> colors='black:0,gray:140,green:300,indianred:800,red:1600'/> characters </$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/autosave\">\n<span class=\"tc-muted\"><span class=\"tc-dirty-indicator\">•</span> <$editor-counter mode=autosave savelimit={{$:/plugins/telmiger/EditorCounter/settings/autosave!!limit}}/> saved</span>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/characters\"> &nbsp;&nbsp; \n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/words\">\n<$editor-counter mode=word colors='black:0,gray:200,green:300,indianred:1000,red:2000'/> words &nbsp;&nbsp; \n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/autosave-pause\">\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Autosave</$checkbox>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/autosave\">\n (uncheck to pause)\n</$reveal>\n</$reveal>\n</div>\n<style>\n.te-editor-counter { margin-top: -.25rem; margin-bottom: 0.75rem; }\n</style>\n<!--\n* Show the number of characters and/or words entered in edit mode.\n* Show the number of characters at last autosave (autosave at a character difference as defined in settings).\n-->",
            "title": "$:/plugins/telmiger/EditorCounter/EditTemplate",
            "tags": "$:/tags/EditTemplate EditorCounter",
            "modifier": "Thomas Elmiger",
            "modified": "20180203144502207",
            "list-before": "$:/core/ui/EditTemplate/type"
        },
        "$:/plugins/telmiger/EditorCounter/TitleTemplate": {
            "text": "<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/title\">\n<div class=\"te-title-counter\" title=\"Title length\">\n<$editor-counter tiddler=<<currentTiddler>> field=\"draft.title\" colors='green:20,indianred:30,red:40'/> chars\n</div>\n<style>\n.te-title-counter { position:absolute; right:1rem; margin-top:-2.25rem; padding-right:0.125rem; opacity:0.6; }\n@media (min-width: 30em) {\n.te-title-counter { right:2rem; }\n}\n@media (min-width: 42em) {\n.te-title-counter { right:4rem; }\n}\n</style>\n</$reveal>\n\n<!--\nShow the number of characters in the title\n-->",
            "title": "$:/plugins/telmiger/EditorCounter/TitleTemplate",
            "tags": "$:/tags/EditTemplate EditorCounter",
            "modifier": "Thomas Elmiger",
            "modified": "20171122220403967",
            "list-before": "$:/core/ui/EditTemplate/tags",
            "creator": "Thomas Elmiger",
            "created": "20170213190419968"
        },
        "$:/plugins/telmiger/EditorCounter/settings/autosave": {
            "created": "20170303132537685",
            "creator": "Thomas Elmiger",
            "text": "no",
            "title": "$:/plugins/telmiger/EditorCounter/settings/autosave",
            "modifier": "Thomas Elmiger",
            "modified": "20170304110651863",
            "limit": "200",
            "tags": "EditorCounter"
        },
        "$:/plugins/telmiger/EditorCounter/credits": {
            "text": "!! Credits\n\nMany thanks to Jed for his blueprint widget and demo site, originally on http://ooktech.com/jed/ExampleWikis/WordCount/ as well as to Skeeve who obviousliy contributed the original macro version Jed based his solution on.\n\n* http://ooktech.com/TiddlyWiki/\n* http://ooktech.com/TiddlyWiki/WordCount/\n\n//Powered by the fantastic TiddlyWiki community.//\n",
            "title": "$:/plugins/telmiger/EditorCounter/credits",
            "tags": "EditorCounter",
            "modifier": "Thomas Elmiger",
            "modified": "20170304104718649",
            "creator": "Thomas Elmiger",
            "created": "20170304102433909"
        },
        "$:/plugins/telmiger/EditorCounter/support": {
            "created": "20200524222008409",
            "text": "{{$:/plugins/telmiger/support}}",
            "title": "$:/plugins/telmiger/EditorCounter/support",
            "tags": "",
            "modified": "20200524222035571"
        },
        "$:/plugins/telmiger/support": {
            "created": "20200524221938892",
            "text": "!! Support the Author\n\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\n\n---\n\n!!! One Time Support\n\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\n\nhttps://www.paypal.me/telmiger\n\n---\n\n!!! Permanent Support\n\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \n\nhttps://www.patreon.com/telmiger\n\n---\n\n!!! Thank You\n\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\n\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\n\nIf you like my work, I would be very happy to hear from you.\n\n''Thank you very much for your support!''<br>\n//Thomas//\n\nhttps://thomas-elmiger.ch",
            "title": "$:/plugins/telmiger/support",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20200524221949023",
            "creator": "Thomas Elmiger"
        },
        "$:/plugins/telmiger/EditorCounter/about": {
            "created": "20200524222834178",
            "modified": "20200524222834179",
            "title": "$:/plugins/telmiger/EditorCounter/about",
            "text": "The [[EditorCounter plugin|https://tid.li/tw5/plugins.html#EditorCounter]] can display counters for words and characters in the edit view. In single page wikis it can save texts automagically in the background – check the [[plugin settings|$:/plugins/telmiger/EditorCounter/settings]].\n",
            "tags": ""
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/telmiger/HarveyBalls/empty/icon.svg": {
            "created": "20171001102215819",
            "creator": "Thomas Elmiger",
            "text": "<svg class=\"em-icon harvey-ball ball-empty\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/empty/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/empty/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/></svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/empty/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171001205727758"
        },
        "$:/plugins/telmiger/HarveyBalls/full/icon.svg": {
            "created": "20171001110625517",
            "creator": "Thomas Elmiger",
            "text": "<svg class=\"em-icon harvey-ball ball-full\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/full/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/full/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64z\"/></svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/full/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171001203909143"
        },
        "$:/plugins/telmiger/HarveyBalls/half/icon.svg": {
            "text": "<svg class=\"em-icon harvey-ball ball-half\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/half/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/half/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16V16c-26.51 0-48 21.49-48 48s21.49 48 48 48z\"/></svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/half/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171108194705981",
            "creator": "Thomas Elmiger",
            "created": "20171001113351829"
        },
        "$:/plugins/telmiger/HarveyBalls/icons.css": {
            "created": "20171001103035127",
            "creator": "Thomas Elmiger",
            "text": "/* Size  and position \n– inspired by https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n*/\n\nsvg.em-icon {\n    width: 1em;\n    height: 1em;\n    margin-bottom: -0.125em;\n}\n\n/* Colours */\n\nsvg.em-icon.ball-empty {\n    fill: rgba(255,0,0,0.95);\n}\nsvg.em-icon.ball-full {\n    fill: green;\n}\nsvg.em-icon.ball-quarter {\n    fill: orange;\n}\nsvg.em-icon.ball-half {\n    fill: #000;\n}\nsvg.em-icon.ball-quarter-empty {\n    fill: blue;\n}",
            "title": "$:/plugins/telmiger/HarveyBalls/icons.css",
            "tags": "$:/tags/Stylesheet",
            "modifier": "Thomas Elmiger",
            "modified": "20171001120510304"
        },
        "$:/plugins/telmiger/HarveyBalls/quarter-empty/icon.svg": {
            "created": "20171001114641516",
            "creator": "Thomas Elmiger",
            "text": "<svg class=\"em-icon harvey-ball ball-quarter-empty\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/quarter-empty/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/quarter-empty/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zM16 64c0 .19 48 0 48 0V16c-26.51 0-48 21.49-48 48z\"/></svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/quarter-empty/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171001205536194"
        },
        "$:/plugins/telmiger/HarveyBalls/quarter/icon.svg": {
            "created": "20171001112413825",
            "creator": "Thomas Elmiger",
            "text": "<svg class=\"em-icon harvey-ball ball-quarter\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/quarter/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/quarter/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48 0-0-48 0-48 0s.25-48 0-48c-26.51 0-48 21.49-48 48s21.49 48 48 48z\"/>\n</svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/quarter/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171001205410250"
        },
        "$:/plugins/telmiger/HarveyBalls/readme": {
            "text": "\\define tr(variant,nr:\"\")\n<$vars tit=\"$:/language/HarveyBalls/$variant$/title\" desc=\"$:/language/HarveyBalls/$variant$/desc\" nr=\"\"\"$nr$\"\"\">\n<tr><td>{{$:/plugins/telmiger/HarveyBalls/$variant$/icon.svg}} </td><td><<nr>></td><td><$link to=<<tit>>><$transclude tiddler=<<tit>>/></$link> </td><td><$link to=<<desc>>><$transclude tiddler=<<desc>>/></$link></td></tr>\n</$vars>\n\\end\n\n!! Harvey Balls\n\nHarvey Balls are round ideograms used for visual communication of qualitative information. They are commonly used in comparison tables to indicate the degree to which a particular item meets a particular criterion.\n\n!!! Macros for display\nThe same as `{{$:/plugins/telmiger/HarveyBalls/half/icon.svg}}` – the Harvey ball <<HB2>> – would be displayed for all three of the following macros:\n\n`<<HarveyBall half>>`\n`<<HB2>>`\n`<<HB 2>>`\n\nTitles or numbers of the following tables can be used.\n\n!!! Available ideograms\n\n//1) more colour is better//\n\n<table>\n<tr><th>icon </th><th># </th><th>title </th><th>desc </th></tr>\n<<tr empty 0>>\n<<tr quarter 1>>\n<<tr half 2>>\n<<tr quarter-empty 3>>\n<<tr full 4>>\n</table>\n\n//2) less colour is better//\n\n<table>\n<tr><th>icon </th><th># </th><th>title </th><th>desc </th></tr>\n<<tr chaotic 34>>\n<<tr complex 21>>\n<<tr complicated 13>>\n<<tr obvious 8>>\n<<tr simple 5>>\n</table>\n\n!!! Adapt or translate for better accessibility\nTo convey another meaning with your Harvey Balls, it is possible to adapt or translate titles and descriptions. So it is possible to use them e.g. for a performance ratings or a score like:\n\n* poor\n* fair\n* good\n* very good\n* excellent\n\nJust click the text in the table above and adapt the content to your needs. The warning is just a reminder that you are overwriting the standard text. You can always delete your own version to return to the original.\n\n!!! Control dimensions via font size\n\nInside surrounding text, the Harvey balls adapt themselves in size. Examples:\n\n! Title H1 {{$:/plugins/telmiger/HarveyBalls/empty/icon.svg}}\n\n!! Title H2 {{$:/plugins/telmiger/HarveyBalls/full/icon.svg}} more text\n\n!!! Title H3 {{$:/plugins/telmiger/HarveyBalls/quarter/icon.svg}} more text\n\n!!!! Title H4 {{$:/plugins/telmiger/HarveyBalls/half/icon.svg}} more text\n\nNormal text paragraph {{$:/plugins/telmiger/HarveyBalls/quarter-empty/icon.svg}} more text or apply [[styling via Wikitext|http://tiddlywiki.com/#Styles%20and%20Classes%20in%20WikiText]]: \n\n@@font-size:2em; \nYou will need some text {{$:/plugins/telmiger/HarveyBalls/full/icon.svg}} to make this big.\n@@\n\n!!! Adjust colours via CSS\nThe styling of the balls can be changed \n\n# by adapting the style sheet $:/plugins/telmiger/HarveyBalls/icons.css\n# by adapting surrounding text color in case of the //less colour is better// version (it uses fill=\"currentColor\")\n\n\n<style>\nth {\n   text-align: left;\n}\n</style>",
            "title": "$:/plugins/telmiger/HarveyBalls/readme",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20171108195527207",
            "creator": "Thomas Elmiger",
            "created": "20171001103302730"
        },
        "$:/language/HarveyBalls/simple/title": {
            "created": "20171004221927784",
            "creator": "Thomas Elmiger",
            "text": "simple",
            "title": "$:/language/HarveyBalls/simple/title",
            "tags": "",
            "modified": "20171004221945951",
            "modifier": "Thomas Elmiger"
        },
        "$:/plugins/telmiger/HarveyBalls/alternatives": {
            "created": "20171005185418327",
            "creator": "Thomas Elmiger",
            "text": "!! Alternatives\n\n!!! SVG from Wikipedia\nOn https://en.wikipedia.org/wiki/Harvey_Balls you will find alternative graphics in one single SVG file. There are neither tiltes nor descriptions in this image.\n\n!!! Fonts\nSome fonts like Arial Unicode MS contain symbols similar to Harvey balls:\n\n@@font-size:2em; \n○●◯◔◑◕◐◒◓◖◗◝◞◟◜◝◡◉◌◍◎☹☺☻\n@@\n\nThese are found starting around U+25CB (white circle). I don’t know if or how a screenreader would announce them. Other dedicated fonts with Harvey balls are available, I found some using the numbers from 0 to 9 and I guess a screenreader would announce them as such. Would numbers from 0 to 9 convey enough meaning to your users? Then you should use numbers instead of Harvey balls if you ask me.\n\n!! Accessibility\n\nIn general font solutions as well as monolithic SVG graphics lack the ability to control or adapt the meaning of the symbols/characters.\n\nThere is no hint popping up from a font if a user hovers over the icon with the pointer of the mouse. \n\nWith my SVG solution, the title is shown as a hint and ~VoiceOver on the Mac announces both title and desc attributes.\n",
            "title": "$:/plugins/telmiger/HarveyBalls/alternatives",
            "tags": "",
            "modified": "20171005202525815",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/simple/desc": {
            "created": "20171004222018780",
            "creator": "Thomas Elmiger",
            "text": "circle (not filled)",
            "title": "$:/language/HarveyBalls/simple/desc",
            "tags": "",
            "modified": "20171004222033585",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/quarter/title": {
            "created": "20171001211836428",
            "creator": "Thomas Elmiger",
            "text": "quarter",
            "title": "$:/language/HarveyBalls/quarter/title",
            "tags": "",
            "modified": "20171001211853501",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/quarter/desc": {
            "created": "20171001211324859",
            "creator": "Thomas Elmiger",
            "text": "circle with upper right quadrant filled",
            "title": "$:/language/HarveyBalls/quarter/desc",
            "tags": "",
            "modified": "20171004215019485",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/quarter-empty/title": {
            "created": "20171001212013679",
            "creator": "Thomas Elmiger",
            "text": "quarter empty",
            "title": "$:/language/HarveyBalls/quarter-empty/title",
            "tags": "",
            "modified": "20171001212350753",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/quarter-empty/desc": {
            "created": "20171001212131114",
            "creator": "Thomas Elmiger",
            "text": "circle filled with colour exempt upper left quadrant",
            "title": "$:/language/HarveyBalls/quarter-empty/desc",
            "tags": "",
            "modified": "20171004215003298",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/obvious/title": {
            "created": "20171005183754671",
            "creator": "Thomas Elmiger",
            "text": "obvious",
            "title": "$:/language/HarveyBalls/obvious/title",
            "tags": "",
            "modified": "20171005183813367",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/obvious/desc": {
            "created": "20171005183829060",
            "creator": "Thomas Elmiger",
            "text": "circle with upper left quadrant filled",
            "title": "$:/language/HarveyBalls/obvious/desc",
            "tags": "",
            "modified": "20171005183844489",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/half/title": {
            "created": "20171001213417585",
            "creator": "Thomas Elmiger",
            "text": "half",
            "title": "$:/language/HarveyBalls/half/title",
            "tags": "",
            "modified": "20171001213430063",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/half/desc": {
            "created": "20171001211939192",
            "creator": "Thomas Elmiger",
            "text": "circle with right half filled",
            "title": "$:/language/HarveyBalls/half/desc",
            "tags": "",
            "modified": "20171001211959853",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/full/title": {
            "created": "20171001204350059",
            "creator": "Thomas Elmiger",
            "text": "full",
            "title": "$:/language/HarveyBalls/full/title",
            "tags": "",
            "modified": "20171001210037845",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/full/desc": {
            "created": "20171001201844602",
            "creator": "Thomas Elmiger",
            "text": "circle filled with colour",
            "title": "$:/language/HarveyBalls/full/desc",
            "tags": "",
            "modified": "20171004214903154",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/empty/title": {
            "created": "20171001210047885",
            "creator": "Thomas Elmiger",
            "text": "empty",
            "title": "$:/language/HarveyBalls/empty/title",
            "tags": "",
            "modified": "20171001210107150",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/empty/desc": {
            "created": "20171001210121157",
            "creator": "Thomas Elmiger",
            "text": "circle (not filled)",
            "title": "$:/language/HarveyBalls/empty/desc",
            "tags": "",
            "modified": "20171001210231109",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/complicated/title": {
            "created": "20171005182951452",
            "creator": "Thomas Elmiger",
            "text": "complicated",
            "title": "$:/language/HarveyBalls/complicated/title",
            "tags": "",
            "modified": "20171005183002581",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/complicated/desc": {
            "created": "20171005182907849",
            "creator": "Thomas Elmiger",
            "text": "circle with left half filled",
            "title": "$:/language/HarveyBalls/complicated/desc",
            "tags": "",
            "modified": "20171005182928468",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/complex/title": {
            "created": "20171005182745229",
            "creator": "Thomas Elmiger",
            "text": "complex",
            "title": "$:/language/HarveyBalls/complex/title",
            "tags": "",
            "modified": "20171005182807204",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/complex/desc": {
            "created": "20171005182623257",
            "creator": "Thomas Elmiger",
            "text": "circle filled with colour exempt upper right quadrant",
            "title": "$:/language/HarveyBalls/complex/desc",
            "tags": "",
            "modified": "20171005182701817",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/chaotic/title": {
            "created": "20171004221542587",
            "creator": "Thomas Elmiger",
            "text": "chaotic",
            "title": "$:/language/HarveyBalls/chaotic/title",
            "tags": "",
            "modified": "20171004221602537",
            "modifier": "Thomas Elmiger"
        },
        "$:/language/HarveyBalls/chaotic/desc": {
            "created": "20171004221642521",
            "creator": "Thomas Elmiger",
            "text": "circle filled with colour",
            "title": "$:/language/HarveyBalls/chaotic/desc",
            "tags": "",
            "modified": "20171004221655515",
            "modifier": "Thomas Elmiger"
        },
        "$:/plugins/telmiger/HarveyBalls/chaotic/icon.svg": {
            "text": "<svg class=\"em-icon harvey-ball ball-chaotic\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/chaotic/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/chaotic/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64z\"/></svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/chaotic/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171108192118467",
            "creator": "Thomas Elmiger",
            "created": "20171004221325017"
        },
        "$:/plugins/telmiger/HarveyBalls/complex/icon.svg": {
            "text": "<svg class=\"em-icon harvey-ball ball-complex\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/complex/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/complex/desc}}</desc><path d=\"M64 128C28.654 128 0 99.346 0 64 0 28.654 28.654 0 64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64zm48-64c0 .19-48 0-48 0V16c26.51 0 48 21.49 48 48z\"/></svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/complex/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171108192625239",
            "creator": "Thomas Elmiger",
            "created": "20171005184808610"
        },
        "$:/plugins/telmiger/HarveyBalls/complicated/icon.svg": {
            "text": "<svg class=\"em-icon harvey-ball ball-complicated\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/complicated/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/complicated/desc}}</desc><path d=\"M64 128C28.654 128 0 99.346 0 64 0 28.654 28.654 0 64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64zm0-16V16c26.51 0 48 21.49 48 48s-21.49 48-48 48z\"/></svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/complicated/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171108192607117",
            "creator": "Thomas Elmiger",
            "created": "20171005184612869"
        },
        "$:/plugins/telmiger/HarveyBalls/credits": {
            "created": "20171005185503725",
            "creator": "Thomas Elmiger",
            "text": "!!! Credits\nInspired by ~RunningUtes in a [[Google Group discussion|https://groups.google.com/d/msg/tiddlywiki/utsLmgHZAhM/bxKkdwT2CAAJ]] and these great articles:\n\n* https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n* https://developer.paciellogroup.com/blog/2013/12/using-aria-enhance-svg-accessibility/",
            "title": "$:/plugins/telmiger/HarveyBalls/credits",
            "tags": "",
            "modified": "20171005185517065",
            "modifier": "Thomas Elmiger"
        },
        "$:/plugins/telmiger/HarveyBalls/macros": {
            "created": "20171005202753767",
            "creator": "Thomas Elmiger",
            "text": "\\define HarveyBall(variant:\"empty\")\n<$vars ball=\"\"\"$:/plugins/telmiger/HarveyBalls/$variant$/icon.svg\"\"\"><$transclude tiddler=<<ball>>/></$vars>\n\\end\n\n\\define HB0() <<HarveyBall empty>>\n\\define HB1() <<HarveyBall quarter>>\n\\define HB2() <<HarveyBall half>>\n\\define HB3() <<HarveyBall quarter-empty>>\n\\define HB4() <<HarveyBall full>>\n\n\\define HB5() <<HarveyBall simple>>\n\\define HB8() <<HarveyBall obvious>>\n\\define HB13() <<HarveyBall complicated>>\n\\define HB21() <<HarveyBall complex>>\n\\define HB34() <<HarveyBall chaotic>>\n\n\\define HB(nr:\"0\")\n<$vars macro=\"\"\"HB$nr$\"\"\"><$macrocall $name=<<macro>>/></$vars>\n\\end\n\n<<HB 4>>\n",
            "title": "$:/plugins/telmiger/HarveyBalls/macros",
            "tags": "$:/tags/Macro",
            "modifier": "Thomas Elmiger",
            "modified": "20171005204845512"
        },
        "$:/plugins/telmiger/HarveyBalls/obvious/icon.svg": {
            "text": "<svg class=\"em-icon harvey-ball ball-obvious\" xmlns=\"http://www.w3.org/2000/svg\" \nfill-rule=\"evenodd\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/obvious/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/obvious/desc}}</desc><path d=\"M64 128C28.654 128 0 99.346 0 64 0 28.654 28.654 0 64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64zm0-16c-26.51 0-48-21.49-48-48 0-.026 48 0 48 0s-.25-48 0-48c26.51 0 48 21.49 48 48s-21.49 48-48 48z\"/></svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/obvious/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171108194123156",
            "creator": "Thomas Elmiger",
            "created": "20171005184306362"
        },
        "$:/plugins/telmiger/HarveyBalls/simple/icon.svg": {
            "text": "<svg class=\"em-icon harvey-ball ball-simple\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/simple/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/simple/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/></svg>",
            "title": "$:/plugins/telmiger/HarveyBalls/simple/icon.svg",
            "tags": "$:/tags/Image",
            "modifier": "Thomas Elmiger",
            "modified": "20171108194551146",
            "creator": "Thomas Elmiger",
            "created": "20171004221820081"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/telmiger/PluginSize/styles.css": {
            "created": "20190122231405826",
            "creator": "Thomas Elmiger",
            "text": ".tiddler-size-indicator {\n   width: 100%;\n   background-color: rgba(125,125,125,0.3);\n   padding: 0.25rem;\n   margin-bottom: 1rem;\n}\n\n.te-info-panel .tc-plugin-info {\n   margin-bottom: 0;\n}\n\n.te-info-panel .tc-plugin-info-dropdown {\n   margin-top: -1px;\n}",
            "title": "$:/plugins/telmiger/PluginSize/styles.css",
            "tags": "$:/tags/Stylesheet",
            "modifier": "Thomas Elmiger",
            "modified": "20190308220246621"
        },
        "$:/plugins/telmiger/PluginSize/template": {
            "text": "\\define harveyBall(size)\n<$reveal type=\"lt\" text=\"500001\" default=$size$>\n<$reveal type=\"gt\" text=\"100000\" default=$size$>\n<<HB21>>\n</$reveal>\n<$reveal type=\"lt\" text=\"100001\" default=$size$>\n<$reveal type=\"gt\" text=\"50000\" default=$size$>\n<<HB13>>\n</$reveal>\n<$reveal type=\"lt\" text=\"50001\" default=$size$>\n<$reveal type=\"gt\" text=\"25000\" default=$size$>\n<<HB8>>\n</$reveal>\n<$reveal type=\"lt\" text=\"25001\" default=$size$>\n<<HB5>>\n</$reveal>\n</$reveal>\n</$reveal>\n</$reveal>\n<$reveal type=\"gt\" text=\"500000\" default=$size$>\n<<HB34>>\n</$reveal>\n\\end\n<div class=\"tiddler-size-indicator\">\n<$wikify name=\"size\" text=\"\"\"<$editor-counter tiddler=<<currentTiddler>> field=\"text\" mode=\"character\"/>\"\"\">\n<$macrocall $name=\"harveyBall\" size=<<size>>/> – plugin size: <$macrocall $name=\"rpn\" a=<<size>> b=\"1000\" operation=\"/\" decimals=\"1\" locale=\"en-GB\"/> k characters (<<size>>)\n</$wikify>\n</div>",
            "title": "$:/plugins/telmiger/PluginSize/template",
            "modifier": "Thomas Elmiger",
            "modified": "20190122231539037",
            "list-after": "$:/core/ui/ViewTemplate/plugin",
            "creator": "Thomas Elmiger",
            "created": "20190122222437252"
        },
        "$:/plugins/telmiger/PluginSize/ViewTemplate": {
            "text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n{{||$:/plugins/telmiger/PluginSize/template}}\n</$list>",
            "title": "$:/plugins/telmiger/PluginSize/ViewTemplate",
            "tags": "$:/tags/ViewTemplate",
            "modifier": "Thomas Elmiger",
            "modified": "20190122232104594",
            "list-after": "$:/core/ui/ViewTemplate/plugin",
            "creator": "Thomas Elmiger",
            "created": "20190122065955189"
        },
        "$:/plugins/telmiger/PluginSize/readme": {
            "created": "20190127210600496",
            "creator": "Thomas Elmiger",
            "text": "!! Plugin Size\n\nThis plugin calculates the size of all installed plugins, including themes and languages.\n\n!!! Categories (character count)\n\n* <<HB34>> more than 500 k\n* <<HB21>> up to 500 k \n* <<HB13>> up to 100 k\n* <<HB8>> up to 50 k\n* <<HB5>> up to 25 k\n\n!!! Dependencies\n\nThis is done using the following other plugins: \n\n* [[Editor Counter|https://tid.li/tw5/plugins.html#%24%3A%2Fplugins%2Ftelmiger%2FEditorCounter]] to count the characters in the text field of plugin tiddlers\n* [[RPN|https://tid.li/tw5/plugins.html#%24%3A%2Fplugins%2Ftelmiger%2Frpn]] for number formatting\n* [[Harvey Balls|https://tid.li/tw5/plugins.html#%24%3A%2Fplugins%2Ftelmiger%2FHarveyBalls]] for size indication icons\n\n!!! Information\n\nThe size of installed plugins can be found on \n\n* a tab //{{$:/core/images/info-button}} Plugin Info// in the $:/ControlPanel \n* on $:/plugins/telmiger/PluginSize/lists\n\n!!! Copyright \n\n© 2019, Thomas Elmiger",
            "title": "$:/plugins/telmiger/PluginSize/readme",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20190310225033635"
        },
        "$:/plugins/telmiger/PluginSize/icon": {
            "created": "20190127213417005",
            "creator": "Thomas Elmiger",
            "text": "<<HB21>>",
            "title": "$:/plugins/telmiger/PluginSize/icon",
            "tags": "",
            "modified": "20190127213525277",
            "modifier": "Thomas Elmiger"
        },
        "$:/plugins/telmiger/PluginSize/lists": {
            "created": "20190308213013859",
            "creator": "Thomas Elmiger",
            "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[description]]\" emptyMessage=<<lingo \"Empty/Hint\">> >\n<div class=\"te-info-panel\">\n{{||$:/core/ui/Components/plugin-info}}\n</div>\n{{||$:/plugins/telmiger/PluginSize/template}}\n</$list>\n</$set>\n</$set>\n\\end\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n",
            "title": "$:/plugins/telmiger/PluginSize/lists",
            "tags": "$:/tags/ControlPanel",
            "modifier": "Thomas Elmiger",
            "modified": "20190308220650742",
            "caption": "{{$:/core/images/info-button}} Plugin Info",
            "list-after": "$:/core/ui/ControlPanel/Plugins"
        }
    }
}
\define lingo-base() $:/language/ControlPanel/Plugins/

\define plugin-table(type)
<$set name="plugin-type" value="""$type$""">
<$set name="qualified-state" value=<<qualify "$:/state/plugin-info">>>
<$list filter="[!has[draft.of]plugin-type[$type$]sort[description]]" emptyMessage=<<lingo "Empty/Hint">> >
<div class="te-info-panel">
{{||$:/core/ui/Components/plugin-info}}
</div>
{{||$:/plugins/telmiger/PluginSize/template}}
</$list>
</$set>
</$set>
\end

<<lingo Installed/Hint>>

<<tabs "[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]" "$:/core/ui/ControlPanel/Plugins/Installed/Plugins">>
{
    "tiddlers": {
        "$:/plugins/telmiger/rpn/examples": {
            "created": "20170715121619734",
            "creator": "Thomas Elmiger",
            "text": "!! Examples\n\n`<<rpn pi 2 * 3>>` results in <<rpn pi 2 * 3>>\n\n`<<rpn Pi \" was the name.\" &>>`  \n\n<<<\n<<rpn Pi \" was the name.\" &>>\n<<<\n\n\n`<<rpn a:100 b:200 precision:\"r\">>`  creates a random number in the range from a to b:\n\n<<<\nYour lucky number is <<rpn a:100 b:200 precision:\"r\">>.\n<<<\n\nCalculate the area of a circle with radius 2:\n\n```\n<$macrocall $name=\"rpn\" a=<<rpn 2 2 *>> b=pi operation=\"*\" decimals=\"4\"/>\n```\n<<<\n<$macrocall $name=\"rpn\" a=<<rpn 2 2 *>> b=pi operation=\"*\" decimals=\"4\"/>\n<<<\n\nA 50% discount price, rounded downwards with Swiss formatting applied: \n\n```\n<$macrocall $name=\"rpn\" a=<<rpn 2123.45 50 * 0 f>> b=100 operation=\"/\" decimals=\"2\" precision=\"p\" locale=\"de-CH\"/>\n```\n<<<\n<$macrocall $name=\"rpn\" a=<<rpn 2123.45 50 * 0 f>> b=100 operation=\"/\" decimals=\"2\" precision=\"p\" locale=\"de-CH\"/>\n<<<\n\nFor more examples see https://tid.li/tw5/hacks.html#rpnTest.",
            "title": "$:/plugins/telmiger/rpn/examples",
            "tags": "[[ToDo Addons]]",
            "modifier": "Thomas Elmiger",
            "modified": "20170814063737796"
        },
        "$:/plugins/telmiger/rpn/icon": {
            "created": "20170715123511072",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 22 22\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" stroke-linejoin=\"round\" stroke-miterlimit=\"2\">\n  <path d=\"M11.1.2l9.2 5.4v10.8L11.1 22 2 16.4V5.6L11 .2z\" fill=\"#ff7\" fill-rule=\"nonzero\"/>\n  <path d=\"M11.1 20a9 9 0 100-18 9 9 0 000 18zm-1.8-2.8c.5 0 1-.6 1.3-.9.3-.4.5-1 .5-1.7v-1.3c0-.8.1-1.4.5-1.7.3-.3.8-.6 1.5-.7h0c-.9-.1-1.5-.4-1.8-1-.2-.4-.3-1-.3-1.7v-1a3 3 0 00-.3-1.5c-.3-.5-.7-1-1.4-1v-.1h.3c1.3 0 2.1.4 2.6 1 .2.5.4 1.2.4 2v1.2c0 .7.1 1.1.3 1.4.3.3.8.5 1.5.6l.2.1h-.2a5.5 5.5 0 00-1.1.5c-.2 0-.4.2-.5.4l-.2.6V14c0 1-.2 1.6-.4 2-.5.7-1.4 1.1-2.6 1.2h-.3v-.1z\" fill=\"#e2001a\" fill-rule=\"nonzero\"/>\n</svg>",
            "title": "$:/plugins/telmiger/rpn/icon",
            "tags": "",
            "modified": "20200524185736871"
        },
        "$:/plugins/telmiger/rpn/readme": {
            "created": "20170714205116352",
            "creator": "Thomas Elmiger",
            "text": "!! Simple calculations\n\n{{$:/plugins/telmiger/rpn/about}}\n\n* the macro takes two operands (//a// and //b//) as input – this may be macros or transclusions\n** operands are sent through a simplified [[wikify|http://tiddlywiki.com/#WikifyWidget]] function before calculation starts\n** use //pi// to get π (Math.PI)\n* standard operations: +, -, /, * \n** advanced operations: modulus (%) and rounding (optional: Math.floor or Math.ceil)\n* output formatting\n** limit digits after comma (//decimals//), force //precision// display with //precision:\"p\"// (.toPrecision)\n** //locale// formatting (.toLocaleString)\n* string concatenation (&)\n** the resulting string is sent through the internal [[wikify|http://tiddlywiki.com/#WikifyWidget]] function \n* random numbers in a range from a to b with //precision:\"r\"// (including both a and b)\n\n!!! New: Wikitext Macros\n* calculate using filters and tiddler fields, see //fields// tab (since version 0.7.1)\n\n!!! Installation\nThe plugin available on https://tid.li/tw5/plugins.html includes the documentation.<br>\nIf you want the functionality only, you can drag this tiddler to your wiki: $:/plugins/telmiger/rpn/rpn.js – then save and reload. \n\n!!! Alternatives\n* [[TW mathematic filter operators (see tiddlywiki.com)|https://tiddlywiki.com/#Mathematics%20Operators]]\n* https://evanbalster.com/tiddlywiki/formulas.html – process numbers and other data just like popular spreadsheet software, with the additional flexibility of functional programming for those who need it\n* http://mathcell.tiddlyspot.com/ – tries to replace spreadsheet applications and uses some identical operators as rpn\n* http://tobibeer.github.io/tb5/#calc – does calculations based on tiddler fields\n* eval – calc combined with ''math.js'' – a heavy math library\n** http://mklauber.github.io/tiddly-mathjs/ \n** http://tobibeer.github.io/tw5-plugins/#math.js",
            "title": "$:/plugins/telmiger/rpn/readme",
            "tags": "[[ToDo Addons]]",
            "modifier": "Thomas Elmiger",
            "modified": "20200524154810042"
        },
        "$:/plugins/telmiger/rpn/rpn.js": {
            "text": "/*\\\ntitle: $:/plugins/telmiger/lib/rpn.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to execute simple calculations in reverse Polish notation\nDocumentation see https://tid.li/tw5/plugins.html\nVersion 0.6.2\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"rpn\";\n\nexports.params = [\n\t{name: \"a\"},\n\t{name: \"b\"},\n        {name: \"operation\", default: \"+\"},\n        {name: \"decimals\", default: \"\"},\n        {name: \"precision\", default: \"\"},\n        {name: \"locale\", default: \"false\"},\n        {name: \"sd\", default: \".\"},\n        {name: \"st\", default: \"\"}\n];\n\n/*\nWikify\n*/\nfunction wikifyText(t) {\n\tvar Parser = $tw.wiki.parseText(\"text/vnd.tiddlywiki\",t,{\n\t\t\tparseAsInline: true\n\t\t});\n\tvar WidgetNode = $tw.wiki.makeWidget(Parser,{\n\t\t\tdocument: $tw.fakeDocument\n\t\t});\n\tvar Container = $tw.fakeDocument.createElement(\"div\");\n\tWidgetNode.render(Container,null);\n\treturn Container.textContent;\n}\n\n/*\nFormat decimals and (TODO!) thousands\n*/\nfunction formatNumber(value,sd,st) {\n\tlet string = value.toString();\n\t// string = string; // TODO separator for thousands\n\treturn string.replace(\".\",sd); // separator for decimals\n}\n\n/*\nFormatting with locale\n*/\nfunction formatLocale(value,decimals,precision,locale) { \n\tlet result = \"NaN\";\n\tif(decimals == \"\" || decimals >= 0) {\n\t\tlet minFracDig = (precision == \"p\" ? decimals : \"\");\n\t\tresult = value.toLocaleString(locale, { minimumFractionDigits: minFracDig });\n\t}\n\telse {\n\t\tresult = \"invalid decimals\";\n\t}\n\treturn result;\n}\n\n/*\nPrecision for decimals\n*/\nfunction addPrecisionDecimals(result,decimals) { \n    let di = parseInt(decimals);\n    let rInteger = result.toString().split('.')[0].length;\n    let p = rInteger + di;\n    if(p > 0 && p < 101) {\n\tresult = result.toPrecision(p);\n    }\n    else {\n        result = \"invalid decimals\";\n    }\n    return result;\n}\n\n/*\nRandom numbers including a and b\n*/\nfunction randomInteger(a,b) {\n\tlet min = Math.ceil(a);\n\tlet max = Math.floor(b + 1);\n\treturn Math.floor(Math.random() * (max - min)) + min; \n}\n\n/*\nMath\n*/\nfunction calculate(a,b,operation) {\n    let result = \"NaN\";\n    switch(operation) {\n        case \"-\":\n            result = a - b;\n            break;\n        case \"*\":\n            result = a * b;\n            break;\n        case \"/\":\n            result = a / b;\n            break;\n        case \"%\":\n            result = a % b;\n            break;\n        default:\n            result = a + b;\n    }\n    return result;\n}\n\n/*\nRun the macro\n*/\nexports.run = function(a,b,operation,decimals,precision,locale,sd,st) {\n\tlet aw = wikifyText(a);\n\tlet bw = wikifyText(b);\n\tlet result = \"\";\n\tif(operation == \"&\") {\n\t\tresult = wikifyText(a + b);\n\t}\n\telse {\n\t\t// prepare values\n\t\tvar af = aw.replace(\",\",\".\");\n\t\tvar bf = bw.replace(\",\",\".\");\n\t\taf = (af == \"pi\" ? Math.PI : parseFloat(af));\n\t\tbf = (bf == \"pi\" ? Math.PI : parseFloat(bf));\n\t\t// do the math\n\t\tresult = calculate(af,bf,operation);\n\t\t// precision modes\n\t\tif(precision == \"r\") {\n\t\t\tresult = randomInteger(af,bf); \n\t\t}\n\t\telse if(precision == \"p\" && locale == \"false\") {\n\t\t\tresult = addPrecisionDecimals(result,decimals);\n\t\t}\n\t\telse if(precision == \"c\") {\n\t\t\tresult = Math.ceil(result);\n\t\t}\n\t\telse if(precision == \"f\") {\n\t\t\tresult = Math.floor(result);\n\t\t}\n\t\telse if(precision != \"\" && locale == \"false\") {\n\t\t// formatLocale ignores precision values other than p\n\t\t\tresult = \"invalid precision\";\n\t\t}\n\t\t// if precision is not defined, round based on (max.) decimals\n\t\telse if(decimals != \"\") {\n\t\t\tvar di = parseInt(decimals);\n\t\t\tresult = Math.round(result * Math.pow(10, di)) / Math.pow(10, di);            \n\t\t}\n\t\t// format output\n\t\tif(locale != \"false\") {\n\t\t\tresult = formatLocale(result,decimals,precision,locale);\n\t\t}\n\t\telse {\n\t\t\tresult = formatNumber(result,sd,st);\n\t\t}\n\t}\n\treturn result;\n};\n\n})();\n",
            "type": "application/javascript",
            "title": "$:/plugins/telmiger/rpn/rpn.js",
            "tags": "[[ToDo Addons]]",
            "module-type": "macro",
            "modifier": "Thomas Elmiger",
            "modified": "20170814062342206",
            "creator": "Thomas Elmiger",
            "created": "20170626211546891"
        },
        "$:/plugins/telmiger/rpn/usage": {
            "created": "20170715121502832",
            "text": "!! Usage\n\n`<<rpn 5000 200 * 2 p en-GB>>` output: <<rpn 5000 200 * 2 p en-GB>>\n\nThe following operations can be used with two operands:\n\n|Operation |Description |h\n|+ |Addition |\n|- |Subtraction |\n|* |Multiplication |\n|/ |Division |\n|% |Modulo (remains after division) |\n|& |Concatenation of two strings^^1^^ |\n| |[none] when generating random numbers, any value would be ignored |\n\n<small>1 – The list of operators found at Stephen Kimmel’s Mathcell project (see readme section) inspired me to implement this easter egg – it has nothing to do with math.</small>\n\n|Parameter |Description |h\n|a |first operand |\n|b |second operand |\n|operation |see above |\n|decimals |digits after comma (number) |\n|precision |defaults to \"\"<br>\"p\" to show all digits after comma (precision)<br>\"f\" to round downwards to the next integer (Math.floor)<br>\"c\" to round upwards to the next integer (Math.ceil) <br>\"r\" to get a random integer in the range from a to b, a and b included (Math.random) |\n|locale |Formatting according to language or country specific standards, e.g. \"en\", \"de-DE\" or \"de-CH\" – [[toLocaleString|https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString#Browser_compatibility]] is used, including minimumFractionDigits option if decimals and precision \"p\" are provided. |\n|sd |separator for decimals if //locale// is not used, defaults to \".\" |\n|st |TODO separator for thousands if //locale// is not used, defaults to \"\" |\n\n!!! Known limitations\n* //st// is not implemented yet",
            "title": "$:/plugins/telmiger/rpn/usage",
            "tags": "[[ToDo Addons]]",
            "modifier": "Thomas Elmiger",
            "modified": "20200524195900125",
            "creator": "Thomas Elmiger"
        },
        "$:/plugins/telmiger/rpn/fields": {
            "created": "20181111064908459",
            "creator": "Thomas Elmiger",
            "text": "!! Calculate with Field Values and RPN\n\nThe //rpnFields// macro takes the value of a defined field from filtered tiddlers, applies the same operation to all and saves the result in a given tiddler. It produces a button to start the calculation and calculates using [[RPN|$:/plugins/telmiger/rpn]].\n\n\n!!! Attributes\n\n|!Attribute |!Description |!Default |\n|filter |a filter to select tiddlers – the macro makes sure to use only the ones containinig the specified //field// |all tiddlers except system tiddlers |\n|startvalue |a value to start with, e.g. the result of a preceding calculation |\"0\" |\n|field |the name of the field to take the (numeric) value from |\"text\" |\n|operation |operation to apply to all values |\"+\" |\n|saveTo |the tiddler to store the result in |$:/temp/telmiger/rpn/result |\n|saveField |the field to store the result in |\"text\" |\n|label |the label for the button |\"Calculate\" |\n\n!!! Usage\n\n```\n<<rpnFields \"[prefix[yourCODE]]\">>\n\n<<rpnFields filter:\"[prefix[ZEIT:]]\" field:\"time_used\" saveTo:\"\" saveField:\"time_total\" label:\"Add all\">>\n\n<<rpnFields filter:\"[prefix[ZEIT:]]\" startvalue:\"1000\" field:\"time_used\" operation:\"-\" label:\"Remaining from 1000\">>\n```\n\n{{rpnDemo}}\n",
            "title": "$:/plugins/telmiger/rpn/fields",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20181111194355026"
        },
        "$:/plugins/telmiger/rpn/rpnFields": {
            "created": "20181111075024851",
            "creator": "Thomas Elmiger",
            "text": "\\define rpnFields(filter:\"[tags[]!is[system]]\",startvalue:\"0\",field:\"text\",operation:\"+\",\n saveTo:\"$:/temp/telmiger/rpn/result\",saveField:\"text\",label:\"Calculate\")\n<$button>\n<$vars filter=\"\"\"$filter$\"\"\" startvalue=\"\"\"$startvalue$\"\"\" field=\"\"\"$field$\"\"\" operation=\"\"\"$operation$\"\"\" saveTo=\"\"\"$saveTo$\"\"\" saveField=\"\"\"$saveField$\"\"\">\n<$wikify name=\"countfilter\" text=\"\"\"$filter$ +[has[<<field>>]] +[count[]]\"\"\">\n<$set name=\"items\" filter=<<countfilter>> emptyValue=\"0\">\n<$macrocall $name=\"calcAll\" startvalue=<<startvalue>> counter=<<items>>/>\n\"\"\"$label$\"\"\"\n</$set>\n</$wikify>\n</$vars>\n</$button>\n\\end\n\n\\define saveResult(a:\"0\")\n<$action-setfield $tiddler=\"$(saveTo)$\" $field=\"$(saveField)$\" $value=\"\"\"$a$\"\"\"/>\n\\end\n\n\\define calculate(a:\"0\",b:\"0\",counter)\n<$wikify name=\"result\" text='<$macrocall $name=\"rpn\" a=$a$ b=$b$ operation=$(operation)$/>'>\n<$macrocall $name=\"calcAll\" startvalue=<<result>> counter=$counter$/>\n</$wikify>\n\\end\n\n\\define calcAll(startvalue,counter)\n<$wikify name=\"next\" text='<$macrocall $name=\"rpn\" a=$counter$ b=1 operation=\"-\"/>'>\n<$wikify name=\"restfilter\" text=\"\"\"$(filter)$  +[has[$(field)$]] +[rest[<<next>>]limit[1]]\"\"\">\n<$set name=\"proceed\" filter=\"[<next>prefix[-]]\" value=\"saveResult\" emptyValue=\"calculate\">\n<$list filter=<<restfilter>> variable=\"tid\">\n<$vars a=$startvalue$>\n<$wikify name=\"b\" text='<$transclude tiddler=<<tid>> field=$(field)$/>'>\n<$macrocall $name=<<proceed>> a=<<a>> b=<<b>> counter=<<next>>/>\n</$wikify>\n</$vars>\n</$list>\n</$set>\n</$wikify>\n</$wikify>\n\\end\n",
            "title": "$:/plugins/telmiger/rpn/rpnFields",
            "tags": "$:/tags/Macro",
            "modifier": "Thomas Elmiger",
            "modified": "20181111192120506"
        },
        "$:/plugins/telmiger/support": {
            "created": "20200524081316557",
            "text": "!! Support the Author\n\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\n\n---\n\n!!! One Time Support\n\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\n\nhttps://www.paypal.me/telmiger\n\n---\n\n!!! Permanent Support\n\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \n\nhttps://www.patreon.com/telmiger\n\n---\n\n!!! Thank You\n\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\n\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\n\nIf you like my work, I would be very happy to hear from you.\n\n''Thank you very much for your support!''<br>\n//Thomas//\n\nhttps://thomas-elmiger.ch",
            "title": "$:/plugins/telmiger/support",
            "tags": "",
            "modifier": "Thomas Elmiger",
            "modified": "20200524081326998",
            "creator": "Thomas Elmiger"
        },
        "$:/plugins/telmiger/rpn/support": {
            "created": "20181111202222852",
            "text": "{{$:/plugins/telmiger/support}}",
            "title": "$:/plugins/telmiger/rpn/support",
            "tags": "",
            "modified": "20181111202349869"
        },
        "$:/plugins/telmiger/rpn/about": {
            "created": "20200524154716663",
            "modified": "20200524200003681",
            "title": "$:/plugins/telmiger/rpn/about",
            "text": "\n//rpn// is a lightweight Javascript macro for basic math operations. It is inspired by formerly popular calculators using Reverse Polish Notation (see [[Wikipedia|https://en.wikipedia.org/wiki/Reverse_Polish_notation]] for more info). Usage example:\n\n`<<rpn 5000 200 * 2 p en-GB>>` output: <<rpn 5000 200 * 2 p en-GB>>",
            "tags": ""
        }
    }
}
{
    "tiddlers": {
        "$:/Tekan/AddCard": {
            "created": "20170911035313861",
            "creator": "Riz",
            "text": "\\define newHereButtonTags()\n[[$(currentList)$]]\n\\end\n\n\n\\define addNote()\n<$action-createtiddler $basetitle={{$:/NewNote}} tags=<<newHereButtonTags>> />\n<$action-listops $tiddler=<<currentList>> $subfilter=\"[{$:/NewNote}]\"/>\n<$action-setfield $tiddler=\"$:/NewNote\" text=\"\"/>\n<$action-setfield $tiddler=\"$:/state/AddNote\" text=\"\"/>\n\\end\n\n\\define cancelNote()\n<$action-setfield $tiddler=\"$:/NewNote\" text=\"\"/>\n<$action-setfield $tiddler=\"$:/state/AddNote\" text=\"\"/>\n\\end\n\n<$reveal type=\"nomatch\" state=\"$:/state/AddNote\" text=<<currentList>>>\n\t<$button class=\"tc-btn-invisible\" set=\"$:/state/AddNote\" setTo=<<currentList>>>Add a card...</$button>\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/AddNote\" text=<<currentList>>>\n      \t\n  <$keyboard key=\"enter\" actions=<<addNote>> tag=\"div\">\n  <$edit-text  autoHeight=\"yes\" focus=\"yes\" placeholder=\"Add new note\" default=\"New card\" tiddler=\"$:/NewNote\"/>\n  </$keyboard>\n\t\t\n        <$button class=\"smallgreenbutton\" actions=<<addNote>>>Add</$button>\n        <$button class=\"tc-btn-invisible\" style=\"margin: 0 5px;\"  actions=<<cancelNote>>>{{$:/core/images/close-button}}</$button>\n      \t\n   \n</$reveal>",
            "title": "$:/Tekan/AddCard",
            "tags": "$:/Tekan",
            "modifier": "Riz",
            "modified": "20170920012854365"
        },
        "$:/Tekan/AddList": {
            "text": "\\define boardandlist()\n$(currentBoard)$/$(listname)$\n\\end\n\n\\define boardnametag()\n[[$(currentBoard)$]]\n\\end\n\n\\define AddList()\n<$action-createtiddler $basetitle=<<boardandlist>> tags=<<boardnametag>> caption=<<listname>>/>\n<$action-listops $tiddler=<<currentBoard>> $subfilter=\"[<boardandlist>]\"/>\n<$action-setfield $tiddler=\"$:/state/newlisttemp\" text=\"\"/>\n<$action-setfield $tiddler=\"$:/state/addnewlist\" text=\"\"/>\n\\end\n\n\\define CancelList()\n<$action-setfield $tiddler=\"$:/state/newlisttemp\" text=\"\"/>\n<$action-setfield $tiddler=\"$:/state/addnewlist\" text=\"\"/>\n\\end\n\n<style>\n.list-wrapper-add {\n\theight: auto;\n\tmin-height: 30px;\n\tpadding: 4px;\n\tbackground-color: #E2E4E6;\n\t-webkit-transition: background 85ms ease-in,opacity 40ms ease-in,border-color 85ms ease-in;\n\ttransition: background 85ms ease-in,opacity 40ms ease-in,border-color 85ms ease-in;\n}\n.list-name-input {\n\tbackground: rgba(0,0,0,.05) !important;\n\tbox-shadow: inset 0 1px 8px rgba(0,0,0,.15);\n    border: 1px solid #aaa;\n\tdisplay: block;\n\tmargin: 0;\n\t-webkit-transition: margin 85ms ease-in,background 85ms ease-in;\n\ttransition: margin 85ms ease-in,background 85ms ease-in;\n\twidth: 100%;\n\tmargin-bottom: 10px;\n\tpadding: 7px;\n}\n</style>\n\n<$reveal state=\"$:/state/addnewlist\" type=\"nomatch\" text=\"list\">\n <div class=\"list\">\n\t\t<div class=\"semitransparent\"> \n        <$button class=\"semitransparentborderless\" style=\"width:100%;text-align:left;\" set=\"$:/state/addnewlist\" setTo=\"list\">     \n        Add a list...\n        </$button>\n\t\t</div>\n</div>\n</$reveal>\n\n<$reveal state=\"$:/state/addnewlist\" type=\"match\" text=\"list\">\n<div class=\"list list-wrapper-add\">\n    \n    \n\t<$edit-text default=\"New list\" class=\"list-name-input\" tiddler=\"$:/state/newlisttemp\" placeholder=\"Add a list…\" tag=\"input\"/>\n    <$set name=\"listname\" value={{$:/state/newlisttemp}}>\n\t<$button class=\"smallgreenbutton\" actions=<<AddList>>>Add list</$button>\n    <$button class=\"tc-btn-invisible\" style=\"padding: 5px;fill: #999;\" actions=<<CancelList>>>{{$:/core/images/close-button}}</$button>\n    </$set>\n    \n    \n</div>\n</$reveal>",
            "title": "$:/Tekan/AddList",
            "tags": "$:/Tekan",
            "modified": "20170919213556081",
            "created": "20170919045208973"
        },
        "$:/Tekan/BoardSelect": {
            "created": "20170910194902289",
            "text": "\\define setboard()\n<$action-setfield $tiddler=\"$:/Tekan/CurrentBoard\" text=<<currentTiddler>>/>\n\\end\n\n\n<$button popup=<<qualify \"$:/state/popup/board\">>>Board</$button>\n<$reveal state=<<qualify \"$:/state/popup/board\">> type=\"popup\" position=\"below\" animate=\"yes\">\n    <div class=\"whitebgdropdown\">\n        <$list filter=\"[tag[$:/tags/Tekanboard]!has[draft.of]]\">\n        <div style=\"height:30px;\"></div>\n<$button style=\"background: #fff;\" actions=<<setboard>>>\n            <div class=\"compact-board-tile-wrapper\">\n                <span class=\"simplesquare\" style=\"background-color: #0079BF;\">&nbsp;</span>\n                <span class=\"compact-board-tile-fade\">{{!!title}}</span>\n            </div>\n</$button>\n        </$list>\n    </div>\n</$reveal>",
            "title": "$:/Tekan/BoardSelect",
            "tags": "$:/Tekan",
            "modified": "20170922170418180"
        },
        "$:/Tekan/Main": {
            "created": "20170918191921058",
            "creator": "Riz",
            "text": "\\define currentListTag()\n[[$(currentList)$]]\n\\end\n\n\\define drop-actions()\n<$action-listops $tiddler=<<actionTiddler>> $tags=\"-[tag<currentBoard>]\"/>\n<$action-listops $tiddler=<<actionTiddler>> $tags=<<currentListTag>>/>\n<$list filter=\"[tag<currentBoard>]\">\n<$action-listops $subfilter=\"-[<actionTiddler>]\"/>\n</$list>\n<$action-listops $tiddler=<<currentList>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n<$action-sendmessage $message=\"tm-auto-save-wiki\"/>\n\\end\n\n\n\n\n\\define currentBoardTags()\n[[$(currentBoard)$]]\n\\end\n\n\\define droplist()\n<$action-listops $tiddler=<<currentBoard>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n<$action-setfield $tiddler=<<actionTiddler>> $field=\"tags\" $value=<<currentBoardTags>>/>\n<$action-sendmessage $message=\"tm-auto-save-wiki\"/>\n\\end\n\n\\define cardeditops()\n<$action-setfield $tiddler=\"$:/state/editcard\" text=<<currentTiddler>>/>\n<$action-sendmessage $message=\"tm-modal\" $param=\"$:/Tikan/EditCardModal\" currentList=<<currentList>> currentCard=<<currentTiddler>>/>\n\\end\n\n\\define popupstate()\n$:/state/listops/$(currentList)$\n\\end\n\n\\define deletelist()\n<$list filter=\"[tag<currentList>]\">\n<$action-deletetiddler $tiddler=<<currentTiddler>>/>\n</$list>\n<$action-deletetiddler $tiddler=<<currentList>>/>\n<$action-listops $tiddler=<<currentBoard>> $subfilter=\"+[remove<currentList>]\"/>\n<$action-sendmessage $message=\"tm-auto-save-wiki\"/>\n\\end\n\n\\define archivelist()\n<$list filter=\"[tag<currentList>]\">\n<$action-listops $tags=\"archive\"/>\n</$list>\n<$action-setfield $tiddler=<<currentList>> list=\"\"/>\n\\end\n\n\n<style>\n.icon-edit::before {\ncontent: \"&#x270e;\";\n}\n.icon-overflow-menu-horizontal::before {\n\tcontent: \"&#xb7;&#xb7;&#xb7;\";\n}\n</style>\n\n<div class=\"ui\">\n\t{{$:/Tekan/Navbar}}\n\t<div class=\"lists\">\n    <$set name=\"currentBoard\" value={{$:/Tekan/CurrentBoard}}>\n    <$list filter=\"[tag<currentBoard>!has[draft.of]]\" variable=\"currentList\">\n\t\t<div class=\"list\">\n        <header>\n\t\t\t\t\t\t\t<$draggable filter=\"[tag<currentList>!has[draft.of]]\"> <$transclude tiddler=<<currentList>> field=\"caption\"><$view tiddler=<<currentList>> field=\"title\"/> </$transclude>\n                  <$button tag=\"span\" class=\"icon-sm icon-overflow-menu-horizontal listitem\" popup=<<popupstate>>></$button>\n                  <$reveal type=\"popup\" position=\"below\" state=<<popupstate>>>\n                            <div class=\"pop-over\" style=\"right: auto;top: auto;\">\n                            <div class=\"pop-over-header\"><span class=\"pop-over-header-title\">List Actions</span>\n                            </div>\n                            <$button tag=\"div\" class=\"listopsbutton\" actions=<<deletelist>>>Delete List</$button>\n                            <$button tag=\"div\" class=\"listopsbutton\" actions=<<archivelist>>>Archive List</$button>\n                            </div>\n                  </$reveal>\n              </$draggable>\n        </header>\n  \t\t\t<ul>\n          <$list filter=\"[tag<currentList>!tag[archive]sortby{!!list}!has[draft.of]]\">\n  \t\t\t\t\t\t<div style=\"position: relative;\">\n                  <$droppable actions=<<drop-actions>>>\n                        <div class=\"tc-droppable-placeholder\">\n                        &nbsp;\n                        </div>\n                        <div>\n                        \t\t<$draggable tiddler=<<currentTiddler>> tag=\"li\"><$view field=\"title\"/>\n                              <$button tag=\"span\" class=\"icon-sm icon-edit list-card-operation listitem\" actions=<<cardeditops>>></$button>                            \n                              </$draggable>\n                       </div>\n                  </$droppable>\n              </div>\n          </$list>\n  \t\t\t</ul>\n       \t\t<$tiddler tiddler=\"\">\n            <div class=\"footer\">\n\t\t\t\t\t\t<$droppable actions=<<drop-actions>>  tag=\"div\">\n\t\t\t\t\t\t\t\t<div class=\"tc-droppable-placeholder\">\n\t\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<footer>{{||$:/Tekan/AddCard}}</footer>\n\t\t\t\t\t\t</$droppable>\n            </div>\n            </$tiddler>\n\t\t\t  \n\t\t</div>\n    </$list>\n    \n   \t\t{{||$:/Tekan/AddList}}\n   \t\t<$reveal state=\"$:/state/rearrlist\" type=\"match\" text=\"show\">\n   \t\t<div class=\"list\">\n   \t\t <header>Lists of <<currentBoard>></header>\n\t \t\t<ul>\n\t \t\t\n\t\t\t            <$list filter=\"[tag<currentBoard>sortby{!!list}]\">\n\t\t\t\t\t<div style=\"position: relative;\">\n\t\t\t                <$droppable actions=<<droplist>>>\n\t\t\t                        <div class=\"tc-droppable-placeholder\">\n\t\t\t                        &nbsp;\n\t\t\t                        </div>\n\t\t\t                      <div>\n\t\t\t                      \t\t<$draggable tiddler=<<currentTiddler>> tag=\"li\"> <$transclude tiddler=<<currentList>> field=\"caption\"><$view tiddler=<<currentList>> field=\"title\"/> </$transclude>\n\t\t\t                            \t</$draggable>\n\t\t\t                      </div>\n\t\t\t                </$droppable>\n\t\t\t                </div>\n\t\t\t            </$list>\n\t\t\t            \n\t            \t\n\t\t\t</ul>\n        \n   \t\t \t<footer><$button class=\"smallgreenbutton\" set=\"$:/state/rearrlist\" setTo=\"\">Done</$button></footer>\n   \t\t</div>\n   \t\t</$reveal>\n  \t</$set>\n\t</div>\n</div>",
            "title": "$:/Tekan/Main",
            "tags": "$:/Tekan",
            "modifier": "Riz",
            "modified": "20170922194340197"
        },
        "$:/Tekan/Navbar": {
            "created": "20170913174601878",
            "creator": "Riz",
            "text": "<nav class=\"navbar app\">\n    \t<div class=\"header-user-left\">\n    \t\t<span class=\"header-btn-icon\">{{$:/Tekan/BoardSelect}}</span>\n\t\t</div>\n\n\t\t<div class=\"header-user\">\n<span class=\"header-btn-icon\">{{$:/Tekan/NavboardButtons}}</span>\n        <$list filter=\"[tag[$:/Tekan/BoardbarButton]]\">\n\t\t\t<span class=\"header-btn-icon\"><$transclude/></span>\n        </$list>    \n\t\t</div>\n\t</nav>\n<nav class=\"navbar board\"><$set name=\"currentBoard\" filter=\"[{$:/Tekan/CurrentBoard}minlength[1]]\" value={{$:/Tekan/CurrentBoard}} emptyValue=\"You need to either create a board or switch to an existing one\"><$text text=<<currentBoard>>/></$set></nav>",
            "title": "$:/Tekan/Navbar",
            "tags": "$:/Tekan",
            "modified": "20170922043533653",
            "modifier": "Riz"
        },
        "$:/Tekan/NavboardButtons": {
            "created": "20170910185559552",
            "creator": "Riz",
            "text": "\\define AddNewBoard()\n<$action-createtiddler $basetitle={{$:/state/boardNewTitle}} tags=\"$:/tags/Tekanboard\"/>\n<$action-setfield $tiddler=\"$:/Tekan/CurrentBoard\" $value={{$:/state/boardNewTitle}}/>\n<$action-setfield $tiddler=\"$:/state/boardNewTitle\" text=\"\"/>\n\\end\n\n\\define deleteboard()\n<$set name=\"currentBoard\" value={{$:/Tekan/CurrentBoard}}>\n<$list filter=\"[tag<currentBoard>]\" variable=\"currentList\">\n<$action-deletetiddler $tiddler=<<currentList>>/>\n<$list filter=\"[tag<currentList>]\" variable=\"currentCard\">\n<$action-deletetiddler $tiddler=<<currentCard>>/>\n<$list filter=\"[tag<currentCard>]\" variable=\"currentChecklistitem\">\n<$action-deletetiddler $tiddler=<<currentChecklistitem>>/>\n</$list>\n</$list>\n</$list>\n<$action-deletetiddler $tiddler=<<currentBoard>>/>\n</$set>\n<$action-setfield $tiddler=\"$:/Tekan/CurrentBoard\" text=\"\"/>\n<$action-deletetiddler $tiddler=\"$:/state/deleteboardpopup\"/>\n\\end\n<$set name=\"currentBoard\" value={{$:/Tekan/CurrentBoard}}>\n<$list filter=\"[tag[$:/Tekan/Button]]\"><$transclude/></$list>\n</$set>\n<$button tooltip=\"Rearrange lists\" set=\"$:/state/rearrlist\" setTo=\"show\">A</$button>\n<$button tooltip=\"Delete board\" popup=\"$:/state/deleteboardpopup\" style=\"fill:#fff;\">{{$:/core/images/delete-button}}</$button>\n<$reveal type=\"popup\" class=\"tc-popup-keep\" state=\"$:/state/deleteboardpopup\">\n<div class=\"md-modal md-effect-1 md-show\">\n<div class=\"md-content\">\n\t\t\t\t<h3>delete Board<$button tag=\"span\" style=\"right:0;position: absolute;padding: 0 3%;fill:#fff;cursor:pointer\">{{$:/core/images/close-button}}<$action-deletetiddler $tiddler=\"$:/state/deleteboardpopup\"/></$button></h3>\n\t\t\t\t<div>\n\t\t\t\t\t<p>This will delete the board, along with all its lists, its cards, items in card checkboxes</p>\n\t\t\t\t\t<p>Are you sure?</p>\n                    <div class=\"mdbuttons\">\n\t\t\t\t\t<$button actions=<<deleteboard>> class=\"md-close\">Delete</$button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n        </$reveal>\n<$button tooltip=\"Add new board\" popup=\"$:/state/newboardstate\">\n+</$button>\n<$reveal state=\"$:/state/newboardstate\" type=\"popup\" class=\"tc-popup-keep\" position=\"below\" text=\"showthepopup\">\n<div class=\"pop-over\">\n\t<div>\n\t\t<div class=\"pop-over-header\">\n\t\t\t<span class=\"pop-over-header-title\">Create Board</span>\n\t\t\t<a href=\"#\" class=\"pop-over-header-close-btn icon-sm icon-close\"></a>\n\t\t</div>\n\n\n\t\t<div class=\"pop-over-content\" style=\"max-height: 323px;\">\n\t\t<div>\n\t\t\t<label>Title</label>\n                        <$edit-text class=\"list-name-input\" tiddler=\"$:/state/boardNewTitle\"  placeholder=\"What are you organizing?\" default=\"New board\" tag=\"input\"/>\n\n\t\t\t<div><$button style=\"background: -webkit-linear-gradient(top,#5AAC44 0,#519839 100%);background: linear-gradient(to bottom,#5AAC44 0,#519839 100%);\" set=\"$:/state/newboardstate\" setTo=\"\" actions=<<AddNewBoard>>>Create New Board</$button></div>\n\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n</$reveal>\n<$button tooltip=\"Switch back to TW5\">@@fill:white;{{$:/core/images/opacity}}@@\n<$list filter=\"[all[shadows+tiddlers]tag[TwelloMode]!has[draft.of]]\">\n<$action-setfield tags=\"$:/tags/PageTemplate\"/>\n</$list>\n<$action-deletetiddler $tiddler=\"$:/Tekan/Main\"/>\n<$action-deletetiddler $tiddler=\"$:/Tekan/Substyles\"/>\n</$button>\n",
            "title": "$:/Tekan/NavboardButtons",
            "tags": "$:/Tekan",
            "modifier": "Riz",
            "modified": "20170922195246728"
        },
        "$:/Tekan/Substyles": {
            "created": "20170910190007347",
            "creator": "Riz",
            "text": ".ui {\n\tfont: 12px Arial,Helvetica,sans-serif;\nmargin: 0;\n\tline-height: 1.3em;\n}\n\n.ui {\n\tfont-size: 12px !important;\n\t\n}\n.ui {\n  height: 100vh;\n  display: -ms-grid;\n  display: grid;\n  -ms-grid-rows: 40px 50px 1fr;\n      grid-template-rows: 40px 50px 1fr;\n  background-color: #0079bf;\n  color: #eee;\n}\n\n.navbar {\n  padding-left: 10px;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.navbar.app {\n  background-color: #0067a3;\n  font-size: 1.5rem;\n}\n.navbar.board {\n\tfont: 18px Arial,Helvetica,sans-serif;\n\tcursor: default;\n\tfont-weight: 700;\n\tline-height: 30px;\n}\n\n.lists {\n\tdisplay: -webkit-box;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\toverflow-x: auto;\n\n}\n.lists > * {\n  -webkit-box-flex: 0;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  margin-left: 10px;\n}\n.lists::after {\n  content: '';\n  -webkit-box-flex: 0;\n      -ms-flex: 0 0 10px;\n          flex: 0 0 10px;\n}\n\n.list {\n  width: 270px;\n  height: calc(100% - 10px - 17px);\n}\n.list > * {\n  background-color: #e2e4e6;\n  color: #333;\n  padding: 0 8px;\n}\n.list header {\n  line-height: 36px;\n  font-size: 16px;\n  font-weight: bold;\n  border-top-left-radius: 5px;\n  border-top-right-radius: 5px;\n  position: relative;\n}\n.list footer {\n  line-height: 36px;\n  color: #888;\n}\n.list .footer {\n   border-bottom-left-radius: 5px;\n  border-bottom-right-radius: 5px;\n}\n.list ul {\n  list-style: none;\n  margin: 0;\n  max-height: calc(100% - 36px - 36px);\n  overflow-y: auto;\n}\n.list ul li {\n\tbackground-color: #fff;\n\tpadding: 10px;\n\tborder-radius: 3px;\n\tbox-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);\n\tmargin-bottom: 10px;\n}\n\n.list ul li img {\n  display: block;\n  width: calc(100% + 2 * 10px);\n  margin: -10px 0 10px -10px;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n\n/* Substyles */\n\n.compact-board-tile-wrapper {\n\tcolor: #333;\n\tfont-size: 15px;\n\tline-height: 36px;\n\tbackground-color: #E0EFF7;\n\tmargin-bottom: 5px;\n\tborder-radius: 3px;\n     overflow: hidden;\n       text-overflow: ellipsis;\n}\n \nfooter .tc-reveal { padding: 10px 0 4px 0; }\n \n \nfooter textarea {\n\tbackground: #fff;\n\tborder-radius: 5px;\n\tborder: none;\n\tbox-shadow: none;\n\theight: auto;\n\tmargin-bottom: 4px;\n\tmargin-top: 10px;\n\tmax-height: 162px;\n\tmin-height: 54px;\n\toverflow-y: auto;\n\tpadding: 0;\n\tpadding: 8px;\n\twidth: 100%; }\n \n \n.header-btn-icon button {\n\tbackground: linear-gradient(to bottom,rgba(255,255,255,.3) 0,rgba(255,255,255,.2) 100%);\n\tborder-radius: 3px;\n\tborder: 0;\n\tcolor: #f3f3f3;\n\tdisplay: block;\n\tfloat: left;\n\tfont-weight: 700;\n\tfont-family: Arial,Helvetica,sans-serif;\n    font-size: 14px;\n\tline-height: 30px;\n\tmargin-right: 8px;\n\tmin-width: 30px;\n\tpadding: 0 8px;\n\ttext-decoration: none; }\n \n \n.header-user {\n\tposition: absolute;\n\tright: 0; }\n \n \n\n/* Task List */\n \n.list-card-operation {\n\tbackground-clip: padding-box;\n\tbackground-color: #EDEFF0;\n\tbackground-origin: padding-box;\n\topacity: 0;\n\t }\n\n\n.list ul li.tc-draggable {\n  position: relative;  }\n\n\n.list ul li.tc-draggable:hover {\n\tbackground-color: #EDEFF0;\n\tborder-bottom-color: #D6DADC;  }\n \n\t.list ul li.tc-draggable:hover .list-card-operation { opacity: 1; }\n \n\n.icon-sm {\n\tcolor: #400;\n\tdisplay: inline-block;\n\tfont-family: trellicons;\n\tfont-size: 12pt;\n\tfont-style: normal;\n\tfont-weight: 400;\n\theight: 30px;\n\tline-height: 25px;\n\ttext-align: center;\n\ttext-decoration: none;\n\twidth: 30px; }\n \n.listitem {\n  \tposition: absolute;\n\tright: 3px;\n\ttop: 3px;\n  \tz-index: 40; \n\tborder-radius: 3px;\n\tpadding: 4px;\t}\n\t.listitem:hover { background-color: #D6DADC; }\n \n\n \n \n /* Modal Button */\n.materialbutton {\n\tbackground-color: #26a69a;\n\tborder-radius: 2px;\n\tborder: none;\n\tcolor: #fff;\n\theight: 30px;\n\tletter-spacing: .5px;\n\tline-height: 30px;\n\tpadding: 0 2rem;\n\ttext-decoration: none;\n\tmargin: 5px 1px;}\n \n\n /*Add new list button*/\n.semitransparent {\n\tbackground: rgba(0,0,0,.12);\n\tborder-radius: 3px;\n\tcolor: #fff;\n\tcursor: pointer;\n\theight: auto;\n\tmargin: 0 5px;\n\tmin-height: 30px;\n\tpadding: 4px;\n\twidth: 270px; }\n \n /* Any button*/\n.semitransparentborderless {\n\tbackground: transparent;\n\tborder: none;\n\tcolor: rgba(255,255,255,.7);\n\tpadding: 7px; }\n \n/*Add new card button*/\n.smallgreenbutton {\n\tbackground: -webkit-linear-gradient(top,#5AAC44 0,#519839 100%);\n\tbackground: linear-gradient(to bottom,#5AAC44 0,#519839 100%);\n\tborder-radius: 3px;\n\tborder: none;\n\tcolor: #fff;\n\tdisplay: inline-block;\n\tfont-weight: 700;\n\tline-height: 22px;\n\tmargin: 0 6px 0 0;\n\tmin-height: 30px;\n\toutline: 0;\n\tpadding: 4px 1pc;\n\tvertical-align: top; }\n \n \n.tc-dropzone p { margin:0 }\n\n \n.wheatbordertextbox textarea {\n\tborder: 1px solid #ccc;\n    border-radius: 4px;\n\theight: auto;\n\tpadding: 6px 12px;\n    width: 100%;\n\t }\n\n\n/*--------------*/\n\n/* ----- Add New board ------*/\n.pop-over {\n\tbackground: #fff;\n\tborder-radius: 3px;\n\tborder: 1px solid #D6DADC;\n\tborder-bottom-color: #C4C9CC;\n\tbox-shadow: 0 1px 6px rgba(0,0,0,.15);\n\toverflow: hidden;\n\twidth: 300px;\n\tz-index: 70;\n\t-webkit-transform: translate3d(0,0,0);\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n    font-size: 14px;\n}\n.pop-over-header {\n\theight: 36px;\n\tposition: relative;\n\tmargin-bottom: 8px;\n\ttext-align: center;\n}\n.pop-over-header-title {\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tcolor: #838c91;\n\tdisplay: block;\n\tline-height: 36px;\n\tborder-bottom: 1px solid #D6DADC;\n\tmargin: 0 10px;\n\toverflow: hidden;\n\tposition: relative;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tz-index: 1;\n\tfont-size: 14px;\n}\n.pop-over-content {\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tpadding: 0 10px 10px;\n}\nlabel{\n\tdisplay: block;\n\tfont-weight: 700;\n\tmargin-bottom: 4px;\n\tcolor: #333;\n}\n\n/*--------------*/\n\n/*--Edit Modal ---*/\n.window-header {\n\tmargin: 8px 2pc;\n\tpadding: 0 8px;\n\tposition: relative;\n\tz-index: 1;\n}\n.window-title {\n\tpadding-top: 3px;\n}\n.mod-card-back-title {\n\tbackground: 0 0 !important;\n\tborder-radius: 3px;\n\tbox-shadow: none;\n\tfont-size: 18px;\n\tfont-weight: 700;\n\theight: 30px;\n\tline-height: 22px;\n\tmargin: -4px -6px;\n\tmin-height: 30px;\n\tpadding: 4px 6px;\n\tresize: none;\n\tborder: 1px solid transparent;\n}\n.ui input {\n      transition: background 85ms ease-in,border-color 85ms ease-in;\n      width: 100%;\n}\n\n\n.mod-card-back-title:focus {\n    background-color: rgba(255,255,255,.9) !important;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tborder: 1px solid #0079BF;\n\tbox-shadow: 0 0 2px 0 #0284C6;\n}\n.window-main-col {\n\tfloat: left;\n\tmargin: 0;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tmin-height: 24px;\n\tpadding: 0 8px 8px;\n\tposition: relative;\n\twidth: 540px;\n\tz-index: 0;\n}\n\n\n.window-main-col {\n\tfloat: left;\n\tmargin: 0;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tmin-height: 24px;\n\tpadding: 0 8px 8px;\n\tposition: relative;\n\twidth: 540px;\n\tz-index: 0;\n}\n\n.window-module {\n\tclear: both;\n\tmargin-bottom: 1pc;\n\tposition: relative;\n}\n.window-module-title-no-divider {\n\tborder-bottom: none;\n}\n.window-module-title {\n\tpadding: 8px;\n\tposition: relative;\n\tmargin: 0 24px 8px;\n}\n.window-module-title h3 {\n\tdisplay: inline-block;\n\twidth: auto;\n\tmargin: 0;\n\tmin-height: 18px;\n\tmin-width: 40px;\n\tfont-size: 1pc;\n\tline-height: 1.25em;\n\tfont-weight: 800;\n\tcolor: gray;\n}\n.new-comment {\n\tposition: relative;\n\tmargin: 0 0 20px 38px;\n}\n.comment-frame {\n\tbackground-color: #fff;\n\tborder-radius: 3px;\n\tbox-shadow: 0 1px 2px rgba(0,0,0,.23);\n\tmargin: 4px 4px 9pt 0;\n}\n.comment-box {\n\tposition: relative;\n}\n.comment-box-input {\n\tbackground: 0 0;\n\n\tmargin: 0;\n\tmin-height: 75px;\n\tpadding: 9px 11px 0;\n\twidth: 100%;\n\tresize: none;\n    border:0;\n\tborder-bottom: solid 30px transparent;\n\toverflow: hidden;\n\toverflow-wrap: break-word;\n\t\n}\n\n.u-gutter {\n\tmargin-left: 2pc;\n\tmargin-bottom: 1pc;\n}\n.checklist-new-item-text, .checklist-new-item-text:hover {\n\tbackground: 0 0 !important;\n\tbox-shadow: none;\n\tcursor: pointer;\n\tmargin-bottom: 4px;\n\tmax-height: 2pc;\n\toverflow: hidden;\n\tresize: none;\n\ttext-decoration: none;\n\tborder: 1px solid transparent;\n\theight: 30px;\n}\n\n.checklist-new-item-text:focus {\n\tbackground: #fff !important;\n\tborder-color: #298FCA;\n\tbox-shadow: 0 0 2px #298FCA;\n}\n\ninput[type=\"checkbox\"], input[type=\"radio\"] {\n  width: auto;\n}\n.tc-modal-body {\n\tmax-height: 90vh !important;\n}\n\n.button-link {\n\tbackground: #E2E4E6;\n\tbox-shadow: 0 1px 0 0 #C4C9CC;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tdisplay: block;\n\theight: 2pc;\n\tmargin-top: 8px;\n\tmax-width: 300px;\n\tpadding: 7px 7px 7px 11px;\n\tposition: relative;\n\tuser-select: none;\n\twhite-space: nowrap;\n\tborder-radius: 3px;\n\tfont-weight: 700;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tcolor: #444;\n}\n\n.window-main-col {\n\tfloat: left;\n\tmargin: 0;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tmin-height: 24px;\n\tpadding: 0 8px 8px;\n\tposition: relative;\n\twidth: 65%;\n\tz-index: 0;\n}\n\n\n.window-sidebar {\n\tfloat: right;\n\tpadding: 8px 1pc 8px 8px;\n\twidth: 30%;\n\toverflow: hidden;\n\tz-index: 10;\n}\n.window-module {\n\tclear: both;\n\tmargin-bottom: 1pc;\n\tposition: relative;\n}\n\n.button-link {\n\tbackground: #E2E4E6;\n\tbox-shadow: 0 1px 0 0 #C4C9CC;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tdisplay: block;\n\theight: 2pc;\n\tmargin-top: 10px;\n\tposition: relative;\n\tuser-select: none;\n\twhite-space: nowrap;\n\tborder-radius: 3px;\n\tfont-weight: 700;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tcolor: #444;\n\twidth: 100%;\n\tborder: 1px solid transparent;\n\ttext-align: left;\n\tpadding-left: 15%;\n}\n\n/* ---- ------*/\n\n/* ------ Delete board popup  ------*/\n.md-modal {\n\tposition: fixed;\n\ttop: 30%;\n\tleft: 50%;\n\twidth: 50%;\n\tmax-width: 630px;\n\tmin-width: 320px;\n\theight: auto;\n\tz-index: 2000;\n\t-webkit-transform: translateX(-50%) translateY(-50%);\n\t-moz-transform: translateX(-50%) translateY(-50%);\n\t-ms-transform: translateX(-50%) translateY(-50%);\n\ttransform: translateX(-50%) translateY(-50%);\n}\n\n.md-content {\n\tcolor: #fff;\n\tbackground: #e74c3c;\n\tposition: absolute;\n\tborder-radius: 3px;\n\tmargin: 0 auto;\n}\n\n.md-content h3 {\n\tmargin: 0;\n\tpadding: 0.4em;\n\ttext-align: center;\n\tfont-size: 30px;\n\tfont-weight: 300;\n\topacity: 0.8;\n\tbackground: rgba(0,0,0,0.1);\n\tborder-radius: 3px 3px 0 0;\n}\n.md-content > div {\n\tpadding: 15px 40px 30px;\n\tmargin: 0;\n\tfont-weight: 300;\n\tfont-size: 20px;\n  text-align: center;\n}\n\n\n.md-content > div p {\n\tmargin: 0;\n\tpadding: 10px 0;\n}\n.md-content button {\n\t\n\tmargin: 0 auto;\n\tfont-size: 0.8em;\n  border: none;\n\tpadding: 0.6em 1.2em;\n\tbackground: #c0392b;\n\tcolor: #fff;\n\tfont-family: 'Lato', Calibri, Arial, sans-serif;\n\n\tletter-spacing: 1px;\n\ttext-transform: uppercase;\n\tcursor: pointer;\n\tdisplay: inline-block;\n\t\n\tborder-radius: 2px;\n}\n\n.mdbuttons {\n\tmargin: auto;\n\tposition: relative;\n\tleft: 0;\n\tright: 0;\n\tmargin: 0 40%;\n\tpadding: 5% 0;\n}\n\n/** ------------**/\n\n/* Stepping away from TW5 styles*/\n.tc-notification {display:none}\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\theight: 1px !important;\n    border:none !important;\n\tborder-bottom: 2px solid grey !important;\n}\n.tc-modal {\n\tbackground-color: #EDEFF0 !important;\n\tborder-radius: 2px;\n\tmargin: 3pc 0 5pc;\n\toverflow: hidden;\n\tposition: relative;\n\twidth: 60% !important;\n\tleft: 20% !important;\n}\n.tc-modal-header {\n\tdisplay: none !important;\n}\n.tc-modal-footer {\n\tdisplay: none !important;\n}\n\n\n\n/** ------------**/\n\n\n/** Listops button **/\n.listopsbutton {\npadding: 3px 10px;\nmargin: 0 5%;\n}\n.listopsbutton:hover {\n\tbackground: #298FCA;\n\tcolor: #fff;\n}\n/** ------------**/\n\nfooter textarea {line-height: 22px;}\n\n/**-----Board Select-----**/\n.whitebgdropdown {\n\twidth: 280px;\n\toverflow: hidden;\n\tborder: 1px solid #bbb;\n    border-radius: 0 3px 3px 0;\n\tbackground-color: #ffffff;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n    top: 45px;\n\tz-index: 60;\n\tline-height: 1.4;\n    box-shadow: 0 3px 6px rgba(0,0,0,.4);\n}\n.whitebgdropdown a, .whitebgdropdown button {\n\tdisplay: block;\n\tpadding: 0 10px 0 10px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: #333333;\n\tline-height: 1.4;\n}\n.simplesquare {\n\tbackground-color: #0079BF;\n\tdisplay: inline-block;\n\theight: 36px;\n\topacity: .7;\n\twidth: 36px;\n\tborder-radius: 5px;\n\tmargin-right: 3px;\n}\n\n/**-----Board Select END-----**/\n\n\n@media all and (max-width: 640px) {\n  .lists {flex-wrap:wrap;}\n  .list {height:auto; padding: 10px 0;}\n  .pop-over{\n    position: fixed;\n    left: 0;\n\ttop:20%;\n\twidth: 100%;\n  }\n  .tc-modal {\n\twidth: 100% !important;\n\tleft: 0;\n\t}\n  .md-modal.md-effect-1.md-show {\n\twidth: 100%;\n\t}\n  .mdbuttons {\n\tmargin: 0 30%;\n\t}\n}",
            "type": "text/css",
            "title": "$:/Tekan/Substyles",
            "tags": "$:/Tekan $:/tags/Stylesheet",
            "modifier": "Riz",
            "modified": "20170922172832077"
        },
        "$:/Tekan/Switch": {
            "created": "20170910184159665",
            "creator": "Riz",
            "text": "<$button class=\"tc-btn-invisible\">{{$:/core/images/opacity}}\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\">\n<$action-setfield tags=\"TwelloMode\"/>\n</$list>\n<$action-setfield $tiddler=\"$:/Tekan/Main\" tags=\"$:/tags/PageTemplate\"/>\n<$action-listops $tiddler=\"$:/Tekan/Substyles\" $tags=\"$:/tags/Stylesheet\"/>\n</$button>",
            "title": "$:/Tekan/Switch",
            "tags": "$:/Tekan $:/tags/PageControls",
            "modifier": "Riz",
            "modified": "20170922134147562"
        },
        "$:/Tikan/EditCardModal": {
            "text": "\\define checklisttag()\n[[$(currentCard)$]]\n\\end\n\n\\define addchecklistitem()\n<$action-createtiddler $basetitle={{$:/state/checklistitem}} tags=<<checklisttag>>/>\n<$action-setfield $tiddler=\"$:/state/checklistitem\" text=\"\"/>\n\\end\n\n\\define archivechecklist()\n<$list filter=\"[tag<currentCard>tag[done]!tag[archive]]\">\n<$action-listops $tags=\"archive\"/>\n</$list>\n\\end\n<div class=\"window-header\">\n    <span class=\"window-header-icon icon-lg icon-card\"></span>\n    <div class=\"window-title\">\n<$edit-text class=\"mod-card-back-title\"  style=\"overflow: hidden; overflow-wrap: break-word; height: 26px;\" tag=\"input\" tiddler=\"$:/state/editcard\"/>\n<div>in list <<currentList>>   <$list filter=\"[<currentCard>tag[archive]]\">{{archive||$:/core/ui/TagTemplate}}</$list></div>\n</div>\n<$button class=\"smallgreenbutton\" style=\"margin-top: 10px;\">Change\n<$action-setfield $tiddler=<<currentCard>> $field=\"title\" $value={{$:/state/editcard}}/>\n<$action-deletetiddler $tiddler=<<currentCard>>/>\n</$button>\n</div>\n\n\n  <$set name=\"currentCard\" value={{$:/state/editcard}}>\n\n\n<div class=\"window-main-col\">\n<div class=\"window-module add-comment-section\">\n    \t<div class=\"window-module-title window-module-title-no-divider\">\n\t    \t<span class=\"window-module-title-icon icon-lg icon-comment\"></span>\n\t        <h3>Add Comment</h3>\n\t</div>\n    <div class=\"new-comment\">\n            <div class=\"comment-frame\">\n                <div class=\"comment-box\">\n  \t\t\t\t<$edit-text class=\"comment-box-input\" placeholder=\"Write a comment…\" style=\"overflow: hidden; overflow-wrap: break-word; height: 75px;\" tiddler=<<currentCard>> default=\"No Comments\"/>\n                 </div>\n            </div>\n    </div>\n</div>\n  \n  \n  \n\t<div class=\"checklistarea\">\n\t<div class=\"window-module-title window-module-title-no-divider\">\n\t    \t<span class=\"window-module-title-icon icon-lg icon-comment\"></span>\n\t        <h3>Checklist</h3>\n\t</div>\n    \t<div class=\"u-gutter\">\n\t\t      <$edit-text class=\"checklist-new-item-text \" placeholder=\"Add an item…\" style=\"overflow-x: hidden; overflow-y: scroll; overflow-wrap: break-word; height: 48px;\" tag=\"input\" tiddler=\"$:/state/checklistitem\" default=\"New item\"/>\n\t\t      <$button class=\"smallgreenbutton\" actions=<<addchecklistitem>>>Add</$button>\n       </div>\n\t\t<div class=\"u-gutter\">\n\t\t            <$list filter=\"[tag<currentCard>!tag[done]!tag[archive]]\">\n\t\t            <$checkbox tag=\"done\"> <$view field=\"title\"/></$checkbox>\n\t\t            </$list>\n\n\t\t            <$list filter=\"[tag<currentCard>tag[done]!tag[archive]]\">\n\t\t            <$checkbox tag=\"done\"> ~~<$view field=\"title\"/>~~</$checkbox>\n\t\t            </$list>\n\t\t            <$button class=\"smallgreenbutton\" style=\"background: #4DB6AC;color:#eee;margin: 5% 0;\" actions=<<archivechecklist>>>Archive Done Checklist Items</$button>\n\t\t</div>\n\t</div>\n</div>\n<div class=\"window-sidebar\" style=\"left: 864px; top: 0px;\">\n<div class=\"window-module u-clearfix\">\n\t\t<$button class=\"button-link\" style=\"background: #EE6E73;color: #fff;\">Delete\n\t\t\t<$action-deletetiddler $tiddler=<<currentCard>>/>\n\t\t\t<$action-sendmessage $message=\"tm-close-tiddler\"/>\n            <$action-listops $tiddler=<<currentList>> $subfilter=\"+[remove<currentCard>]\"/>\n\t\t</$button>\n\t\t<$button class=\"button-link\">Archive\n\t\t\t<$action-listops $tiddler=<<currentCard>> $tags=\"archive\"/>\n            <$action-listops $tiddler=<<currentList>> $subfilter=\"+[remove<currentCard>]\"/>\n\t\t</$button>\n\t\t<$button class=\"button-link\">Done\n\t\t\t<$action-sendmessage $message=\"tm-close-tiddler\"/>\n\t\t</$button>\n</div>\n</div>\n</$set>",
            "title": "$:/Tikan/EditCardModal",
            "tags": "$:/Tekan",
            "modified": "20170919214833730",
            "created": "20170919125005908"
        },
        "$:/plugins/tesseract/tekan/readme": {
            "created": "20170919234633271",
            "creator": "Riz",
            "text": "! Tekan\n\nTekan is a simple kanban client using TW5. ",
            "title": "$:/plugins/tesseract/tekan/readme",
            "tags": "",
            "modified": "20170919235214823",
            "modifier": "Riz"
        }
    }
}
{
    "tiddlers": {
        "$:/config/EditorTypeMappings/application/javascript": {
            "title": "$:/config/EditorTypeMappings/application/javascript",
            "text": "codemirror"
        },
        "$:/config/EditorTypeMappings/application/json": {
            "title": "$:/config/EditorTypeMappings/application/json",
            "text": "codemirror"
        },
        "$:/config/EditorTypeMappings/application/x-tiddler-dictionary": {
            "title": "$:/config/EditorTypeMappings/application/x-tiddler-dictionary",
            "text": "codemirror"
        },
        "$:/config/EditorTypeMappings/text/css": {
            "title": "$:/config/EditorTypeMappings/text/css",
            "text": "codemirror"
        },
        "$:/config/EditorTypeMappings/text/html": {
            "title": "$:/config/EditorTypeMappings/text/html",
            "text": "codemirror"
        },
        "$:/config/EditorTypeMappings/text/plain": {
            "title": "$:/config/EditorTypeMappings/text/plain",
            "text": "codemirror"
        },
        "$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
            "title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
            "text": "codemirror"
        },
        "$:/config/EditorTypeMappings/text/x-markdown": {
            "title": "$:/config/EditorTypeMappings/text/x-markdown",
            "text": "codemirror"
        },
        "$:/config/EditorTypeMappings/text/x-tiddlywiki": {
            "title": "$:/config/EditorTypeMappings/text/x-tiddlywiki",
            "text": "codemirror"
        },
        "$:/config/codemirror/cursorBlinkRate": {
            "title": "$:/config/codemirror/cursorBlinkRate",
            "type": "integer",
            "text": "530"
        },
        "$:/config/codemirror/extraKeysTW": {
            "title": "$:/config/codemirror/extraKeysTW",
            "extend": "extraKeys",
            "type": "json",
            "text": "{\n\t\"Ctrl-Esc\": \"singleSelection\",\n\t\"Esc\": \"\",\n\t\"Ctrl-S\": \"\",\n\t\"Ctrl-U\": \"\",\n\t\"Ctrl-T\": \"\",\n\t\"Alt-T\": \"transposeChars\",\n\t\"Alt-U\": \"undoSelection\",\n\t\"Shift-Alt-U\": \"redoSelection\",\n\t\"Cmd-U\": \"\",\n\t\"Tab\": \"indentAuto()\",\n\t\"Enter\": \"newLineAndIndent()\"\n}\n"
        },
        "$:/config/codemirror/indentUnit": {
            "title": "$:/config/codemirror/indentUnit",
            "type": "integer",
            "text": "2"
        },
        "$:/config/codemirror/indentWithTabs": {
            "title": "$:/config/codemirror/indentWithTabs",
            "type": "bool",
            "text": "true"
        },
        "$:/config/codemirror/inputStyle": {
            "title": "$:/config/codemirror/inputStyle",
            "type": "string",
            "text": "textarea"
        },
        "$:/config/codemirror/keyMap": {
            "title": "$:/config/codemirror/keyMap",
            "type": "string",
            "text": "default"
        },
        "$:/config/codemirror/lineNumbers": {
            "title": "$:/config/codemirror/lineNumbers",
            "type": "bool",
            "text": "false"
        },
        "$:/config/codemirror/lineWrapping": {
            "title": "$:/config/codemirror/lineWrapping",
            "type": "bool",
            "text": "true"
        },
        "$:/config/codemirror/showCursorWhenSelecting": {
            "title": "$:/config/codemirror/showCursorWhenSelecting",
            "type": "bool",
            "text": "true"
        },
        "$:/config/codemirror/smartIndent": {
            "title": "$:/config/codemirror/smartIndent",
            "type": "bool",
            "text": "true"
        },
        "$:/config/codemirror/styleActiveLine": {
            "title": "$:/config/codemirror/styleActiveLine",
            "type": "bool",
            "text": "false"
        },
        "$:/config/codemirror/tabSize": {
            "title": "$:/config/codemirror/tabSize",
            "type": "integer",
            "text": "2"
        },
        "$:/config/codemirror/theme": {
            "title": "$:/config/codemirror/theme",
            "type": "string",
            "text": "tiddlywiki"
        },
        "$:/language/codemirror/homeUrl": {
            "title": "$:/language/codemirror/homeUrl",
            "text": "http://codemirror.net"
        },
        "$:/language/codemirror/addOnUrl": {
            "title": "$:/language/codemirror/addOnUrl",
            "text": "http://codemirror.net/doc/manual.html#addons"
        },
        "$:/language/codemirror/configUrl": {
            "title": "$:/language/codemirror/configUrl",
            "text": "http://codemirror.net/doc/manual.html#config"
        },
        "$:/language/codemirror/controlPanel/hint": {
            "title": "$:/language/codemirror/controlPanel/hint",
            "text": "These settings let you customise the behaviour of [[CodeMirror|$:/plugins/tiddlywiki/codemirror]]."
        },
        "$:/language/codemirror/controlPanel/usage": {
            "title": "$:/language/codemirror/controlPanel/usage",
            "text": "Usage information"
        },
        "$:/language/codemirror/editorFont/hint": {
            "title": "$:/language/codemirror/editorFont/hint",
            "text": "Editor font family"
        },
        "$:/language/codemirror/editorFont/info": {
            "title": "$:/language/codemirror/editorFont/info",
            "text": "Set the font family for the ~CodeMirror text-editor"
        },
        "$:/language/codemirror/controlPanel/keyboard": {
            "title": "$:/language/codemirror/controlPanel/keyboard",
            "text": "Keyboard shortcuts"
        },
        "$:/language/codemirror/keyMap/hint": {
            "title": "$:/language/codemirror/keyMap/hint",
            "text": "~CodeMirror keymap"
        },
        "$:/language/codemirror/keyMap/info": {
            "title": "$:/language/codemirror/keyMap/info",
            "text": "~The Keyboard KeyMap used within the ~CodeMirror text-editor"
        },
        "$:/language/codemirror/lineNumbers/hint": {
            "title": "$:/language/codemirror/lineNumbers/hint",
            "text": "Enable line numbers"
        },
        "$:/language/codemirror/lineNumbers/info": {
            "title": "$:/language/codemirror/lineNumbers/info",
            "text": "Whether to show line numbers to the left of the editor."
        },
        "$:/language/codemirror/lineWrapping/hint": {
            "title": "$:/language/codemirror/lineWrapping/hint",
            "text": "Enable line wrapping"
        },
        "$:/language/codemirror/lineWrapping/info": {
            "title": "$:/language/codemirror/lineWrapping/info",
            "text": "Whether CodeMirror should scroll or wrap for long lines. Defaults to `false` (scroll)."
        },
        "$:/language/codemirror/showCursorWhenSelecting/hint": {
            "title": "$:/language/codemirror/showCursorWhenSelecting/hint",
            "text": "Show cursor, when selecting"
        },
        "$:/language/codemirror/showCursorWhenSelecting/info": {
            "title": "$:/language/codemirror/showCursorWhenSelecting/info",
            "text": "Whether the cursor should be drawn when a selection is active."
        },
        "$:/language/codemirror/styleActiveLine/hint": {
            "title": "$:/language/codemirror/styleActiveLine/hint",
            "text": "Highlight active line"
        },
        "$:/language/codemirror/styleActiveLine/info": {
            "title": "$:/language/codemirror/styleActiveLine/info",
            "text": "Whether or not to highlight the active text-editor line"
        },
        "$:/language/codemirror/theme/hint": {
            "title": "$:/language/codemirror/theme/hint",
            "text": "Select a theme"
        },
        "$:/language/codemirror/theme/info": {
            "title": "$:/language/codemirror/theme/info",
            "text": "Choose between ~CodeMirror themes"
        },
        "$:/plugins/tiddlywiki/codemirror/edit-codemirror.js": {
            "title": "$:/plugins/tiddlywiki/codemirror/edit-codemirror.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/codemirror/edit-codemirror.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-codemirror widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tCodeMirrorEngine = require(\"$:/plugins/tiddlywiki/codemirror/engine.js\").CodeMirrorEngine;\n\nexports[\"edit-codemirror\"] = editTextWidgetFactory(CodeMirrorEngine,CodeMirrorEngine);\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/plugins/tiddlywiki/codemirror/engine.js": {
            "title": "$:/plugins/tiddlywiki/codemirror/engine.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/codemirror/engine.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a CodeMirror instance\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CODEMIRROR_OPTIONS = \"$:/config/CodeMirror\",\nHEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\",\nCONFIG_FILTER = \"[all[shadows+tiddlers]prefix[$:/config/codemirror/]]\"\n\t\n// Install CodeMirror\nif($tw.browser && !window.CodeMirror) {\n\n\tvar modules = $tw.modules.types[\"codemirror\"];\n\tvar req = Object.getOwnPropertyNames(modules);\n\n\twindow.CodeMirror = require(\"$:/plugins/tiddlywiki/codemirror/lib/codemirror.js\");\n\t// Install required CodeMirror plugins\n\tif(req) {\n\t\tif($tw.utils.isArray(req)) {\n\t\t\tfor(var index=0; index<req.length; index++) {\n\t\t\t\trequire(req[index]);\n\t\t\t}\n\t\t} else {\n\t\t\trequire(req);\n\t\t}\n\t}\n}\n\nfunction getCmConfig() {\n\tvar type,\n\t\ttest,\n\t\tvalue,\n\t\telement,\n\t\textend,\n\t\ttiddler,\n\t\tconfig = {},\n\t\tconfigTiddlers = $tw.wiki.filterTiddlers(CONFIG_FILTER);\n\n\tif ($tw.utils.isArray(configTiddlers)) {\n\t\tfor (var i=0; i<configTiddlers.length; i++) {\n\t\t\ttiddler = $tw.wiki.getTiddler(configTiddlers[i]);\n\t\t\t\tif (tiddler) {\n\t\t\t\telement = configTiddlers[i].replace(/\\$:\\/config\\/codemirror\\//ig,\"\");\n\t\t\t\t\ttype = (tiddler.fields.type) ? tiddler.fields.type.trim().toLocaleLowerCase() : \"string\";\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase \"bool\":\n\t\t\t\t\ttest = tiddler.fields.text.trim().toLowerCase();\n\t\t\t\t\tvalue = (test === \"true\") ? true : false;\n\t\t\t\t\tconfig[element] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"string\":\n\t\t\t\t\tvalue = tiddler.fields.text.trim();\n\t\t\t\t\tconfig[element] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"integer\":\n\t\t\t\t\tvalue = parseInt(tiddler.fields.text.trim(), 10);\n\t\t\t\t\tconfig[element] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"json\":\n\t\t\t\t\tvalue = JSON.parse(tiddler.fields.text.trim());\n\t\t\t\t\t\textend = (tiddler.fields.extend) ? tiddler.fields.extend : element;\n\n\t\t\t\t\tif (config[extend]) {\n\t\t\t\t\t\t$tw.utils.extend(config[extend], value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconfig[extend] = value;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn config;\n}\n\nfunction CodeMirrorEngine(options) {\n\n\t// Save our options\n\tvar self = this;\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create the wrapper DIV\n\tthis.domNode = this.widget.document.createElement(\"div\");\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tthis.domNode.style.display = \"inline-block\";\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n\t\n\t// Set all cm-plugin defaults\n\t// Get the configuration options for the CodeMirror object\n\tvar config = getCmConfig();\n\n\tconfig.mode = options.type;\n\tconfig.value = options.value;\n\tif(this.widget.editTabIndex) {\n\t\tconfig[\"tabindex\"] = this.widget.editTabIndex;\n\t}\n\t// Create the CodeMirror instance\n\tthis.cm = window.CodeMirror(function(cmDomNode) {\n\t\t// Note that this is a synchronous callback that is called before the constructor returns\n\t\tif(!self.widget.document.isTiddlyWikiFakeDom) {\n\t\t\tself.domNode.appendChild(cmDomNode);\n\t\t}\n\t},config);\n\n\t// Set up a change event handler\n\tthis.cm.on(\"change\",function() {\n\t\tself.widget.saveChanges(self.getText());\n\t\tif(self.widget.editInputActions) {\n\t\t\tself.widget.invokeActionString(self.widget.editInputActions);\n\t\t}\n\t});\n\tthis.cm.on(\"drop\",function(cm,event) {\n\t\tevent.stopPropagation(); // Otherwise TW's dropzone widget sees the drop event\n\t\treturn false;\n\t});\n\tthis.cm.on(\"keydown\",function(cm,event) {\n\t\treturn self.widget.handleKeydownEvent.call(self.widget,event);\n\t});\n\tthis.cm.on(\"focus\",function(cm,event) {\n\t\tif(self.widget.editCancelPopups) {\n\t\t\t$tw.popup.cancel(0);\t\n\t\t}\n\t});\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nCodeMirrorEngine.prototype.setText = function(text,type) {\n\tvar self = this;\n\tself.cm.setOption(\"mode\",type);\n\tif(!this.cm.hasFocus()) {\n\t\tthis.updateDomNodeText(text);\n\t}\n};\n\n/*\nUpdate the DomNode with the new text\n*/\nCodeMirrorEngine.prototype.updateDomNodeText = function(text) {\n\tthis.cm.setValue(text);\n};\n\n/*\nGet the text of the engine\n*/\nCodeMirrorEngine.prototype.getText = function() {\n\treturn this.cm.getValue();\n};\n\n/*\nFix the height of textarea to fit content\n*/\nCodeMirrorEngine.prototype.fixHeight = function() {\n\tif(this.widget.editAutoHeight) {\n\t\t// Resize to fit\n\t\tthis.cm.setSize(null,null);\n\t} else {\n\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\tthis.cm.setSize(null,fixedHeight);\n\t}\n};\n\n/*\nFocus the engine node\n*/\nCodeMirrorEngine.prototype.focus  = function() {\n\tthis.cm.focus();\n}\n\n/*\nCreate a blank structure representing a text operation\n*/\nCodeMirrorEngine.prototype.createTextOperation = function() {\n\tvar selections = this.cm.listSelections();\n\tif(selections.length > 0) {\n\t\tvar anchorPos = this.cm.indexFromPos(selections[0].anchor),\n\t\theadPos = this.cm.indexFromPos(selections[0].head);\n\t}\n\tvar operation = {\n\t\ttext: this.cm.getValue(),\n\t\tselStart: Math.min(anchorPos,headPos),\n\t\tselEnd: Math.max(anchorPos,headPos),\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nCodeMirrorEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tthis.cm.replaceRange(operation.replacement,this.cm.posFromIndex(operation.cutStart),this.cm.posFromIndex(operation.cutEnd));\n\t\tthis.cm.setSelection(this.cm.posFromIndex(operation.newSelStart),this.cm.posFromIndex(operation.newSelEnd));\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t}\n\tthis.cm.focus();\n\treturn newText;\n};\n\nexports.CodeMirrorEngine = CodeMirrorEngine;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/codemirror/lib/codemirror.js": {
            "text": "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).CodeMirror=t()}(this,function(){\"use strict\";var e=navigator.userAgent,t=navigator.platform,g=/gecko\\/\\d/i.test(e),n=/MSIE \\d/.test(e),r=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(e),i=/Edge\\/(\\d+)/.exec(e),x=n||r||i,C=x&&(n?document.documentMode||6:+(i||r)[1]),v=!i&&/WebKit\\//.test(e),o=v&&/Qt\\/\\d+\\.\\d+/.test(e),l=!i&&/Chrome\\//.test(e),m=/Opera\\//.test(e),c=/Apple Computer/.test(navigator.vendor),s=/Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(e),u=/PhantomJS/.test(e),a=!i&&/AppleWebKit/.test(e)&&/Mobile\\/\\w+/.test(e),h=/Android/.test(e),d=a||h||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),y=a||/Mac/.test(t),f=/\\bCrOS\\b/.test(e),p=/win/i.test(t),b=m&&e.match(/Version\\/(\\d*\\.\\d*)/);(b=b&&Number(b[1]))&&15<=b&&(v=!(m=!1));var w=y&&(o||m&&(null==b||b<12.11)),S=g||x&&9<=C;function L(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}var k,T=function(e,t){var n,r=e.className,i=L(t).exec(r);i&&(n=r.slice(i.index+i[0].length),e.className=r.slice(0,i.index)+(n?i[1]+n:\"\"))};function M(e){for(var t=e.childNodes.length;0<t;--t)e.removeChild(e.firstChild);return e}function N(e,t){return M(e).appendChild(t)}function O(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),\"string\"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function A(e,t,n,r){var i=O(e,t,n,r);return i.setAttribute(\"role\",\"presentation\"),i}function D(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)}function W(){var t;try{t=document.activeElement}catch(e){t=document.body||null}for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function H(e,t){var n=e.className;L(t).test(n)||(e.className+=(n?\" \":\"\")+t)}function F(e,t){for(var n=e.split(\" \"),r=0;r<n.length;r++)n[r]&&!L(n[r]).test(t)&&(t+=\" \"+n[r]);return t}k=document.createRange?function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch(e){return r}return r.collapse(!0),r.moveEnd(\"character\",n),r.moveStart(\"character\",t),r};var P=function(e){e.select()};function E(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function I(e,t,n){for(var r in t=t||{},e)!e.hasOwnProperty(r)||!1===n&&t.hasOwnProperty(r)||(t[r]=e[r]);return t}function R(e,t,n,r,i){null==t&&-1==(t=e.search(/[^\\s\\u00a0]/))&&(t=e.length);for(var o=r||0,l=i||0;;){var s=e.indexOf(\"\\t\",o);if(s<0||t<=s)return l+(t-o);l+=s-o,l+=n-l%n,o=s+1}}a?P=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:x&&(P=function(e){try{e.select()}catch(e){}});var z=function(){this.id=null,this.f=null,this.time=0,this.handler=E(this.onTimeout,this)};function B(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}z.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-new Date)},z.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=n)};var G=50,U={toString:function(){return\"CodeMirror.Pass\"}},V={scroll:!1},K={origin:\"*mouse\"},j={origin:\"+move\"};function X(e,t,n){for(var r=0,i=0;;){var o=e.indexOf(\"\\t\",r);-1==o&&(o=e.length);var l=o-r;if(o==e.length||t<=i+l)return r+Math.min(l,t-i);if(i+=o-r,r=o+1,t<=(i+=n-i%n))return r}}var Y=[\"\"];function _(e){for(;Y.length<=e;)Y.push($(Y)+\" \");return Y[e]}function $(e){return e[e.length-1]}function q(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r);return n}function Z(){}function Q(e,t){var n=Object.create?Object.create(e):(Z.prototype=e,new Z);return t&&I(t,n),n}var J=/[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;function ee(e){return/\\w/.test(e)||\"€\"<e&&(e.toUpperCase()!=e.toLowerCase()||J.test(e))}function te(e,t){return t?!!(-1<t.source.indexOf(\"\\\\w\")&&ee(e))||t.test(e):ee(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return;return 1}var re=/[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;function ie(e){return 768<=e.charCodeAt(0)&&re.test(e)}function oe(e,t,n){for(;(n<0?0<t:t<e.length)&&ie(e.charAt(t));)t+=n;return t}function le(e,t,n){for(var r=n<t?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var se=null;function ae(e,t,n){var r;se=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&\"before\"==n?r=i:se=i),o.from==t&&(o.from!=o.to&&\"before\"!=n?r=i:se=i)}return null!=r?r:se}var ue,ce,he,de,fe,pe,ge,me=(ue=\"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\",ce=\"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\",he=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,de=/[stwN]/,fe=/[LRr]/,pe=/[Lb1n]/,ge=/[1n]/,function(e,t){var n=\"ltr\"==t?\"L\":\"R\";if(0==e.length||\"ltr\"==t&&!he.test(e))return!1;for(var r,i=e.length,o=[],l=0;l<i;++l)o.push((r=e.charCodeAt(l))<=247?ue.charAt(r):1424<=r&&r<=1524?\"R\":1536<=r&&r<=1785?ce.charAt(r-1536):1774<=r&&r<=2220?\"r\":8192<=r&&r<=8203?\"w\":8204==r?\"b\":\"L\");for(var s=0,a=n;s<i;++s){var u=o[s];\"m\"==u?o[s]=a:a=u}for(var c=0,h=n;c<i;++c){var d=o[c];\"1\"==d&&\"r\"==h?o[c]=\"n\":fe.test(d)&&\"r\"==(h=d)&&(o[c]=\"R\")}for(var f=1,p=o[0];f<i-1;++f){var g=o[f];\"+\"==g&&\"1\"==p&&\"1\"==o[f+1]?o[f]=\"1\":\",\"!=g||p!=o[f+1]||\"1\"!=p&&\"n\"!=p||(o[f]=p),p=g}for(var m=0;m<i;++m){var v=o[m];if(\",\"==v)o[m]=\"N\";else if(\"%\"==v){for(var y=void 0,y=m+1;y<i&&\"%\"==o[y];++y);for(var b=m&&\"!\"==o[m-1]||y<i&&\"1\"==o[y]?\"1\":\"N\",w=m;w<y;++w)o[w]=b;m=y-1}}for(var x=0,C=n;x<i;++x){var S=o[x];\"L\"==C&&\"1\"==S?o[x]=\"L\":fe.test(S)&&(C=S)}for(var L=0;L<i;++L)if(de.test(o[L])){for(var k=void 0,k=L+1;k<i&&de.test(o[k]);++k);for(var T=\"L\"==(L?o[L-1]:n),M=T==(\"L\"==(k<i?o[k]:n))?T?\"L\":\"R\":n,N=L;N<k;++N)o[N]=M;L=k-1}for(var A,O=[],D=0;D<i;)if(pe.test(o[D])){var W=D;for(++D;D<i&&pe.test(o[D]);++D);O.push(new ve(0,W,D))}else{var H=D,F=O.length,P=\"rtl\"==t?1:0;for(++D;D<i&&\"L\"!=o[D];++D);for(var E=H;E<D;)if(ge.test(o[E])){H<E&&(O.splice(F,0,new ve(1,H,E)),F+=P);var I=E;for(++E;E<D&&ge.test(o[E]);++E);O.splice(F,0,new ve(2,I,E)),F+=P,H=E}else++E;H<D&&O.splice(F,0,new ve(1,H,D))}return\"ltr\"==t&&(1==O[0].level&&(A=e.match(/^\\s+/))&&(O[0].from=A[0].length,O.unshift(new ve(0,0,A[0].length))),1==$(O).level&&(A=e.match(/\\s+$/))&&($(O).to-=A[0].length,O.push(new ve(0,i-A[0].length,i)))),\"rtl\"==t?O.reverse():O});function ve(e,t,n){this.level=e,this.from=t,this.to=n}function ye(e,t){var n=e.order;return null==n&&(n=e.order=me(e.text,t)),n}var be=[],we=function(e,t,n){var r;e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent(\"on\"+t,n):(r=e._handlers||(e._handlers={}))[t]=(r[t]||be).concat(n)};function xe(e,t){return e._handlers&&e._handlers[t]||be}function Ce(e,t,n){var r,i,o;e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent(\"on\"+t,n):!(i=(r=e._handlers)&&r[t])||-1<(o=B(i,n))&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}function Se(e,t){var n=xe(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i<n.length;++i)n[i].apply(null,r)}function Le(e,t,n){return\"string\"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),Se(e,n||t.type,e,t),Oe(t)||t.codemirrorIgnore}function ke(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),r=0;r<t.length;++r)-1==B(n,t[r])&&n.push(t[r])}function Te(e,t){return 0<xe(e,t).length}function Me(e){e.prototype.on=function(e,t){we(this,e,t)},e.prototype.off=function(e,t){Ce(this,e,t)}}function Ne(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Ae(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Oe(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function De(e){Ne(e),Ae(e)}function We(e){return e.target||e.srcElement}function He(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),y&&e.ctrlKey&&1==t&&(t=3),t}var Fe,Pe,Ee=function(){if(x&&C<9)return!1;var e=O(\"div\");return\"draggable\"in e||\"dragDrop\"in e}();var Ie,Re=3!=\"\\n\\nb\".split(/\\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(\"\\n\",t);-1==i&&(i=e.length);var o=e.slice(t,\"\\r\"==e.charAt(i-1)?i-1:i),l=o.indexOf(\"\\r\");-1!=l?(n.push(o.slice(0,l)),t+=l+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\\r\\n?|\\n/)},ze=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints(\"StartToEnd\",t)},Be=\"oncopy\"in(Ie=O(\"div\"))||(Ie.setAttribute(\"oncopy\",\"return;\"),\"function\"==typeof Ie.oncopy),Ge=null;var Ue={},Ve={};function Ke(e){if(\"string\"==typeof e&&Ve.hasOwnProperty(e))e=Ve[e];else if(e&&\"string\"==typeof e.name&&Ve.hasOwnProperty(e.name)){var t=Ve[e.name];\"string\"==typeof t&&(t={name:t}),(e=Q(t,e)).name=t.name}else{if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(e))return Ke(\"application/xml\");if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(e))return Ke(\"application/json\")}return\"string\"==typeof e?{name:e}:e||{name:\"null\"}}function je(e,t){t=Ke(t);var n=Ue[t.name];if(!n)return je(e,\"text/plain\");var r=n(e,t);if(Xe.hasOwnProperty(t.name)){var i=Xe[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r[\"_\"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}var Xe={};function Ye(e,t){I(t,Xe.hasOwnProperty(e)?Xe[e]:Xe[e]={})}function _e(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function $e(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function qe(e,t,n){return!e.startState||e.startState(t,n)}var Ze=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Qe(e,t){if((t-=e.first)<0||t>=e.size)throw new Error(\"There is no line \"+(t+e.first)+\" in the document.\");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t<o){n=i;break}t-=o}return n.lines[t]}function Je(e,n,r){var i=[],o=n.line;return e.iter(n.line,r.line+1,function(e){var t=e.text;o==r.line&&(t=t.slice(0,r.ch)),o==n.line&&(t=t.slice(n.ch)),i.push(t),++o}),i}function et(e,t,n){var r=[];return e.iter(t,n,function(e){r.push(e.text)}),r}function tt(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function nt(e){if(null==e.parent)return null;for(var t=e.parent,n=B(t.lines,e),r=t.parent;r;r=(t=r).parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function rt(e,t){var n=e.first;e:do{for(var r=0;r<e.children.length;++r){var i=e.children[r],o=i.height;if(t<o){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var l=0;l<e.lines.length;++l){var s=e.lines[l].height;if(t<s)break;t-=s}return n+l}function it(e,t){return t>=e.first&&t<e.first+e.size}function ot(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function lt(e,t,n){if(void 0===n&&(n=null),!(this instanceof lt))return new lt(e,t,n);this.line=e,this.ch=t,this.sticky=n}function st(e,t){return e.line-t.line||e.ch-t.ch}function at(e,t){return e.sticky==t.sticky&&0==st(e,t)}function ut(e){return lt(e.line,e.ch)}function ct(e,t){return st(e,t)<0?t:e}function ht(e,t){return st(e,t)<0?e:t}function dt(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function ft(e,t){if(t.line<e.first)return lt(e.first,0);var n,r,i,o=e.first+e.size-1;return t.line>o?lt(o,Qe(e,o).text.length):(r=Qe(e,(n=t).line).text.length,null==(i=n.ch)||r<i?lt(n.line,r):i<0?lt(n.line,0):n)}function pt(e,t){for(var n=[],r=0;r<t.length;r++)n[r]=ft(e,t[r]);return n}Ze.prototype.eol=function(){return this.pos>=this.string.length},Ze.prototype.sol=function(){return this.pos==this.lineStart},Ze.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Ze.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Ze.prototype.eat=function(e){var t=this.string.charAt(this.pos),n=\"string\"==typeof e?t==e:t&&(e.test?e.test(t):e(t));if(n)return++this.pos,t},Ze.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},Ze.prototype.eatSpace=function(){for(var e=this.pos;/[\\s\\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},Ze.prototype.skipToEnd=function(){this.pos=this.string.length},Ze.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(-1<t)return this.pos=t,!0},Ze.prototype.backUp=function(e){this.pos-=e},Ze.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=R(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?R(this.string,this.lineStart,this.tabSize):0)},Ze.prototype.indentation=function(){return R(this.string,null,this.tabSize)-(this.lineStart?R(this.string,this.lineStart,this.tabSize):0)},Ze.prototype.match=function(e,t,n){if(\"string\"!=typeof e){var r=this.string.slice(this.pos).match(e);return r&&0<r.index?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}function i(e){return n?e.toLowerCase():e}if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},Ze.prototype.current=function(){return this.string.slice(this.start,this.pos)},Ze.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},Ze.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},Ze.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var gt=function(e,t){this.state=e,this.lookAhead=t},mt=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function vt(t,n,r,e){var a=[t.state.modeGen],i={};Tt(t,n.text,t.doc.mode,r,function(e,t){return a.push(e,t)},i,e);for(var u=r.state,o=0;o<t.state.overlays.length;++o)!function(e){r.baseTokens=a;var o=t.state.overlays[e],l=1,s=0;r.state=!0,Tt(t,n.text,o.mode,r,function(e,t){for(var n=l;s<e;){var r=a[l];e<r&&a.splice(l,1,e,a[l+1],r),l+=2,s=Math.min(e,r)}if(t)if(o.opaque)a.splice(n,l-n,e,\"overlay \"+t),l=n+2;else for(;n<l;n+=2){var i=a[n+1];a[n+1]=(i?i+\" \":\"\")+\"overlay \"+t}},i),r.state=u,r.baseTokens=null,r.baseTokenPos=1}(o);return{styles:a,classes:i.bgClass||i.textClass?i:null}}function yt(e,t,n){var r,i,o;return t.styles&&t.styles[0]==e.state.modeGen||(r=bt(e,nt(t)),i=t.text.length>e.options.maxHighlightLength&&_e(e.doc.mode,r.state),o=vt(e,t,r),i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))),t.styles}function bt(n,r,e){var t=n.doc,i=n.display;if(!t.mode.startState)return new mt(t,!0,r);var o=function(e,t,n){for(var r,i,o=e.doc,l=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;l<s;--s){if(s<=o.first)return o.first;var a=Qe(o,s-1),u=a.stateAfter;if(u&&(!n||s+(u instanceof gt?u.lookAhead:0)<=o.modeFrontier))return s;var c=R(a.text,null,e.options.tabSize);(null==i||c<r)&&(i=s-1,r=c)}return i}(n,r,e),l=o>t.first&&Qe(t,o-1).stateAfter,s=l?mt.fromSaved(t,l,o):new mt(t,qe(t.mode),o);return t.iter(o,r,function(e){wt(n,e.text,s);var t=s.line;e.stateAfter=t==r-1||t%5==0||t>=i.viewFrom&&t<i.viewTo?s.save():null,s.nextLine()}),e&&(t.modeFrontier=s.line),s}function wt(e,t,n,r){var i=e.doc.mode,o=new Ze(t,e.options.tabSize,n);for(o.start=o.pos=r||0,\"\"==t&&xt(i,n.state);!o.eol();)Ct(i,o,n.state),o.start=o.pos}function xt(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var n=$e(e,t);return n.mode.blankLine?n.mode.blankLine(n.state):void 0}}function Ct(e,t,n,r){for(var i=0;i<10;i++){r&&(r[0]=$e(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error(\"Mode \"+e.name+\" failed to advance stream.\")}mt.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},mt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,\"\"),size:this.baseTokens[this.baseTokenPos]-e}},mt.prototype.nextLine=function(){this.line++,0<this.maxLookAhead&&this.maxLookAhead--},mt.fromSaved=function(e,t,n){return t instanceof gt?new mt(e,_e(e.mode,t.state),n,t.lookAhead):new mt(e,_e(e.mode,t),n)},mt.prototype.save=function(e){var t=!1!==e?_e(this.doc.mode,this.state):this.state;return 0<this.maxLookAhead?new gt(t,this.maxLookAhead):t};var St=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function Lt(e,t,n,r){var i,o,l=e.doc,s=l.mode,a=Qe(l,(t=ft(l,t)).line),u=bt(e,t.line,n),c=new Ze(a.text,e.options.tabSize,u);for(r&&(o=[]);(r||c.pos<t.ch)&&!c.eol();)c.start=c.pos,i=Ct(s,c,u.state),r&&o.push(new St(c,i,_e(l.mode,u.state)));return r?o:new St(c,i,u.state)}function kt(e,t){if(e)for(;;){var n=e.match(/(?:^|\\s+)line-(background-)?(\\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?\"bgClass\":\"textClass\";null==t[r]?t[r]=n[2]:new RegExp(\"(?:^|\\\\s)\"+n[2]+\"(?:$|\\\\s)\").test(t[r])||(t[r]+=\" \"+n[2])}return e}function Tt(e,t,n,r,i,o,l){var s=n.flattenSpans;null==s&&(s=e.options.flattenSpans);var a=0,u=null,c=new Ze(t,e.options.tabSize,r),h=e.options.addModeClass&&[null];for(\"\"==t&&kt(xt(n,r.state),o);!c.eol();){var d,f=c.pos>e.options.maxHighlightLength?(s=!1,l&&wt(e,t,r,c.pos),c.pos=t.length,null):kt(Ct(n,c,r.state,h),o);if(!h||(d=h[0].name)&&(f=\"m-\"+(f?d+\" \"+f:d)),!s||u!=f){for(;a<c.start;)i(a=Math.min(c.start,a+5e3),u);u=f}c.start=c.pos}for(;a<c.pos;){var p=Math.min(c.pos,a+5e3);i(p,u),a=p}}var Mt=!1,Nt=!1;function At(e,t,n){this.marker=e,this.from=t,this.to=n}function Ot(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function Dt(e,t){if(t.full)return null;var n=it(e,t.from.line)&&Qe(e,t.from.line).markedSpans,r=it(e,t.to.line)&&Qe(e,t.to.line).markedSpans;if(!n&&!r)return null;var i=t.from.ch,o=t.to.ch,l=0==st(t.from,t.to),s=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o,l=e[i],s=l.marker;!(null==l.from||(s.inclusiveLeft?l.from<=t:l.from<t))&&(l.from!=t||\"bookmark\"!=s.type||n&&l.marker.insertLeft)||(o=null==l.to||(s.inclusiveRight?l.to>=t:l.to>t),(r=r||[]).push(new At(s,l.from,o?null:l.to)))}return r}(n,i,l),a=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o,l=e[i],s=l.marker;!(null==l.to||(s.inclusiveRight?l.to>=t:l.to>t))&&(l.from!=t||\"bookmark\"!=s.type||n&&!l.marker.insertLeft)||(o=null==l.from||(s.inclusiveLeft?l.from<=t:l.from<t),(r=r||[]).push(new At(s,o?null:l.from-t,null==l.to?null:l.to-t)))}return r}(r,o,l),u=1==t.text.length,c=$(t.text).length+(u?i:0);if(s)for(var h=0;h<s.length;++h){var d,f=s[h];null==f.to&&((d=Ot(a,f.marker))?u&&(f.to=null==d.to?null:d.to+c):f.to=i)}if(a)for(var p=0;p<a.length;++p){var g=a[p];null!=g.to&&(g.to+=c),null==g.from?Ot(s,g.marker)||(g.from=c,u&&(s=s||[]).push(g)):(g.from+=c,u&&(s=s||[]).push(g))}s=s&&Wt(s),a&&a!=s&&(a=Wt(a));var m=[s];if(!u){var v,y=t.text.length-2;if(0<y&&s)for(var b=0;b<s.length;++b)null==s[b].to&&(v=v||[]).push(new At(s[b].marker,null,null));for(var w=0;w<y;++w)m.push(v);m.push(a)}return m}function Wt(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function Ht(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function Ft(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function Pt(e){return e.inclusiveLeft?-1:0}function Et(e){return e.inclusiveRight?1:0}function It(e,t){var n=e.lines.length-t.lines.length;if(0!=n)return n;var r=e.find(),i=t.find(),o=st(r.from,i.from)||Pt(e)-Pt(t);if(o)return-o;var l=st(r.to,i.to)||Et(e)-Et(t);return l||t.id-e.id}function Rt(e,t){var n,r=Nt&&e.markedSpans;if(r)for(var i=void 0,o=0;o<r.length;++o)(i=r[o]).marker.collapsed&&null==(t?i.from:i.to)&&(!n||It(n,i.marker)<0)&&(n=i.marker);return n}function zt(e){return Rt(e,!0)}function Bt(e){return Rt(e,!1)}function Gt(e,t,n,r,i){var o=Qe(e,t),l=Nt&&o.markedSpans;if(l)for(var s=0;s<l.length;++s){var a=l[s];if(a.marker.collapsed){var u=a.marker.find(0),c=st(u.from,n)||Pt(a.marker)-Pt(i),h=st(u.to,r)||Et(a.marker)-Et(i);if(!(0<=c&&h<=0||c<=0&&0<=h)&&(c<=0&&(a.marker.inclusiveRight&&i.inclusiveLeft?0<=st(u.to,n):0<st(u.to,n))||0<=c&&(a.marker.inclusiveRight&&i.inclusiveLeft?st(u.from,r)<=0:st(u.from,r)<0)))return 1}}}function Ut(e){for(var t;t=zt(e);)e=t.find(-1,!0).line;return e}function Vt(e,t){var n=Qe(e,t),r=Ut(n);return n==r?t:nt(r)}function Kt(e,t){if(t>e.lastLine())return t;var n,r=Qe(e,t);if(!jt(e,r))return t;for(;n=Bt(r);)r=n.find(1,!0).line;return nt(r)+1}function jt(e,t){var n=Nt&&t.markedSpans;if(n)for(var r=void 0,i=0;i<n.length;++i)if((r=n[i]).marker.collapsed){if(null==r.from)return!0;if(!r.marker.widgetNode&&0==r.from&&r.marker.inclusiveLeft&&function e(t,n,r){if(null==r.to){var i=r.marker.find(1,!0);return e(t,i.line,Ot(i.line.markedSpans,r.marker))}if(r.marker.inclusiveRight&&r.to==n.text.length)return!0;for(var o=void 0,l=0;l<n.markedSpans.length;++l)if((o=n.markedSpans[l]).marker.collapsed&&!o.marker.widgetNode&&o.from==r.to&&(null==o.to||o.to!=r.from)&&(o.marker.inclusiveLeft||r.marker.inclusiveRight)&&e(t,n,o))return!0}(e,t,r))return!0}}function Xt(e){for(var t=0,n=(e=Ut(e)).parent,r=0;r<n.lines.length;++r){var i=n.lines[r];if(i==e)break;t+=i.height}for(var o=n.parent;o;o=(n=o).parent)for(var l=0;l<o.children.length;++l){var s=o.children[l];if(s==n)break;t+=s.height}return t}function Yt(e){if(0==e.height)return 0;for(var t,n=e.text.length,r=e;t=zt(r);){var i=t.find(0,!0),r=i.from.line;n+=i.from.ch-i.to.ch}for(r=e;t=Bt(r);){var o=t.find(0,!0);n-=r.text.length-o.from.ch,n+=(r=o.to.line).text.length-o.to.ch}return n}function _t(e){var n=e.display,t=e.doc;n.maxLine=Qe(t,t.first),n.maxLineLength=Yt(n.maxLine),n.maxLineChanged=!0,t.iter(function(e){var t=Yt(e);t>n.maxLineLength&&(n.maxLineLength=t,n.maxLine=e)})}var $t=function(e,t,n){this.text=e,Ft(this,t),this.height=n?n(this):1};$t.prototype.lineNo=function(){return nt(this)},Me($t);var qt={},Zt={};function Qt(e,t){if(!e||/^\\s*$/.test(e))return null;var n=t.addModeClass?Zt:qt;return n[e]||(n[e]=e.replace(/\\S+/g,\"cm-$&\"))}function Jt(e,t){var n=A(\"span\",null,null,v?\"padding-right: .1px\":null),r={pre:A(\"pre\",[n],\"CodeMirror-line\"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption(\"lineWrapping\")};t.measure={};for(var i,o=0;o<=(t.rest?t.rest.length:0);o++){var l=o?t.rest[o-1]:t.line,s=void 0;r.pos=0,r.addToken=tn,function(e){if(null!=Pe)return Pe;var t=N(e,document.createTextNode(\"AخA\")),n=k(t,0,1).getBoundingClientRect(),r=k(t,1,2).getBoundingClientRect();return M(e),n&&n.left!=n.right&&(Pe=r.right-n.right<3)}(e.display.measure)&&(s=ye(l,e.doc.direction))&&(r.addToken=function(h,d){return function(e,t,n,r,i,o,l){n=n?n+\" cm-force-border\":\"cm-force-border\";for(var s=e.pos,a=s+t.length;;){for(var u=void 0,c=0;c<d.length&&!((u=d[c]).to>s&&u.from<=s);c++);if(u.to>=a)return h(e,t,n,r,i,o,l);h(e,t.slice(0,u.to-s),n,r,null,o,l),r=null,t=t.slice(u.to-s),s=u.to}}}(r.addToken,s)),r.map=[],function(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(!r){for(var l=1;l<n.length;l+=2)t.addToken(t,i.slice(o,o=n[l]),Qt(n[l+1],t.cm.options));return}for(var s,a,u,c,h,d,f,p=i.length,g=0,m=1,v=\"\",y=0;;){if(y==g){u=c=h=a=\"\",d=f=null,y=1/0;for(var b=[],w=void 0,x=0;x<r.length;++x){var C=r[x],S=C.marker;if(\"bookmark\"==S.type&&C.from==g&&S.widgetNode)b.push(S);else if(C.from<=g&&(null==C.to||C.to>g||S.collapsed&&C.to==g&&C.from==g)){if(null!=C.to&&C.to!=g&&y>C.to&&(y=C.to,c=\"\"),S.className&&(u+=\" \"+S.className),S.css&&(a=(a?a+\";\":\"\")+S.css),S.startStyle&&C.from==g&&(h+=\" \"+S.startStyle),S.endStyle&&C.to==y&&(w=w||[]).push(S.endStyle,C.to),S.title&&((f=f||{}).title=S.title),S.attributes)for(var L in S.attributes)(f=f||{})[L]=S.attributes[L];S.collapsed&&(!d||It(d.marker,S)<0)&&(d=C)}else C.from>g&&y>C.from&&(y=C.from)}if(w)for(var k=0;k<w.length;k+=2)w[k+1]==y&&(c+=\" \"+w[k]);if(!d||d.from==g)for(var T=0;T<b.length;++T)nn(t,0,b[T]);if(d&&(d.from||0)==g){if(nn(t,(null==d.to?p+1:d.to)-g,d.marker,null==d.from),null==d.to)return;d.to==g&&(d=!1)}}if(p<=g)break;for(var M=Math.min(p,y);;){if(v){var N,A=g+v.length;if(d||(N=M<A?v.slice(0,M-g):v,t.addToken(t,N,s?s+u:u,h,g+N.length==y?c:\"\",a,f)),M<=A){v=v.slice(M-g),g=M;break}g=A,h=\"\"}v=i.slice(o,o=n[m++]),s=Qt(n[m++],t.cm.options)}}}(l,r,yt(e,l,t!=e.display.externalMeasured&&nt(l))),l.styleClasses&&(l.styleClasses.bgClass&&(r.bgClass=F(l.styleClasses.bgClass,r.bgClass||\"\")),l.styleClasses.textClass&&(r.textClass=F(l.styleClasses.textClass,r.textClass||\"\"))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(function(e){var t;null==Fe&&(t=O(\"span\",\"​\"),N(e,O(\"span\",[t,document.createTextNode(\"x\")])),0!=e.firstChild.offsetHeight&&(Fe=t.offsetWidth<=1&&2<t.offsetHeight&&!(x&&C<8)));var n=Fe?O(\"span\",\"​\"):O(\"span\",\" \",null,\"display: inline-block; width: 1px; margin-right: -1px\");return n.setAttribute(\"cm-text\",\"\"),n}(e.display.measure))),0==o?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}return v&&(i=r.content.lastChild,(/\\bcm-tab\\b/.test(i.className)||i.querySelector&&i.querySelector(\".cm-tab\"))&&(r.content.className=\"cm-tab-wrap-hack\")),Se(e,\"renderLine\",e,t.line,r.pre),r.pre.className&&(r.textClass=F(r.pre.className,r.textClass||\"\")),r}function en(e){var t=O(\"span\",\"•\",\"cm-invalidchar\");return t.title=\"\\\\u\"+e.charCodeAt(0).toString(16),t.setAttribute(\"aria-label\",t.title),t}function tn(e,t,n,r,i,o,l){if(t){var s,a=e.splitSpaces?function(e,t){if(1<e.length&&!/  /.test(e))return e;for(var n=t,r=\"\",i=0;i<e.length;i++){var o=e.charAt(i);\" \"!=o||!n||i!=e.length-1&&32!=e.charCodeAt(i+1)||(o=\" \"),r+=o,n=\" \"==o}return r}(t,e.trailingSpace):t,u=e.cm.state.specialChars,c=!1;if(u.test(t)){s=document.createDocumentFragment();for(var h=0;;){u.lastIndex=h;var d,f=u.exec(t),p=f?f.index-h:t.length-h;if(p&&(d=document.createTextNode(a.slice(h,h+p)),x&&C<9?s.appendChild(O(\"span\",[d])):s.appendChild(d),e.map.push(e.pos,e.pos+p,d),e.col+=p,e.pos+=p),!f)break;h+=1+p;var g,m,v=void 0;\"\\t\"==f[0]?(m=(g=e.cm.options.tabSize)-e.col%g,(v=s.appendChild(O(\"span\",_(m),\"cm-tab\"))).setAttribute(\"role\",\"presentation\"),v.setAttribute(\"cm-text\",\"\\t\"),e.col+=m):(\"\\r\"==f[0]||\"\\n\"==f[0]?(v=s.appendChild(O(\"span\",\"\\r\"==f[0]?\"␍\":\"␤\",\"cm-invalidchar\"))).setAttribute(\"cm-text\",f[0]):((v=e.cm.options.specialCharPlaceholder(f[0])).setAttribute(\"cm-text\",f[0]),x&&C<9?s.appendChild(O(\"span\",[v])):s.appendChild(v)),e.col+=1),e.map.push(e.pos,e.pos+1,v),e.pos++}}else e.col+=t.length,s=document.createTextNode(a),e.map.push(e.pos,e.pos+t.length,s),x&&C<9&&(c=!0),e.pos+=t.length;if(e.trailingSpace=32==a.charCodeAt(t.length-1),n||r||i||c||o||l){var y=n||\"\";r&&(y+=r),i&&(y+=i);var b=O(\"span\",[s],y,o);if(l)for(var w in l)l.hasOwnProperty(w)&&\"style\"!=w&&\"class\"!=w&&b.setAttribute(w,l[w]);return e.content.appendChild(b)}e.content.appendChild(s)}}function nn(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i=i||e.content.appendChild(document.createElement(\"span\"))).setAttribute(\"cm-marker\",n.id),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function rn(e,t,n){this.line=t,this.rest=function(e){for(var t,n;t=Bt(e);)e=t.find(1,!0).line,(n=n||[]).push(e);return n}(t),this.size=this.rest?nt($(this.rest))-n+1:1,this.node=this.text=null,this.hidden=jt(e,t)}function on(e,t,n){for(var r=[],i=t;i<n;i=l){var o=new rn(e.doc,Qe(e.doc,i),i),l=i+o.size;r.push(o)}return r}var ln=null;function sn(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var r=0;r<e.ops.length;r++){var i=e.ops[r];if(i.cursorActivityHandlers)for(;i.cursorActivityCalled<i.cursorActivityHandlers.length;)i.cursorActivityHandlers[i.cursorActivityCalled++].call(null,i.cm)}}while(n<t.length)}(n)}finally{ln=null,t(n)}}var an=null;function un(e,t){var n=xe(e,t);if(n.length){var r,i=Array.prototype.slice.call(arguments,2);ln?r=ln.delayedCallbacks:an?r=an:(r=an=[],setTimeout(cn,0));for(var o=0;o<n.length;++o)!function(e){r.push(function(){return n[e].apply(null,i)})}(o)}}function cn(){var e=an;an=null;for(var t=0;t<e.length;++t)e[t]()}function hn(e,t,n,r){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];\"text\"==o?function(e,t){var n=t.text.className,r=fn(e,t);t.text==t.node&&(t.node=r.pre);t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,pn(e,t)):n&&(t.text.className=n)}(e,t):\"gutter\"==o?gn(e,t,n,r):\"class\"==o?pn(e,t):\"widget\"==o&&function(e,t,n){t.alignable&&(t.alignable=null);for(var r=L(\"CodeMirror-linewidget\"),i=t.node.firstChild,o=void 0;i;i=o)o=i.nextSibling,r.test(i.className)&&t.node.removeChild(i);mn(e,t,n)}(e,t,r)}t.changes=null}function dn(e){return e.node==e.text&&(e.node=O(\"div\",null,null,\"position: relative\"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),x&&C<8&&(e.node.style.zIndex=2)),e.node}function fn(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):Jt(e,t)}function pn(e,t){var n,r,i,o;n=e,(o=(r=t).bgClass?r.bgClass+\" \"+(r.line.bgClass||\"\"):r.line.bgClass)&&(o+=\" CodeMirror-linebackground\"),r.background?o?r.background.className=o:(r.background.parentNode.removeChild(r.background),r.background=null):o&&(i=dn(r),r.background=i.insertBefore(O(\"div\",null,o),i.firstChild),n.display.input.setUneditable(r.background)),t.line.wrapClass?dn(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className=\"\");var l=t.textClass?t.textClass+\" \"+(t.line.textClass||\"\"):t.line.textClass;t.text.className=l||\"\"}function gn(e,t,n,r){var i;t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass&&(i=dn(t),t.gutterBackground=O(\"div\",null,\"CodeMirror-gutter-background \"+t.line.gutterClass,\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px; width: \"+r.gutterTotalWidth+\"px\"),e.display.input.setUneditable(t.gutterBackground),i.insertBefore(t.gutterBackground,t.text));var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var l=dn(t),s=t.gutter=O(\"div\",null,\"CodeMirror-gutter-wrapper\",\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px\");if(e.display.input.setUneditable(s),l.insertBefore(s,t.text),t.line.gutterClass&&(s.className+=\" \"+t.line.gutterClass),!e.options.lineNumbers||o&&o[\"CodeMirror-linenumbers\"]||(t.lineNumber=s.appendChild(O(\"div\",ot(e.options,n),\"CodeMirror-linenumber CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[\"CodeMirror-linenumbers\"]+\"px; width: \"+e.display.lineNumInnerWidth+\"px\"))),o)for(var a=0;a<e.display.gutterSpecs.length;++a){var u=e.display.gutterSpecs[a].className,c=o.hasOwnProperty(u)&&o[u];c&&s.appendChild(O(\"div\",[c],\"CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[u]+\"px; width: \"+r.gutterWidth[u]+\"px\"))}}}function mn(e,t,n){if(vn(e,t.line,t,n,!0),t.rest)for(var r=0;r<t.rest.length;r++)vn(e,t.rest[r],t,n,!1)}function vn(e,t,n,r,i){if(t.widgets)for(var o=dn(n),l=0,s=t.widgets;l<s.length;++l){var a=s[l],u=O(\"div\",[a.node],\"CodeMirror-linewidget\"+(a.className?\" \"+a.className:\"\"));a.handleMouseEvents||u.setAttribute(\"cm-ignore-events\",\"true\"),function(e,t,n,r){{var i;e.noHScroll&&((n.alignable||(n.alignable=[])).push(t),i=r.wrapperWidth,t.style.left=r.fixedPos+\"px\",e.coverGutter||(i-=r.gutterTotalWidth,t.style.paddingLeft=r.gutterTotalWidth+\"px\"),t.style.width=i+\"px\")}e.coverGutter&&(t.style.zIndex=5,t.style.position=\"relative\",e.noHScroll||(t.style.marginLeft=-r.gutterTotalWidth+\"px\"))}(a,u,n,r),e.display.input.setUneditable(u),i&&a.above?o.insertBefore(u,n.gutter||n.text):o.appendChild(u),un(a,\"redraw\")}}function yn(e){if(null!=e.height)return e.height;var t,n=e.doc.cm;return n?(D(document.body,e.node)||(t=\"position: relative;\",e.coverGutter&&(t+=\"margin-left: -\"+n.display.gutters.offsetWidth+\"px;\"),e.noHScroll&&(t+=\"width: \"+n.display.wrapper.clientWidth+\"px;\"),N(n.display.measure,O(\"div\",[e.node],null,t))),e.height=e.node.parentNode.offsetHeight):0}function bn(e,t){for(var n=We(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&\"true\"==n.getAttribute(\"cm-ignore-events\")||n.parentNode==e.sizer&&n!=e.mover)return 1}function wn(e){return e.lineSpace.offsetTop}function xn(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function Cn(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=N(e.measure,O(\"pre\",\"x\",\"CodeMirror-line-like\")),n=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,r={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return isNaN(r.left)||isNaN(r.right)||(e.cachedPaddingH=r),r}function Sn(e){return G-e.display.nativeBarWidth}function Ln(e){return e.display.scroller.clientWidth-Sn(e)-e.display.barWidth}function kn(e){return e.display.scroller.clientHeight-Sn(e)-e.display.barHeight}function Tn(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var r=0;r<e.rest.length;r++)if(e.rest[r]==t)return{map:e.measure.maps[r],cache:e.measure.caches[r]};for(var i=0;i<e.rest.length;i++)if(nt(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function Mn(e,t,n,r){return On(e,An(e,t),n,r)}function Nn(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[rr(e,t)];var n=e.display.externalMeasured;return n&&t>=n.lineN&&t<n.lineN+n.size?n:void 0}function An(e,t){var n=nt(t),r=Nn(e,n);r&&!r.text?r=null:r&&r.changes&&(hn(e,r,n,Qn(e)),e.curOp.forceUpdate=!0);var i=Tn(r=r||function(e,t){var n=nt(t=Ut(t)),r=e.display.externalMeasured=new rn(e.doc,t,n);r.lineN=n;var i=r.built=Jt(e,r);return r.text=i.pre,N(e.display.lineMeasure,i.pre),r}(e,t),t,n);return{line:t,view:r,rect:null,map:i.map,cache:i.cache,before:i.before,hasHeights:!1}}function On(e,t,n,r,i){t.before&&(n=-1);var o,l=n+(r||\"\");return t.cache.hasOwnProperty(l)?o=t.cache[l]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(function(e,t,n){var r=e.options.lineWrapping,i=r&&Ln(e);if(!t.measure.heights||r&&t.measure.width!=i){var o=t.measure.heights=[];if(r){t.measure.width=i;for(var l=t.text.firstChild.getClientRects(),s=0;s<l.length-1;s++){var a=l[s],u=l[s+1];2<Math.abs(a.bottom-u.bottom)&&o.push((a.bottom+u.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o,l=Hn(t.map,n,r),s=l.node,a=l.start,u=l.end,c=l.collapse;if(3==s.nodeType){for(var h=0;h<4;h++){for(;a&&ie(t.line.text.charAt(l.coverStart+a));)--a;for(;l.coverStart+u<l.coverEnd&&ie(t.line.text.charAt(l.coverStart+u));)++u;if((i=x&&C<9&&0==a&&u==l.coverEnd-l.coverStart?s.parentNode.getBoundingClientRect():function(e,t){var n=Wn;if(\"left\"==t)for(var r=0;r<e.length&&(n=e[r]).left==n.right;r++);else for(var i=e.length-1;0<=i&&(n=e[i]).left==n.right;i--);return n}(k(s,a,u).getClientRects(),r)).left||i.right||0==a)break;u=a,--a,c=\"right\"}x&&C<11&&(i=function(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(e){if(null!=Ge)return Ge;var t=N(e,O(\"span\",\"x\")),n=t.getBoundingClientRect(),r=k(t,0,1).getBoundingClientRect();return Ge=1<Math.abs(n.left-r.left)}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else 0<a&&(c=r=\"right\"),i=e.options.lineWrapping&&1<(o=s.getClientRects()).length?o[\"right\"==r?o.length-1:0]:s.getBoundingClientRect();{var d;!(x&&C<9)||a||i&&(i.left||i.right)||(d=s.parentNode.getClientRects()[0],i=d?{left:d.left,right:d.left+Zn(e.display),top:d.top,bottom:d.bottom}:Wn)}for(var f=i.top-t.rect.top,p=i.bottom-t.rect.top,g=(f+p)/2,m=t.view.measure.heights,v=0;v<m.length-1&&!(g<m[v]);v++);var y=v?m[v-1]:0,b=m[v],w={left:(\"right\"==c?i.right:i.left)-t.rect.left,right:(\"left\"==c?i.left:i.right)-t.rect.left,top:y,bottom:b};i.left||i.right||(w.bogus=!0);e.options.singleCursorHeightPerLine||(w.rtop=f,w.rbottom=p);return w}(e,t,n,r)).bogus||(t.cache[l]=o)),{left:o.left,right:o.right,top:i?o.rtop:o.top,bottom:i?o.rbottom:o.bottom}}var Dn,Wn={left:0,right:0,top:0,bottom:0};function Hn(e,t,n){for(var r,i,o,l,s,a,u=0;u<e.length;u+=3)if(s=e[u],a=e[u+1],t<s?(i=0,o=1,l=\"left\"):t<a?o=(i=t-s)+1:(u==e.length-3||t==a&&e[u+3]>t)&&(i=(o=a-s)-1,a<=t&&(l=\"right\")),null!=i){if(r=e[u+2],s==a&&n==(r.insertLeft?\"left\":\"right\")&&(l=n),\"left\"==n&&0==i)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)r=e[2+(u-=3)],l=\"left\";if(\"right\"==n&&i==a-s)for(;u<e.length-3&&e[u+3]==e[u+4]&&!e[u+5].insertLeft;)r=e[(u+=3)+2],l=\"right\";break}return{node:r,start:i,end:o,collapse:l,coverStart:s,coverEnd:a}}function Fn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Pn(e){e.display.externalMeasure=null,M(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)Fn(e.display.view[t])}function En(e){Pn(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function In(){return l&&h?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Rn(){return l&&h?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function zn(e){var t=0;if(e.widgets)for(var n=0;n<e.widgets.length;++n)e.widgets[n].above&&(t+=yn(e.widgets[n]));return t}function Bn(e,t,n,r,i){var o;if(i||(o=zn(t),n.top+=o,n.bottom+=o),\"line\"==r)return n;r=r||\"local\";var l,s,a=Xt(t);return\"local\"==r?a+=wn(e.display):a-=e.display.viewOffset,\"page\"!=r&&\"window\"!=r||(a+=(l=e.display.lineSpace.getBoundingClientRect()).top+(\"window\"==r?0:Rn()),s=l.left+(\"window\"==r?0:In()),n.left+=s,n.right+=s),n.top+=a,n.bottom+=a,n}function Gn(e,t,n){if(\"div\"==n)return t;var r,i=t.left,o=t.top;\"page\"==n?(i-=In(),o-=Rn()):\"local\"!=n&&n||(i+=(r=e.display.sizer.getBoundingClientRect()).left,o+=r.top);var l=e.display.lineSpace.getBoundingClientRect();return{left:i-l.left,top:o-l.top}}function Un(e,t,n,r,i){return Bn(e,r=r||Qe(e.doc,t.line),Mn(e,r,t.ch,i),n)}function Vn(r,e,i,o,l,s){function a(e,t){var n=On(r,l,e,t?\"right\":\"left\",s);return t?n.left=n.right:n.right=n.left,Bn(r,o,n,i)}o=o||Qe(r.doc,e.line),l=l||An(r,o);var u=ye(o,r.doc.direction),t=e.ch,n=e.sticky;if(t>=o.text.length?(t=o.text.length,n=\"before\"):t<=0&&(t=0,n=\"after\"),!u)return a(\"before\"==n?t-1:t,\"before\"==n);function c(e,t,n){return a(n?e-1:e,1==u[t].level!=n)}var h=ae(u,t,n),d=se,f=c(t,h,\"before\"==n);return null!=d&&(f.other=c(t,d,\"before\"!=n)),f}function Kn(e,t){var n=0;t=ft(e.doc,t),e.options.lineWrapping||(n=Zn(e.display)*t.ch);var r=Qe(e.doc,t.line),i=Xt(r)+wn(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function jn(e,t,n,r,i){var o=lt(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function Xn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return jn(r.first,0,null,-1,-1);var i=rt(r,n),o=r.first+r.size-1;if(o<i)return jn(r.first+r.size-1,Qe(r,o).text.length,null,1,1);t<0&&(t=0);for(var l=Qe(r,i);;){var s=function(n,e,t,r,i){i-=Xt(e);var o=An(n,e),l=zn(e),s=0,a=e.text.length,u=!0,c=ye(e,n.doc.direction);{var h;c&&(h=(n.options.lineWrapping?function(e,t,n,r,i,o,l){var s=Yn(e,t,r,l),a=s.begin,u=s.end;/\\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,h=null,d=0;d<i.length;d++){var f,p,g,m=i[d];m.from>=u||m.to<=a||(f=1!=m.level,p=On(e,r,f?Math.min(u,m.to)-1:Math.max(a,m.from)).right,g=p<o?o-p+1e9:p-o,(!c||g<h)&&(c=m,h=g))}c=c||i[i.length-1];c.from<a&&(c={from:a,to:c.to,level:c.level});c.to>u&&(c={from:c.from,to:u,level:c.level});return c}:function(r,i,o,l,s,a,u){var e=le(function(e){var t=s[e],n=1!=t.level;return $n(Vn(r,lt(o,n?t.to:t.from,n?\"before\":\"after\"),\"line\",i,l),a,u,!0)},0,s.length-1),t=s[e];{var n,c;0<e&&(n=1!=t.level,$n(c=Vn(r,lt(o,n?t.from:t.to,n?\"after\":\"before\"),\"line\",i,l),a,u,!0)&&c.top>u&&(t=s[e-1]))}return t})(n,e,t,o,c,r,i),u=1!=h.level,s=u?h.from:h.to-1,a=u?h.to:h.from-1)}var d,f,p=null,g=null,m=le(function(e){var t=On(n,o,e);return t.top+=l,t.bottom+=l,$n(t,r,i,!1)&&(t.top<=i&&t.left<=r&&(p=e,g=t),1)},s,a),v=!1;{var y,b,w;g?(y=r-g.left<g.right-r,m=p+((b=y==u)?0:1),f=b?\"after\":\"before\",d=y?g.left:g.right):(u||m!=a&&m!=s||m++,f=0==m||m!=e.text.length&&On(n,o,m-(u?1:0)).bottom+l<=i==u?\"after\":\"before\",w=Vn(n,lt(t,m,f),\"line\",e,o),d=w.left,v=i<w.top?-1:i>=w.bottom?1:0)}return m=oe(e.text,m,1),jn(t,m,f,v,r-d)}(e,l,i,t,n),a=function(e,t){var n,r=Nt&&e.markedSpans;if(r)for(var i=0;i<r.length;++i){var o=r[i];o.marker.collapsed&&(null==o.from||o.from<t)&&(null==o.to||o.to>t)&&(!n||It(n,o.marker)<0)&&(n=o.marker)}return n}(l,s.ch+(0<s.xRel||0<s.outside?1:0));if(!a)return s;var u=a.find(1);if(u.line==i)return u;l=Qe(r,i=u.line)}}function Yn(t,e,n,r){r-=zn(e);var i=e.text.length,o=le(function(e){return On(t,n,e-1).bottom<=r},i,0);return{begin:o,end:i=le(function(e){return On(t,n,e).top>r},o,i)}}function _n(e,t,n,r){return Yn(e,t,n=n||An(e,t),Bn(e,t,On(e,n,r),\"line\").top)}function $n(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function qn(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Dn){Dn=O(\"pre\",null,\"CodeMirror-line-like\");for(var t=0;t<49;++t)Dn.appendChild(document.createTextNode(\"x\")),Dn.appendChild(O(\"br\"));Dn.appendChild(document.createTextNode(\"x\"))}N(e.measure,Dn);var n=Dn.offsetHeight/50;return 3<n&&(e.cachedTextHeight=n),M(e.measure),n||1}function Zn(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=O(\"span\",\"xxxxxxxxxx\"),n=O(\"pre\",[t],\"CodeMirror-line-like\");N(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return 2<i&&(e.cachedCharWidth=i),i||10}function Qn(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l){var s=e.display.gutterSpecs[l].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:Jn(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function Jn(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function er(r){var i=qn(r.display),o=r.options.lineWrapping,l=o&&Math.max(5,r.display.scroller.clientWidth/Zn(r.display)-3);return function(e){if(jt(r.doc,e))return 0;var t=0;if(e.widgets)for(var n=0;n<e.widgets.length;n++)e.widgets[n].height&&(t+=e.widgets[n].height);return o?t+(Math.ceil(e.text.length/l)||1)*i:t+i}}function tr(e){var t=e.doc,n=er(e);t.iter(function(e){var t=n(e);t!=e.height&&tt(e,t)})}function nr(e,t,n,r){var i=e.display;if(!n&&\"true\"==We(t).getAttribute(\"cm-not-content\"))return null;var o,l,s=i.lineSpace.getBoundingClientRect();try{o=t.clientX-s.left,l=t.clientY-s.top}catch(e){return null}var a,u,c=Xn(e,o,l);return r&&0<c.xRel&&(a=Qe(e.doc,c.line).text).length==c.ch&&(u=R(a,a.length,e.options.tabSize)-a.length,c=lt(c.line,Math.max(0,Math.round((o-Cn(e.display).left)/Zn(e.display))-u))),c}function rr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;r<n.length;r++)if((t-=n[r].size)<0)return r}function ir(e,t,n,r){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),r=r||0;var i,o,l,s,a=e.display;r&&n<a.viewTo&&(null==a.updateLineNumbers||a.updateLineNumbers>t)&&(a.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=a.viewTo?Nt&&Vt(e.doc,t)<a.viewTo&&lr(e):n<=a.viewFrom?Nt&&Kt(e.doc,n+r)>a.viewFrom?lr(e):(a.viewFrom+=r,a.viewTo+=r):t<=a.viewFrom&&n>=a.viewTo?lr(e):t<=a.viewFrom?(i=sr(e,n,n+r,1))?(a.view=a.view.slice(i.index),a.viewFrom=i.lineN,a.viewTo+=r):lr(e):n>=a.viewTo?(o=sr(e,t,t,-1))?(a.view=a.view.slice(0,o.index),a.viewTo=o.lineN):lr(e):(l=sr(e,t,t,-1),s=sr(e,n,n+r,1),l&&s?(a.view=a.view.slice(0,l.index).concat(on(e,l.lineN,s.lineN)).concat(a.view.slice(s.index)),a.viewTo+=r):lr(e));var u=a.externalMeasured;u&&(n<u.lineN?u.lineN+=r:t<u.lineN+u.size&&(a.externalMeasured=null))}function or(e,t,n){e.curOp.viewChanged=!0;var r,i,o=e.display,l=e.display.externalMeasured;l&&t>=l.lineN&&t<l.lineN+l.size&&(o.externalMeasured=null),t<o.viewFrom||t>=o.viewTo||(null==(r=o.view[rr(e,t)]).node||-1==B(i=r.changes||(r.changes=[]),n)&&i.push(n))}function lr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function sr(e,t,n,r){var i,o=rr(e,t),l=e.display.view;if(!Nt||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,a=0;a<o;a++)s+=l[a].size;if(s!=t){if(0<r){if(o==l.length-1)return null;i=s+l[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;Vt(e.doc,n)!=n;){if(o==(r<0?0:l.length-1))return null;n+=r*l[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function ar(e){for(var t=e.display.view,n=0,r=0;r<t.length;r++){var i=t[r];i.hidden||i.node&&!i.changes||++n}return n}function ur(e){e.display.input.showSelection(e.display.input.prepareSelection())}function cr(e,t){void 0===t&&(t=!0);for(var n,r,i=e.doc,o={},l=o.cursors=document.createDocumentFragment(),s=o.selection=document.createDocumentFragment(),a=0;a<i.sel.ranges.length;a++){!t&&a==i.sel.primIndex||((n=i.sel.ranges[a]).from().line>=e.display.viewTo||n.to().line<e.display.viewFrom||(((r=n.empty())||e.options.showCursorWhenSelecting)&&hr(e,n.head,l),r||function(l,e,t){var n=l.display,r=l.doc,i=document.createDocumentFragment(),o=Cn(l.display),T=o.left,M=Math.max(n.sizerWidth,Ln(l)-n.sizer.offsetLeft)-o.right,N=\"ltr\"==r.direction;function A(e,t,n,r){t<0&&(t=0),t=Math.round(t),r=Math.round(r),i.appendChild(O(\"div\",null,\"CodeMirror-selected\",\"position: absolute; left: \"+e+\"px;\\n                             top: \"+t+\"px; width: \"+(null==n?M-e:n)+\"px;\\n                             height: \"+(r-t)+\"px\"))}function s(n,y,b){var w,x,o=Qe(r,n),C=o.text.length;function S(e,t){return Un(l,lt(n,e),\"div\",o,t)}function L(e,t,n){var r=_n(l,o,null,e),i=\"ltr\"==t==(\"after\"==n)?\"left\":\"right\";return S(\"after\"==n?r.begin:r.end-(/\\s/.test(o.text.charAt(r.end-1))?2:1),i)[i]}var k=ye(o,r.direction);return function(e,t,n,r){if(!e)return r(t,n,\"ltr\",0);for(var i=!1,o=0;o<e.length;++o){var l=e[o];(l.from<n&&l.to>t||t==n&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,n),1==l.level?\"rtl\":\"ltr\",o),i=!0)}i||r(t,n,\"ltr\")}(k,y||0,null==b?C:b,function(e,t,n,r){var i,o,l,s,a,u,c,h=\"ltr\"==n,d=S(e,h?\"left\":\"right\"),f=S(t-1,h?\"right\":\"left\"),p=null==y&&0==e,g=null==b&&t==C,m=0==r,v=!k||r==k.length-1;f.top-d.top<=3?(i=(N?g:p)&&v,o=(N?p:g)&&m?T:(h?d:f).left,l=i?M:(h?f:d).right,A(o,d.top,l-o,d.bottom)):(c=h?(s=N&&p&&m?T:d.left,a=N?M:L(e,n,\"before\"),u=N?T:L(t,n,\"after\"),N&&g&&v?M:f.right):(s=N?L(e,n,\"before\"):T,a=!N&&p&&m?M:d.right,u=!N&&g&&v?T:f.left,N?L(t,n,\"after\"):M),A(s,d.top,a-s,d.bottom),d.bottom<f.top&&A(T,d.bottom,null,f.top),A(u,f.top,c-u,f.bottom)),(!w||dr(d,w)<0)&&(w=d),dr(f,w)<0&&(w=f),(!x||dr(d,x)<0)&&(x=d),dr(f,x)<0&&(x=f)}),{start:w,end:x}}var a=e.from(),u=e.to();{var c,h,d,f,p;a.line==u.line?s(a.line,a.ch,u.ch):(c=Qe(r,a.line),h=Qe(r,u.line),d=Ut(c)==Ut(h),f=s(a.line,a.ch,d?c.text.length+1:null).end,p=s(u.line,d?0:null,u.ch).start,d&&(f.top<p.top-2?(A(f.right,f.top,null,f.bottom),A(T,p.top,p.left,p.bottom)):A(f.right,f.top,p.left-f.right,f.bottom)),f.bottom<p.top&&A(T,f.bottom,null,p.top))}t.appendChild(i)}(e,n,s)))}return o}function hr(e,t,n){var r,i=Vn(e,t,\"div\",null,null,!e.options.singleCursorHeightPerLine),o=n.appendChild(O(\"div\",\" \",\"CodeMirror-cursor\"));o.style.left=i.left+\"px\",o.style.top=i.top+\"px\",o.style.height=Math.max(0,i.bottom-i.top)*e.options.cursorHeight+\"px\",i.other&&((r=n.appendChild(O(\"div\",\" \",\"CodeMirror-cursor CodeMirror-secondarycursor\"))).style.display=\"\",r.style.left=i.other.left+\"px\",r.style.top=i.other.top+\"px\",r.style.height=.85*(i.other.bottom-i.other.top)+\"px\")}function dr(e,t){return e.top-t.top||e.left-t.left}function fr(e){var t,n;e.state.focused&&(t=e.display,clearInterval(t.blinker),n=!0,t.cursorDiv.style.visibility=\"\",0<e.options.cursorBlinkRate?t.blinker=setInterval(function(){e.hasFocus()||vr(e),t.cursorDiv.style.visibility=(n=!n)?\"\":\"hidden\"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility=\"hidden\"))}function pr(e){e.state.focused||(e.display.input.focus(),mr(e))}function gr(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,vr(e))},100)}function mr(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),\"nocursor\"!=e.options.readOnly&&(e.state.focused||(Se(e,\"focus\",e,t),e.state.focused=!0,H(e.display.wrapper,\"CodeMirror-focused\"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),v&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),fr(e))}function vr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(Se(e,\"blur\",e,t),e.state.focused=!1,T(e.display.wrapper,\"CodeMirror-focused\")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function yr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r<t.view.length;r++){var i,o,l=t.view[r],s=e.options.lineWrapping,a=void 0,u=0;if(!l.hidden){x&&C<8?(a=(i=l.node.offsetTop+l.node.offsetHeight)-n,n=i):(a=(o=l.node.getBoundingClientRect()).bottom-o.top,!s&&l.text.firstChild&&(u=l.text.firstChild.getBoundingClientRect().right-o.left-1));var c,h=l.line.height-a;if((.005<h||h<-.005)&&(tt(l.line,a),br(l.line),l.rest))for(var d=0;d<l.rest.length;d++)br(l.rest[d]);u>e.display.sizerWidth&&((c=Math.ceil(u/Zn(e.display)))>e.display.maxLineLength&&(e.display.maxLineLength=c,e.display.maxLine=l.line,e.display.maxLineChanged=!0))}}}function br(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],r=n.node.parentNode;r&&(n.height=r.offsetHeight)}}function wr(e,t,n){var r,i,o=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop,o=Math.floor(o-wn(e)),l=n&&null!=n.bottom?n.bottom:o+e.wrapper.clientHeight,s=rt(t,o),a=rt(t,l);return n&&n.ensure&&(r=n.ensure.from.line,i=n.ensure.to.line,r<s?a=rt(t,Xt(Qe(t,s=r))+e.wrapper.clientHeight):Math.min(i,t.lastLine())>=a&&(s=rt(t,Xt(Qe(t,i))-e.wrapper.clientHeight),a=i)),{from:s,to:Math.max(a,s+1)}}function xr(e,t){var n=e.display,r=qn(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=kn(e),l={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s,a=e.doc.height+xn(n),u=t.top<r,c=t.bottom>a-r;t.top<i?l.scrollTop=u?0:t.top:t.bottom>i+o&&((s=Math.min(t.top,(c?a:t.bottom)-o))!=i&&(l.scrollTop=s));var h=e.options.fixedGutter?0:n.gutters.offsetWidth,d=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-h,f=Ln(e)-n.gutters.offsetWidth,p=t.right-t.left>f;return p&&(t.right=t.left+f),t.left<10?l.scrollLeft=0:t.left<d?l.scrollLeft=Math.max(0,t.left+h-(p?0:10)):t.right>f+d-3&&(l.scrollLeft=t.right+(p?0:10)-f),l}function Cr(e,t){null!=t&&(kr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Sr(e){kr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Lr(e,t,n){null==t&&null==n||kr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function kr(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Tr(e,Kn(e,t.from),Kn(e,t.to),t.margin))}function Tr(e,t,n,r){var i=xr(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Lr(e,i.scrollLeft,i.scrollTop)}function Mr(e,t){Math.abs(e.doc.scrollTop-t)<2||(g||$r(e,{top:t}),Nr(e,t,!0),g&&$r(e),Kr(e,100))}function Nr(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),e.display.scroller.scrollTop==t&&!n||(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Ar(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,Qr(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Or(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+xn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Sn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}function Dr(e,t,n){this.cm=n;var r=this.vert=O(\"div\",[O(\"div\",null,null,\"min-width: 1px\")],\"CodeMirror-vscrollbar\"),i=this.horiz=O(\"div\",[O(\"div\",null,null,\"height: 100%; min-height: 1px\")],\"CodeMirror-hscrollbar\");r.tabIndex=i.tabIndex=-1,e(r),e(i),we(r,\"scroll\",function(){r.clientHeight&&t(r.scrollTop,\"vertical\")}),we(i,\"scroll\",function(){i.clientWidth&&t(i.scrollLeft,\"horizontal\")}),this.checkedZeroWidth=!1,x&&C<8&&(this.horiz.style.minHeight=this.vert.style.minWidth=\"18px\")}Dr.prototype.update=function(e){var t,n,r=e.scrollWidth>e.clientWidth+1,i=e.scrollHeight>e.clientHeight+1,o=e.nativeBarWidth;return i?(this.vert.style.display=\"block\",this.vert.style.bottom=r?o+\"px\":\"0\",t=e.viewHeight-(r?o:0),this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+t)+\"px\"):(this.vert.style.display=\"\",this.vert.firstChild.style.height=\"0\"),r?(this.horiz.style.display=\"block\",this.horiz.style.right=i?o+\"px\":\"0\",this.horiz.style.left=e.barLeft+\"px\",n=e.viewWidth-e.barLeft-(i?o:0),this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+n)+\"px\"):(this.horiz.style.display=\"\",this.horiz.firstChild.style.width=\"0\"),!this.checkedZeroWidth&&0<e.clientHeight&&(0==o&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:i?o:0,bottom:r?o:0}},Dr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,\"horiz\")},Dr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,\"vert\")},Dr.prototype.zeroWidthHack=function(){var e=y&&!s?\"12px\":\"18px\";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents=\"none\",this.disableHoriz=new z,this.disableVert=new z},Dr.prototype.enableZeroWidthBar=function(n,r,i){n.style.pointerEvents=\"auto\",r.set(1e3,function e(){var t=n.getBoundingClientRect();(\"vert\"==i?document.elementFromPoint(t.right-1,(t.top+t.bottom)/2):document.elementFromPoint((t.right+t.left)/2,t.bottom-1))!=n?n.style.pointerEvents=\"none\":r.set(1e3,e)})},Dr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};function Wr(){}function Hr(e,t){t=t||Or(e);var n=e.display.barWidth,r=e.display.barHeight;Fr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&yr(e),Fr(e,Or(e)),n=e.display.barWidth,r=e.display.barHeight}function Fr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+\"px\",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+\"px\",n.heightForcer.style.borderBottom=r.bottom+\"px solid transparent\",r.right&&r.bottom?(n.scrollbarFiller.style.display=\"block\",n.scrollbarFiller.style.height=r.bottom+\"px\",n.scrollbarFiller.style.width=r.right+\"px\"):n.scrollbarFiller.style.display=\"\",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display=\"block\",n.gutterFiller.style.height=r.bottom+\"px\",n.gutterFiller.style.width=t.gutterWidth+\"px\"):n.gutterFiller.style.display=\"\"}Wr.prototype.update=function(){return{bottom:0,right:0}},Wr.prototype.setScrollLeft=function(){},Wr.prototype.setScrollTop=function(){},Wr.prototype.clear=function(){};var Pr={native:Dr,null:Wr};function Er(n){n.display.scrollbars&&(n.display.scrollbars.clear(),n.display.scrollbars.addClass&&T(n.display.wrapper,n.display.scrollbars.addClass)),n.display.scrollbars=new Pr[n.options.scrollbarStyle](function(e){n.display.wrapper.insertBefore(e,n.display.scrollbarFiller),we(e,\"mousedown\",function(){n.state.focused&&setTimeout(function(){return n.display.input.focus()},0)}),e.setAttribute(\"cm-not-content\",\"true\")},function(e,t){(\"horizontal\"==t?Ar:Mr)(n,e)},n),n.display.scrollbars.addClass&&H(n.display.wrapper,n.display.scrollbars.addClass)}var Ir=0;function Rr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Ir},t=e.curOp,ln?ln.ops.push(t):t.ownsGroup=ln={ops:[t],delayedCallbacks:[]}}function zr(e){var t=e.curOp;t&&sn(t,function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;!function(e){for(var t=e.ops,n=0;n<t.length;n++)!function(e){var t=e.cm,n=t.display;(function(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=Sn(e)+\"px\",t.sizer.style.marginBottom=-t.nativeBarWidth+\"px\",t.sizer.style.borderRightWidth=Sn(e)+\"px\",t.scrollbarsClipped=!0)})(t),e.updateMaxLine&&_t(t);e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new Xr(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}(t[n]);for(var r=0;r<t.length;r++)!function(e){e.updatedDisplay=e.mustUpdate&&Yr(e.cm,e.update)}(t[r]);for(var i=0;i<t.length;i++)!function(e){var t=e.cm,n=t.display;e.updatedDisplay&&yr(t);e.barMeasure=Or(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Mn(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Sn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Ln(t)));(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}(t[i]);for(var o=0;o<t.length;o++)!function(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+\"px\",e.maxScrollLeft<t.doc.scrollLeft&&Ar(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==W();e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n);!e.updatedDisplay&&e.startHeight==t.doc.height||Hr(t,e.barMeasure);e.updatedDisplay&&Zr(t,e.barMeasure);e.selectionChanged&&fr(t);t.state.focused&&e.updateInput&&t.display.input.reset(e.typing);n&&pr(e.cm)}(t[o]);for(var l=0;l<t.length;l++)!function(e){var t=e.cm,n=t.display,r=t.doc;e.updatedDisplay&&_r(t,e.update);null==n.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(n.wheelStartX=n.wheelStartY=null);null!=e.scrollTop&&Nr(t,e.scrollTop,e.forceScroll);null!=e.scrollLeft&&Ar(t,e.scrollLeft,!0,!0);{var i;e.scrollToPos&&(i=function(e,t,n,r){null==r&&(r=0),e.options.lineWrapping||t!=n||(n=\"before\"==(t=t.ch?lt(t.line,\"before\"==t.sticky?t.ch-1:t.ch,\"after\"):t).sticky?lt(t.line,t.ch+1,\"before\"):t);for(var i=0;i<5;i++){var o,l=!1,s=Vn(e,t),a=n&&n!=t?Vn(e,n):s,u=xr(e,o={left:Math.min(s.left,a.left),top:Math.min(s.top,a.top)-r,right:Math.max(s.left,a.left),bottom:Math.max(s.bottom,a.bottom)+r}),c=e.doc.scrollTop,h=e.doc.scrollLeft;if(null!=u.scrollTop&&(Mr(e,u.scrollTop),1<Math.abs(e.doc.scrollTop-c)&&(l=!0)),null!=u.scrollLeft&&(Ar(e,u.scrollLeft),1<Math.abs(e.doc.scrollLeft-h)&&(l=!0)),!l)break}return o}(t,ft(r,e.scrollToPos.from),ft(r,e.scrollToPos.to),e.scrollToPos.margin),function(e,t){var n,r,i,o;Le(e,\"scrollCursorIntoView\")||(r=(n=e.display).sizer.getBoundingClientRect(),i=null,t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null==i||u||(o=O(\"div\",\"​\",null,\"position: absolute;\\n                         top: \"+(t.top-n.viewOffset-wn(e.display))+\"px;\\n                         height: \"+(t.bottom-t.top+Sn(e)+n.barHeight)+\"px;\\n                         left: \"+t.left+\"px; width: \"+Math.max(2,t.right-t.left)+\"px;\"),e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)))}(t,i))}var o=e.maybeHiddenMarkers,l=e.maybeUnhiddenMarkers;if(o)for(var s=0;s<o.length;++s)o[s].lines.length||Se(o[s],\"hide\");if(l)for(var a=0;a<l.length;++a)l[a].lines.length&&Se(l[a],\"unhide\");n.wrapper.offsetHeight&&(r.scrollTop=t.display.scroller.scrollTop);e.changeObjs&&Se(t,\"changes\",t,e.changeObjs);e.update&&e.update.finish()}(t[l])}(e)})}function Br(e,t){if(e.curOp)return t();Rr(e);try{return t()}finally{zr(e)}}function Gr(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Rr(e);try{return t.apply(e,arguments)}finally{zr(e)}}}function Ur(e){return function(){if(this.curOp)return e.apply(this,arguments);Rr(this);try{return e.apply(this,arguments)}finally{zr(this)}}}function Vr(t){return function(){var e=this.cm;if(!e||e.curOp)return t.apply(this,arguments);Rr(e);try{return t.apply(this,arguments)}finally{zr(e)}}}function Kr(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,E(jr,e))}function jr(a){var u,c,h,d=a.doc;d.highlightFrontier>=a.display.viewTo||(u=+new Date+a.options.workTime,c=bt(a,d.highlightFrontier),h=[],d.iter(c.line,Math.min(d.first+d.size,a.display.viewTo+500),function(e){if(c.line>=a.display.viewFrom){var t=e.styles,n=e.text.length>a.options.maxHighlightLength?_e(d.mode,c.state):null,r=vt(a,e,c,!0);n&&(c.state=n),e.styles=r.styles;var i=e.styleClasses,o=r.classes;o?e.styleClasses=o:i&&(e.styleClasses=null);for(var l=!t||t.length!=e.styles.length||i!=o&&(!i||!o||i.bgClass!=o.bgClass||i.textClass!=o.textClass),s=0;!l&&s<t.length;++s)l=t[s]!=e.styles[s];l&&h.push(c.line),e.stateAfter=c.save(),c.nextLine()}else e.text.length<=a.options.maxHighlightLength&&wt(a,e.text,c),e.stateAfter=c.line%5==0?c.save():null,c.nextLine();if(+new Date>u)return Kr(a,a.options.workDelay),!0}),d.highlightFrontier=c.line,d.modeFrontier=Math.max(d.modeFrontier,c.line),h.length&&Br(a,function(){for(var e=0;e<h.length;e++)or(a,h[e],\"text\")}))}var Xr=function(e,t,n){var r=e.display;this.viewport=t,this.visible=wr(r,e.doc,t),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=Ln(e),this.force=n,this.dims=Qn(e),this.events=[]};function Yr(e,t){var n=e.display,r=e.doc;if(t.editorIsHidden)return lr(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==ar(e))return!1;Jr(e)&&(lr(e),t.dims=Qn(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(r.first,n.viewFrom)),n.viewTo>l&&n.viewTo-l<20&&(l=Math.min(i,n.viewTo)),Nt&&(o=Vt(e.doc,o),l=Kt(e.doc,l));var s,a,u,c,h=o!=n.viewFrom||l!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;a=o,u=l,0==(c=(s=e).display).view.length||a>=c.viewTo||u<=c.viewFrom?(c.view=on(s,a,u),c.viewFrom=a):(c.viewFrom>a?c.view=on(s,a,c.viewFrom).concat(c.view):c.viewFrom<a&&(c.view=c.view.slice(rr(s,a))),c.viewFrom=a,c.viewTo<u?c.view=c.view.concat(on(s,c.viewTo,u)):c.viewTo>u&&(c.view=c.view.slice(0,rr(s,u)))),c.viewTo=u,n.viewOffset=Xt(Qe(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+\"px\";var d=ar(e);if(!h&&0==d&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var f,p,g,m=function(e){if(e.hasFocus())return null;var t=W();if(!t||!D(e.display.lineDiv,t))return null;var n,r={activeElt:t};return!window.getSelection||(n=window.getSelection()).anchorNode&&n.extend&&D(e.display.lineDiv,n.anchorNode)&&(r.anchorNode=n.anchorNode,r.anchorOffset=n.anchorOffset,r.focusNode=n.focusNode,r.focusOffset=n.focusOffset),r}(e);return 4<d&&(n.lineDiv.style.display=\"none\"),function(n,e,t){var r=n.display,i=n.options.lineNumbers,o=r.lineDiv,l=o.firstChild;function s(e){var t=e.nextSibling;return v&&y&&n.display.currentWheelTarget==e?e.style.display=\"none\":e.parentNode.removeChild(e),t}for(var a=r.view,u=r.viewFrom,c=0;c<a.length;c++){var h=a[c];if(!h.hidden)if(h.node&&h.node.parentNode==o){for(;l!=h.node;)l=s(l);var d=i&&null!=e&&e<=u&&h.lineNumber;h.changes&&(-1<B(h.changes,\"gutter\")&&(d=!1),hn(n,h,u,t)),d&&(M(h.lineNumber),h.lineNumber.appendChild(document.createTextNode(ot(n.options,u)))),l=h.node.nextSibling}else{var f=function(e,t,n,r){var i=fn(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),pn(e,t),gn(e,t,n,r),mn(e,t,r),t.node}(n,h,u,t);o.insertBefore(f,l)}u+=h.size}for(;l;)l=s(l)}(e,n.updateLineNumbers,t.dims),4<d&&(n.lineDiv.style.display=\"\"),n.renderedView=n.view,(f=m)&&f.activeElt&&f.activeElt!=W()&&(f.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(f.activeElt.nodeName)&&f.anchorNode&&D(document.body,f.anchorNode)&&D(document.body,f.focusNode)&&(p=window.getSelection(),(g=document.createRange()).setEnd(f.anchorNode,f.anchorOffset),g.collapse(!1),p.removeAllRanges(),p.addRange(g),p.extend(f.focusNode,f.focusOffset))),M(n.cursorDiv),M(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,h&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,Kr(e,400)),!(n.updateLineNumbers=null)}function _r(e,t){for(var n=t.viewport,r=!0;;r=!1){if(r&&e.options.lineWrapping&&t.oldDisplayWidth!=Ln(e))r&&(t.visible=wr(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+xn(e.display)-kn(e),n.top)}),t.visible=wr(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!Yr(e,t))break;yr(e);var i=Or(e);ur(e),Hr(e,i),Zr(e,i),t.force=!1}t.signal(e,\"update\",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,\"viewportChange\",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function $r(e,t){var n,r=new Xr(e,t);Yr(e,r)&&(yr(e),_r(e,r),n=Or(e),ur(e),Hr(e,n),Zr(e,n),r.finish())}function qr(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+\"px\"}function Zr(e,t){e.display.sizer.style.minHeight=t.docHeight+\"px\",e.display.heightForcer.style.top=t.docHeight+\"px\",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Sn(e)+\"px\"}function Qr(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=Jn(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+\"px\",l=0;l<n.length;l++)if(!n[l].hidden){e.options.fixedGutter&&(n[l].gutter&&(n[l].gutter.style.left=o),n[l].gutterBackground&&(n[l].gutterBackground.style.left=o));var s=n[l].alignable;if(s)for(var a=0;a<s.length;a++)s[a].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=r+i+\"px\")}}function Jr(e){if(e.options.lineNumbers){var t=e.doc,n=ot(e.options,t.first+t.size-1),r=e.display;if(n.length!=r.lineNumChars){var i=r.measure.appendChild(O(\"div\",[O(\"div\",n)],\"CodeMirror-linenumber CodeMirror-gutter-elt\")),o=i.firstChild.offsetWidth,l=i.offsetWidth-o;return r.lineGutter.style.width=\"\",r.lineNumInnerWidth=Math.max(o,r.lineGutter.offsetWidth-l)+1,r.lineNumWidth=r.lineNumInnerWidth+l,r.lineNumChars=r.lineNumInnerWidth?n.length:-1,r.lineGutter.style.width=r.lineNumWidth+\"px\",qr(e.display),1}}}function ei(e,t){for(var n=[],r=!1,i=0;i<e.length;i++){var o=e[i],l=null;if(\"string\"!=typeof o&&(l=o.style,o=o.className),\"CodeMirror-linenumbers\"==o){if(!t)continue;r=!0}n.push({className:o,style:l})}return t&&!r&&n.push({className:\"CodeMirror-linenumbers\",style:null}),n}function ti(e){var t=e.gutters,n=e.gutterSpecs;M(t),e.lineGutter=null;for(var r=0;r<n.length;++r){var i=n[r],o=i.className,l=i.style,s=t.appendChild(O(\"div\",null,\"CodeMirror-gutter \"+o));l&&(s.style.cssText=l),\"CodeMirror-linenumbers\"==o&&((e.lineGutter=s).style.width=(e.lineNumWidth||1)+\"px\")}t.style.display=n.length?\"\":\"none\",qr(e)}function ni(e){ti(e.display),ir(e),Qr(e)}function ri(e,t,n,r){var i=this;this.input=n,i.scrollbarFiller=O(\"div\",null,\"CodeMirror-scrollbar-filler\"),i.scrollbarFiller.setAttribute(\"cm-not-content\",\"true\"),i.gutterFiller=O(\"div\",null,\"CodeMirror-gutter-filler\"),i.gutterFiller.setAttribute(\"cm-not-content\",\"true\"),i.lineDiv=A(\"div\",null,\"CodeMirror-code\"),i.selectionDiv=O(\"div\",null,null,\"position: relative; z-index: 1\"),i.cursorDiv=O(\"div\",null,\"CodeMirror-cursors\"),i.measure=O(\"div\",null,\"CodeMirror-measure\"),i.lineMeasure=O(\"div\",null,\"CodeMirror-measure\"),i.lineSpace=A(\"div\",[i.measure,i.lineMeasure,i.selectionDiv,i.cursorDiv,i.lineDiv],null,\"position: relative; outline: none\");var o=A(\"div\",[i.lineSpace],\"CodeMirror-lines\");i.mover=O(\"div\",[o],null,\"position: relative\"),i.sizer=O(\"div\",[i.mover],\"CodeMirror-sizer\"),i.sizerWidth=null,i.heightForcer=O(\"div\",null,null,\"position: absolute; height: \"+G+\"px; width: 1px;\"),i.gutters=O(\"div\",null,\"CodeMirror-gutters\"),i.lineGutter=null,i.scroller=O(\"div\",[i.sizer,i.heightForcer,i.gutters],\"CodeMirror-scroll\"),i.scroller.setAttribute(\"tabIndex\",\"-1\"),i.wrapper=O(\"div\",[i.scrollbarFiller,i.gutterFiller,i.scroller],\"CodeMirror\"),x&&C<8&&(i.gutters.style.zIndex=-1,i.scroller.style.paddingRight=0),v||g&&d||(i.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(i.wrapper):e(i.wrapper)),i.viewFrom=i.viewTo=t.first,i.reportedViewFrom=i.reportedViewTo=t.first,i.view=[],i.renderedView=null,i.externalMeasured=null,i.viewOffset=0,i.lastWrapHeight=i.lastWrapWidth=0,i.updateLineNumbers=null,i.nativeBarWidth=i.barHeight=i.barWidth=0,i.scrollbarsClipped=!1,i.lineNumWidth=i.lineNumInnerWidth=i.lineNumChars=null,i.alignWidgets=!1,i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null,i.maxLine=null,i.maxLineLength=0,i.maxLineChanged=!1,i.wheelDX=i.wheelDY=i.wheelStartX=i.wheelStartY=null,i.shift=!1,i.selForContextMenu=null,i.activeTouch=null,i.gutterSpecs=ei(r.gutters,r.lineNumbers),ti(i),n.init(i)}Xr.prototype.signal=function(e,t){Te(e,t)&&this.events.push(arguments)},Xr.prototype.finish=function(){for(var e=0;e<this.events.length;e++)Se.apply(null,this.events[e])};var ii=0,oi=null;function li(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}}function si(e){var t=li(e);return t.x*=oi,t.y*=oi,t}function ai(e,t){var n,r,i,o=li(t),l=o.x,s=o.y,a=e.display,u=a.scroller,c=u.scrollWidth>u.clientWidth,h=u.scrollHeight>u.clientHeight;if(l&&c||s&&h){if(s&&y&&v)e:for(var d=t.target,f=a.view;d!=u;d=d.parentNode)for(var p=0;p<f.length;p++)if(f[p].node==d){e.display.currentWheelTarget=d;break e}if(l&&!g&&!m&&null!=oi)return s&&h&&Mr(e,Math.max(0,u.scrollTop+s*oi)),Ar(e,Math.max(0,u.scrollLeft+l*oi)),(!s||s&&h)&&Ne(t),void(a.wheelStartX=null);s&&null!=oi&&(n=s*oi,i=(r=e.doc.scrollTop)+a.wrapper.clientHeight,n<0?r=Math.max(0,r+n-50):i=Math.min(e.doc.height,i+n+50),$r(e,{top:r,bottom:i})),ii<20&&(null==a.wheelStartX?(a.wheelStartX=u.scrollLeft,a.wheelStartY=u.scrollTop,a.wheelDX=l,a.wheelDY=s,setTimeout(function(){var e,t,n;null!=a.wheelStartX&&(e=u.scrollLeft-a.wheelStartX,n=(t=u.scrollTop-a.wheelStartY)&&a.wheelDY&&t/a.wheelDY||e&&a.wheelDX&&e/a.wheelDX,a.wheelStartX=a.wheelStartY=null,n&&(oi=(oi*ii+n)/(ii+1),++ii))},200)):(a.wheelDX+=l,a.wheelDY+=s))}}x?oi=-.53:g?oi=15:l?oi=-.7:c&&(oi=-1/3);var ui=function(e,t){this.ranges=e,this.primIndex=t};ui.prototype.primary=function(){return this.ranges[this.primIndex]},ui.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],r=e.ranges[t];if(!at(n.anchor,r.anchor)||!at(n.head,r.head))return!1}return!0},ui.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new ci(ut(this.ranges[t].anchor),ut(this.ranges[t].head));return new ui(e,this.primIndex)},ui.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},ui.prototype.contains=function(e,t){t=t||e;for(var n=0;n<this.ranges.length;n++){var r=this.ranges[n];if(0<=st(t,r.from())&&st(e,r.to())<=0)return n}return-1};var ci=function(e,t){this.anchor=e,this.head=t};function hi(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(e,t){return st(e.from(),t.from())}),n=B(t,i);for(var o=1;o<t.length;o++){var l,s,a,u=t[o],c=t[o-1],h=st(c.to(),u.from());(r&&!u.empty()?0<h:0<=h)&&(l=ht(c.from(),u.from()),s=ct(c.to(),u.to()),a=c.empty()?u.from()==u.head:c.from()==c.head,o<=n&&--n,t.splice(--o,2,new ci(a?s:l,a?l:s)))}return new ui(t,n)}function di(e,t){return new ui([new ci(e,t||e)],0)}function fi(e){return e.text?lt(e.from.line+e.text.length-1,$(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function pi(e,t){if(st(e,t.from)<0)return e;if(st(e,t.to)<=0)return fi(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=fi(t).ch-t.to.ch),lt(n,r)}function gi(e,t){for(var n=[],r=0;r<e.sel.ranges.length;r++){var i=e.sel.ranges[r];n.push(new ci(pi(i.anchor,t),pi(i.head,t)))}return hi(e.cm,n,e.sel.primIndex)}function mi(e,t,n){return e.line==t.line?lt(n.line,e.ch-t.ch+n.ch):lt(n.line+(e.line-t.line),e.ch)}function vi(e){e.doc.mode=je(e.options,e.doc.modeOption),yi(e)}function yi(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,Kr(e,100),e.state.modeGen++,e.curOp&&ir(e)}function bi(e,t){return 0==t.from.ch&&0==t.to.ch&&\"\"==$(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function wi(e,r,t,i){function o(e){return t?t[e]:null}function n(e,t,n){!function(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),Ht(e),Ft(e,n);var i=r?r(e):1;i!=e.height&&tt(e,i)}(e,t,n,i),un(e,\"change\",e,r)}function l(e,t){for(var n=[],r=e;r<t;++r)n.push(new $t(d[r],o(r),i));return n}var s,a,u,c=r.from,h=r.to,d=r.text,f=Qe(e,c.line),p=Qe(e,h.line),g=$(d),m=o(d.length-1),v=h.line-c.line;r.full?(e.insert(0,l(0,d.length)),e.remove(d.length,e.size-d.length)):bi(e,r)?(s=l(0,d.length-1),n(p,p.text,m),v&&e.remove(c.line,v),s.length&&e.insert(c.line,s)):f==p?1==d.length?n(f,f.text.slice(0,c.ch)+g+f.text.slice(h.ch),m):((a=l(1,d.length-1)).push(new $t(g+f.text.slice(h.ch),m,i)),n(f,f.text.slice(0,c.ch)+d[0],o(0)),e.insert(c.line+1,a)):1==d.length?(n(f,f.text.slice(0,c.ch)+d[0]+p.text.slice(h.ch),o(0)),e.remove(c.line+1,v)):(n(f,f.text.slice(0,c.ch)+d[0],o(0)),n(p,g+p.text.slice(h.ch),m),u=l(1,d.length-1),1<v&&e.remove(c.line+1,v-1),e.insert(c.line+1,u)),un(e,\"change\",e,r)}function xi(e,s,a){!function e(t,n,r){if(t.linked)for(var i=0;i<t.linked.length;++i){var o,l=t.linked[i];l.doc!=n&&(o=r&&l.sharedHist,a&&!o||(s(l.doc,o),e(l.doc,t,o)))}}(e,null,!0)}function Ci(e,t){if(t.cm)throw new Error(\"This document is already in use.\");tr((e.doc=t).cm=e),vi(e),Si(e),e.options.lineWrapping||_t(e),e.options.mode=t.modeOption,ir(e)}function Si(e){(\"rtl\"==e.doc.direction?H:T)(e.display.lineDiv,\"CodeMirror-rtl\")}function Li(e){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e||1}function ki(e,t){var n={from:ut(t.from),to:fi(t),text:Je(e,t.from,t.to)};return Oi(e,n,t.from.line,t.to.line+1),xi(e,function(e){return Oi(e,n,t.from.line,t.to.line+1),0},!0),n}function Ti(e){for(;e.length;){if(!$(e).ranges)break;e.pop()}}function Mi(e,t,n,r){var i=e.history;i.undone.length=0;var o,l,s,a=+new Date;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(\"+\"==t.origin.charAt(0)&&i.lastModTime>a-(e.cm?e.cm.options.historyEventDelay:500)||\"*\"==t.origin.charAt(0)))&&(o=(s=i).lastOp==r?(Ti(s.done),$(s.done)):s.done.length&&!$(s.done).ranges?$(s.done):1<s.done.length&&!s.done[s.done.length-2].ranges?(s.done.pop(),$(s.done)):void 0))l=$(o.changes),0==st(t.from,t.to)&&0==st(t.from,l.to)?l.to=fi(t):o.changes.push(ki(e,t));else{var u=$(i.done);for(u&&u.ranges||Ai(e.sel,i.done),o={changes:[ki(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=a,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,l||Se(e,\"historyAdded\")}function Ni(e,t,n,r){var i,o,l,s,a,u=e.history,c=r&&r.origin;n==u.lastSelOp||c&&u.lastSelOrigin==c&&(u.lastModTime==u.lastSelTime&&u.lastOrigin==c||(i=e,o=c,l=$(u.done),s=t,\"*\"==(a=o.charAt(0))||\"+\"==a&&l.ranges.length==s.ranges.length&&l.somethingSelected()==s.somethingSelected()&&new Date-i.history.lastSelTime<=(i.cm?i.cm.options.historyEventDelay:500)))?u.done[u.done.length-1]=t:Ai(t,u.done),u.lastSelTime=+new Date,u.lastSelOrigin=c,u.lastSelOp=n,r&&!1!==r.clearRedo&&Ti(u.undone)}function Ai(e,t){var n=$(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Oi(t,n,e,r){var i=n[\"spans_\"+t.id],o=0;t.iter(Math.max(t.first,e),Math.min(t.first+t.size,r),function(e){e.markedSpans&&((i=i||(n[\"spans_\"+t.id]={}))[o]=e.markedSpans),++o})}function Di(e,t){var n=t[\"spans_\"+e.id];if(!n)return null;for(var r=[],i=0;i<t.text.length;++i)r.push(function(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t=t||e.slice(0,n):t&&t.push(e[n]);return t?t.length?t:null:e}(n[i]));return r}function Wi(e,t){var n=Di(e,t),r=Dt(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var o=n[i],l=r[i];if(o&&l)e:for(var s=0;s<l.length;++s){for(var a=l[s],u=0;u<o.length;++u)if(o[u].marker==a.marker)continue e;o.push(a)}else l&&(n[i]=l)}return n}function Hi(e,t,n){for(var r=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges)r.push(n?ui.prototype.deepCopy.call(o):o);else{var l=o.changes,s=[];r.push({changes:s});for(var a=0;a<l.length;++a){var u=l[a],c=void 0;if(s.push({from:u.from,to:u.to,text:u.text}),t)for(var h in u)(c=h.match(/^spans_(\\d+)$/))&&-1<B(t,Number(c[1]))&&($(s)[h]=u[h],delete u[h])}}}return r}function Fi(e,t,n,r){if(r){var i,o=e.anchor;return n&&((i=st(t,o)<0)!=st(n,o)<0?(o=t,t=n):i!=st(t,n)<0&&(t=n)),new ci(o,t)}return new ci(n||t,t)}function Pi(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),Bi(e,new ui([Fi(e.sel.primary(),t,n,i)],0),r)}function Ei(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)r[o]=Fi(e.sel.ranges[o],t[o],null,i);Bi(e,hi(e.cm,r,e.sel.primIndex),n)}function Ii(e,t,n,r){var i=e.sel.ranges.slice(0);i[t]=n,Bi(e,hi(e.cm,i,e.sel.primIndex),r)}function Ri(e,t,n,r){Bi(e,di(t,n),r)}function zi(e,t,n){var r=e.history.done,i=$(r);i&&i.ranges?Gi(e,r[r.length-1]=t,n):Bi(e,t,n)}function Bi(e,t,n){Gi(e,t,n),Ni(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function Gi(e,t,n){var r,i,o,l;(Te(e,\"beforeSelectionChange\")||e.cm&&Te(e.cm,\"beforeSelectionChange\"))&&(r=e,o=n,l={ranges:(i=t).ranges,update:function(e){this.ranges=[];for(var t=0;t<e.length;t++)this.ranges[t]=new ci(ft(r,e[t].anchor),ft(r,e[t].head))},origin:o&&o.origin},Se(r,\"beforeSelectionChange\",r,l),r.cm&&Se(r.cm,\"beforeSelectionChange\",r.cm,l),t=l.ranges!=i.ranges?hi(r.cm,l.ranges,l.ranges.length-1):i);var s=n&&n.bias||(st(t.primary().head,e.sel.primary().head)<0?-1:1);Ui(e,Ki(e,t,s,!0)),n&&!1===n.scroll||!e.cm||Sr(e.cm)}function Ui(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,ke(e.cm)),un(e,\"cursorActivity\",e))}function Vi(e){Ui(e,Ki(e,e.sel,null,!1))}function Ki(e,t,n,r){for(var i,o=0;o<t.ranges.length;o++){var l=t.ranges[o],s=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],a=Xi(e,l.anchor,s&&s.anchor,n,r),u=Xi(e,l.head,s&&s.head,n,r);!i&&a==l.anchor&&u==l.head||((i=i||t.ranges.slice(0,o))[o]=new ci(a,u))}return i?hi(e.cm,i,t.primIndex):t}function ji(e,t,n,r,i){var o=Qe(e,t.line);if(o.markedSpans)for(var l=0;l<o.markedSpans.length;++l){var s=o.markedSpans[l],a=s.marker,u=\"selectLeft\"in a?!a.selectLeft:a.inclusiveLeft,c=\"selectRight\"in a?!a.selectRight:a.inclusiveRight;if((null==s.from||(u?s.from<=t.ch:s.from<t.ch))&&(null==s.to||(c?s.to>=t.ch:s.to>t.ch))){if(i&&(Se(a,\"beforeCursorEnter\"),a.explicitlyCleared)){if(o.markedSpans){--l;continue}break}if(!a.atomic)continue;if(n){var h=a.find(r<0?1:-1),d=void 0;if((r<0?c:u)&&(h=Yi(e,h,-r,h&&h.line==t.line?o:null)),h&&h.line==t.line&&(d=st(h,n))&&(r<0?d<0:0<d))return ji(e,h,t,r,i)}var f=a.find(r<0?-1:1);return(r<0?u:c)&&(f=Yi(e,f,r,f.line==t.line?o:null)),f?ji(e,f,t,r,i):null}}return t}function Xi(e,t,n,r,i){var o=r||1,l=ji(e,t,n,o,i)||!i&&ji(e,t,n,o,!0)||ji(e,t,n,-o,i)||!i&&ji(e,t,n,-o,!0);return l||(e.cantEdit=!0,lt(e.first,0))}function Yi(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?ft(e,lt(t.line-1)):null:0<n&&t.ch==(r||Qe(e,t.line)).text.length?t.line<e.first+e.size-1?lt(t.line+1,0):null:new lt(t.line,t.ch+n)}function _i(e){e.setSelection(lt(e.firstLine(),0),lt(e.lastLine()),V)}function $i(i,e,t){var o={canceled:!1,from:e.from,to:e.to,text:e.text,origin:e.origin,cancel:function(){return o.canceled=!0}};return t&&(o.update=function(e,t,n,r){e&&(o.from=ft(i,e)),t&&(o.to=ft(i,t)),n&&(o.text=n),void 0!==r&&(o.origin=r)}),Se(i,\"beforeChange\",i,o),i.cm&&Se(i.cm,\"beforeChange\",i.cm,o),o.canceled?(i.cm&&(i.cm.curOp.updateInput=2),null):{from:o.from,to:o.to,text:o.text,origin:o.origin}}function qi(e,t,n){if(e.cm){if(!e.cm.curOp)return Gr(e.cm,qi)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(Te(e,\"beforeChange\")||e.cm&&Te(e.cm,\"beforeChange\"))||(t=$i(e,t,!0))){var r=Mt&&!n&&function(e,t,n){var r=null;if(e.iter(t.line,n.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||r&&-1!=B(r,n)||(r=r||[]).push(n)}}),!r)return null;for(var i=[{from:t,to:n}],o=0;o<r.length;++o)for(var l=r[o],s=l.find(0),a=0;a<i.length;++a){var u,c,h,d=i[a];st(d.to,s.from)<0||0<st(d.from,s.to)||(u=[a,1],c=st(d.from,s.from),h=st(d.to,s.to),(c<0||!l.inclusiveLeft&&!c)&&u.push({from:d.from,to:s.from}),(0<h||!l.inclusiveRight&&!h)&&u.push({from:s.to,to:d.to}),i.splice.apply(i,u),a+=u.length-3)}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;0<=i;--i)Zi(e,{from:r[i].from,to:r[i].to,text:i?[\"\"]:t.text,origin:t.origin});else Zi(e,t)}}function Zi(e,n){var t,r;1==n.text.length&&\"\"==n.text[0]&&0==st(n.from,n.to)||(t=gi(e,n),Mi(e,n,t,e.cm?e.cm.curOp.id:NaN),eo(e,n,t,Dt(e,n)),r=[],xi(e,function(e,t){t||-1!=B(r,e.history)||(io(e.history,n),r.push(e.history)),eo(e,n,null,Dt(e,n))}))}function Qi(i,o,e){var t=i.cm&&i.cm.state.suppressEdits;if(!t||e){for(var l,n=i.history,r=i.sel,s=\"undo\"==o?n.done:n.undone,a=\"undo\"==o?n.undone:n.done,u=0;u<s.length&&(l=s[u],e?!l.ranges||l.equals(i.sel):l.ranges);u++);if(u!=s.length){for(n.lastOrigin=n.lastSelOrigin=null;;){if(!(l=s.pop()).ranges){if(t)return void s.push(l);break}if(Ai(l,a),e&&!l.equals(i.sel))return void Bi(i,l,{clearRedo:!1});r=l}var c=[];Ai(r,a),a.push({changes:c,generation:n.generation}),n.generation=l.generation||++n.maxGeneration;for(var h=Te(i,\"beforeChange\")||i.cm&&Te(i.cm,\"beforeChange\"),d=l.changes.length-1;0<=d;--d){var f=function(e){var n=l.changes[e];if(n.origin=o,h&&!$i(i,n,!1))return s.length=0,{};c.push(ki(i,n));var t=e?gi(i,n):$(s);eo(i,n,t,Wi(i,n)),!e&&i.cm&&i.cm.scrollIntoView({from:n.from,to:fi(n)});var r=[];xi(i,function(e,t){t||-1!=B(r,e.history)||(io(e.history,n),r.push(e.history)),eo(e,n,null,Wi(e,n))})}(d);if(f)return f.v}}}}function Ji(e,t){if(0!=t&&(e.first+=t,e.sel=new ui(q(e.sel.ranges,function(e){return new ci(lt(e.anchor.line+t,e.anchor.ch),lt(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){ir(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;r<n.viewTo;r++)or(e.cm,r,\"gutter\")}}function eo(e,t,n,r){if(e.cm&&!e.cm.curOp)return Gr(e.cm,eo)(e,t,n,r);var i,o;t.to.line<e.first?Ji(e,t.text.length-1-(t.to.line-t.from.line)):t.from.line>e.lastLine()||(t.from.line<e.first&&(Ji(e,i=t.text.length-1-(e.first-t.from.line)),t={from:lt(e.first,0),to:lt(t.to.line+i,t.to.ch),text:[$(t.text)],origin:t.origin}),o=e.lastLine(),t.to.line>o&&(t={from:t.from,to:lt(o,Qe(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Je(e,t.from,t.to),n=n||gi(e,t),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,l=t.to,s=!1,a=o.line;e.options.lineWrapping||(a=nt(Ut(Qe(r,o.line))),r.iter(a,l.line+1,function(e){if(e==i.maxLine)return s=!0}));-1<r.sel.contains(t.from,t.to)&&ke(e);wi(r,t,n,er(e)),e.options.lineWrapping||(r.iter(a,o.line+t.text.length,function(e){var t=Yt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0));(function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,r=t-1;n<r;r--){var i=Qe(e,r).stateAfter;if(i&&(!(i instanceof gt)||r+i.lookAhead<t)){n=r+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}})(r,o.line),Kr(e,400);var u=t.text.length-(l.line-o.line)-1;t.full?ir(e):o.line!=l.line||1!=t.text.length||bi(e.doc,t)?ir(e,o.line,l.line+1,u):or(e,o.line,\"text\");var c=Te(e,\"changes\"),h=Te(e,\"change\");{var d;(h||c)&&(d={from:o,to:l,text:t.text,removed:t.removed,origin:t.origin},h&&un(e,\"change\",e,d),c&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(d))}e.display.selForContextMenu=null}(e.cm,t,r):wi(e,t,r),Gi(e,n,V),e.cantEdit&&Xi(e,lt(e.firstLine(),0))&&(e.cantEdit=!1))}function to(e,t,n,r,i){var o;st(r=r||n,n)<0&&(n=(o=[r,n])[0],r=o[1]),\"string\"==typeof t&&(t=e.splitLines(t)),qi(e,{from:n,to:r,text:t,origin:i})}function no(e,t,n,r){n<e.line?e.line+=r:t<e.line&&(e.line=t,e.ch=0)}function ro(e,t,n,r){for(var i=0;i<e.length;++i){var o=e[i],l=!0;if(o.ranges){o.copied||((o=e[i]=o.deepCopy()).copied=!0);for(var s=0;s<o.ranges.length;s++)no(o.ranges[s].anchor,t,n,r),no(o.ranges[s].head,t,n,r)}else{for(var a=0;a<o.changes.length;++a){var u=o.changes[a];if(n<u.from.line)u.from=lt(u.from.line+r,u.from.ch),u.to=lt(u.to.line+r,u.to.ch);else if(t<=u.to.line){l=!1;break}}l||(e.splice(0,i+1),i=0)}}}function io(e,t){var n=t.from.line,r=t.to.line,i=t.text.length-(r-n)-1;ro(e.done,n,r,i),ro(e.undone,n,r,i)}function oo(e,t,n,r){var i=t,o=t;return\"number\"==typeof t?o=Qe(e,dt(e,t)):i=nt(t),null==i?null:(r(o,i)&&e.cm&&or(e.cm,i,n),o)}function lo(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}function so(e){this.children=e;for(var t=0,n=0,r=0;r<e.length;++r){var i=e[r];t+=i.chunkSize(),n+=i.height,i.parent=this}this.size=t,this.height=n,this.parent=null}ci.prototype.from=function(){return ht(this.anchor,this.head)},ci.prototype.to=function(){return ct(this.anchor,this.head)},ci.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},lo.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n,r=e,i=e+t;r<i;++r){var o=this.lines[r];this.height-=o.height,(n=o).parent=null,Ht(n),un(o,\"delete\")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;r<t.length;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}},so.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n,r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e),s=i.height;if(i.removeInner(e,l),this.height-=s-i.height,o==l&&(this.children.splice(r--,1),i.parent=null),0==(t-=l))break;e=0}else e-=o}this.size-t<25&&(1<this.children.length||!(this.children[0]instanceof lo))&&(n=[],this.collapse(n),this.children=[new lo(n)],this.children[0].parent=this)},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,n),i.lines&&50<i.lines.length){for(var l=i.lines.length%25+25,s=l;s<i.lines.length;){var a=new lo(i.lines.slice(s,s+=25));i.height-=a.height,this.children.splice(++r,0,a),a.parent=this}i.lines=i.lines.slice(0,l),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t,n,r=new so(e.children.splice(e.children.length-5,5));e.parent?(e.size-=r.size,e.height-=r.height,t=B(e.parent.children,e),e.parent.children.splice(t+1,0,r)):(((n=new so(e.children)).parent=e).children=[n,r],e=n),r.parent=e.parent}while(10<e.children.length);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e);if(i.iterN(e,l,n))return!0;if(0==(t-=l))break;e=0}else e-=o}}};function ao(e,t,n){if(n)for(var r in n)n.hasOwnProperty(r)&&(this[r]=n[r]);this.doc=e,this.node=t}function uo(e,t,n){Xt(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&Cr(e,n)}ao.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,r=nt(n);if(null!=r&&t){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(n.widgets=null);var o=yn(this);tt(n,Math.max(0,n.height-o)),e&&(Br(e,function(){uo(e,n,-o),or(e,r,\"widget\")}),un(e,\"lineWidgetCleared\",e,this,r))}},ao.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,r=this.line;this.height=null;var i=yn(this)-t;i&&(jt(this.doc,r)||tt(r,r.height+i),n&&Br(n,function(){n.curOp.forceUpdate=!0,uo(n,r,i),un(n,\"lineWidgetChanged\",n,e,nt(r))}))},Me(ao);var co=0,ho=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++co};function fo(t,r,i,e,n){if(e&&e.shared)return function(e,n,r,i,o){(i=I(i)).shared=!1;var l=[fo(e,n,r,i,o)],s=l[0],a=i.widgetNode;return xi(e,function(e){a&&(i.widgetNode=a.cloneNode(!0)),l.push(fo(e,ft(e,n),ft(e,r),i,o));for(var t=0;t<e.linked.length;++t)if(e.linked[t].isParent)return;s=$(l)}),new po(l,s)}(t,r,i,e,n);if(t.cm&&!t.cm.curOp)return Gr(t.cm,fo)(t,r,i,e,n);var o=new ho(t,n),l=st(r,i);if(e&&I(e,o,!1),0<l||0==l&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=A(\"span\",[o.replacedWith],\"CodeMirror-widget\"),e.handleMouseEvents||o.widgetNode.setAttribute(\"cm-ignore-events\",\"true\"),e.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Gt(t,r.line,r,i,o)||r.line!=i.line&&Gt(t,i.line,r,i,o))throw new Error(\"Inserting collapsed marker partially overlapping an existing one\");Nt=!0}o.addToHistory&&Mi(t,{from:r,to:i,origin:\"markText\"},t.sel,NaN);var s,a=r.line,u=t.cm;if(t.iter(a,i.line+1,function(e){var t,n;u&&o.collapsed&&!u.options.lineWrapping&&Ut(e)==u.display.maxLine&&(s=!0),o.collapsed&&a!=r.line&&tt(e,0),t=e,n=new At(o,a==r.line?r.ch:null,a==i.line?i.ch:null),t.markedSpans=t.markedSpans?t.markedSpans.concat([n]):[n],n.marker.attachLine(t),++a}),o.collapsed&&t.iter(r.line,i.line+1,function(e){jt(t,e)&&tt(e,0)}),o.clearOnEnter&&we(o,\"beforeCursorEnter\",function(){return o.clear()}),o.readOnly&&(Mt=!0,(t.history.done.length||t.history.undone.length)&&t.clearHistory()),o.collapsed&&(o.id=++co,o.atomic=!0),u){if(s&&(u.curOp.updateMaxLine=!0),o.collapsed)ir(u,r.line,i.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=r.line;c<=i.line;c++)or(u,c,\"text\");o.atomic&&Vi(u.doc),un(u,\"markerAdded\",u,o)}return o}ho.prototype.clear=function(){if(!this.explicitlyCleared){var e,t=this.doc.cm,n=t&&!t.curOp;n&&Rr(t),!Te(this,\"clear\")||(e=this.find())&&un(this,\"clear\",e.from,e.to);for(var r=null,i=null,o=0;o<this.lines.length;++o){var l=this.lines[o],s=Ot(l.markedSpans,this);t&&!this.collapsed?or(t,nt(l),\"text\"):t&&(null!=s.to&&(i=nt(l)),null!=s.from&&(r=nt(l))),l.markedSpans=function(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n=n||[]).push(e[r]);return n}(l.markedSpans,s),null==s.from&&this.collapsed&&!jt(this.doc,l)&&t&&tt(l,qn(t.display))}if(t&&this.collapsed&&!t.options.lineWrapping)for(var a=0;a<this.lines.length;++a){var u=Ut(this.lines[a]),c=Yt(u);c>t.display.maxLineLength&&(t.display.maxLine=u,t.display.maxLineLength=c,t.display.maxLineChanged=!0)}null!=r&&t&&this.collapsed&&ir(t,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&Vi(t.doc)),t&&un(t,\"markerCleared\",t,this,r,i),n&&zr(t),this.parent&&this.parent.clear()}},ho.prototype.find=function(e,t){var n,r;null==e&&\"bookmark\"==this.type&&(e=1);for(var i=0;i<this.lines.length;++i){var o=this.lines[i],l=Ot(o.markedSpans,this);if(null!=l.from&&(n=lt(t?o:nt(o),l.from),-1==e))return n;if(null!=l.to&&(r=lt(t?o:nt(o),l.to),1==e))return r}return n&&{from:n,to:r}},ho.prototype.changed=function(){var o=this,l=this.find(-1,!0),s=this,a=this.doc.cm;l&&a&&Br(a,function(){var e,t,n=l.line,r=nt(l.line),i=Nn(a,r);i&&(Fn(i),a.curOp.selectionChanged=a.curOp.forceUpdate=!0),a.curOp.updateMaxLine=!0,jt(s.doc,n)||null==s.height||(e=s.height,s.height=null,(t=yn(s)-e)&&tt(n,n.height+t)),un(a,\"markerChanged\",a,o)})},ho.prototype.attachLine=function(e){var t;!this.lines.length&&this.doc.cm&&((t=this.doc.cm.curOp).maybeHiddenMarkers&&-1!=B(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)),this.lines.push(e)},ho.prototype.detachLine=function(e){var t;this.lines.splice(B(this.lines,e),1),!this.lines.length&&this.doc.cm&&((t=this.doc.cm.curOp).maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)},Me(ho);var po=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};function go(e){return e.findMarks(lt(e.first,0),e.clipPos(lt(e.lastLine())),function(e){return e.parent})}po.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();un(this,\"clear\")}},po.prototype.find=function(e,t){return this.primary.find(e,t)},Me(po);var mo=0,vo=function(e,t,n,r,i){if(!(this instanceof vo))return new vo(e,t,n,r,i);null==n&&(n=0),so.call(this,[new lo([new $t(\"\",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1;var o=lt(this.modeFrontier=this.highlightFrontier=n,0);this.sel=di(o),this.history=new Li(null),this.id=++mo,this.modeOption=t,this.lineSep=r,this.direction=\"rtl\"==i?\"rtl\":\"ltr\",this.extend=!1,\"string\"==typeof e&&(e=this.splitLines(e)),wi(this,{from:o,to:o,text:e}),Bi(this,di(o),V)};vo.prototype=Q(so.prototype,{constructor:vo,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r<t.length;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=et(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:Vr(function(e){var t=lt(this.first,0),n=this.first+this.size-1;qi(this,{from:t,to:lt(n,Qe(this,n).text.length),text:this.splitLines(e),origin:\"setValue\",full:!0},!0),this.cm&&Lr(this.cm,0,0),Bi(this,di(t),V)}),replaceRange:function(e,t,n,r){to(this,e,t=ft(this,t),n=n?ft(this,n):t,r)},getRange:function(e,t,n){var r=Je(this,ft(this,e),ft(this,t));return!1===n?r:r.join(n||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(it(this,e))return Qe(this,e)},getLineNumber:nt,getLineHandleVisualStart:function(e){return\"number\"==typeof e&&(e=Qe(this,e)),Ut(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return ft(this,e)},getCursor:function(e){var t=this.sel.primary(),n=null==e||\"head\"==e?t.head:\"anchor\"==e?t.anchor:\"end\"==e||\"to\"==e||!1===e?t.to():t.from();return n},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:Vr(function(e,t,n){Ri(this,ft(this,\"number\"==typeof e?lt(e,t||0):e),null,n)}),setSelection:Vr(function(e,t,n){Ri(this,ft(this,e),ft(this,t||e),n)}),extendSelection:Vr(function(e,t,n){Pi(this,ft(this,e),t&&ft(this,t),n)}),extendSelections:Vr(function(e,t){Ei(this,pt(this,e),t)}),extendSelectionsBy:Vr(function(e,t){Ei(this,pt(this,q(this.sel.ranges,e)),t)}),setSelections:Vr(function(e,t,n){if(e.length){for(var r=[],i=0;i<e.length;i++)r[i]=new ci(ft(this,e[i].anchor),ft(this,e[i].head));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),Bi(this,hi(this.cm,r,t),n)}}),addSelection:Vr(function(e,t,n){var r=this.sel.ranges.slice(0);r.push(new ci(ft(this,e),ft(this,t||e))),Bi(this,hi(this.cm,r,r.length-1),n)}),getSelection:function(e){for(var t=this.sel.ranges,n=0;n<t.length;n++)var r=Je(this,t[n].from(),t[n].to()),i=i?i.concat(r):r;return!1===e?i:i.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,r=0;r<n.length;r++){var i=Je(this,n[r].from(),n[r].to());!1!==e&&(i=i.join(e||this.lineSeparator())),t[r]=i}return t},replaceSelection:function(e,t,n){for(var r=[],i=0;i<this.sel.ranges.length;i++)r[i]=e;this.replaceSelections(r,t,n||\"+input\")},replaceSelections:Vr(function(e,t,n){for(var r=[],i=this.sel,o=0;o<i.ranges.length;o++){var l=i.ranges[o];r[o]={from:l.from(),to:l.to(),text:this.splitLines(e[o]),origin:n}}for(var s=t&&\"end\"!=t&&function(e,t,n){for(var r=[],i=h=lt(e.first,0),o=0;o<t.length;o++){var l,s,a=t[o],u=mi(a.from,h,i),c=mi(fi(a),h,i),h=a.to,i=c;\"around\"==n?(s=st((l=e.sel.ranges[o]).head,l.anchor)<0,r[o]=new ci(s?c:u,s?u:c)):r[o]=new ci(u,u)}return new ui(r,e.sel.primIndex)}(this,r,t),a=r.length-1;0<=a;a--)qi(this,r[a]);s?zi(this,s):this.cm&&Sr(this.cm)}),undo:Vr(function(){Qi(this,\"undo\")}),redo:Vr(function(){Qi(this,\"redo\")}),undoSelection:Vr(function(){Qi(this,\"undo\",!0)}),redoSelection:Vr(function(){Qi(this,\"redo\",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r<e.done.length;r++)e.done[r].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){var t=this;this.history=new Li(this.history.maxGeneration),xi(this,function(e){return e.history=t.history},!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Hi(this.history.done),undone:Hi(this.history.undone)}},setHistory:function(e){var t=this.history=new Li(this.history.maxGeneration);t.done=Hi(e.done.slice(0),null,!0),t.undone=Hi(e.undone.slice(0),null,!0)},setGutterMarker:Vr(function(e,n,r){return oo(this,e,\"gutter\",function(e){var t=e.gutterMarkers||(e.gutterMarkers={});return!(t[n]=r)&&ne(t)&&(e.gutterMarkers=null),1})}),clearGutter:Vr(function(t){var n=this;this.iter(function(e){e.gutterMarkers&&e.gutterMarkers[t]&&oo(n,e,\"gutter\",function(){return e.gutterMarkers[t]=null,ne(e.gutterMarkers)&&(e.gutterMarkers=null),1})})}),lineInfo:function(e){var t;if(\"number\"==typeof e){if(!it(this,e))return null;if(!(e=Qe(this,t=e)))return null}else if(null==(t=nt(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:Vr(function(e,n,r){return oo(this,e,\"gutter\"==n?\"gutter\":\"class\",function(e){var t=\"text\"==n?\"textClass\":\"background\"==n?\"bgClass\":\"gutter\"==n?\"gutterClass\":\"wrapClass\";if(e[t]){if(L(r).test(e[t]))return;e[t]+=\" \"+r}else e[t]=r;return 1})}),removeLineClass:Vr(function(e,o,l){return oo(this,e,\"gutter\"==o?\"gutter\":\"class\",function(e){var t=\"text\"==o?\"textClass\":\"background\"==o?\"bgClass\":\"gutter\"==o?\"gutterClass\":\"wrapClass\",n=e[t];if(n){if(null==l)e[t]=null;else{var r=n.match(L(l));if(!r)return;var i=r.index+r[0].length;e[t]=n.slice(0,r.index)+(r.index&&i!=n.length?\" \":\"\")+n.slice(i)||null}return 1}})}),addLineWidget:Vr(function(e,t,n){return i=e,o=new ao(r=this,t,n),(l=r.cm)&&o.noHScroll&&(l.display.alignWidgets=!0),oo(r,i,\"widget\",function(e){var t,n=e.widgets||(e.widgets=[]);return null==o.insertAt?n.push(o):n.splice(Math.min(n.length-1,Math.max(0,o.insertAt)),0,o),o.line=e,l&&!jt(r,e)&&(t=Xt(e)<r.scrollTop,tt(e,e.height+yn(o)),t&&Cr(l,o.height),l.curOp.forceUpdate=!0),1}),l&&un(l,\"lineWidgetAdded\",l,o,\"number\"==typeof i?i:nt(i)),o;var r,i,o,l}),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return fo(this,ft(this,e),ft(this,t),n,n&&n.type||\"range\")},setBookmark:function(e,t){var n={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return fo(this,e=ft(this,e),e,n,\"bookmark\")},findMarksAt:function(e){var t=[],n=Qe(this,(e=ft(this,e)).line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(i,o,l){i=ft(this,i),o=ft(this,o);var s=[],a=i.line;return this.iter(i.line,o.line+1,function(e){var t=e.markedSpans;if(t)for(var n=0;n<t.length;n++){var r=t[n];null!=r.to&&a==i.line&&i.ch>=r.to||null==r.from&&a!=i.line||null!=r.from&&a==o.line&&r.from>=o.ch||l&&!l(r.marker)||s.push(r.marker.parent||r.marker)}++a}),s},getAllMarks:function(){var r=[];return this.iter(function(e){var t=e.markedSpans;if(t)for(var n=0;n<t.length;++n)null!=t[n].from&&r.push(t[n].marker)}),r},posFromIndex:function(n){var r,i=this.first,o=this.lineSeparator().length;return this.iter(function(e){var t=e.text.length+o;if(n<t)return r=n,!0;n-=t,++i}),ft(this,lt(i,r))},indexFromPos:function(e){var t=(e=ft(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,function(e){t+=e.text.length+n}),t},copy:function(e){var t=new vo(et(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e=e||{};var t=this.first,n=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to);var r=new vo(et(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:e.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],function(e,t){for(var n=0;n<t.length;n++){var r,i=t[n],o=i.find(),l=e.clipPos(o.from),s=e.clipPos(o.to);st(l,s)&&(r=fo(e,l,s,i.primary,i.primary.type),i.markers.push(r),r.parent=i)}}(r,go(this)),r},unlinkDoc:function(e){if(e instanceof pl&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t){if(this.linked[t].doc==e){this.linked.splice(t,1),e.unlinkDoc(this),function(o){for(var e=0;e<o.length;e++)!function(e){var t=o[e],n=[t.primary.doc];xi(t.primary.doc,function(e){return n.push(e)});for(var r=0;r<t.markers.length;r++){var i=t.markers[r];-1==B(n,i.doc)&&(i.parent=null,t.markers.splice(r--,1))}}(e)}(go(this));break}}var n;e.history==this.history&&(n=[e.id],xi(e,function(e){return n.push(e.id)},!0),e.history=new Li(null),e.history.done=Hi(this.history.done,n),e.history.undone=Hi(this.history.undone,n))},iterLinkedDocs:function(e){xi(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):Re(e)},lineSeparator:function(){return this.lineSep||\"\\n\"},setDirection:Vr(function(e){var t;\"rtl\"!=e&&(e=\"ltr\"),e!=this.direction&&(this.direction=e,this.iter(function(e){return e.order=null}),this.cm&&Br(t=this.cm,function(){Si(t),ir(t)}))})}),vo.prototype.eachLine=vo.prototype.iter;var yo=0;function bo(e){var r=this;if(wo(r),!Le(r,e)&&!bn(r.display,e)){Ne(e),x&&(yo=+new Date);var t=nr(r,e,!0),n=e.dataTransfer.files;if(t&&!r.isReadOnly())if(n&&n.length&&window.FileReader&&window.File)for(var i=n.length,o=Array(i),l=0,s=function(){++l==i&&Gr(r,function(){var e={from:t=ft(r.doc,t),to:t,text:r.doc.splitLines(o.filter(function(e){return null!=e}).join(r.doc.lineSeparator())),origin:\"paste\"};qi(r.doc,e),zi(r.doc,di(ft(r.doc,t),ft(r.doc,fi(e))))})()},a=0;a<n.length;a++)!function(e,t){var n;r.options.allowDropFileTypes&&-1==B(r.options.allowDropFileTypes,e.type)?s():((n=new FileReader).onerror=s,n.onload=function(){var e=n.result;/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(e)||(o[t]=e),s()},n.readAsText(e))}(n[a],a);else{if(r.state.draggingText&&-1<r.doc.sel.contains(t))return r.state.draggingText(e),void setTimeout(function(){return r.display.input.focus()},20);try{var u,c=e.dataTransfer.getData(\"Text\");if(c){if(r.state.draggingText&&!r.state.draggingText.copy&&(u=r.listSelections()),Gi(r.doc,di(t,t)),u)for(var h=0;h<u.length;++h)to(r.doc,\"\",u[h].anchor,u[h].head,\"drag\");r.replaceSelection(c,\"around\",\"paste\"),r.display.input.focus()}}catch(e){}}}}function wo(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function xo(t){if(document.getElementsByClassName){for(var e=document.getElementsByClassName(\"CodeMirror\"),n=[],r=0;r<e.length;r++){var i=e[r].CodeMirror;i&&n.push(i)}n.length&&n[0].operation(function(){for(var e=0;e<n.length;e++)t(n[e])})}}var Co=!1;function So(){var e;Co||(we(window,\"resize\",function(){null==e&&(e=setTimeout(function(){e=null,xo(Lo)},100))}),we(window,\"blur\",function(){return xo(vr)}),Co=!0)}function Lo(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var ko={3:\"Pause\",8:\"Backspace\",9:\"Tab\",13:\"Enter\",16:\"Shift\",17:\"Ctrl\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Esc\",32:\"Space\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",44:\"PrintScrn\",45:\"Insert\",46:\"Delete\",59:\";\",61:\"=\",91:\"Mod\",92:\"Mod\",93:\"Mod\",106:\"*\",107:\"=\",109:\"-\",110:\".\",111:\"/\",145:\"ScrollLock\",173:\"-\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\",224:\"Mod\",63232:\"Up\",63233:\"Down\",63234:\"Left\",63235:\"Right\",63272:\"Delete\",63273:\"Home\",63275:\"End\",63276:\"PageUp\",63277:\"PageDown\",63302:\"Insert\"},To=0;To<10;To++)ko[To+48]=ko[To+96]=String(To);for(var Mo=65;Mo<=90;Mo++)ko[Mo]=String.fromCharCode(Mo);for(var No=1;No<=12;No++)ko[No+111]=ko[No+63235]=\"F\"+No;var Ao={};function Oo(e){var t,n,r,i,o=e.split(/-(?!$)/);e=o[o.length-1];for(var l=0;l<o.length-1;l++){var s=o[l];if(/^(cmd|meta|m)$/i.test(s))i=!0;else if(/^a(lt)?$/i.test(s))t=!0;else if(/^(c|ctrl|control)$/i.test(s))n=!0;else{if(!/^s(hift)?$/i.test(s))throw new Error(\"Unrecognized modifier name: \"+s);r=!0}}return t&&(e=\"Alt-\"+e),n&&(e=\"Ctrl-\"+e),i&&(e=\"Cmd-\"+e),r&&(e=\"Shift-\"+e),e}function Do(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if(\"...\"==r){delete e[n];continue}for(var i=q(n.split(\" \"),Oo),o=0;o<i.length;o++){var l=void 0,s=void 0,l=o==i.length-1?(s=i.join(\" \"),r):(s=i.slice(0,o+1).join(\" \"),\"...\"),a=t[s];if(a){if(a!=l)throw new Error(\"Inconsistent bindings for \"+s)}else t[s]=l}delete e[n]}for(var u in t)e[u]=t[u];return e}function Wo(e,t,n,r){var i=(t=Eo(t)).call?t.call(e,r):t[e];if(!1===i)return\"nothing\";if(\"...\"===i)return\"multi\";if(null!=i&&n(i))return\"handled\";if(t.fallthrough){if(\"[object Array]\"!=Object.prototype.toString.call(t.fallthrough))return Wo(e,t.fallthrough,n,r);for(var o=0;o<t.fallthrough.length;o++){var l=Wo(e,t.fallthrough[o],n,r);if(l)return l}}}function Ho(e){var t=\"string\"==typeof e?e:ko[e.keyCode];return\"Ctrl\"==t||\"Alt\"==t||\"Shift\"==t||\"Mod\"==t}function Fo(e,t,n){var r=e;return t.altKey&&\"Alt\"!=r&&(e=\"Alt-\"+e),(w?t.metaKey:t.ctrlKey)&&\"Ctrl\"!=r&&(e=\"Ctrl-\"+e),(w?t.ctrlKey:t.metaKey)&&\"Mod\"!=r&&(e=\"Cmd-\"+e),!n&&t.shiftKey&&\"Shift\"!=r&&(e=\"Shift-\"+e),e}function Po(e,t){if(m&&34==e.keyCode&&e.char)return!1;var n=ko[e.keyCode];return null!=n&&!e.altGraphKey&&(3==e.keyCode&&e.code&&(n=e.code),Fo(n,e,t))}function Eo(e){return\"string\"==typeof e?Ao[e]:e}function Io(t,e){for(var n=t.doc.sel.ranges,r=[],i=0;i<n.length;i++){for(var o=e(n[i]);r.length&&st(o.from,$(r).to)<=0;){var l=r.pop();if(st(l.from,o.from)<0){o.from=l.from;break}}r.push(o)}Br(t,function(){for(var e=r.length-1;0<=e;e--)to(t.doc,\"\",r[e].from,r[e].to,\"+delete\");Sr(t)})}function Ro(e,t,n){var r=oe(e.text,t+n,n);return r<0||r>e.text.length?null:r}function zo(e,t,n){var r=Ro(e,t.ch,n);return null==r?null:new lt(t.line,r,n<0?\"after\":\"before\")}function Bo(e,t,n,r,i){if(e){\"rtl\"==t.doc.direction&&(i=-i);var o=ye(n,t.doc.direction);if(o){var l,s,a,u=i<0?$(o):o[0],c=i<0==(1==u.level)?\"after\":\"before\";return 0<u.level||\"rtl\"==t.doc.direction?(l=An(t,n),s=i<0?n.text.length-1:0,a=On(t,l,s).top,s=le(function(e){return On(t,l,e).top==a},i<0==(1==u.level)?u.from:u.to-1,s),\"before\"==c&&(s=Ro(n,s,1))):s=i<0?u.to:u.from,new lt(r,s,c)}}return new lt(r,i<0?n.text.length:0,i<0?\"before\":\"after\")}function Go(t,n,s,e){var a=ye(n,t.doc.direction);if(!a)return zo(n,s,e);s.ch>=n.text.length?(s.ch=n.text.length,s.sticky=\"before\"):s.ch<=0&&(s.ch=0,s.sticky=\"after\");var r=ae(a,s.ch,s.sticky),i=a[r];if(\"ltr\"==t.doc.direction&&i.level%2==0&&(0<e?i.to>s.ch:i.from<s.ch))return zo(n,s,e);function u(e,t){return Ro(n,e instanceof lt?e.ch:e,t)}function o(e){return t.options.lineWrapping?(l=l||An(t,n),_n(t,n,l,e)):{begin:0,end:n.text.length}}var l,c=o(\"before\"==s.sticky?u(s,-1):s.ch);if(\"rtl\"==t.doc.direction||1==i.level){var h=1==i.level==e<0,d=u(s,h?1:-1);if(null!=d&&(h?d<=i.to&&d<=c.end:d>=i.from&&d>=c.begin)){var f=h?\"before\":\"after\";return new lt(s.line,d,f)}}function p(e,t,n){for(var r=function(e,t){return t?new lt(s.line,u(e,1),\"before\"):new lt(s.line,e,\"after\")};0<=e&&e<a.length;e+=t){var i=a[e],o=0<t==(1!=i.level),l=o?n.begin:u(n.end,-1);if(i.from<=l&&l<i.to)return r(l,o);if(l=o?i.from:u(i.to,-1),n.begin<=l&&l<n.end)return r(l,o)}}var g=p(r+e,e,c);if(g)return g;var m=0<e?c.end:u(c.begin,-1);return null==m||0<e&&m==n.text.length||!(g=p(0<e?0:a.length-1,e,o(m)))?null:g}Ao.basic={Left:\"goCharLeft\",Right:\"goCharRight\",Up:\"goLineUp\",Down:\"goLineDown\",End:\"goLineEnd\",Home:\"goLineStartSmart\",PageUp:\"goPageUp\",PageDown:\"goPageDown\",Delete:\"delCharAfter\",Backspace:\"delCharBefore\",\"Shift-Backspace\":\"delCharBefore\",Tab:\"defaultTab\",\"Shift-Tab\":\"indentAuto\",Enter:\"newlineAndIndent\",Insert:\"toggleOverwrite\",Esc:\"singleSelection\"},Ao.pcDefault={\"Ctrl-A\":\"selectAll\",\"Ctrl-D\":\"deleteLine\",\"Ctrl-Z\":\"undo\",\"Shift-Ctrl-Z\":\"redo\",\"Ctrl-Y\":\"redo\",\"Ctrl-Home\":\"goDocStart\",\"Ctrl-End\":\"goDocEnd\",\"Ctrl-Up\":\"goLineUp\",\"Ctrl-Down\":\"goLineDown\",\"Ctrl-Left\":\"goGroupLeft\",\"Ctrl-Right\":\"goGroupRight\",\"Alt-Left\":\"goLineStart\",\"Alt-Right\":\"goLineEnd\",\"Ctrl-Backspace\":\"delGroupBefore\",\"Ctrl-Delete\":\"delGroupAfter\",\"Ctrl-S\":\"save\",\"Ctrl-F\":\"find\",\"Ctrl-G\":\"findNext\",\"Shift-Ctrl-G\":\"findPrev\",\"Shift-Ctrl-F\":\"replace\",\"Shift-Ctrl-R\":\"replaceAll\",\"Ctrl-[\":\"indentLess\",\"Ctrl-]\":\"indentMore\",\"Ctrl-U\":\"undoSelection\",\"Shift-Ctrl-U\":\"redoSelection\",\"Alt-U\":\"redoSelection\",fallthrough:\"basic\"},Ao.emacsy={\"Ctrl-F\":\"goCharRight\",\"Ctrl-B\":\"goCharLeft\",\"Ctrl-P\":\"goLineUp\",\"Ctrl-N\":\"goLineDown\",\"Alt-F\":\"goWordRight\",\"Alt-B\":\"goWordLeft\",\"Ctrl-A\":\"goLineStart\",\"Ctrl-E\":\"goLineEnd\",\"Ctrl-V\":\"goPageDown\",\"Shift-Ctrl-V\":\"goPageUp\",\"Ctrl-D\":\"delCharAfter\",\"Ctrl-H\":\"delCharBefore\",\"Alt-D\":\"delWordAfter\",\"Alt-Backspace\":\"delWordBefore\",\"Ctrl-K\":\"killLine\",\"Ctrl-T\":\"transposeChars\",\"Ctrl-O\":\"openLine\"},Ao.macDefault={\"Cmd-A\":\"selectAll\",\"Cmd-D\":\"deleteLine\",\"Cmd-Z\":\"undo\",\"Shift-Cmd-Z\":\"redo\",\"Cmd-Y\":\"redo\",\"Cmd-Home\":\"goDocStart\",\"Cmd-Up\":\"goDocStart\",\"Cmd-End\":\"goDocEnd\",\"Cmd-Down\":\"goDocEnd\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\",\"Cmd-Left\":\"goLineLeft\",\"Cmd-Right\":\"goLineRight\",\"Alt-Backspace\":\"delGroupBefore\",\"Ctrl-Alt-Backspace\":\"delGroupAfter\",\"Alt-Delete\":\"delGroupAfter\",\"Cmd-S\":\"save\",\"Cmd-F\":\"find\",\"Cmd-G\":\"findNext\",\"Shift-Cmd-G\":\"findPrev\",\"Cmd-Alt-F\":\"replace\",\"Shift-Cmd-Alt-F\":\"replaceAll\",\"Cmd-[\":\"indentLess\",\"Cmd-]\":\"indentMore\",\"Cmd-Backspace\":\"delWrappedLineLeft\",\"Cmd-Delete\":\"delWrappedLineRight\",\"Cmd-U\":\"undoSelection\",\"Shift-Cmd-U\":\"redoSelection\",\"Ctrl-Up\":\"goDocStart\",\"Ctrl-Down\":\"goDocEnd\",fallthrough:[\"basic\",\"emacsy\"]},Ao.default=y?Ao.macDefault:Ao.pcDefault;var Uo={selectAll:_i,singleSelection:function(e){return e.setSelection(e.getCursor(\"anchor\"),e.getCursor(\"head\"),V)},killLine:function(n){return Io(n,function(e){if(e.empty()){var t=Qe(n.doc,e.head.line).text.length;return e.head.ch==t&&e.head.line<n.lastLine()?{from:e.head,to:lt(e.head.line+1,0)}:{from:e.head,to:lt(e.head.line,t)}}return{from:e.from(),to:e.to()}})},deleteLine:function(t){return Io(t,function(e){return{from:lt(e.from().line,0),to:ft(t.doc,lt(e.to().line+1,0))}})},delLineLeft:function(e){return Io(e,function(e){return{from:lt(e.from().line,0),to:e.from()}})},delWrappedLineLeft:function(n){return Io(n,function(e){var t=n.charCoords(e.head,\"div\").top+5;return{from:n.coordsChar({left:0,top:t},\"div\"),to:e.from()}})},delWrappedLineRight:function(r){return Io(r,function(e){var t=r.charCoords(e.head,\"div\").top+5,n=r.coordsChar({left:r.display.lineDiv.offsetWidth+100,top:t},\"div\");return{from:e.from(),to:n}})},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(lt(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(lt(e.lastLine()))},goLineStart:function(t){return t.extendSelectionsBy(function(e){return Vo(t,e.head.line)},{origin:\"+move\",bias:1})},goLineStartSmart:function(t){return t.extendSelectionsBy(function(e){return Ko(t,e.head)},{origin:\"+move\",bias:1})},goLineEnd:function(t){return t.extendSelectionsBy(function(e){return function(e,t){var n=Qe(e.doc,t),r=function(e){for(var t;t=Bt(e);)e=t.find(1,!0).line;return e}(n);r!=n&&(t=nt(r));return Bo(!0,e,n,t,-1)}(t,e.head.line)},{origin:\"+move\",bias:-1})},goLineRight:function(n){return n.extendSelectionsBy(function(e){var t=n.cursorCoords(e.head,\"div\").top+5;return n.coordsChar({left:n.display.lineDiv.offsetWidth+100,top:t},\"div\")},j)},goLineLeft:function(n){return n.extendSelectionsBy(function(e){var t=n.cursorCoords(e.head,\"div\").top+5;return n.coordsChar({left:0,top:t},\"div\")},j)},goLineLeftSmart:function(r){return r.extendSelectionsBy(function(e){var t=r.cursorCoords(e.head,\"div\").top+5,n=r.coordsChar({left:0,top:t},\"div\");return n.ch<r.getLine(n.line).search(/\\S/)?Ko(r,e.head):n},j)},goLineUp:function(e){return e.moveV(-1,\"line\")},goLineDown:function(e){return e.moveV(1,\"line\")},goPageUp:function(e){return e.moveV(-1,\"page\")},goPageDown:function(e){return e.moveV(1,\"page\")},goCharLeft:function(e){return e.moveH(-1,\"char\")},goCharRight:function(e){return e.moveH(1,\"char\")},goColumnLeft:function(e){return e.moveH(-1,\"column\")},goColumnRight:function(e){return e.moveH(1,\"column\")},goWordLeft:function(e){return e.moveH(-1,\"word\")},goGroupRight:function(e){return e.moveH(1,\"group\")},goGroupLeft:function(e){return e.moveH(-1,\"group\")},goWordRight:function(e){return e.moveH(1,\"word\")},delCharBefore:function(e){return e.deleteH(-1,\"codepoint\")},delCharAfter:function(e){return e.deleteH(1,\"char\")},delWordBefore:function(e){return e.deleteH(-1,\"word\")},delWordAfter:function(e){return e.deleteH(1,\"word\")},delGroupBefore:function(e){return e.deleteH(-1,\"group\")},delGroupAfter:function(e){return e.deleteH(1,\"group\")},indentAuto:function(e){return e.indentSelection(\"smart\")},indentMore:function(e){return e.indentSelection(\"add\")},indentLess:function(e){return e.indentSelection(\"subtract\")},insertTab:function(e){return e.replaceSelection(\"\\t\")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),r=e.options.tabSize,i=0;i<n.length;i++){var o=n[i].from(),l=R(e.getLine(o.line),o.ch,r);t.push(_(r-l%r))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection(\"add\"):e.execCommand(\"insertTab\")},transposeChars:function(l){return Br(l,function(){for(var e,t,n,r=l.listSelections(),i=[],o=0;o<r.length;o++){r[o].empty()&&(e=r[o].head,(t=Qe(l.doc,e.line).text)&&(e.ch==t.length&&(e=new lt(e.line,e.ch-1)),0<e.ch?(e=new lt(e.line,e.ch+1),l.replaceRange(t.charAt(e.ch-1)+t.charAt(e.ch-2),lt(e.line,e.ch-2),e,\"+transpose\")):e.line>l.doc.first&&((n=Qe(l.doc,e.line-1).text)&&(e=new lt(e.line,1),l.replaceRange(t.charAt(0)+l.doc.lineSeparator()+n.charAt(n.length-1),lt(e.line-1,n.length-1),e,\"+transpose\")))),i.push(new ci(e,e)))}l.setSelections(i)})},newlineAndIndent:function(r){return Br(r,function(){for(var e=r.listSelections(),t=e.length-1;0<=t;t--)r.replaceRange(r.doc.lineSeparator(),e[t].anchor,e[t].head,\"+input\");e=r.listSelections();for(var n=0;n<e.length;n++)r.indentLine(e[n].from().line,null,!0);Sr(r)})},openLine:function(e){return e.replaceSelection(\"\\n\",\"start\")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function Vo(e,t){var n=Qe(e.doc,t),r=Ut(n);return r!=n&&(t=nt(r)),Bo(!0,e,r,t,1)}function Ko(e,t){var n=Vo(e,t.line),r=Qe(e.doc,n.line),i=ye(r,e.doc.direction);if(i&&0!=i[0].level)return n;var o=Math.max(n.ch,r.text.search(/\\S/)),l=t.line==n.line&&t.ch<=o&&t.ch;return lt(n.line,l?0:o,n.sticky)}function jo(e,t,n){if(\"string\"==typeof t&&!(t=Uo[t]))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=U}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}var Xo=new z;function Yo(e,t,n,r){var i=e.state.keySeq;if(i){if(Ho(t))return\"handled\";if(/\\'$/.test(t)?e.state.keySeq=null:Xo.set(50,function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())}),_o(e,i+\" \"+t,n,r))return!0}return _o(e,t,n,r)}function _o(e,t,n,r){var i=function(e,t,n){for(var r=0;r<e.state.keyMaps.length;r++){var i=Wo(t,e.state.keyMaps[r],n,e);if(i)return i}return e.options.extraKeys&&Wo(t,e.options.extraKeys,n,e)||Wo(t,e.options.keyMap,n,e)}(e,t,r);return\"multi\"==i&&(e.state.keySeq=t),\"handled\"==i&&un(e,\"keyHandled\",e,t,n),\"handled\"!=i&&\"multi\"!=i||(Ne(n),fr(e)),!!i}function $o(t,e){var n=Po(e,!0);return!!n&&(e.shiftKey&&!t.state.keySeq?Yo(t,\"Shift-\"+n,e,function(e){return jo(t,e,!0)})||Yo(t,n,e,function(e){if(\"string\"==typeof e?/^go[A-Z]/.test(e):e.motion)return jo(t,e)}):Yo(t,n,e,function(e){return jo(t,e)}))}var qo=null;function Zo(e){var t,n,r,i=this;function o(e){18!=e.keyCode&&e.altKey||(T(r,\"CodeMirror-crosshair\"),Ce(document,\"keyup\",o),Ce(document,\"mouseover\",o))}e.target&&e.target!=i.display.input.getField()||(i.curOp.focus=W(),Le(i,e)||(x&&C<11&&27==e.keyCode&&(e.returnValue=!1),t=e.keyCode,i.display.shift=16==t||e.shiftKey,n=$o(i,e),m&&(qo=n?t:null,!n&&88==t&&!Be&&(y?e.metaKey:e.ctrlKey)&&i.replaceSelection(\"\",null,\"cut\")),g&&!y&&!n&&46==t&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand(\"cut\"),18!=t||/\\bCodeMirror-crosshair\\b/.test(i.display.lineDiv.className)||(H(r=i.display.lineDiv,\"CodeMirror-crosshair\"),we(document,\"keyup\",o),we(document,\"mouseover\",o))))}function Qo(e){16==e.keyCode&&(this.doc.sel.shift=!1),Le(this,e)}function Jo(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||bn(t.display,e)||Le(t,e)||e.ctrlKey&&!e.altKey||y&&e.metaKey)){var n,r,i=e.keyCode,o=e.charCode;if(m&&i==qo)return qo=null,void Ne(e);m&&(!e.which||e.which<10)&&$o(t,e)||\"\\b\"!=(n=String.fromCharCode(null==o?i:o))&&(Yo(r=t,\"'\"+n+\"'\",e,function(e){return jo(r,e,!0)})||t.display.input.onKeyPress(e))}}var el,tl,nl=function(e,t,n){this.time=e,this.pos=t,this.button=n};function rl(e){var t,n,r,i,o,l,s=this,a=s.display;Le(s,e)||a.activeTouch&&a.input.supportsTouch()||(a.input.ensurePolled(),a.shift=e.shiftKey,bn(a,e)?v||(a.scroller.draggable=!1,setTimeout(function(){return a.scroller.draggable=!0},100)):ll(s,e)||(t=nr(s,e),n=He(e),r=t?(i=t,o=n,l=+new Date,tl&&tl.compare(l,i,o)?(el=tl=null,\"triple\"):el&&el.compare(l,i,o)?(tl=new nl(l,i,o),el=null,\"double\"):(el=new nl(l,i,o),tl=null,\"single\")):\"single\",window.focus(),1==n&&s.state.selectingText&&s.state.selectingText(e),t&&function(n,e,r,t,i){var o=\"Click\";\"double\"==t?o=\"Double\"+o:\"triple\"==t&&(o=\"Triple\"+o);return Yo(n,Fo(o=(1==e?\"Left\":2==e?\"Middle\":\"Right\")+o,i),i,function(e){if(\"string\"==typeof e&&(e=Uo[e]),!e)return!1;var t=!1;try{n.isReadOnly()&&(n.state.suppressEdits=!0),t=e(n,r)!=U}finally{n.state.suppressEdits=!1}return t})}(s,n,t,r,e)||(1==n?t?function(e,t,n,r){x?setTimeout(E(pr,e),0):e.curOp.focus=W();var i,o=function(e,t,n){var r=e.getOption(\"configureMouse\"),i=r?r(e,t,n):{};{var o;null==i.unit&&(o=f?n.shiftKey&&n.metaKey:n.altKey,i.unit=o?\"rectangle\":\"single\"==t?\"char\":\"double\"==t?\"word\":\"line\")}null!=i.extend&&!e.doc.extend||(i.extend=e.doc.extend||n.shiftKey);null==i.addNew&&(i.addNew=y?n.metaKey:n.ctrlKey);null==i.moveOnDrag&&(i.moveOnDrag=!(y?n.altKey:n.ctrlKey));return i}(e,n,r),l=e.doc.sel;(e.options.dragDrop&&Ee&&!e.isReadOnly()&&\"single\"==n&&-1<(i=l.contains(t))&&(st((i=l.ranges[i]).from(),t)<0||0<t.xRel)&&(0<st(i.to(),t)||t.xRel<0)?function(t,n,r,i){var o=t.display,l=!1,s=Gr(t,function(e){v&&(o.scroller.draggable=!1),t.state.draggingText=!1,Ce(o.wrapper.ownerDocument,\"mouseup\",s),Ce(o.wrapper.ownerDocument,\"mousemove\",a),Ce(o.scroller,\"dragstart\",u),Ce(o.scroller,\"drop\",s),l||(Ne(e),i.addNew||Pi(t.doc,r,null,null,i.extend),v&&!c||x&&9==C?setTimeout(function(){o.wrapper.ownerDocument.body.focus({preventScroll:!0}),o.input.focus()},20):o.input.focus())}),a=function(e){l=l||10<=Math.abs(n.clientX-e.clientX)+Math.abs(n.clientY-e.clientY)},u=function(){return l=!0};v&&(o.scroller.draggable=!0);(t.state.draggingText=s).copy=!i.moveOnDrag,o.scroller.dragDrop&&o.scroller.dragDrop();we(o.wrapper.ownerDocument,\"mouseup\",s),we(o.wrapper.ownerDocument,\"mousemove\",a),we(o.scroller,\"dragstart\",u),we(o.scroller,\"drop\",s),gr(t),setTimeout(function(){return o.input.focus()},20)}:function(m,e,v,y){var l=m.display,b=m.doc;Ne(e);var w,x,C=b.sel,t=C.ranges;y.addNew&&!y.extend?(x=b.sel.contains(v),w=-1<x?t[x]:new ci(v,v)):(w=b.sel.primary(),x=b.sel.primIndex);{var n;\"rectangle\"==y.unit?(y.addNew||(w=new ci(v,v)),v=nr(m,e,!0,!0),x=-1):(n=il(m,v,y.unit),w=y.extend?Fi(w,n.anchor,n.head,y.extend):n)}y.addNew?-1==x?(x=t.length,Bi(b,hi(m,t.concat([w]),x),{scroll:!1,origin:\"*mouse\"})):1<t.length&&t[x].empty()&&\"char\"==y.unit&&!y.extend?(Bi(b,hi(m,t.slice(0,x).concat(t.slice(x+1)),0),{scroll:!1,origin:\"*mouse\"}),C=b.sel):Ii(b,x,w,K):(Bi(b,new ui([w],x=0),K),C=b.sel);var S=v;function s(e){if(0!=st(S,e))if(S=e,\"rectangle\"==y.unit){for(var t=[],n=m.options.tabSize,r=R(Qe(b,v.line).text,v.ch,n),i=R(Qe(b,e.line).text,e.ch,n),o=Math.min(r,i),l=Math.max(r,i),s=Math.min(v.line,e.line),a=Math.min(m.lastLine(),Math.max(v.line,e.line));s<=a;s++){var u=Qe(b,s).text,c=X(u,o,n);o==l?t.push(new ci(lt(s,c),lt(s,c))):u.length>c&&t.push(new ci(lt(s,c),lt(s,X(u,l,n))))}t.length||t.push(new ci(v,v)),Bi(b,hi(m,C.ranges.slice(0,x).concat(t),x),{origin:\"*mouse\",scroll:!1}),m.scrollIntoView(e)}else{var h,d=w,f=il(m,e,y.unit),p=d.anchor,p=0<st(f.anchor,p)?(h=f.head,ht(d.from(),f.anchor)):(h=f.anchor,ct(d.to(),f.head)),g=C.ranges.slice(0);g[x]=function(e,t){var n=t.anchor,r=t.head,i=Qe(e.doc,n.line);if(0==st(n,r)&&n.sticky==r.sticky)return t;var o=ye(i);if(!o)return t;var l=ae(o,n.ch,n.sticky),s=o[l];if(s.from!=n.ch&&s.to!=n.ch)return t;var a,u=l+(s.from==n.ch==(1!=s.level)?0:1);if(0==u||u==o.length)return t;{var c,h;a=r.line!=n.line?0<(r.line-n.line)*(\"ltr\"==e.doc.direction?1:-1):(c=ae(o,r.ch,r.sticky),h=c-l||(r.ch-n.ch)*(1==s.level?-1:1),c==u-1||c==u?h<0:0<h)}var d=o[u+(a?-1:0)],f=a==(1==d.level),p=f?d.from:d.to,g=f?\"after\":\"before\";return n.ch==p&&n.sticky==g?t:new ci(new lt(n.line,p,g),r)}(m,new ci(ft(b,p),h)),Bi(b,hi(m,g,x),K)}}var a=l.wrapper.getBoundingClientRect(),u=0;function r(e){m.state.selectingText=!1,u=1/0,e&&(Ne(e),l.input.focus()),Ce(l.wrapper.ownerDocument,\"mousemove\",i),Ce(l.wrapper.ownerDocument,\"mouseup\",o),b.history.lastSelOrigin=null}var i=Gr(m,function(e){(0!==e.buttons&&He(e)?function e(t){var n,r,i=++u,o=nr(m,t,!0,\"rectangle\"==y.unit);o&&(0!=st(o,S)?(m.curOp.focus=W(),s(o),n=wr(l,b),(o.line>=n.to||o.line<n.from)&&setTimeout(Gr(m,function(){u==i&&e(t)}),150)):(r=t.clientY<a.top?-20:t.clientY>a.bottom?20:0)&&setTimeout(Gr(m,function(){u==i&&(l.scroller.scrollTop+=r,e(t))}),50))}:r)(e)}),o=Gr(m,r);m.state.selectingText=o,we(l.wrapper.ownerDocument,\"mousemove\",i),we(l.wrapper.ownerDocument,\"mouseup\",o)})(e,r,t,o)}(s,t,r,e):We(e)==a.scroller&&Ne(e):2==n?(t&&Pi(s.doc,t),setTimeout(function(){return a.input.focus()},20)):3==n&&(S?s.display.input.onContextMenu(e):gr(s)))))}function il(e,t,n){if(\"char\"==n)return new ci(t,t);if(\"word\"==n)return e.findWordAt(t);if(\"line\"==n)return new ci(lt(t.line,0),ft(e.doc,lt(t.line+1,0)));var r=n(e,t);return new ci(r.from,r.to)}function ol(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(e){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&Ne(t);var l=e.display,s=l.lineDiv.getBoundingClientRect();if(o>s.bottom||!Te(e,n))return Oe(t);o-=s.top-l.viewOffset;for(var a=0;a<e.display.gutterSpecs.length;++a){var u=l.gutters.childNodes[a];if(u&&u.getBoundingClientRect().right>=i)return Se(e,n,e,rt(e.doc,o),e.display.gutterSpecs[a].className,t),Oe(t)}}function ll(e,t){return ol(e,t,\"gutterClick\",!0)}function sl(e,t){var n,r;bn(e.display,t)||(r=t,Te(n=e,\"gutterContextMenu\")&&ol(n,r,\"gutterContextMenu\",!1))||Le(e,t,\"contextmenu\")||S||e.display.input.onContextMenu(t)}function al(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\\s*cm-s-\\S+/g,\"\")+e.options.theme.replace(/(^|\\s)\\s*/g,\" cm-s-\"),En(e)}nl.prototype.compare=function(e,t,n){return this.time+400>e&&0==st(t,this.pos)&&n==this.button};var ul={toString:function(){return\"CodeMirror.Init\"}},cl={},hl={};function dl(e,t,n){var r,i;!t!=!(n&&n!=ul)&&(r=e.display.dragFunctions,(i=t?we:Ce)(e.display.scroller,\"dragstart\",r.start),i(e.display.scroller,\"dragenter\",r.enter),i(e.display.scroller,\"dragover\",r.over),i(e.display.scroller,\"dragleave\",r.leave),i(e.display.scroller,\"drop\",r.drop))}function fl(e){e.options.lineWrapping?(H(e.display.wrapper,\"CodeMirror-wrap\"),e.display.sizer.style.minWidth=\"\",e.display.sizerWidth=null):(T(e.display.wrapper,\"CodeMirror-wrap\"),_t(e)),tr(e),ir(e),En(e),setTimeout(function(){return Hr(e)},100)}function pl(e,t){var n=this;if(!(this instanceof pl))return new pl(e,t);this.options=t=t?I(t):{},I(cl,t,!1);var r=t.value;\"string\"==typeof r?r=new vo(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new pl.inputStyles[t.inputStyle](this),o=this.display=new ri(e,r,i,t);for(var l in al(o.wrapper.CodeMirror=this),t.lineWrapping&&(this.display.wrapper.className+=\" CodeMirror-wrap\"),Er(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new z,keySeq:null,specialChars:null},t.autofocus&&!d&&o.input.focus(),x&&C<11&&setTimeout(function(){return n.display.input.reset(!0)},20),function(i){var o=i.display;we(o.scroller,\"mousedown\",Gr(i,rl)),we(o.scroller,\"dblclick\",x&&C<11?Gr(i,function(e){var t,n;Le(i,e)||(!(t=nr(i,e))||ll(i,e)||bn(i.display,e)||(Ne(e),n=i.findWordAt(t),Pi(i.doc,n.anchor,n.head)))}):function(e){return Le(i,e)||Ne(e)});we(o.scroller,\"contextmenu\",function(e){return sl(i,e)}),we(o.input.getField(),\"contextmenu\",function(e){o.scroller.contains(e.target)||sl(i,e)});var n,r={end:0};function l(){o.activeTouch&&(n=setTimeout(function(){return o.activeTouch=null},1e3),(r=o.activeTouch).end=+new Date)}function s(e,t){if(null==t.left)return 1;var n=t.left-e.left,r=t.top-e.top;return 400<n*n+r*r}we(o.scroller,\"touchstart\",function(e){var t;Le(i,e)||function(e){if(1==e.touches.length){var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}}(e)||ll(i,e)||(o.input.ensurePolled(),clearTimeout(n),t=+new Date,o.activeTouch={start:t,moved:!1,prev:t-r.end<=300?r:null},1==e.touches.length&&(o.activeTouch.left=e.touches[0].pageX,o.activeTouch.top=e.touches[0].pageY))}),we(o.scroller,\"touchmove\",function(){o.activeTouch&&(o.activeTouch.moved=!0)}),we(o.scroller,\"touchend\",function(e){var t,n,r=o.activeTouch;r&&!bn(o,e)&&null!=r.left&&!r.moved&&new Date-r.start<300&&(t=i.coordsChar(o.activeTouch,\"page\"),n=!r.prev||s(r,r.prev)?new ci(t,t):!r.prev.prev||s(r,r.prev.prev)?i.findWordAt(t):new ci(lt(t.line,0),ft(i.doc,lt(t.line+1,0))),i.setSelection(n.anchor,n.head),i.focus(),Ne(e)),l()}),we(o.scroller,\"touchcancel\",l),we(o.scroller,\"scroll\",function(){o.scroller.clientHeight&&(Mr(i,o.scroller.scrollTop),Ar(i,o.scroller.scrollLeft,!0),Se(i,\"scroll\",i))}),we(o.scroller,\"mousewheel\",function(e){return ai(i,e)}),we(o.scroller,\"DOMMouseScroll\",function(e){return ai(i,e)}),we(o.wrapper,\"scroll\",function(){return o.wrapper.scrollTop=o.wrapper.scrollLeft=0}),o.dragFunctions={enter:function(e){Le(i,e)||De(e)},over:function(e){var t,n,r;Le(i,e)||((r=nr(t=i,e))&&(hr(t,r,n=document.createDocumentFragment()),t.display.dragCursor||(t.display.dragCursor=O(\"div\",null,\"CodeMirror-cursors CodeMirror-dragcursors\"),t.display.lineSpace.insertBefore(t.display.dragCursor,t.display.cursorDiv)),N(t.display.dragCursor,n)),De(e))},start:function(e){return t=i,n=e,void(x&&(!t.state.draggingText||new Date-yo<100)?De(n):Le(t,n)||bn(t.display,n)||(n.dataTransfer.setData(\"Text\",t.getSelection()),n.dataTransfer.effectAllowed=\"copyMove\",n.dataTransfer.setDragImage&&!c&&((r=O(\"img\",null,null,\"position: fixed; left: 0; top: 0;\")).src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",m&&(r.width=r.height=1,t.display.wrapper.appendChild(r),r._top=r.offsetTop),n.dataTransfer.setDragImage(r,0,0),m&&r.parentNode.removeChild(r))));var t,n,r},drop:Gr(i,bo),leave:function(e){Le(i,e)||wo(i)}};var e=o.input.getField();we(e,\"keyup\",function(e){return Qo.call(i,e)}),we(e,\"keydown\",Gr(i,Zo)),we(e,\"keypress\",Gr(i,Jo)),we(e,\"focus\",function(e){return mr(i,e)}),we(e,\"blur\",function(e){return vr(i,e)})}(this),So(),Rr(this),this.curOp.forceUpdate=!0,Ci(this,r),t.autofocus&&!d||this.hasFocus()?setTimeout(function(){n.hasFocus()&&!n.state.focused&&mr(n)},20):vr(this),hl)hl.hasOwnProperty(l)&&hl[l](this,t[l],ul);Jr(this),t.finishInit&&t.finishInit(this);for(var s=0;s<gl.length;++s)gl[s](this);zr(this),v&&t.lineWrapping&&\"optimizelegibility\"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering=\"auto\")}pl.defaults=cl,pl.optionHandlers=hl;var gl=[];function ml(e,t,n,r){var i,o=e.doc;null==n&&(n=\"add\"),\"smart\"==n&&(o.mode.indent?i=bt(e,t).state:n=\"prev\");var l=e.options.tabSize,s=Qe(o,t),a=R(s.text,null,l);s.stateAfter&&(s.stateAfter=null);var u,c=s.text.match(/^\\s*/)[0];if(r||/\\S/.test(s.text)){if(\"smart\"==n&&((u=o.mode.indent(i,s.text.slice(c.length),s.text))==U||150<u)){if(!r)return;n=\"prev\"}}else u=0,n=\"not\";\"prev\"==n?u=t>o.first?R(Qe(o,t-1).text,null,l):0:\"add\"==n?u=a+e.options.indentUnit:\"subtract\"==n?u=a-e.options.indentUnit:\"number\"==typeof n&&(u=a+n),u=Math.max(0,u);var h=\"\",d=0;if(e.options.indentWithTabs)for(var f=Math.floor(u/l);f;--f)d+=l,h+=\"\\t\";if(d<u&&(h+=_(u-d)),h!=c)return to(o,h,lt(t,0),lt(t,c.length),\"+input\"),!(s.stateAfter=null);for(var p=0;p<o.sel.ranges.length;p++){var g=o.sel.ranges[p];if(g.head.line==t&&g.head.ch<c.length){var m=lt(t,c.length);Ii(o,p,new ci(m,m));break}}}pl.defineInitHook=function(e){return gl.push(e)};var vl=null;function yl(e){vl=e}function bl(e,t,n,r,i){var o=e.doc;e.display.shift=!1,r=r||o.sel;var l=new Date-200,s=\"paste\"==i||e.state.pasteIncoming>l,a=Re(t),u=null;if(s&&1<r.ranges.length)if(vl&&vl.text.join(\"\\n\")==t){if(r.ranges.length%vl.text.length==0){u=[];for(var c=0;c<vl.text.length;c++)u.push(o.splitLines(vl.text[c]))}}else a.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(u=q(a,function(e){return[e]}));for(var h=e.curOp.updateInput,d=r.ranges.length-1;0<=d;d--){var f=r.ranges[d],p=f.from(),g=f.to();f.empty()&&(n&&0<n?p=lt(p.line,p.ch-n):e.state.overwrite&&!s?g=lt(g.line,Math.min(Qe(o,g.line).text.length,g.ch+$(a).length)):s&&vl&&vl.lineWise&&vl.text.join(\"\\n\")==a.join(\"\\n\")&&(p=g=lt(p.line,0)));var m={from:p,to:g,text:u?u[d%u.length]:a,origin:i||(s?\"paste\":e.state.cutIncoming>l?\"cut\":\"+input\")};qi(e.doc,m),un(e,\"inputRead\",e,m)}t&&!s&&xl(e,t),Sr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=h),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function wl(e,t){var n=e.clipboardData&&e.clipboardData.getData(\"Text\");return n&&(e.preventDefault(),t.isReadOnly()||t.options.disableInput||Br(t,function(){return bl(t,n,0,null,\"paste\")}),1)}function xl(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;0<=r;r--){var i=n.ranges[r];if(!(100<i.head.ch||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),l=!1;if(o.electricChars){for(var s=0;s<o.electricChars.length;s++)if(-1<t.indexOf(o.electricChars.charAt(s))){l=ml(e,i.head.line,\"smart\");break}}else o.electricInput&&o.electricInput.test(Qe(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=ml(e,i.head.line,\"smart\"));l&&un(e,\"electricInput\",e,i.head.line)}}}function Cl(e){for(var t=[],n=[],r=0;r<e.doc.sel.ranges.length;r++){var i=e.doc.sel.ranges[r].head.line,o={anchor:lt(i,0),head:lt(i+1,0)};n.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:n}}function Sl(e,t,n,r){e.setAttribute(\"autocorrect\",n?\"\":\"off\"),e.setAttribute(\"autocapitalize\",r?\"\":\"off\"),e.setAttribute(\"spellcheck\",!!t)}function Ll(){var e=O(\"textarea\",null,null,\"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\"),t=O(\"div\",[e],null,\"overflow: hidden; position: relative; width: 3px; height: 0px;\");return v?e.style.width=\"1000px\":e.setAttribute(\"wrap\",\"off\"),a&&(e.style.border=\"1px solid black\"),Sl(e),t}function kl(i,o,l,s,a){var e=o,t=l,u=Qe(i,o.line),c=a&&\"rtl\"==i.direction?-l:l;function n(e){var t,n,r;if(null==(n=\"codepoint\"==s?(t=u.text.charCodeAt(o.ch+(0<s?0:-1)),isNaN(t)?null:new lt(o.line,Math.max(0,Math.min(u.text.length,o.ch+l*(55296<=t&&t<56320?2:1))),-l)):a?Go(i.cm,u,o,l):zo(u,o,l))){if(e||(r=o.line+c)<i.first||r>=i.first+i.size||(o=new lt(r,o.ch,o.sticky),!(u=Qe(i,r))))return;o=Bo(a,i.cm,u,o.line,c)}else o=n;return 1}if(\"char\"==s||\"codepoint\"==s)n();else if(\"column\"==s)n(!0);else if(\"word\"==s||\"group\"==s)for(var r=null,h=\"group\"==s,d=i.cm&&i.cm.getHelper(o,\"wordChars\"),f=!0;!(l<0)||n(!f);f=!1){var p=u.text.charAt(o.ch)||\"\\n\",g=te(p,d)?\"w\":h&&\"\\n\"==p?\"n\":!h||/\\s/.test(p)?null:\"p\";if(!h||f||g||(g=\"s\"),r&&r!=g){l<0&&(l=1,n(),o.sticky=\"after\");break}if(g&&(r=g),0<l&&!n(!f))break}var m=Xi(i,o,e,t,!0);return at(e,m)&&(m.hitSide=!0),m}function Tl(e,t,n,r){var i,o,l,s,a=e.doc,u=t.left;for(\"page\"==r?(i=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),o=Math.max(i-.5*qn(e.display),3),l=(0<n?t.bottom:t.top)+n*o):\"line\"==r&&(l=0<n?t.bottom+3:t.top-3);(s=Xn(e,u,l)).outside;){if(n<0?l<=0:l>=a.height){s.hitSide=!0;break}l+=5*n}return s}function Ml(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new z,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null}function Nl(e,t){var n=Nn(e,t.line);if(!n||n.hidden)return null;var r=Qe(e.doc,t.line),i=Tn(n,r,t.line),o=ye(r,e.doc.direction),l=\"left\";o&&(l=ae(o,t.ch)%2?\"right\":\"left\");var s=Hn(i.map,t.ch,l);return s.offset=\"right\"==s.collapse?s.end:s.start,s}function Al(e,t){return t&&(e.bad=!0),e}function Ol(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Al(e.clipPos(lt(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==r)return function(u,e,t){var n=u.text.firstChild,r=!1;if(!e||!D(n,e))return Al(lt(nt(u.line),0),!0);if(e==n&&(r=!0,e=n.childNodes[t],t=0,!e)){var i=u.rest?$(u.rest):u.line;return Al(lt(nt(i),i.text.length),r)}var o=3==e.nodeType?e:null,l=e;o||1!=e.childNodes.length||3!=e.firstChild.nodeType||(o=e.firstChild,t=t&&o.nodeValue.length);for(;l.parentNode!=n;)l=l.parentNode;var c=u.measure,h=c.maps;function s(e,t,n){for(var r=-1;r<(h?h.length:0);r++)for(var i=r<0?c.map:h[r],o=0;o<i.length;o+=3){var l=i[o+2];if(l==e||l==t){var s=nt(r<0?u.line:u.rest[r]),a=i[o]+n;return(n<0||l!=e)&&(a=i[o+(n?1:0)]),lt(s,a)}}}var a=s(o,l,t);if(a)return Al(a,r);for(var d=l.nextSibling,f=o?o.nodeValue.length-t:0;d;d=d.nextSibling){if(a=s(d,d.firstChild,0))return Al(lt(a.line,a.ch-f),r);f+=d.textContent.length}for(var p=l.previousSibling,g=t;p;p=p.previousSibling){if(a=s(p,p.firstChild,-1))return Al(lt(a.line,a.ch+g),r);g+=p.textContent.length}}(o,t,n)}}Ml.prototype.init=function(e){var t=this,l=this,s=l.cm,a=l.div=e.lineDiv;function u(e){for(var t=e.target;t;t=t.parentNode){if(t==a)return 1;if(/\\bCodeMirror-(?:line)?widget\\b/.test(t.className))break}}function n(e){if(u(e)&&!Le(s,e)){if(s.somethingSelected())yl({lineWise:!1,text:s.getSelections()}),\"cut\"==e.type&&s.replaceSelection(\"\",null,\"cut\");else{if(!s.options.lineWiseCopyCut)return;var t=Cl(s);yl({lineWise:!0,text:t.text}),\"cut\"==e.type&&s.operation(function(){s.setSelections(t.ranges,0,V),s.replaceSelection(\"\",null,\"cut\")})}if(e.clipboardData){e.clipboardData.clearData();var n=vl.text.join(\"\\n\");if(e.clipboardData.setData(\"Text\",n),e.clipboardData.getData(\"Text\")==n)return void e.preventDefault()}var r=Ll(),i=r.firstChild;s.display.lineSpace.insertBefore(r,s.display.lineSpace.firstChild),i.value=vl.text.join(\"\\n\");var o=document.activeElement;P(i),setTimeout(function(){s.display.lineSpace.removeChild(r),o.focus(),o==a&&l.showPrimarySelection()},50)}}Sl(a,s.options.spellcheck,s.options.autocorrect,s.options.autocapitalize),we(a,\"paste\",function(e){!u(e)||Le(s,e)||wl(e,s)||C<=11&&setTimeout(Gr(s,function(){return t.updateFromDOM()}),20)}),we(a,\"compositionstart\",function(e){t.composing={data:e.data,done:!1}}),we(a,\"compositionupdate\",function(e){t.composing||(t.composing={data:e.data,done:!1})}),we(a,\"compositionend\",function(e){t.composing&&(e.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),we(a,\"touchstart\",function(){return l.forceCompositionEnd()}),we(a,\"input\",function(){t.composing||t.readFromDOMSoon()}),we(a,\"copy\",n),we(a,\"cut\",n)},Ml.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute(\"aria-label\",e):this.div.removeAttribute(\"aria-label\")},Ml.prototype.prepareSelection=function(){var e=cr(this.cm,!1);return e.focus=document.activeElement==this.div,e},Ml.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Ml.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Ml.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,n=t.doc.sel.primary(),r=n.from(),i=n.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||i.line<t.display.viewFrom)e.removeAllRanges();else{var o=Ol(t,e.anchorNode,e.anchorOffset),l=Ol(t,e.focusNode,e.focusOffset);if(!o||o.bad||!l||l.bad||0!=st(ht(o,l),r)||0!=st(ct(o,l),i)){var s,a,u=t.display.view,c=r.line>=t.display.viewFrom&&Nl(t,r)||{node:u[0].measure.map[2],offset:0},h=i.line<t.display.viewTo&&Nl(t,i);if(h||(h={node:(a=(s=u[u.length-1].measure).maps?s.maps[s.maps.length-1]:s.map)[a.length-1],offset:a[a.length-2]-a[a.length-3]}),c&&h){var d,f=e.rangeCount&&e.getRangeAt(0);try{d=k(c.node,c.offset,h.offset,h.node)}catch(e){}d&&(!g&&t.state.focused?(e.collapse(c.node,c.offset),d.collapsed||(e.removeAllRanges(),e.addRange(d))):(e.removeAllRanges(),e.addRange(d)),f&&null==e.anchorNode?e.addRange(f):g&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},Ml.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){return e.cm.curOp.selectionChanged=!0})},20)},Ml.prototype.showMultipleSelections=function(e){N(this.cm.display.cursorDiv,e.cursors),N(this.cm.display.selectionDiv,e.selection)},Ml.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},Ml.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return D(this.div,t)},Ml.prototype.focus=function(){\"nocursor\"!=this.cm.options.readOnly&&(this.selectionInEditor()&&document.activeElement==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Ml.prototype.blur=function(){this.div.blur()},Ml.prototype.getField=function(){return this.div},Ml.prototype.supportsTouch=function(){return!0},Ml.prototype.receivedFocus=function(){var t=this;this.selectionInEditor()?this.pollSelection():Br(this.cm,function(){return t.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))})},Ml.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},Ml.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e,t,n=this.getSelection(),r=this.cm;if(h&&l&&this.cm.display.gutterSpecs.length&&function(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}(n.anchorNode))return this.cm.triggerOnKeyDown({type:\"keydown\",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();this.composing||(this.rememberSelection(),e=Ol(r,n.anchorNode,n.anchorOffset),t=Ol(r,n.focusNode,n.focusOffset),e&&t&&Br(r,function(){Bi(r.doc,di(e,t),V),(e.bad||t.bad)&&(r.curOp.selectionChanged=!0)}))}},Ml.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e,t,n,r=this.cm,i=r.display,o=r.doc.sel.primary(),l=o.from(),s=o.to();if(0==l.ch&&l.line>r.firstLine()&&(l=lt(l.line-1,Qe(r.doc,l.line-1).length)),s.ch==Qe(r.doc,s.line).text.length&&s.line<r.lastLine()&&(s=lt(s.line+1,0)),l.line<i.viewFrom||s.line>i.viewTo-1)return!1;n=l.line==i.viewFrom||0==(e=rr(r,l.line))?(t=nt(i.view[0].line),i.view[0].node):(t=nt(i.view[e].line),i.view[e-1].node.nextSibling);var a,u=rr(r,s.line),c=u==i.view.length-1?(a=i.viewTo-1,i.lineDiv.lastChild):(a=nt(i.view[u+1].line)-1,i.view[u+1].node.previousSibling);if(!n)return!1;for(var h=r.doc.splitLines(function(u,e,t,c,h){var n=\"\",d=!1,f=u.doc.lineSeparator(),p=!1;function g(){d&&(n+=f,p&&(n+=f),d=p=!1)}function m(e){e&&(g(),n+=e)}for(;!function e(t){if(1==t.nodeType){var n=t.getAttribute(\"cm-text\");if(n)return void m(n);var r,i=t.getAttribute(\"cm-marker\");if(i){var o=u.findMarks(lt(c,0),lt(h+1,0),(a=+i,function(e){return e.id==a}));return void(o.length&&(r=o[0].find(0))&&m(Je(u.doc,r.from,r.to).join(f)))}if(\"false\"==t.getAttribute(\"contenteditable\"))return;var l=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;l&&g();for(var s=0;s<t.childNodes.length;s++)e(t.childNodes[s]);/^(pre|p)$/i.test(t.nodeName)&&(p=!0),l&&(d=!0)}else 3==t.nodeType&&m(t.nodeValue.replace(/\\u200b/g,\"\").replace(/\\u00a0/g,\" \"));var a}(e),e!=t;)e=e.nextSibling,p=!1;return n}(r,n,c,t,a)),d=Je(r.doc,lt(t,0),lt(a,Qe(r.doc,a).text.length));1<h.length&&1<d.length;)if($(h)==$(d))h.pop(),d.pop(),a--;else{if(h[0]!=d[0])break;h.shift(),d.shift(),t++}for(var f=0,p=0,g=h[0],m=d[0],v=Math.min(g.length,m.length);f<v&&g.charCodeAt(f)==m.charCodeAt(f);)++f;for(var y=$(h),b=$(d),w=Math.min(y.length-(1==h.length?f:0),b.length-(1==d.length?f:0));p<w&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1);)++p;if(1==h.length&&1==d.length&&t==l.line)for(;f&&f>l.ch&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1);)f--,p++;h[h.length-1]=y.slice(0,y.length-p).replace(/^\\u200b+/,\"\"),h[0]=h[0].slice(f).replace(/\\u200b+$/,\"\");var x=lt(t,f),C=lt(a,d.length?$(d).length-p:0);return 1<h.length||h[0]||st(x,C)?(to(r.doc,h,x,C,\"+input\"),!0):void 0},Ml.prototype.ensurePolled=function(){this.forceCompositionEnd()},Ml.prototype.reset=function(){this.forceCompositionEnd()},Ml.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Ml.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},Ml.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Br(this.cm,function(){return ir(e.cm)})},Ml.prototype.setUneditable=function(e){e.contentEditable=\"false\"},Ml.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Gr(this.cm,bl)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Ml.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(\"nocursor\"!=e)},Ml.prototype.onContextMenu=function(){},Ml.prototype.resetPosition=function(){},Ml.prototype.needsContentAttribute=!0;function Dl(e){this.cm=e,this.prevInput=\"\",this.pollingFast=!1,this.polling=new z,this.hasSelection=!1,this.composing=null}var Wl,Hl,Fl,Pl,El;function Il(e,t,r,n){Wl.defaults[e]=t,r&&(Hl[e]=n?function(e,t,n){n!=ul&&r(e,t,n)}:r)}Dl.prototype.init=function(n){var e=this,r=this,i=this.cm;this.createField(n);var o=this.textarea;function t(e){if(!Le(i,e)){if(i.somethingSelected())yl({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var t=Cl(i);yl({lineWise:!0,text:t.text}),\"cut\"==e.type?i.setSelections(t.ranges,null,V):(r.prevInput=\"\",o.value=t.text.join(\"\\n\"),P(o))}\"cut\"==e.type&&(i.state.cutIncoming=+new Date)}}n.wrapper.insertBefore(this.wrapper,n.wrapper.firstChild),a&&(o.style.width=\"0px\"),we(o,\"input\",function(){x&&9<=C&&e.hasSelection&&(e.hasSelection=null),r.poll()}),we(o,\"paste\",function(e){Le(i,e)||wl(e,i)||(i.state.pasteIncoming=+new Date,r.fastPoll())}),we(o,\"cut\",t),we(o,\"copy\",t),we(n.scroller,\"paste\",function(e){if(!bn(n,e)&&!Le(i,e)){if(!o.dispatchEvent)return i.state.pasteIncoming=+new Date,void r.focus();var t=new Event(\"paste\");t.clipboardData=e.clipboardData,o.dispatchEvent(t)}}),we(n.lineSpace,\"selectstart\",function(e){bn(n,e)||Ne(e)}),we(o,\"compositionstart\",function(){var e=i.getCursor(\"from\");r.composing&&r.composing.range.clear(),r.composing={start:e,range:i.markText(e,i.getCursor(\"to\"),{className:\"CodeMirror-composing\"})}}),we(o,\"compositionend\",function(){r.composing&&(r.poll(),r.composing.range.clear(),r.composing=null)})},Dl.prototype.createField=function(e){this.wrapper=Ll(),this.textarea=this.wrapper.firstChild},Dl.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute(\"aria-label\",e):this.textarea.removeAttribute(\"aria-label\")},Dl.prototype.prepareSelection=function(){var e,t,n,r=this.cm,i=r.display,o=r.doc,l=cr(r);return r.options.moveInputWithCursor&&(e=Vn(r,o.sel.primary().head,\"div\"),t=i.wrapper.getBoundingClientRect(),n=i.lineDiv.getBoundingClientRect(),l.teTop=Math.max(0,Math.min(i.wrapper.clientHeight-10,e.top+n.top-t.top)),l.teLeft=Math.max(0,Math.min(i.wrapper.clientWidth-10,e.left+n.left-t.left))),l},Dl.prototype.showSelection=function(e){var t=this.cm.display;N(t.cursorDiv,e.cursors),N(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+\"px\",this.wrapper.style.left=e.teLeft+\"px\")},Dl.prototype.reset=function(e){var t,n;this.contextMenuPending||this.composing||((t=this.cm).somethingSelected()?(this.prevInput=\"\",n=t.getSelection(),this.textarea.value=n,t.state.focused&&P(this.textarea),x&&9<=C&&(this.hasSelection=n)):e||(this.prevInput=this.textarea.value=\"\",x&&9<=C&&(this.hasSelection=null)))},Dl.prototype.getField=function(){return this.textarea},Dl.prototype.supportsTouch=function(){return!1},Dl.prototype.focus=function(){if(\"nocursor\"!=this.cm.options.readOnly&&(!d||W()!=this.textarea))try{this.textarea.focus()}catch(e){}},Dl.prototype.blur=function(){this.textarea.blur()},Dl.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Dl.prototype.receivedFocus=function(){this.slowPoll()},Dl.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Dl.prototype.fastPoll=function(){var t=!1,n=this;n.pollingFast=!0,n.polling.set(20,function e(){n.poll()||t?(n.pollingFast=!1,n.slowPoll()):(t=!0,n.polling.set(60,e))})},Dl.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||ze(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(x&&9<=C&&this.hasSelection===i||y&&/[\\uf700-\\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r=\"​\"),8666==o)return this.reset(),this.cm.execCommand(\"undo\")}for(var l=0,s=Math.min(r.length,i.length);l<s&&r.charCodeAt(l)==i.charCodeAt(l);)++l;return Br(t,function(){bl(t,i.slice(l),r.length-l,null,e.composing?\"*compose\":null),1e3<i.length||-1<i.indexOf(\"\\n\")?n.value=e.prevInput=\"\":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor(\"to\"),{className:\"CodeMirror-composing\"}))}),!0},Dl.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Dl.prototype.onKeyPress=function(){x&&9<=C&&(this.hasSelection=null),this.fastPoll()},Dl.prototype.onContextMenu=function(e){var n=this,r=n.cm,i=r.display,o=n.textarea;n.contextMenuPending&&n.contextMenuPending();var l,s,t,a,u,c=nr(r,e),h=i.scroller.scrollTop;function d(){var e,t;null!=o.selectionStart&&(t=\"​\"+((e=r.somethingSelected())?o.value:\"\"),o.value=\"⇚\",o.value=t,n.prevInput=e?\"\":\"​\",o.selectionStart=1,o.selectionEnd=t.length,i.selForContextMenu=r.doc.sel)}function f(){var e,t;n.contextMenuPending==f&&(n.contextMenuPending=!1,n.wrapper.style.cssText=s,o.style.cssText=l,x&&C<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=h),null!=o.selectionStart&&((!x||x&&C<9)&&d(),e=0,t=function(){i.selForContextMenu==r.doc.sel&&0==o.selectionStart&&0<o.selectionEnd&&\"​\"==n.prevInput?Gr(r,_i)(r):e++<10?i.detectingSelectAll=setTimeout(t,500):(i.selForContextMenu=null,i.input.reset())},i.detectingSelectAll=setTimeout(t,200)))}c&&!m&&(r.options.resetSelectionOnContextMenu&&-1==r.doc.sel.contains(c)&&Gr(r,Bi)(r.doc,di(c),V),l=o.style.cssText,s=n.wrapper.style.cssText,t=n.wrapper.offsetParent.getBoundingClientRect(),n.wrapper.style.cssText=\"position: static\",o.style.cssText=\"position: absolute; width: 30px; height: 30px;\\n      top: \"+(e.clientY-t.top-5)+\"px; left: \"+(e.clientX-t.left-5)+\"px;\\n      z-index: 1000; background: \"+(x?\"rgba(255, 255, 255, .05)\":\"transparent\")+\";\\n      outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\",v&&(a=window.scrollY),i.input.focus(),v&&window.scrollTo(null,a),i.input.reset(),r.somethingSelected()||(o.value=n.prevInput=\" \"),n.contextMenuPending=f,i.selForContextMenu=r.doc.sel,clearTimeout(i.detectingSelectAll),x&&9<=C&&d(),S?(De(e),u=function(){Ce(window,\"mouseup\",u),setTimeout(f,20)},we(window,\"mouseup\",u)):setTimeout(f,50))},Dl.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=\"nocursor\"==e,this.textarea.readOnly=!!e},Dl.prototype.setUneditable=function(){},Dl.prototype.needsContentAttribute=!1,Hl=(Wl=pl).optionHandlers,Wl.defineOption=Il,Wl.Init=ul,Il(\"value\",\"\",function(e,t){return e.setValue(t)},!0),Il(\"mode\",null,function(e,t){e.doc.modeOption=t,vi(e)},!0),Il(\"indentUnit\",2,vi,!0),Il(\"indentWithTabs\",!1),Il(\"smartIndent\",!0),Il(\"tabSize\",4,function(e){yi(e),En(e),ir(e)},!0),Il(\"lineSeparator\",null,function(e,r){if(e.doc.lineSep=r){var i=[],o=e.doc.first;e.doc.iter(function(e){for(var t=0;;){var n=e.text.indexOf(r,t);if(-1==n)break;t=n+r.length,i.push(lt(o,n))}o++});for(var t=i.length-1;0<=t;t--)to(e.doc,r,i[t],lt(i[t].line,i[t].ch+r.length))}}),Il(\"specialChars\",/[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b-\\u200c\\u200e\\u200f\\u2028\\u2029\\ufeff\\ufff9-\\ufffc]/g,function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test(\"\\t\")?\"\":\"|\\t\"),\"g\"),n!=ul&&e.refresh()}),Il(\"specialCharPlaceholder\",en,function(e){return e.refresh()},!0),Il(\"electricChars\",!0),Il(\"inputStyle\",d?\"contenteditable\":\"textarea\",function(){throw new Error(\"inputStyle can not (yet) be changed in a running editor\")},!0),Il(\"spellcheck\",!1,function(e,t){return e.getInputField().spellcheck=t},!0),Il(\"autocorrect\",!1,function(e,t){return e.getInputField().autocorrect=t},!0),Il(\"autocapitalize\",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),Il(\"rtlMoveVisually\",!p),Il(\"wholeLineUpdateBefore\",!0),Il(\"theme\",\"default\",function(e){al(e),ni(e)},!0),Il(\"keyMap\",\"default\",function(e,t,n){var r=Eo(t),i=n!=ul&&Eo(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)}),Il(\"extraKeys\",null),Il(\"configureMouse\",null),Il(\"lineWrapping\",!1,fl,!0),Il(\"gutters\",[],function(e,t){e.display.gutterSpecs=ei(t,e.options.lineNumbers),ni(e)},!0),Il(\"fixedGutter\",!0,function(e,t){e.display.gutters.style.left=t?Jn(e.display)+\"px\":\"0\",e.refresh()},!0),Il(\"coverGutterNextToScrollbar\",!1,function(e){return Hr(e)},!0),Il(\"scrollbarStyle\",\"native\",function(e){Er(e),Hr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),Il(\"lineNumbers\",!1,function(e,t){e.display.gutterSpecs=ei(e.options.gutters,t),ni(e)},!0),Il(\"firstLineNumber\",1,ni,!0),Il(\"lineNumberFormatter\",function(e){return e},ni,!0),Il(\"showCursorWhenSelecting\",!1,ur,!0),Il(\"resetSelectionOnContextMenu\",!0),Il(\"lineWiseCopyCut\",!0),Il(\"pasteLinesPerSelection\",!0),Il(\"selectionsMayTouch\",!1),Il(\"readOnly\",!1,function(e,t){\"nocursor\"==t&&(vr(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),Il(\"screenReaderLabel\",null,function(e,t){t=\"\"===t?null:t,e.display.input.screenReaderLabelChanged(t)}),Il(\"disableInput\",!1,function(e,t){t||e.display.input.reset()},!0),Il(\"dragDrop\",!0,dl),Il(\"allowDropFileTypes\",null),Il(\"cursorBlinkRate\",530),Il(\"cursorScrollMargin\",0),Il(\"cursorHeight\",1,ur,!0),Il(\"singleCursorHeightPerLine\",!0,ur,!0),Il(\"workTime\",100),Il(\"workDelay\",100),Il(\"flattenSpans\",!0,yi,!0),Il(\"addModeClass\",!1,yi,!0),Il(\"pollInterval\",100),Il(\"undoDepth\",200,function(e,t){return e.doc.history.undoDepth=t}),Il(\"historyEventDelay\",1250),Il(\"viewportMargin\",10,function(e){return e.refresh()},!0),Il(\"maxHighlightLength\",1e4,yi,!0),Il(\"moveInputWithCursor\",!0,function(e,t){t||e.display.input.resetPosition()}),Il(\"tabindex\",null,function(e,t){return e.display.input.getField().tabIndex=t||\"\"}),Il(\"autofocus\",null),Il(\"direction\",\"ltr\",function(e,t){return e.doc.setDirection(t)},!0),Il(\"phrases\",null),Pl=(Fl=pl).optionHandlers,El=Fl.helpers={},Fl.prototype={constructor:Fl,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,t){var n=this.options,r=n[e];n[e]==t&&\"mode\"!=e||(n[e]=t,Pl.hasOwnProperty(e)&&Gr(this,Pl[e])(this,t,r),Se(this,\"optionChange\",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?\"push\":\"unshift\"](Eo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:Ur(function(e,t){var n=e.token?e:Fl.getMode(this.options,e);if(n.startState)throw new Error(\"Overlays may not be stateful.\");!function(e,t,n){for(var r=0,i=n(t);r<e.length&&n(e[r])<=i;)r++;e.splice(r,0,t)}(this.state.overlays,{mode:n,modeSpec:e,opaque:t&&t.opaque,priority:t&&t.priority||0},function(e){return e.priority}),this.state.modeGen++,ir(this)}),removeOverlay:Ur(function(e){for(var t=this.state.overlays,n=0;n<t.length;++n){var r=t[n].modeSpec;if(r==e||\"string\"==typeof e&&r.name==e)return t.splice(n,1),this.state.modeGen++,void ir(this)}}),indentLine:Ur(function(e,t,n){\"string\"!=typeof t&&\"number\"!=typeof t&&(t=null==t?this.options.smartIndent?\"smart\":\"prev\":t?\"add\":\"subtract\"),it(this.doc,e)&&ml(this,e,t,n)}),indentSelection:Ur(function(e){for(var t=this.doc.sel.ranges,n=-1,r=0;r<t.length;r++){var i=t[r];if(i.empty())i.head.line>n&&(ml(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Sr(this));else{for(var o=i.from(),l=i.to(),s=Math.max(n,o.line),n=Math.min(this.lastLine(),l.line-(l.ch?0:1))+1,a=s;a<n;++a)ml(this,a,e);var u=this.doc.sel.ranges;0==o.ch&&t.length==u.length&&0<u[r].from().ch&&Ii(this.doc,r,new ci(o,u[r].to()),V)}}}),getTokenAt:function(e,t){return Lt(this,e,t)},getLineTokens:function(e,t){return Lt(this,lt(e),t,!0)},getTokenTypeAt:function(e){e=ft(this.doc,e);var t,n=yt(this,Qe(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var l=r+i>>1;if((l?n[2*l-1]:0)>=o)i=l;else{if(!(n[2*l+1]<o)){t=n[2*l+2];break}r=1+l}}var s=t?t.indexOf(\"overlay \"):-1;return s<0?t:0==s?null:t.slice(0,s-1)},getModeAt:function(e){var t=this.doc.mode;return t.innerMode?Fl.innerMode(t,this.getTokenAt(e).state).mode:t},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var n=[];if(!El.hasOwnProperty(t))return n;var r=El[t],i=this.getModeAt(e);if(\"string\"==typeof i[t])r[i[t]]&&n.push(r[i[t]]);else if(i[t])for(var o=0;o<i[t].length;o++){var l=r[i[t][o]];l&&n.push(l)}else i.helperType&&r[i.helperType]?n.push(r[i.helperType]):r[i.name]&&n.push(r[i.name]);for(var s=0;s<r._global.length;s++){var a=r._global[s];a.pred(i,this)&&-1==B(n,a.val)&&n.push(a.val)}return n},getStateAfter:function(e,t){var n=this.doc;return bt(this,(e=dt(n,null==e?n.first+n.size-1:e))+1,t).state},cursorCoords:function(e,t){var n=this.doc.sel.primary(),r=null==e?n.head:\"object\"==typeof e?ft(this.doc,e):e?n.from():n.to();return Vn(this,r,t||\"page\")},charCoords:function(e,t){return Un(this,ft(this.doc,e),t||\"page\")},coordsChar:function(e,t){return Xn(this,(e=Gn(this,e,t||\"page\")).left,e.top)},lineAtHeight:function(e,t){return e=Gn(this,{top:e,left:0},t||\"page\").top,rt(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,n){var r,i=!1,o=\"number\"==typeof e?(r=this.doc.first+this.doc.size-1,e<this.doc.first?e=this.doc.first:r<e&&(e=r,i=!0),Qe(this.doc,e)):e;return Bn(this,o,{top:0,left:0},t||\"page\",n||i).top+(i?this.doc.height-Xt(o):0)},defaultTextHeight:function(){return qn(this.display)},defaultCharWidth:function(){return Zn(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o,l,s,a,u,c=this.display,h=(e=Vn(this,ft(this.doc,e))).bottom,d=e.left;t.style.position=\"absolute\",t.setAttribute(\"cm-ignore-events\",\"true\"),this.display.input.setUneditable(t),c.sizer.appendChild(t),\"over\"==r?h=e.top:\"above\"!=r&&\"near\"!=r||(o=Math.max(c.wrapper.clientHeight,this.doc.height),l=Math.max(c.sizer.clientWidth,c.lineSpace.clientWidth),(\"above\"==r||e.bottom+t.offsetHeight>o)&&e.top>t.offsetHeight?h=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=o&&(h=e.bottom),d+t.offsetWidth>l&&(d=l-t.offsetWidth)),t.style.top=h+\"px\",t.style.left=t.style.right=\"\",\"right\"==i?(d=c.sizer.clientWidth-t.offsetWidth,t.style.right=\"0px\"):(\"left\"==i?d=0:\"middle\"==i&&(d=(c.sizer.clientWidth-t.offsetWidth)/2),t.style.left=d+\"px\"),n&&(s=this,a={left:d,top:h,right:d+t.offsetWidth,bottom:h+t.offsetHeight},null!=(u=xr(s,a)).scrollTop&&Mr(s,u.scrollTop),null!=u.scrollLeft&&Ar(s,u.scrollLeft))},triggerOnKeyDown:Ur(Zo),triggerOnKeyPress:Ur(Jo),triggerOnKeyUp:Qo,triggerOnMouseDown:Ur(rl),execCommand:function(e){if(Uo.hasOwnProperty(e))return Uo[e].call(null,this)},triggerElectric:Ur(function(e){xl(this,e)}),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=ft(this.doc,e),l=0;l<t&&!(o=kl(this.doc,o,i,n,r)).hitSide;++l);return o},moveH:Ur(function(t,n){var r=this;this.extendSelectionsBy(function(e){return r.display.shift||r.doc.extend||e.empty()?kl(r.doc,e.head,t,n,r.options.rtlMoveVisually):t<0?e.from():e.to()},j)}),deleteH:Ur(function(n,r){var e=this.doc.sel,i=this.doc;e.somethingSelected()?i.replaceSelection(\"\",null,\"+delete\"):Io(this,function(e){var t=kl(i,e.head,n,r,!1);return n<0?{from:t,to:e.head}:{from:e.head,to:t}})}),findPosV:function(e,t,n,r){var i=1,o=r;t<0&&(i=-1,t=-t);for(var l=ft(this.doc,e),s=0;s<t;++s){var a=Vn(this,l,\"div\");if(null==o?o=a.left:a.left=o,(l=Tl(this,a,i,n)).hitSide)break}return l},moveV:Ur(function(r,i){var o=this,l=this.doc,s=[],a=!this.display.shift&&!l.extend&&l.sel.somethingSelected();if(l.extendSelectionsBy(function(e){if(a)return r<0?e.from():e.to();var t=Vn(o,e.head,\"div\");null!=e.goalColumn&&(t.left=e.goalColumn),s.push(t.left);var n=Tl(o,t,r,i);return\"page\"==i&&e==l.sel.primary()&&Cr(o,Un(o,n,\"div\").top-t.top),n},j),s.length)for(var e=0;e<l.sel.ranges.length;e++)l.sel.ranges[e].goalColumn=s[e]}),findWordAt:function(e){var t=Qe(this.doc,e.line).text,n=e.ch,r=e.ch;if(t){var i=this.getHelper(e,\"wordChars\");\"before\"!=e.sticky&&r!=t.length||!n?++r:--n;for(var o=t.charAt(n),l=te(o,i)?function(e){return te(e,i)}:/\\s/.test(o)?function(e){return/\\s/.test(e)}:function(e){return!/\\s/.test(e)&&!te(e)};0<n&&l(t.charAt(n-1));)--n;for(;r<t.length&&l(t.charAt(r));)++r}return new ci(lt(e.line,n),lt(e.line,r))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||(((this.state.overwrite=!this.state.overwrite)?H:T)(this.display.cursorDiv,\"CodeMirror-overwrite\"),Se(this,\"overwriteToggle\",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==W()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:Ur(function(e,t){Lr(this,e,t)}),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-Sn(this)-this.display.barHeight,width:e.scrollWidth-Sn(this)-this.display.barWidth,clientHeight:kn(this),clientWidth:Ln(this)}},scrollIntoView:Ur(function(e,t){var n,r;null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):\"number\"==typeof e?e={from:lt(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?(r=e,kr(n=this),n.curOp.scrollToPos=r):Tr(this,e.from,e.to,e.margin)}),setSize:Ur(function(e,t){function n(e){return\"number\"==typeof e||/^\\d+$/.test(String(e))?e+\"px\":e}var r=this;null!=e&&(this.display.wrapper.style.width=n(e)),null!=t&&(this.display.wrapper.style.height=n(t)),this.options.lineWrapping&&Pn(this);var i=this.display.viewFrom;this.doc.iter(i,this.display.viewTo,function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){or(r,i,\"widget\");break}++i}),this.curOp.forceUpdate=!0,Se(this,\"refresh\",this)}),operation:function(e){return Br(this,e)},startOperation:function(){return Rr(this)},endOperation:function(){return zr(this)},refresh:Ur(function(){var e=this.display.cachedTextHeight;ir(this),this.curOp.forceUpdate=!0,En(this),Lr(this,this.doc.scrollLeft,this.doc.scrollTop),qr(this.display),(null==e||.5<Math.abs(e-qn(this.display))||this.options.lineWrapping)&&tr(this),Se(this,\"refresh\",this)}),swapDoc:Ur(function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Ci(this,e),En(this),this.display.input.reset(),Lr(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,un(this,\"swapDoc\",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Me(Fl),Fl.registerHelper=function(e,t,n){El.hasOwnProperty(e)||(El[e]=Fl[e]={_global:[]}),El[e][t]=n},Fl.registerGlobalHelper=function(e,t,n,r){Fl.registerHelper(e,t,r),El[e]._global.push({pred:n,val:r})};var Rl,zl=\"iter insert remove copy getEditor constructor\".split(\" \");for(var Bl in vo.prototype)vo.prototype.hasOwnProperty(Bl)&&B(zl,Bl)<0&&(pl.prototype[Bl]=function(e){return function(){return e.apply(this.doc,arguments)}}(vo.prototype[Bl]));return Me(vo),pl.inputStyles={textarea:Dl,contenteditable:Ml},pl.defineMode=function(e){pl.defaults.mode||\"null\"==e||(pl.defaults.mode=e),function(e,t){2<arguments.length&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Ue[e]=t}.apply(this,arguments)},pl.defineMIME=function(e,t){Ve[e]=t},pl.defineMode(\"null\",function(){return{token:function(e){return e.skipToEnd()}}}),pl.defineMIME(\"text/plain\",\"null\"),pl.defineExtension=function(e,t){pl.prototype[e]=t},pl.defineDocExtension=function(e,t){vo.prototype[e]=t},pl.fromTextArea=function(t,n){var e;function r(){t.value=s.getValue()}if((n=n?I(n):{}).value=t.value,!n.tabindex&&t.tabIndex&&(n.tabindex=t.tabIndex),!n.placeholder&&t.placeholder&&(n.placeholder=t.placeholder),null==n.autofocus&&(e=W(),n.autofocus=e==t||null!=t.getAttribute(\"autofocus\")&&e==document.body),t.form&&(we(t.form,\"submit\",r),!n.leaveSubmitMethodAlone)){var i=t.form,o=i.submit;try{var l=i.submit=function(){r(),i.submit=o,i.submit(),i.submit=l}}catch(e){}}n.finishInit=function(e){e.save=r,e.getTextArea=function(){return t},e.toTextArea=function(){e.toTextArea=isNaN,r(),t.parentNode.removeChild(e.getWrapperElement()),t.style.display=\"\",t.form&&(Ce(t.form,\"submit\",r),n.leaveSubmitMethodAlone||\"function\"!=typeof t.form.submit||(t.form.submit=o))}},t.style.display=\"none\";var s=pl(function(e){return t.parentNode.insertBefore(e,t.nextSibling)},n);return s},(Rl=pl).off=Ce,Rl.on=we,Rl.wheelEventPixels=si,Rl.Doc=vo,Rl.splitLines=Re,Rl.countColumn=R,Rl.findColumn=X,Rl.isWordChar=ee,Rl.Pass=U,Rl.signal=Se,Rl.Line=$t,Rl.changeEnd=fi,Rl.scrollbarModel=Pr,Rl.Pos=lt,Rl.cmpPos=st,Rl.modes=Ue,Rl.mimeModes=Ve,Rl.resolveMode=Ke,Rl.getMode=je,Rl.modeExtensions=Xe,Rl.extendMode=Ye,Rl.copyState=_e,Rl.startState=qe,Rl.innerMode=$e,Rl.commands=Uo,Rl.keyMap=Ao,Rl.keyName=Po,Rl.isModifierKey=Ho,Rl.lookupKey=Wo,Rl.normalizeKeyMap=Do,Rl.StringStream=Ze,Rl.SharedTextMarker=po,Rl.TextMarker=ho,Rl.LineWidget=ao,Rl.e_preventDefault=Ne,Rl.e_stopPropagation=Ae,Rl.e_stop=De,Rl.addClass=H,Rl.contains=D,Rl.rmClass=T,Rl.keyNames=ko,pl.version=\"5.58.2\",pl});\n",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/codemirror/lib/codemirror.js",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/codemirror/lib/codemirror.css": {
            "text": ".CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,0.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line > span::selection,.CodeMirror-line > span > span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line > span::-moz-selection,.CodeMirror-line > span > span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:none}\n",
            "type": "text/vnd.tiddlywiki",
            "title": "$:/plugins/tiddlywiki/codemirror/lib/codemirror.css",
            "tags": "[[$:/tags/Stylesheet]]"
        },
        "$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.css": {
            "text": ".CodeMirror-dialog {\n  position: absolute;\n  left: 0; right: 0;\n  background: inherit;\n  z-index: 15;\n  padding: .1em .8em;\n  overflow: hidden;\n  color: inherit;\n}\n\n.CodeMirror-dialog-top {\n  border-bottom: 1px solid #eee;\n  top: 0;\n}\n\n.CodeMirror-dialog-bottom {\n  border-top: 1px solid #eee;\n  bottom: 0;\n}\n\n.CodeMirror-dialog input {\n  border: none;\n  outline: none;\n  background: transparent;\n  width: 20em;\n  color: inherit;\n  font-family: monospace;\n}\n\n.CodeMirror-dialog button {\n  font-size: 70%;\n}\n",
            "type": "text/css",
            "title": "$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.css",
            "tags": "[[$:/tags/Stylesheet]]"
        },
        "$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.js": {
            "text": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(s){function f(e,o,n){var t=e.getWrapperElement(),i=t.appendChild(document.createElement(\"div\"));return i.className=n?\"CodeMirror-dialog CodeMirror-dialog-bottom\":\"CodeMirror-dialog CodeMirror-dialog-top\",\"string\"==typeof o?i.innerHTML=o:i.appendChild(o),s.addClass(t,\"dialog-opened\"),i}function p(e,o){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=o}s.defineExtension(\"openDialog\",function(e,o,n){n=n||{},p(this,null);var t=f(this,e,n.bottom),i=!1,r=this;function u(e){if(\"string\"==typeof e)a.value=e;else{if(i)return;i=!0,s.rmClass(t.parentNode,\"dialog-opened\"),t.parentNode.removeChild(t),r.focus(),n.onClose&&n.onClose(t)}}var l,a=t.getElementsByTagName(\"input\")[0];return a?(a.focus(),n.value&&(a.value=n.value,!1!==n.selectValueOnOpen&&a.select()),n.onInput&&s.on(a,\"input\",function(e){n.onInput(e,a.value,u)}),n.onKeyUp&&s.on(a,\"keyup\",function(e){n.onKeyUp(e,a.value,u)}),s.on(a,\"keydown\",function(e){n&&n.onKeyDown&&n.onKeyDown(e,a.value,u)||((27==e.keyCode||!1!==n.closeOnEnter&&13==e.keyCode)&&(a.blur(),s.e_stop(e),u()),13==e.keyCode&&o(a.value,e))}),!1!==n.closeOnBlur&&s.on(t,\"focusout\",function(e){null!==e.relatedTarget&&u()})):(l=t.getElementsByTagName(\"button\")[0])&&(s.on(l,\"click\",function(){u(),r.focus()}),!1!==n.closeOnBlur&&s.on(l,\"blur\",u),l.focus()),u}),s.defineExtension(\"openConfirm\",function(e,o,n){p(this,null);var t=f(this,e,n&&n.bottom),i=t.getElementsByTagName(\"button\"),r=!1,u=this,l=1;function a(){r||(r=!0,s.rmClass(t.parentNode,\"dialog-opened\"),t.parentNode.removeChild(t),u.focus())}i[0].focus();for(var c=0;c<i.length;++c){var d=i[c];!function(o){s.on(d,\"click\",function(e){s.e_preventDefault(e),a(),o&&o(u)})}(o[c]),s.on(d,\"blur\",function(){--l,setTimeout(function(){l<=0&&a()},200)}),s.on(d,\"focus\",function(){++l})}}),s.defineExtension(\"openNotification\",function(e,o){p(this,u);var n,t=f(this,e,o&&o.bottom),i=!1,r=o&&void 0!==o.duration?o.duration:5e3;function u(){i||(i=!0,clearTimeout(n),s.rmClass(t.parentNode,\"dialog-opened\"),t.parentNode.removeChild(t))}return s.on(t,\"click\",function(e){s.e_preventDefault(e),u()}),r&&(n=setTimeout(u,r)),u})});\n",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.js",
            "module-type": "codemirror"
        },
        "$:/plugins/tiddlywiki/codemirror/addon/selection/activeline.js": {
            "text": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(r){\"use strict\";var s=\"CodeMirror-activeline\",c=\"CodeMirror-activeline-background\",l=\"CodeMirror-activeline-gutter\";function f(e){for(var t=0;t<e.state.activeLines.length;t++)e.removeLineClass(e.state.activeLines[t],\"wrap\",s),e.removeLineClass(e.state.activeLines[t],\"background\",c),e.removeLineClass(e.state.activeLines[t],\"gutter\",l)}function o(t,e){for(var n=[],i=0;i<e.length;i++){var r,o=e[i],a=t.getOption(\"styleActiveLine\");(\"object\"==typeof a&&a.nonEmpty?o.anchor.line==o.head.line:o.empty())&&(r=t.getLineHandleVisualStart(o.head.line),n[n.length-1]!=r&&n.push(r))}!function(e,t){if(e.length==t.length){for(var n=0;n<e.length;n++)if(e[n]!=t[n])return;return 1}}(t.state.activeLines,n)&&t.operation(function(){f(t);for(var e=0;e<n.length;e++)t.addLineClass(n[e],\"wrap\",s),t.addLineClass(n[e],\"background\",c),t.addLineClass(n[e],\"gutter\",l);t.state.activeLines=n})}function a(e,t){o(e,t.ranges)}r.defineOption(\"styleActiveLine\",!1,function(e,t,n){var i=n!=r.Init&&n;t!=i&&(i&&(e.off(\"beforeSelectionChange\",a),f(e),delete e.state.activeLines),t&&(e.state.activeLines=[],o(e,e.listSelections()),e.on(\"beforeSelectionChange\",a)))})});\n",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/codemirror/addon/selection/activeline.js",
            "module-type": "codemirror"
        },
        "$:/plugins/tiddlywiki/codemirror/mode/tw-meta.js": {
            "text": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../lib/codemirror\"],e):e(CodeMirror)}(function(e){\"use strict\";e.modeInfo=[{name:\"CMake\",mime:\"text/x-cmake\",mode:\"cmake\",ext:[\"cmake\",\"cmake.in\"],file:/^CMakeLists.txt$/},{name:\"Cython\",mime:\"text/x-cython\",mode:\"python\",ext:[\"pyx\",\"pxd\",\"pxi\"]},{name:\"CSS\",mime:\"text/css\",mode:\"css\",ext:[\"css\"]},{name:\"diff\",mime:\"text/x-diff\",mode:\"diff\",ext:[\"diff\",\"patch\"]},{name:\"Embedded Javascript\",mime:\"application/x-ejs\",mode:\"htmlembedded\",ext:[\"ejs\"]},{name:\"Embedded Ruby\",mime:\"application/x-erb\",mode:\"htmlembedded\",ext:[\"erb\"]},{name:\"Erlang\",mime:\"text/x-erlang\",mode:\"erlang\",ext:[\"erl\"]},{name:\"GitHub Flavored Markdown\",mime:\"text/x-gfm\",mode:\"gfm\",file:/^(readme|contributing|history).md$/i},{name:\"Go\",mime:\"text/x-go\",mode:\"go\",ext:[\"go\"]},{name:\"ASP.NET\",mime:\"application/x-aspx\",mode:\"htmlembedded\",ext:[\"aspx\"],alias:[\"asp\",\"aspx\"]},{name:\"HTML\",mime:\"text/html\",mode:\"htmlmixed\",ext:[\"html\",\"htm\",\"handlebars\",\"hbs\"],alias:[\"xhtml\"]},{name:\"HTTP\",mime:\"message/http\",mode:\"http\"},{name:\"JavaScript\",mimes:[\"text/javascript\",\"text/ecmascript\",\"application/javascript\",\"application/x-javascript\",\"application/ecmascript\"],mode:\"javascript\",ext:[\"js\"],alias:[\"ecmascript\",\"js\",\"node\"]},{name:\"JSON\",mimes:[\"application/json\",\"application/x-json\"],mode:\"javascript\",ext:[\"json\",\"map\"],alias:[\"json5\"]},{name:\"JSON-LD\",mime:\"application/ld+json\",mode:\"javascript\",ext:[\"jsonld\"],alias:[\"jsonld\"]},{name:\"Lua\",mime:\"text/x-lua\",mode:\"lua\",ext:[\"lua\"]},{name:\"Markdown\",mime:\"text/x-markdown\",mode:\"markdown\",ext:[\"markdown\",\"md\",\"mkd\"]},{name:\"MySQL\",mime:\"text/x-mysql\",mode:\"sql\"},{name:\"Plain Text\",mime:\"text/plain\",mode:\"null\",ext:[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\"]},{name:\"Python\",mime:\"text/x-python\",mode:\"python\",ext:[\"BUILD\",\"bzl\",\"py\",\"pyw\"],file:/^(BUCK|BUILD)$/},{name:\"SCSS\",mime:\"text/x-scss\",mode:\"css\",ext:[\"scss\"]},{name:\"LaTeX\",mime:\"text/x-latex\",mode:\"stex\",ext:[\"text\",\"ltx\",\"tex\"],alias:[\"tex\"]},{name:\"TiddlyWiki \",mime:\"text/x-tiddlywiki\",mode:\"tiddlywiki\"}];for(var t=0;t<e.modeInfo.length;t++){var m=e.modeInfo[t];m.mimes&&(m.mime=m.mimes[0])}e.findModeByMIME=function(t){t=t.toLowerCase();for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.mime==t)return i;if(i.mimes)for(var a=0;a<i.mimes.length;a++)if(i.mimes[a]==t)return i}return/\\+xml$/.test(t)?e.findModeByMIME(\"application/xml\"):/\\+json$/.test(t)?e.findModeByMIME(\"application/json\"):void 0},e.findModeByExtension=function(t){for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.ext)for(var a=0;a<i.ext.length;a++)if(i.ext[a]==t)return i}},e.findModeByFileName=function(t){for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.file&&i.file.test(t))return i}var a=t.lastIndexOf(\".\"),o=a>-1&&t.substring(a+1,t.length);if(o)return e.findModeByExtension(o)},e.findModeByName=function(t){t=t.toLowerCase();for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.name.toLowerCase()==t)return i;if(i.alias)for(var a=0;a<i.alias.length;a++)if(i.alias[a].toLowerCase()==t)return i}}});\n",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/codemirror/mode/tw-meta.js",
            "module-type": "codemirror"
        },
        "$:/plugins/tiddlywiki/codemirror/keyboard": {
            "title": "$:/plugins/tiddlywiki/codemirror/keyboard",
            "text": "\n!!Default keyboard shortcuts\n\n!!!Basic shortcuts\n\n|Shortcut |Function |h\n|Left |goCharLeft |\n|Right |goCharRight |\n|Up |goLineUp |\n|Down |goLineDown |\n|End |goLineEnd |\n|Home |goLineStartSmart |\n|~PageUp |goPageUp |\n|~PageDown |goPageDown |\n|Delete |delCharAfter |\n|Backspace |delCharBefore |\n|Shift-Backspace |delCharBefore |\n|Tab |defaultTab |\n|Shift-Tab |indentAuto |\n|Enter |newlineAndIndent |\n|Insert |toggleOverwrite |\n|Ctrl-Esc |singleSelection |\n\n\n!!!Shortcuts on Windows and Linux\n\n|Shortcut |Function |h\n|Ctrl-A |selectAll |\n|Ctrl-D |deleteLine |\n|Ctrl-Z |undo |\n|Shift-Ctrl-Z |redo |\n|Ctrl-Y |redo |\n|Ctrl-Home |goDocStart |\n|Ctrl-End |goDocEnd |\n|Ctrl-Up |goLineUp |\n|Ctrl-Down |goLineDown |\n|Ctrl-Left |goGroupLeft |\n|Ctrl-Right |goGroupRight |\n|Alt-Left |goLineStart |\n|Alt-Right |goLineEnd |\n|Ctrl-Backspace |delGroupBefore |\n|Ctrl-Delete |delGroupAfter |\n|Ctrl-F |find |\n|Ctrl-G |findNext |\n|Shift-Ctrl-G |findPrev |\n|Shift-Ctrl-F |replace |\n|Shift-Ctrl-R |replaceAll |\n|Ctrl-[ |indentLess |\n|Ctrl-] |indentMore |\n|Alt-U |undoSelection |\n|Shift-Ctrl-U |redoSelection |\n|Shift-Alt-U |redoSelection |\n\n\n!!!Shortcuts on ~MacOs\n\n|Shortcut |Function |h\n|Cmd-A |selectAll |\n|Cmd-D |deleteLine |\n|Cmd-Z |undo |\n|Shift-Cmd-Z |redo |\n|Cmd-Y |redo |\n|Cmd-Home |goDocStart |\n|Cmd-Up |goDocStart |\n|Cmd-End |goDocEnd |\n|Cmd-Down |goDocEnd |\n|Alt-Left |goGroupLeft |\n|Alt-Right |goGroupRight |\n|Cmd-Left |goLineLeft |\n|Cmd-Right |goLineRight |\n|Alt-Backspace |delGroupBefore |\n|Ctrl-Alt-Backspace |delGroupAfter |\n|Alt-Delete |delGroupAfter |\n|Cmd-F |find |\n|Cmd-G |findNext |\n|Shift-Cmd-G |findPrev |\n|Cmd-Alt-F |replace |\n|Shift-Cmd-Alt-F |replaceAll |\n|Cmd-[ |indentLess |\n|Cmd-] |indentMore |\n|Cmd-Backspace |delWrappedLineLeft |\n|Cmd-Delete |delWrappedLineRight |\n|Alt-U |undoSelection |\n|Shift-Alt-U |redoSelection |\n|Ctrl-Up |goDocStart |\n|Ctrl-Down |goDocEnd |\n|Ctrl-F |goCharRight |\n|Ctrl-B |goCharLeft |\n|Ctrl-P |goLineUp |\n|Ctrl-N |goLineDown |\n|Alt-F |goWordRight |\n|Alt-B |goWordLeft |\n|Ctrl-A |goLineStart |\n|Ctrl-E |goLineEnd |\n|Ctrl-V |goPageDown |\n|Shift-Ctrl-V |goPageUp |\n|Ctrl-D |delCharAfter |\n|Ctrl-H |delCharBefore |\n|Alt-D |delWordAfter |\n|Alt-Backspace |delWordBefore |\n|Ctrl-K |killLine |\n|Alt-T |transposeChars |\n|Ctrl-O |openLine |\n\n\n"
        },
        "$:/plugins/tiddlywiki/codemirror/license": {
            "title": "$:/plugins/tiddlywiki/codemirror/license",
            "text": "\"\"\"\n~CodeMirror, copyright (c) by Marijn Haverbeke and others\nDistributed under an MIT license: http://codemirror.net/LICENSE\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2018, UnaMesa Association\nDistributed under an BSD license: https://tiddlywiki.com/#License\n\"\"\"\n"
        },
        "$:/plugins/tiddlywiki/codemirror/readme": {
            "title": "$:/plugins/tiddlywiki/codemirror/readme",
            "text": "This plugin provides an enhanced text editor component based on [[CodeMirror|http://codemirror.net]]. The basic configuration is designed to be as lightweight as possible and is just around 235kb of size. Additional features can be installed with ~CodeMirror ~AddOns from the plugin library.\n\n[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/codemirror]]\n\nBased on ~CodeMirror version 5.58.2\n"
        },
        "$:/core/ui/ControlPanel/Settings/codemirror/editorFont": {
            "title": "$:/core/ui/ControlPanel/Settings/codemirror/editorFont",
            "tags": "$:/tags/ControlPanel/Settings/CodeMirror",
            "caption": "{{$:/language/codemirror/editorFont/hint}}",
            "text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n"
        },
        "$:/core/ui/ControlPanel/Settings/codemirror/keyMap": {
            "title": "$:/core/ui/ControlPanel/Settings/codemirror/keyMap",
            "tags": "$:/tags/ControlPanel/Settings/CodeMirror",
            "caption": "{{$:/language/codemirror/keyMap/hint}}",
            "text": "\\define lingo-base() $:/language/codemirror/keyMap\n\n<$link to=\"$:/config/codemirror/keyMap\"><<lingo hint>></$link>\n\n<$select tiddler=\"$:/config/codemirror/keyMap\" default=\"default\">\n<option value=\"default\">default</option>\n<$list filter=\"[all[shadows+tiddlers]module-type[codemirror-keymap]!has[draft.of]get[text]]\">\n<option value=<<currentTiddler>>><$transclude><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/codemirror/lineNumbers": {
            "title": "$:/core/ui/ControlPanel/Settings/codemirror/lineNumbers",
            "tags": "$:/tags/ControlPanel/Settings/CodeMirror",
            "caption": "{{$:/language/codemirror/lineNumbers/hint}}",
            "text": "\\define lingo-base() $:/language/codemirror/lineNumbers/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/lineNumbers\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"false\"> <$link to=\"$:/config/codemirror/lineNumbers\"><<lingo info>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/codemirror/lineWrapping": {
            "title": "$:/core/ui/ControlPanel/Settings/codemirror/lineWrapping",
            "tags": "$:/tags/ControlPanel/Settings/CodeMirror",
            "caption": "{{$:/language/codemirror/lineWrapping/hint}}",
            "text": "\\define lingo-base() $:/language/codemirror/lineWrapping/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/lineWrapping\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/lineWrapping\"><<lingo info>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/codemirror/showCursorWhenSelecting": {
            "title": "$:/core/ui/ControlPanel/Settings/codemirror/showCursorWhenSelecting",
            "tags": "$:/tags/ControlPanel/Settings/CodeMirror",
            "caption": "{{$:/language/codemirror/showCursorWhenSelecting/hint}}",
            "text": "\\define lingo-base() $:/language/codemirror/showCursorWhenSelecting/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/showCursorWhenSelecting\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/showCursorWhenSelecting\"><<lingo info>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/codemirror/styleActiveLine": {
            "title": "$:/core/ui/ControlPanel/Settings/codemirror/styleActiveLine",
            "tags": "$:/tags/ControlPanel/Settings/CodeMirror",
            "caption": "{{$:/language/codemirror/styleActiveLine/hint}}",
            "text": "\\define lingo-base() $:/language/codemirror/styleActiveLine/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/styleActiveLine\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"false\"> <$link to=\"$:/config/codemirror/styleActiveLine\"><<lingo info>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/codemirror/theme": {
            "title": "$:/core/ui/ControlPanel/Settings/codemirror/theme",
            "tags": "$:/tags/ControlPanel/Settings/CodeMirror",
            "caption": "{{$:/language/codemirror/theme/hint}}",
            "text": "\\define lingo-base() $:/language/codemirror/\n\n<$link to=\"$:/config/codemirror/theme\"><<lingo hint>></$link>\n\n<$select tiddler=\"$:/config/codemirror/theme\" default=\"default\">\n<option value=\"default\">default</option>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]module-type[codemirror-theme]!has[draft.of]get[name]]\">\n<option value=<<currentTiddler>>><$transclude field=\"name\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n\n//see the [[CodeMirror Usage|$:/plugins/tiddlywiki/codemirror/usage]] how to add themes//\n"
        },
        "$:/plugins/tiddlywiki/codemirror/styles": {
            "title": "$:/plugins/tiddlywiki/codemirror/styles",
            "tags": "[[$:/tags/Stylesheet]]",
            "module-type": "codemirror-theme",
            "name": "tiddlywiki",
            "text": "/* Make the editor resize to fit its content */\n\n.CodeMirror {\n\theight: auto;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.5;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n}\n\n.CodeMirror-scroll {\n\toverflow-x: auto;\n\toverflow-y: hidden;\n}\n\n.cm-s-tiddlywiki {\n  color-profile: sRGB;\n  rendering-intent: auto;\n}\n\n.cm-s-tiddlywiki.CodeMirror, .cm-s-tiddlywiki .CodeMirror-gutters { background-color: <<colour tiddler-editor-background>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki .CodeMirror-gutters {background: <<colour tiddler-editor-background>>; border-right: 0px;}\n.cm-s-tiddlywiki .CodeMirror-linenumber {color: <<colour primary>>;}\n.cm-s-tiddlywiki .CodeMirror-cursor { border-left: 2px solid <<colour foreground>>; }\n.cm-s-tiddlywiki div.CodeMirror-selected { background: <<colour selection-background>>; }\n.cm-s-tiddlywiki .CodeMirror-selectedtext,\n.cm-s-tiddlywiki .CodeMirror-selected,\n.cm-s-tiddlywiki .CodeMirror-line::selection,\n.cm-s-tiddlywiki .CodeMirror-line > span::selection,\n.cm-s-tiddlywiki .CodeMirror-line > span > span::selection,\n.cm-s-tiddlywiki .CodeMirror-line::-moz-selection,\n.cm-s-tiddlywiki .CodeMirror-line > span::-moz-selection,\n.cm-s-tiddlywiki .CodeMirror-line > span > span::-moz-selection { background: <<colour selection-background>>; }\n.cm-s-tiddlywiki span.cm-comment { color: <<colour muted-foreground>>; font-style:italic; font-weight:normal; }\n.cm-s-tiddlywiki .CodeMirror-activeline-background, .cm-s-tiddlywiki .CodeMirror-activeline-gutter .CodeMirror-linenumber { background: <<colour background>>; }\n.cm-s-tiddlywiki .CodeMirror-activeline .CodeMirror-linenumber.CodeMirror-gutter-elt { background: <<colour background>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki .CodeMirror-matchingbracket { background: <<colour primary>>; color:<<colour foreground>> !important; }\n.cm-s-tiddlywiki span.cm-matchhighlight { color: <<colour foreground>>; background-color: <<colour primary>>; font-weight: normal;}\n.cm-s-tiddlywiki span.cm-searching { color: <<colour foreground>>; background-color: <<colour primary>>; font-weight: normal;}\n\n\n.cm-s-tiddlywiki .CodeMirror-widget {\n  text-shadow: none;\n}\n\n.cm-s-tiddlywiki .cm-header { color: #586e75; }\n.cm-s-tiddlywiki .cm-quote { color: #93a1a1; }\n\n.cm-s-tiddlywiki .cm-keyword { color: #cb4b16; }\n.cm-s-tiddlywiki .cm-atom { color: #d33682; }\n.cm-s-tiddlywiki .cm-number { color: #d33682; }\n.cm-s-tiddlywiki .cm-def { color: #2aa198; }\n\n.cm-s-tiddlywiki .cm-variable { color: #839496; }\n.cm-s-tiddlywiki .cm-variable-2 { color: #b58900; }\n.cm-s-tiddlywiki .cm-variable-3, .cm-s-tiddlywiki .cm-type { color: #6c71c4; }\n\n.cm-s-tiddlywiki .cm-property { color: #2aa198; }\n.cm-s-tiddlywiki .cm-operator { color: #6c71c4; }\n\n.cm-s-tiddlywiki .cm-comment { color: #586e75; font-style:italic; }\n\n.cm-s-tiddlywiki .cm-string { color: #859900; }\n.cm-s-tiddlywiki .cm-string-2 { color: #b58900; }\n\n.cm-s-tiddlywiki .cm-meta { color: #859900; }\n.cm-s-tiddlywiki .cm-qualifier { color: #b58900; }\n.cm-s-tiddlywiki .cm-builtin { color: #d33682; }\n.cm-s-tiddlywiki .cm-bracket { color: #cb4b16; }\n.cm-s-tiddlywiki .CodeMirror-matchingbracket { color: #859900; }\n.cm-s-tiddlywiki .CodeMirror-nonmatchingbracket { color: #dc322f; }\n.cm-s-tiddlywiki .cm-tag { color: #93a1a1; }\n.cm-s-tiddlywiki .cm-attribute { color: #2aa198; }\n.cm-s-tiddlywiki .cm-hr {\n  color: transparent;\n  border-top: 1px solid #586e75;\n  display: block;\n}\n.cm-s-tiddlywiki .cm-link { color: #93a1a1; cursor: pointer; }\n.cm-s-tiddlywiki .cm-special { color: #6c71c4; }\n.cm-s-tiddlywiki .cm-em {\n  color: #999;\n  text-decoration: underline;\n  text-decoration-style: dotted;\n}\n.cm-s-tiddlywiki .cm-error,\n.cm-s-tiddlywiki .cm-invalidchar {\n  color: #586e75;\n  border-bottom: 1px dotted #dc322f;\n}\n"
        },
        "$:/core/ui/ControlPanel/Settings/CodeMirror": {
            "title": "$:/core/ui/ControlPanel/Settings/CodeMirror",
            "tags": "$:/tags/ControlPanel/SettingsTab",
            "caption": "CodeMirror",
            "list-after": "$:/core/ui/ControlPanel/Settings/TiddlyWiki",
            "text": "\\define lingo-base() $:/language/codemirror/controlPanel/\n\n<<lingo hint>>\n\n<$link to=\"$:/plugins/tiddlywiki/codemirror/usage\"><<lingo usage>></$link>\n\n<$link to=\"$:/plugins/tiddlywiki/codemirror/keyboard\"><<lingo keyboard>></$link>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings/CodeMirror]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/ControlPanel/Settings": {
            "title": "$:/core/ui/ControlPanel/Settings",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Settings/Caption}}",
            "text": "<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/SettingsTab]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\" explicitState=\"$:/state/tab--697582678\"/>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Settings/TiddlyWiki": {
            "title": "$:/core/ui/ControlPanel/Settings/TiddlyWiki",
            "tags": "$:/tags/ControlPanel/SettingsTab",
            "caption": "TiddlyWiki",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
        },
        "$:/plugins/tiddlywiki/codemirror/usage": {
            "title": "$:/plugins/tiddlywiki/codemirror/usage",
            "text": "! Configuration\n\nConfiguration for the ~CodeMirror text-editor can be done from within the CodeMirror Settings Tab in the [[ControlPanel|$:/ControlPanel]] (Settings - ~CodeMirror)\n\n\n!!Setting a different Theme\n\n~CodeMirror themes are available in the [ext[official GitHub repository|https://github.com/codemirror/CodeMirror/tree/master/theme]]\n\nMore themes can be found at https://github.com/FarhadG/code-mirror-themes/tree/master/themes and previewed [ext[here|http://farhadg.github.io/code-mirror-themes/]]\n\n\nTo add a theme to your wiki, follow these four steps:\n\n* choose one of the CSS files and copy its content to a new tiddler\n* remove all comments from the top and tag the tiddler with <<tag-pill \"$:/tags/Stylesheet\">>\n* add a field \"module-type\" with the value \"codemirror-theme\". add a field \"name\" with the exact ''name'' of the theme as value\n* save the tiddler and go to the Settings tab in $:/ControlPanel - look for the \"theme\" dropdown to select your newly added theme\n\n\n!!Line Numbers\n\nTo show or hide the Line Numbers at the left, go to ~ControlPanel - Settings - ~CodeMirror and look for the \"Line Numbers\" checkbox\n\n\n!!Line Wrapping\n\nControls if long lines get visually wrapped to a new line if they're too long to fit the editor width or if the editor should scroll horizontally\n\nTo change the line-wrapping behaviour, go to  ~ControlPanel - Settings - ~CodeMirror and look for the \"Line Wrapping\" checkbox\n\n\n!!Show Cursor when selecting\n\nDefines whether the Mouse cursor should be visually shown or hidden when making a text-selection\n\nTo change the show-cursor-when-selecting behaviour, go to  ~ControlPanel - Settings - ~CodeMirror and look for the \"Show cursor when selecting\" checkbox\n\n\n!!~CodeMirror Font Family\n\nThe Font-Family used within the ~CodeMirror text-editor defaults to \"monospace\" which will choose your configured monospace system-font\n\nThat setting can be overridden entering one or more Font-Families in the \"Font Family\" input field at ~ControlPanel - Settings - ~CodeMirror\n\n* The entries must be separated by semicolons ','\n* Font-Family Names that contain spaces must be quoted like \"My Font\"\n* If a list of Font-Families is specified, the last Font-Family found on the user-system gets used, non-existing fonts get ignored\n* If none of the specified Font-Families is available, ~CodeMirror uses the default \"monospace\"\n\n\n!!\"Hidden\" Settings:\n\n!!!Cursor Blink Rate\n\nThe cursor blink-rate defines how fast (in milliseconds) the cursor blinks inside the textarea\n\nYou can change it by editing $:/config/codemirror/cursorBlinkRate\n\"0\" disables blinking\n\n!!!Tabsize\n\nThe Tabsize defines the width of a tab character. Default is 4.\n\nYou can change it by editing $:/config/codemirror/tabSize\n\n!!!Indent Unit\n\nNot enabled for vnd.tiddlywiki and x-tiddlywiki\n\nDefines how many spaces a text-block should be indented. Defaults to 2.\n\nYou can change it by editing $:/config/codemirror/indentUnit\n\n"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/tiddlywiki/evernote/docs": {
            "title": "$:/plugins/tiddlywiki/evernote/docs",
            "text": "! Introduction\n\n"
        },
        "$:/plugins/tiddlywiki/evernote/modules/enex-deserializer.js": {
            "title": "$:/plugins/tiddlywiki/evernote/modules/enex-deserializer.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/evernote/modules/enex-deserializer.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nENEX file deserializer\n\nFor details see: https://blog.evernote.com/tech/2013/08/08/evernote-export-format-enex/\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// DOMParser = require(\"$:/plugins/tiddlywiki/xmldom/dom-parser\").DOMParser;\n\n/*\nParse an ENEX file into tiddlers\n*/\nexports[\"application/enex+xml\"] = function(text,fields) {\n\t// Collect output tiddlers in an array\n\tvar results = [];\n\t// Parse the XML document\n\tvar parser = new DOMParser(),\n\t\tdoc = parser.parseFromString(text,\"application/xml\");\n\t// Output a report tiddler with information about the import\n\tvar enex = doc.querySelector(\"en-export\");\n\tresults.push({\n\t\ttitle: \"Evernote Import Report\",\n\t\ttext: \"Evernote file imported on \" + enex.getAttribute(\"export-date\") + \" from \" + enex.getAttribute(\"application\") + \" (\" + enex.getAttribute(\"version\") + \")\"\n\t})\n\t// Get all the \"note\" nodes\n\tvar noteNodes = doc.querySelectorAll(\"note\");\n\t$tw.utils.each(noteNodes,function(noteNode) {\n\t\tvar result = {\n\t\t\ttitle: getTextContent(noteNode,\"title\"),\n\t\t\ttype: \"text/html\",\n\t\t\ttags: [],\n\t\t\ttext: getTextContent(noteNode,\"content\"),\n\t\t\tmodified: convertDate(getTextContent(noteNode,\"created\")),\n\t\t\tcreated:  convertDate(getTextContent(noteNode,\"created\"))\n\n\t\t};\n\t\t$tw.utils.each(noteNode.querySelectorAll(\"tag\"),function(tagNode) {\n\t\t\tresult.tags.push(tagNode.textContent);\n\t\t});\n\t\t// If there's an update date, set modifiy date accordingly\n\t\tvar update = getTextContent(noteNode,\"updated\");\n\t\tif(update) {\n\t\t\tresult.modified = convertDate(update);\n\t\t}\n\t\t$tw.utils.each(noteNode.querySelectorAll(\"note-attributes>*\"),function(attrNode) {\n\t\t\tresult[attrNode.tagName] = attrNode.textContent;\n\t\t});\n\t\tresults.push(result);\n\t\t$tw.utils.each(noteNode.querySelectorAll(\"resource\"),function(resourceNode) {\n\t\t\tresults.push({\n\t\t\t\ttitle: getTextContent(resourceNode,\"resource-attributes>file-name\"),\n\t\t\t\ttype: getTextContent(resourceNode,\"mime\"),\n\t\t\t\twidth: getTextContent(resourceNode,\"width\"),\n\t\t\t\theight: getTextContent(resourceNode,\"height\"),\n\t\t\t\ttext: getTextContent(resourceNode,\"data\")\n\t\t\t});\n\t\t});\n\t});\n\t// Return the output tiddlers\n\treturn results;\n};\n\nfunction getTextContent(node,selector) {\n\treturn (node.querySelector(selector) || {}).textContent;\n}\n\nfunction convertDate(isoDate) {\n\treturn (isoDate || \"\").replace(\"T\",\"\").replace(\"Z\",\"\") + \"000\"\n}\n\n})();\n",
            "type": "application/javascript",
            "module-type": "tiddlerdeserializer"
        },
        "$:/plugins/tiddlywiki/evernote/readme": {
            "title": "$:/plugins/tiddlywiki/evernote/readme",
            "text": "This plugin contains tool to assist migration of content from Evernote ENEX files.\n\n!! Instructions\n\n# Download or save your ENEX file from Evernote\n# Rename the file to have an `.enex` extension\n# Drag the file into the TiddlyWiki browser window\n## Alternatively, click the \"Import\" button in the \"Tools\" sidebar tab\n# Review and accept the converted tiddlers\n"
        }
    }
}
{
    "tiddlers": {
        "$:/config/fileUploads/uploadsEnabled": {
            "title": "$:/config/fileUploads/uploadsEnabled",
            "text": "yes"
        },
        "$:/plugins/tiddlywiki/file-uploads/dummy-uploader.js": {
            "title": "$:/plugins/tiddlywiki/file-uploads/dummy-uploader.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/file-uploads/dummy-uploader.js\ntype: application/javascript\nmodule-type: uploader\n\nMocks uploading to Fission Webnative filing system\nUseful for testing the upload mechanism without uploading anything\n\n\\*/\n(function(){\n\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dummy\";\n\nvar DummyUserName;\n\nexports.create = function(params) {\n\treturn new DummyUploader(params);\n};\n\nfunction DummyUploader(params) {\n\tthis.params = params || {};\n\tthis.items = [];\n\tthis.logger = new $tw.utils.Logger(\"dummy-uploader\");\n\tthis.logger.log(\"DummyUploader\",params);\n};\n\nDummyUploader.prototype.initialize = function(callback) {\n\tthis.logger.log(\"uploader initialize\");\n\tcallback();\n};\n\n/*\nArguments:\nuploadItem: object representing tiddler to be uploaded\ncallback accepts two arguments:\n\terr: error object if there was an error\n\tuploadItemInfo: object corresponding to the tiddler being uploaded with the following properties set:\n\t- title\n\t- canonical_uri (if available)\n\t- uploadComplete (boolean)\n*/\nDummyUploader.prototype.uploadFile = function(uploadItem,callback) {  \n\tvar self = this,\n\t\tuploadInfo = { title: uploadItem.title };\n\t//this.items.push(uploadItem);\n\t// Mock uploading the file by logging to console.\n\tthis.logger.log(`Saved ${uploadItem.title}`);\n\tvar canonical_uri = `https://myusername.files.fission.name/p/${uploadItem.filename}`\n\t// Set the canonical_uri if available \n\tuploadInfo.canonical_uri = canonical_uri;\n\t// Set updateProgress to true if the progress bar should be updated\n\t// For some uploaders where the data is just being added to the payload with no uploading taking place we may not want to update the progress bar\n\tuploadInfo.updateProgress = true;\n\t// Set uploadComplete to true if the uploaded file has been persisted and is available at the canonical_uri\n\t// This flag triggers the creation of a canonical_uri tiddler corresponding to the uploaded file\n\tuploadInfo.uploadComplete = false;\n\tcallback(null,uploadInfo);\n};\n\n/*\nArguments:\ncallback accepts two arguments:\n\tstatus: true if there was no error, otherwise false\n\tuploadInfoArray (optional): array of uploadInfo objects corresponding to the tiddlers that have been uploaded\n\t\tthis is needed and should set the canonical_uri for each uploadItem if:\n\t\t- (a) uploadInfo.uploadComplete was not set to true in uploadFile AND \n\t\t- (b) uploadInfo.canonical_uri was not set in uploadFile\n*/\nDummyUploader.prototype.deinitialize = function(callback) {\n\t// Mock finishing up operations that will complete the upload and persist the files\n\tthis.logger.log(\"uploader deinitialize\");\n\tcallback();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "uploader"
        },
        "$:/config/fileUploadFilter": {
            "title": "$:/config/fileUploadFilter",
            "text": "[all[tiddlers]is[binary]!is[draft]!has[_canonical_uri]] :filter[get[text]length[]compare:integer:gteq[100000]]"
        },
        "$:/config/fileUploader": {
            "title": "$:/config/fileUploader",
            "text": "dummy"
        },
        "$:/plugins/tiddlywiki/file-uploads/filters/uploaders.js": {
            "title": "$:/plugins/tiddlywiki/file-uploads/filters/uploaders.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/file-uploads/filters/uploaders.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the uploaders in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.uploaders = function(source,operator,options) {\n\tvar results = [];\n\t$tw.modules.forEachModuleOfType(\"uploader\",function(title,module) {\n\t\tif(module.name) {\n\t\t\tresults.push(module.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/plugins/tiddlywiki/file-uploads/images/upload-off": {
            "title": "$:/plugins/tiddlywiki/file-uploads/images/upload-off",
            "caption": "upload-off",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tmd-upload-off tc-image-button\" viewBox=\"0 0 24 24\"><path d=\"M22.11 21.46L2.39 1.73L1.11 3L6.56 8.45L5 10H8.11L9 10.89V16H14.11L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M15 10H19L12 3L9.1 5.9L15 11.8V10Z\" /></svg>\n"
        },
        "$:/plugins/tiddlywiki/file-uploads/images/upload": {
            "title": "$:/plugins/tiddlywiki/file-uploads/images/upload",
            "caption": "upload",
            "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tmd-upload tc-image-button\" viewBox=\"0 0 24 24\"><path d=\"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\" /></svg>\n"
        },
        "$:/plugins/tiddlywiki/file-uploads/Notifications/Uploaded": {
            "title": "$:/plugins/tiddlywiki/file-uploads/Notifications/Uploaded",
            "text": "Uploads completed.\n"
        },
        "$:/plugins/tiddlywiki/file-uploads/Notifications/Uploading": {
            "title": "$:/plugins/tiddlywiki/file-uploads/Notifications/Uploading",
            "text": "Uploading <<count>> file(s).\n"
        },
        "$:/plugins/tiddlywiki/file-uploads/Buttons/toggle-uploads": {
            "title": "$:/plugins/tiddlywiki/file-uploads/Buttons/toggle-uploads",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/plugins/tiddlywiki/file-uploads/images/upload}} Toggle file uploads",
            "description": "Enable/disable uploading binary tiddlers",
            "text": "\\define toggleActions()\n<$action-setfield $tiddler=\"$:/config/fileUploads/uploadsEnabled\" text={{{ [{$:/config/fileUploads/uploadsEnabled}match[yes]then[no]else[yes]] }}}/>\n\\end\n\n\\whitespace trim\n<$button tooltip=\"Toggle file uploads\" aria-label=\"Toggle file uploads\" class=<<tv-config-toolbar-class>> actions=<<toggleActions>> >\n\t<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n\t\t<$transclude tiddler={{{ [{$:/config/fileUploads/uploadsEnabled}match[no]then[$:/plugins/tiddlywiki/file-uploads/images/upload-off]] :else[[$:/plugins/tiddlywiki/file-uploads/images/upload]] }}}/>\n\t</$list>\n\t<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n\t\t<span class=\"tc-btn-text\">\n\t\t\t<$text text=\"Toggle file uploads\"/>\n\t\t</span>\n\t</$list>\n</$button>\n"
        },
        "$:/plugins/tiddlywiki/file-uploads/readme": {
            "title": "$:/plugins/tiddlywiki/file-uploads/readme",
            "text": "Experimental plugin in active development for uploading binary tiddlers to different storage backends and creating canonical_uri tiddlers in their stead.\n\nIt is recommended to ''disable ~AutoSave when using this plugin'', to avoid saving imported binary tiddlers twice and using up twice the bandwidth.\n\nStorage backends are pluggable and can be added via uploader modules. This plugin includes a \"dummy\" uploader module that implements the minimal interface needed for an uploader module but does not actually upload anything and just logs to the developer console.\n\nAfter installing this plugin and at least one uploader sub-plugin, you must configure the uploader to use in the [[settings|$:/plugins/tiddlywiki/file-uploads/settings]] of this plugin.\n\nThis plugin uses a [[filter|$:/config/fileUploadFilter]] to determine which tiddlers are uploaded. The default filter uploads all binary tiddlers over 100kb in size.\n"
        },
        "$:/plugins/tiddlywiki/file-uploads/settings": {
            "title": "$:/plugins/tiddlywiki/file-uploads/settings",
            "text": "File uploader modules add support for different storage backends to upload files to.\n\n<$link to=\"$:/config/fileUploader\">File uploader: </$link><$select tiddler=\"$:/config/fileUploader\">\n<$list filter=\"[uploaders[]]\">\n<option value=<<currentTiddler>>><$transclude field=\"title\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n\n<$vars uploaderPlugin={{{ [[$:/plugins/tiddlywiki/file-uploads-]addsuffix{$:/config/fileUploader}]\" }}}>\n<$list filter=\"[<uploaderPlugin>plugintiddlers[]] :filter[removeprefix<uploaderPlugin>match[/settings]]\" variable=\"settingsTiddler\">\n\n\t<$transclude tiddler=<<uploaderPlugin>> subtiddler=<<settingsTiddler>>/>\n\n</$list>\n\n</$vars>\n"
        },
        "$:/plugins/tiddlywiki/file-uploads/startup.js": {
            "title": "$:/plugins/tiddlywiki/file-uploads/startup.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/file-uploads/startup.js\ntype: application/javascript\nmodule-type: startup\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"upload-handler\";\nexports.platforms = [\"browser\"];\nexports.after = [\"load-modules\"];\n\nexports.startup = function() {\n\t$tw.uploadHandler = new $tw.UploadHandler({\n\t\twiki: $tw.wiki\n\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/plugins/tiddlywiki/file-uploads/uploadhandler.js": {
            "title": "$:/plugins/tiddlywiki/file-uploads/uploadhandler.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/file-uploads/uploadhandler.js\ntype: application/javascript\nmodule-type: global\nThe upload handler manages uploading binary tiddlers to external storage.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nUploadHandler.prototype.titleFileUploadFilter = \"$:/config/fileUploadFilter\";\nUploadHandler.prototype.titleUploader = \"$:/config/fileUploader\";\nUploadHandler.prototype.titleUploadedNotification = \"$:/plugins/tiddlywiki/file-uploads/Notifications/Uploaded\";\nUploadHandler.prototype.titleUploadingNotification = \"$:/plugins/tiddlywiki/file-uploads/Notifications/Uploading\";\nUploadHandler.prototype.titleUploadsEnabled = \"$:/config/fileUploads/uploadsEnabled\";\n\nfunction UploadHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.logger = new $tw.utils.Logger(\"upload-handler\");\n\tthis.wiki.addEventListener(\"change\",function(changes){\n\t\tvar uploadsEnabled = self.wiki.getTiddlerText(self.titleUploadsEnabled,\"yes\").trim() === \"yes\";\n\t\tif(!uploadsEnabled) {\n\t\t\treturn;\n\t\t}\n\t\tvar callback = function(err) {\n\t\t\tdelete self.uploadTask;\n\t\t\tif(!err) {\n\t\t\t\t//self.logger.clearAlerts();\n\t\t\t\t$tw.notifier.display(self.titleUploadedNotification);\n\t\t\t\tself.logger.log(\"checking for pending uploads\");\n\t\t\t\t// Check if there are any new tiddlers that need to be uploaded\n\t\t\t\t$tw.utils.nextTick(upload);\n\t\t\t}\n\t\t};\n\t\tvar upload = function() {\n\t\t\tvar uploadFilter = self.wiki.getTiddlerText(self.titleFileUploadFilter),\n\t\t\t\ttiddlersToUpload = self.wiki.filterTiddlers(uploadFilter);\n\t\t\tif(tiddlersToUpload.length > 0) {\n\t\t\t\t// If we are not already uploading then start a new upload task\n\t\t\t\t// If an upload task is already in progress then new tiddlers that need to be uploaded will be picked up in the next task \n\t\t\t\tif(!self.uploadTask) {\n\t\t\t\t\t// The tiddlers currently matching the upload filter are the paylaod for the upload task\n\t\t\t\t\tvar uploadTask = new UploadTask(tiddlersToUpload,{\n\t\t\t\t\t\twiki: options.wiki,\n\t\t\t\t\t\tuploaderConfig: self.wiki.getTiddlerText(self.titleUploader).trim(),\n\t\t\t\t\t\tlogger: self.logger\n\t\t\t\t\t});\n\t\t\t\t\tif(uploadTask && uploadTask.uploader) {\n\t\t\t\t\t\t$tw.notifier.display(self.titleUploadingNotification,{variables:{\n\t\t\t\t\t\t\tcount: tiddlersToUpload.length.toString()\n\t\t\t\t\t\t}});\n\t\t\t\t\t\tself.uploadTask = uploadTask;\n\t\t\t\t\t\tself.uploadTask.run(callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.logger.log(\"no pending uploads\");\n\t\t\t}\n\t\t};\n\t\t// ToDo find a cleaner alternative for logging\n\t\t// Filter out alert tiddlers from changes otherwise the alerts we show keep triggering the change listener\n\t\tvar changedTiddlers = [];\n\t\t$tw.utils.each(changes,function(change,title){\n\t\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\t\tif(tiddler){\n\t\t\t\tchangedTiddlers.push(title);\n\t\t\t}\n\t\t});\n\t\tvar filteredChanges = self.wiki.filterTiddlers(\"[!prefix[$:/temp/alerts/alert]]\",null,self.wiki.makeTiddlerIterator(changedTiddlers));\n\t\tif(filteredChanges.length > 0) {\n\t\t\tupload();\n\t\t}\n\t});\n\t$tw.addUnloadTask(function(event) {\n\t\tvar confirmationMessage;\n\t\tif(self.isDirty()) {\n\t\t\t// Modern browsers do not use the specified string\n\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\tevent.returnValue = confirmationMessage; // Gecko\t\t\t\n\t\t}\n\t\treturn confirmationMessage;\n\t});\n};\n\nUploadHandler.prototype.isDirty = function() {\n\treturn !!this.uploadTask;\n};\n\nfunction UploadTask(tiddlers,options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.taskTiddlers = tiddlers;\n\tthis.tiddlerInfo = {};\n\tthis.logger = options.logger;\n\tthis.uploader = this.getUploader(options.uploaderConfig);\n};\n\nUploadTask.prototype.displayError = function(msg,err) {\n\tthis.logger.alert(msg + \":\",err);\n};\n\nUploadTask.prototype.run = function(uploadHandlerCallback){\n\tvar self = this;\n\tself.uploader.initialize(function(err){\n\t\tif(err) {\n\t\t\tself.displayError(\"Error in uploader.initialize, aborting uploads\");\n\t\t\tuploadHandlerCallback(err);\n\t\t} else {\n\t\t\tself.processTiddlerQueue(uploadHandlerCallback);\n\t\t}\n\t});\n};\n\nUploadTask.prototype.getUploader = function(uploaderName) {\n\tvar uploader;\n\t$tw.modules.forEachModuleOfType(\"uploader\",function(title,module) {\n\t\tif(module.name === uploaderName) {\n\t\t\tuploader = module;\n\t\t}\n\t});\n\treturn uploader && uploader.create({logger:this.logger});\n};\n\n// Returns true if changeCount in tiddlerInfo is the same as the current changeCount of the tiddler\nUploadTask.prototype.changeCountUnchanged = function(title) {\n\tvar tiddler = this.wiki.getTiddler(title);\n\tif(tiddler && this.tiddlerInfo[title]) {\n\t\tvar changeCount = this.wiki.getChangeCount(title);\n\t\tif(changeCount === this.tiddlerInfo[title].changeCount) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n// Converts a binary tiddler into a canonical_uri tiddler if:\n// - the tiddler still exists\n// - the tiddler has not changed since we uploaded it\nUploadTask.prototype.makeCanonicalURITiddler = function(title) {\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tcanonical_uri = this.tiddlerInfo[title].canonical_uri;\n\tif(tiddler && canonical_uri && this.changeCountUnchanged(title)) {\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{text:\"\",_canonical_uri:canonical_uri}));\n\t} else {\n\t\tconsole.log(`Could not convert ${title} to a canonical_uri tiddler`);\n\t}\n};\n\nUploadTask.prototype.processTiddlerQueue = function(uploadHandlerCallback) {\n\tvar self = this;\n\tvar nextTiddlerIndex = 0;\n\t\n\tvar deinitializeCallback = function(err,uploadInfoArray) {\n\t\tif(err) {\n\t\t\tself.displayError(err,\"Error in uploader deinitialize\");\n\t\t\tuploadHandlerCallback(err);\n\t\t} else {\n\t\t\t// Some uploaders may not have canonical_uris earlier and may pass an array of item objects with canonical_uri set\n\t\t\t$tw.utils.each(uploadInfoArray,function(uploadInfo){\n\t\t\t\t// For every uploaded tiddler save the canonical_uri if one has been returned\n\t\t\t\tif(uploadInfo.uploadComplete && uploadInfo.canonical_uri && uploadInfo.title && self.tiddlerInfo[uploadInfo.title]) {\n\t\t\t\t\tself.tiddlerInfo[uploadInfo.title].canonical_uri = uploadInfo.canonical_uri;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Convert all uploaded tiddlers for which we have a canonical_uri to canonical_uri tiddlers\n\t\t\tfor(var title in self.tiddlerInfo) {\n\t\t\t\tself.makeCanonicalURITiddler(title);\n\t\t\t}\n\t\t\tdelete self.uploader;\n\t\t\tself.tiddlerInfo = {};\n\t\t\tself.logger.log(\"uploader deinitialize callback\");\n\t\t\tself.logger.log(\"Uploads completed\");\n\t\t\tuploadHandlerCallback();\n\t\t}\n\t};\n\t\n\tvar uploadedTiddlerCallback = function(err,uploadInfo) {\n\t\tif(err) {\n\t\t\tself.displayError(`there was an error uploading ${uploadInfo.title}, aborting uploads`);\n\t\t\tuploadHandlerCallback(err);\n\t\t} else {\n\t\t\tself.logger.log(`upload callback for ${uploadInfo.title}`);\n\t\t\t// Save the canonical_uri if one has been set\n\t\t\tif(uploadInfo.canonical_uri) {\n\t\t\t\tself.tiddlerInfo[uploadInfo.title].canonical_uri = uploadInfo.canonical_uri;\n\t\t\t}\n\t\t\t// If uploadComplete is true then convert the tiddler to a canonical_uri tiddler\n\t\t\tif(uploadInfo.uploadComplete) {\n\t\t\t\tself.makeCanonicalURITiddler(uploadInfo.title);\n\t\t\t\tdelete self.tiddlerInfo[uploadInfo.title];\n\t\t\t\t//below line is for debugging only\n\t\t\t\t//self.wiki.setText(item.title,\"upload-status\",null,\"uploaded\");\n\t\t\t}\t\t\t\n\t\t\tnextTiddlerIndex++;\n\t\t\tuploadNextTiddler();\n\t\t}\n\t};\n\t\n\tvar uploadNextTiddler = function() {\n\t\tvar title,\n\t\t\ttiddler;\n\t\t// Skip over any queued tiddlers that might have been deleted\n\t\twhile(nextTiddlerIndex < self.taskTiddlers.length && !tiddler) {\n\t\t\ttitle = self.taskTiddlers[nextTiddlerIndex];\n\t\t\ttiddler = self.wiki.getTiddler(title);\n\t\t\tif(!tiddler) {\n\t\t\t\tnextTiddlerIndex++;\n\t\t\t}\n\t\t}\n\t\tif(tiddler) {\n\t\t\tself.tiddlerInfo[title] = {\n\t\t\t\tchangeCount : self.wiki.getChangeCount(title)\n\t\t\t}\n\t\t\tvar uploadItem = self.getTiddlerUploadItem(tiddler);\n\t\t\tself.uploader.uploadFile(uploadItem,function(err,uploadItemInfo){\n\t\t\t\t$tw.utils.nextTick(function(){uploadedTiddlerCallback(err,uploadItemInfo)});\n\t\t\t});\n\t\t} else {\n\t\t\tself.uploader.deinitialize(deinitializeCallback);\n\t\t}\n\t};\n\tuploadNextTiddler();\n};\n\nUploadTask.prototype.getTiddlerUploadItem = function(tiddler) {\n\t\n\t//\tTODO:\n\t\t// Need to sanitize tiddler titles to make sure they are valid file names\n\t\t// file names must be unique or we could overwrite the file corresponding to another uploaded tiddler.\n\treturn {\n\t\ttitle: tiddler.fields.title,\n\t\tfilename: tiddler.fields.title,\n\t\ttext: tiddler.fields.text || \"\",\n\t\ttype: tiddler.fields.type || \"\",\n\t\tisBase64: ($tw.config.contentTypeInfo[tiddler.fields.type] || {}).encoding  === \"base64\"\n\t};\n}\n\nexports.UploadHandler = UploadHandler;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "global"
        }
    }
}
{
    "tiddlers": {
        "$:/config/file-uploads/github/uploadpath": {
            "title": "$:/config/file-uploads/github/uploadpath",
            "text": "files\n"
        },
        "$:/plugins/tiddlywiki/file-uploads-github/uploader.js": {
            "title": "$:/plugins/tiddlywiki/file-uploads-github/uploader.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/file-uploads-github/uploader.js\ntype: application/javascript\nmodule-type: uploader\n\nHandles uploading files to Github\nUses the username, repository and access token from the Github saver\nFile sare saved to the \"files\" directory in the root of repository, existing files are overwritten.\n\n\\*/\n(function(){\n\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"github\";\n\n'use strict';\n\nvar Octokat = require(\"$:/plugins/tiddlywiki/file-uploads-github/octokat.js\");\n\nvar defaults = {\n\tbranchName: 'main',\n\ttoken: '',\n\tusername: '',\n\treponame: ''\n};\n\n//Adapted from https://gist.github.com/StephanHoyer/91d8175507fcae8fb31a\nfunction github(options) {\n\toptions = Object.assign({}, defaults, options);\n\tvar head;\n\n\tvar octo = new Octokat({\n\t\ttoken: options.token\n\t});\n\tvar repo = octo.repos(options.username, options.reponame);\n\n\tfunction fetchHead() {\n\t\treturn repo.git.refs.heads(options.branchName).fetch();\n\t}\n\n\tfunction fetchTree() {\n\t\treturn fetchHead().then(function(commit) {\n\t\t\thead = commit;\n\t\t\treturn repo.git.trees(commit.object.sha).fetch();\n\t\t});\n\t}\n\n\tfunction commit(files, message) {\n\t\treturn Promise.all(files.map(function(file) {\n\t\t\treturn repo.git.blobs.create({\n\t\t\tcontent: file.content,\n\t\t\tencoding: file.encoding || 'utf-8'\n\t\t\t});\n\t\t})).then(function(blobs) {\n\t\t\treturn fetchTree().then(function(tree) {\n\t\t\treturn repo.git.trees.create({\n\t\t\t\ttree: files.map(function(file, index) {\n\t\t\t\treturn {\n\t\t\t\t\tpath: file.path,\n\t\t\t\t\tmode: '100644',\n\t\t\t\t\ttype: 'blob',\n\t\t\t\t\tsha: blobs[index].sha\n\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\tbase_tree: tree.sha\n\t\t\t});\n\t\t\t});\n\t\t}).then(function(tree) {\n\t\t\treturn repo.git.commits.create({\n\t\t\tmessage: message,\n\t\t\ttree: tree.sha,\n\t\t\tparents: [\n\t\t\t\thead.object.sha\n\t\t\t]\n\t\t\t});\n\t\t}).then(function(commit) {\n\t\t\treturn repo.git.refs.heads(options.branchName).update({\n\t\t\tsha: commit.sha\n\t\t\t});\n\t\t});\n\t}\n\n\treturn {\n\tcommit: commit\n\t};\n}\n\nexports.create = function(params) {\n\tvar reponame = $tw.wiki.getTiddlerText(\"$:/GitHub/Repo\"),\n\t\tusername = $tw.wiki.getTiddlerText(\"$:/GitHub/Username\"),\n\t\ttoken = $tw.utils.getPassword(\"github\");\n\tif(!username || !reponame || !token) {\n\t\tparams.logger.alert(\"Github repository details are not properly configured. Cannot upload files.\");\n\t\treturn null;\n\t}\n\tvar githubInfo = {\n\t\tusername: username.trim(),\n\t\treponame: reponame.trim().split(\"/\").pop(),\n\t\ttoken: token.trim()\n\t}\n\treturn new GithubUploader(params,githubInfo);\n};\n\nfunction GithubUploader(params,githubInfo) {\n\tthis.params = params || {};\n\tthis.githubInfo = githubInfo;\n\tthis.logger = new $tw.utils.Logger(\"github-uploader\");\n\tthis.files = [];\n\tthis.logger.log(\"GithubUploader\",params);\n};\n\nGithubUploader.prototype.initialize = function(callback) {\n\tthis.logger.log(\"uploader initialize\");\n\tcallback();\n};\n\n// Returns the canonical_uri for a file that has been uploaded\nGithubUploader.prototype._getCanonicalURI = function(uploadItem) {\n\treturn `https://${this.githubInfo.username}.github.io/${this.githubInfo.reponame}/${this._getFilePath()}/${uploadItem.filename}`;\n};\n\nGithubUploader.prototype._getFilePath = function() {\n\treturn $tw.wiki.getTiddlerText(\"$:/config/file-uploads/github/uploadpath\",\"files\").trim().replace(/^\\/|\\/$/gm,\"\");\n};\n\n/*\nArguments:\nuploadItem: object representing tiddler to be uploaded\ncallback accepts two arguments:\n\terr: error object if there was an error\n\tuploadItemInfo: object corresponding to the tiddler being uploaded with the following properties set:\n\t- title\n\t- canonical_uri (if available)\n\t- uploadComplete (boolean)\n*/\nGithubUploader.prototype.uploadFile = function(uploadItem,callback) {  \n\tvar self = this,\n\t\tuploadInfo = { title: uploadItem.title };\n\tthis.files.push({\n\t\tpath: `${this._getFilePath()}/${uploadItem.filename}`,\n\t\tcontent: uploadItem.text,\n\t\tencoding: uploadItem.isBase64 ? \"base64\" : \"utf8\"\n\t});\t\t\n\tvar canonical_uri = this._getCanonicalURI(uploadItem);\n\t// Set the canonical_uri if available \n\tuploadInfo.canonical_uri = canonical_uri;\n\t// Set uploadComplete to true if the uploaded file has been persisted and is available at the canonical_uri\n\t// This flag triggers the creation of a canonical_uri tiddler corresponding to the uploaded file\n\tuploadInfo.uploadComplete = false;\n\tcallback(null,uploadInfo);\n};\n\n/*\nArguments:\ncallback accepts two arguments:\n\tstatus: true if there was no error, otherwise false\n\tuploadInfoArray (optional): array of uploadInfo objects corresponding to the tiddlers that have been uploaded\n\t\tthis is needed and should set the canonical_uri for each uploadItem if:\n\t\t- (a) uploadInfo.uploadComplete was not set to true in uploadFile AND \n\t\t- (b) uploadInfo.canonical_uri was not set in uploadFile\n*/\nGithubUploader.prototype.deinitialize = function(callback) {\n\tvar self = this;\n\tthis.logger.log(\"uploader deinitialize\",this.files);\n\tvar api = github(this.githubInfo);\n\tapi.commit(this.files,\"Uploaded by TiddlyWiki\")\n\t\t.then(() => callback())\n\t\t.catch((err) => {\n\t\t\tself.logger.alert(`Error uploading to github: ${err} in uploader deinitialize`);\n\t\t\tcallback(err);\n\t\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "uploader"
        },
        "$:/plugins/tiddlywiki/file-uploads-github/license": {
            "title": "$:/plugins/tiddlywiki/file-uploads-github/license",
            "text": "\"\"\"\n~OctoKat, copyright (c) by Philip Schatz\nDistributed under an MIT license: https://github.com/philschatz/octokat.js/blob/master/LICENSE.md\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2021, ~UnaMesa Association\nDistributed under an BSD license: https://tiddlywiki.com/#License\n\"\"\"\n"
        },
        "$:/plugins/tiddlywiki/file-uploads-github/octokat.js": {
            "text": "!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.Octokat=t():e.Octokat=t()}(\"undefined\"!=typeof self?self:this,function(){return s={},r.m=n=[function(e,t,n){\"use strict\";n={camelize:function(e){return e?e.replace(/[_-]+(\\w)/g,function(e){return e[1].toUpperCase()}):\"\"},uncamelize:function(e){return e?e.replace(/([A-Z])+/g,function(e){return\"_\"+(1<arguments.length&&void 0!==arguments[1]?arguments[1]:\"\").toLowerCase()}):\"\"},dasherize:function(e){return e?(e=e[0].toLowerCase()+e.slice(1)).replace(/([A-Z])|(_)/g,function(e,t){return t?\"-\"+t.toLowerCase():\"-\"}):\"\"},extend:function(t,n){if(n)return Object.keys(n).map(function(e){t[e]=n[e]})},forOwn:function(t,n){return Object.keys(t).map(function(e){return n(t[e],e)})},filter:n(12),forEach:n(13),map:n(14)};e.exports=n},function(e,t,n){\"use strict\";e.exports=function(e){console&&console.warn&&console.warn(\"Octokat Deprecation: \"+e)}},function(e,t,n){\"use strict\";e.exports=function(e,t){if(!e||e==={})return\"\";var n,r=[],s=e||{};for(n in s){var o=s[n];o&&r.push(n+\"=\"+encodeURIComponent(o))}return r.length?t?\"&\"+r.join(\"&\"):\"?\"+r.join(\"&\"):\"\"}},function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s={readme:!1,tarball:!1,zipball:!1,compare:!1,deployments:{statuses:!1},hooks:{tests:!1},assignees:!1,languages:!1,teams:!1,tags:!1,branches:!1,contributors:!1,subscribers:!1,subscription:!1,stargazers:!1,comments:!1,downloads:!1,forks:!1,milestones:{labels:!1},labels:!1,releases:{assets:!1,latest:!1,tags:!1},events:!1,notifications:!1,merges:!1,statuses:!1,pulls:{merge:!1,comments:!1,commits:!1,files:!1,events:!1,labels:!1,requested_reviewers:!1,reviews:{comments:!1,events:!1,dismissals:!1}},pages:{builds:{latest:!1}},commits:{comments:!1,status:!1,statuses:!1},contents:!1,collaborators:{permission:!1},projects:!1,issues:{events:!1,comments:!1,labels:!1},git:{refs:{heads:!1,tags:!1},trees:!1,blobs:!1,commits:!1},stats:{contributors:!1,commit_activity:!1,code_frequency:!1,participation:!1,punch_card:!1},traffic:{popular:{referrers:!1,paths:!1},views:!1,clones:!1}};e.exports=(r(e={zen:!1,octocat:!1,organizations:!1,issues:!1,emojis:!1,markdown:!1,meta:!1,rate_limit:!1,feeds:!1,events:!1,repositories:!1,notifications:{threads:{subscription:!1}},gitignore:{templates:!1},user:{repos:!1,orgs:!1,followers:!1,following:!1,emails:!1,issues:!1,public_emails:!1,starred:!1,teams:!1},orgs:{repos:!1,issues:!1,members:!1,events:!1,projects:!1,teams:!1},projects:{columns:{moves:!1,cards:{moves:!1}}},teams:{members:!1,memberships:!1,repos:!1},users:{repos:!1,orgs:!1,gists:!1,followers:!1,following:!1,keys:!1,starred:!1,received_events:{public:!1},events:{public:!1,orgs:!1},site_admin:!1,suspended:!1},search:{repositories:!1,commits:!1,issues:!1,users:!1,code:!1},gists:{public:!1,starred:!1,star:!1,comments:!1,forks:!1},repos:s},\"repositories\",s),r(e,\"licenses\",!1),r(e,\"authorizations\",{clients:!1}),r(e,\"applications\",{tokens:!1}),r(e,\"enterprise\",{settings:{license:!1},stats:{issues:!1,hooks:!1,milestones:!1,orgs:!1,comments:!1,pages:!1,users:!1,gists:!1,pulls:!1,repos:!1,all:!1}}),r(e,\"staff\",{indexing_jobs:!1}),r(e,\"setup\",{api:{start:!1,upgrade:!1,configcheck:!1,configure:!1,settings:{\"authorized-keys\":!1},maintenance:!1}}),e)},function(e,t,n){\"use strict\";var r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},s=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var u=n(0);function i(e){!function(e){if(!(e instanceof i))throw new TypeError(\"Cannot call a class as a function\")}(this),this._verbMethods=e}e.exports=(s(i,[{key:\"chain\",value:function(s,o,i,t){var a=this;if(null==t&&(t=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(!t.length)throw new Error(\"BUG! must be called with at least one argument\");var r=\"compare\"===o?\"...\":\"/\";return a.chain(s+\"/\"+t.join(r),o,i)}),this._verbMethods.injectVerbMethods(s,t),\"function\"==typeof t||\"object\"===(void 0===t?\"undefined\":r(t)))for(o in i||{})!function(e){delete t[u.camelize(e)],Object.defineProperty(t,u.camelize(e),{configurable:!0,enumerable:!0,get:function(){return a.chain(s+\"/\"+e,e,i[e])}})}(o);return t}}]),i)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},s=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(s){return function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t[t.length-1];if(\"function\"==typeof r)return t.pop(),s.apply(void 0,t).then(function(e){r(null,e)}).catch(function(e){r(e)});if(\"undefined\"!=typeof Promise)return s.apply(void 0,t);throw new Error(\"You must specify a callback or have a promise library loaded\")}}var n=n(0),u=n.filter,a=n.forOwn,c=n.extend,s=(s(l,[{key:\"injectVerbMethods\",value:function(u,n){var c=this;return\"object\"!==(void 0===n?\"undefined\":r(n))&&\"function\"!=typeof n||(n.url=u,a(this._syncVerbs,function(a,e){n[e]=function(){return i(function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,s,o=a.apply(void 0,[u].concat(t)),i=o.method;return u=o.path,r=o.data,s=o.options,c._requester.request(i,u,r,s)}).apply(void 0,arguments)}}),a(this._asyncVerbs,function(t,e){n[e]=function(){var e=t(c._requester,u);return i(e).apply(void 0,arguments)}})),n}}]),l);function l(e,t){if(!function(e){if(!(e instanceof l))throw new TypeError(\"Cannot call a class as a function\")}(this),this._requester=t,!this._requester)throw new Error(\"Octokat BUG: request is required\");t=u(e,function(e){return e.promiseCreator});t&&(this._promisePlugin=t[0]),this._syncVerbs={};for(var n=u(e,function(e){return e.verbs}),r=0;r<n.length;r++){var s=n[r];c(this._syncVerbs,s.verbs)}this._asyncVerbs={};for(var o=u(e,function(e){return e.asyncVerbs}),i=0;i<o.length;i++){var a=o[i];c(this._asyncVerbs,a.asyncVerbs)}}t.VerbMethods=s,t.toPromise=i},function(e,t,n){\"use strict\";var r=n(2);e.exports={verbs:{fetch:function(e,t){return{method:\"GET\",path:\"\"+e+r(t)}},read:function(e,t){return{method:\"GET\",path:\"\"+e+r(t),options:{isRaw:!0}}},remove:function(e,t){return{method:\"DELETE\",path:e,data:t,options:{isBoolean:!0}}},create:function(e,t,n){return n?{method:\"POST\",path:e,data:t,options:{isRaw:!0,contentType:n}}:{method:\"POST\",path:e,data:t}},update:function(e,t){return{method:\"PATCH\",path:e,data:t}},add:function(e,t){return{method:\"PUT\",path:e,data:t,options:{isBoolean:!0}}},contains:function(e){for(var t=arguments.length,n=Array(1<t?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{method:\"GET\",path:e+\"/\"+n.join(\"/\"),options:{isBoolean:!0}}}}}},function(e,t,n){e.exports=n(8)},function(e,t,n){\"use strict\";var r=n(1),s=n(9),o=n(17),i=[n(18),n(20),n(22),n(24),n(26),n(6),n(27),n(28),n(29),n(30),o,n(31)],n=function e(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};return null==t.plugins&&(t.plugins=i),t.disableHypermedia&&(r(\"Please use the clientOptions.plugins array and just do not include the hypermedia plugin\"),t.plugins=t.plugins.filter(function(e){return e!==o})),e.Fetch&&(s.Fetch=e.Fetch),new s(t)};e.exports=n},function(t,e,i){\"use strict\";(function(p){function h(e){if(Array.isArray(e))return e.map(h);if(e!==Object(e))return e;for(var t={},n=Object.keys(e),r=0;r<n.length;r++){var s=n[r],o=e[s];t[d.uncamelize(s)]=h(o)}return t}var n=i(11),d=i(0),o=i(1),r=i(3),s=i(4),e=i(5),m=e.VerbMethods,v=e.toPromise,y=i(6),g=i(15),b=i(16),e=function e(){var i=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},a=i.plugins||[y],u=i.disableHypermedia;null==u&&(u=!1);function t(e,t,n){var r,s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{raw:!1,isBase64:!1,isBoolean:!1};n&&(r=n,void 0===p.Buffer||!p.Buffer.isBuffer(r))&&(n=h(n));var o=new g(c,i,a,l);return o.request(e,t,n,s).then(function(e){if((s||{}).raw)return e;if(u)return e;e={data:e,plugins:a,requester:o,instance:c,clientOptions:i};return c._parseWithContextPromise(t,e)})}var c={},l=e.Fetch||n,f=new m(a,{request:t});return new s(f).chain(\"\",null,r,c),c.me=c.user,c.parse=function(e){e={requester:{request:t},plugins:a,data:e,instance:c,clientOptions:i};return c._parseWithContextPromise(\"\",e)},c.parse=v(c.parse),c._parseWithContextPromise=function(e,t){var n=t.data;n&&(t.url=n.url||e);var e=d.map(d.filter(a,function(e){return e.responseMiddlewareAsync}),function(e){return e.responseMiddlewareAsync.bind(e)}),r=Promise.resolve(t);return e.forEach(function(e){r=r.then(e)}),r.then(function(e){return e.data})},c._fromUrlWithDefault=function(e,t){for(var n=arguments.length,r=Array(2<n?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return e=b.apply(void 0,[e].concat(r)),f.injectVerbMethods(e,t),t},c.fromUrl=function(e){for(var t=arguments.length,n=Array(1<t?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];function s(){return o(\"call ....fetch() explicitly instead of ...()\"),s.fetch.apply(s,arguments)}return c._fromUrlWithDefault.apply(c,[e,s].concat(n))},c._fromUrlCurried=function(r,s){function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return s&&0===t.length?s.apply(o):c.fromUrl.apply(c,[r].concat(t))}return/\\{/.test(r)||f.injectVerbMethods(r,o),o},c.status=c.fromUrl(\"https://status.github.com/api/status.json\"),c.status.api=c.fromUrl(\"https://status.github.com/api.json\"),c.status.lastMessage=c.fromUrl(\"https://status.github.com/api/last-message.json\"),c.status.messages=c.fromUrl(\"https://status.github.com/api/messages.json\"),c};t.exports=e}).call(e,i(10))},function(e,t){var n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){\"use strict\";\"function\"==typeof window.fetch?e.exports=window.fetch.bind(window):e.exports=function(){throw new Error(\"Octokat Error: window.fetch function not found. Either use the https://npmjs.com/package/whatwg-fetch polyfill or set Octokat.Fetch variable to be the fetch function\")}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,s=0,o=[];++n<r;){var i=e[n];t(i,n,e)&&(o[s++]=i)}return o}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,s=Array(r);++n<r;)s[n]=t(e[n],n,e);return s}},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var n=n(0),o=n.filter,i=n.map,f=0;function a(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2],r=arguments[3];!function(e){if(!(e instanceof a))throw new TypeError(\"Cannot call a class as a function\")}(this),this._instance=e,this._clientOptions=t,null==this._clientOptions.rootURL&&(this._clientOptions.rootURL=\"https://api.github.com\"),null==this._clientOptions.useETags&&(this._clientOptions.useETags=!0),null==this._clientOptions.usePostInsteadOfPatch&&(this._clientOptions.usePostInsteadOfPatch=!1),null==this._clientOptions.userAgent&&(\"undefined\"!=typeof window&&null!==window||(this._clientOptions.userAgent=\"octokat.js\")),\"function\"==typeof this._clientOptions.emitter&&(this._emit=this._clientOptions.emitter),this._pluginMiddlewareAsync=i(o(n,function(e){return e.requestMiddlewareAsync}),function(e){return e.requestMiddlewareAsync.bind(e)}),this._plugins=n,this._fetchImpl=r}e.exports=(r(a,[{key:\"request\",value:function(i,a,u){var c=this,l=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{isRaw:!1,isBase64:!1,isBoolean:!1,contentType:\"application/json\"};null==l&&(l={}),null==l.isRaw&&(l.isRaw=!1),null==l.isBase64&&(l.isBase64=!1),null==l.isBoolean&&(l.isBoolean=!1),null==l.contentType&&(l.contentType=\"application/json\"),/^http/.test(a)||(a=\"\"+this._clientOptions.rootURL+a);var n={Accept:this._clientOptions.acceptHeader||\"application/json\"};this._clientOptions.userAgent&&(n[\"User-Agent\"]=this._clientOptions.userAgent);var e={method:i,path:a,headers:n,options:l,clientOptions:this._clientOptions},t=Promise.resolve(e);return this._pluginMiddlewareAsync.forEach(function(e){t=t.then(e)}),t.then(function(r){i=r.method,n=r.headers,l.isRaw&&(n.Accept=\"application/vnd.github.raw\");var e,t,s={method:i,headers:n,body:!l.isRaw&&u&&JSON.stringify(u)||u},o=++f;return e=c._emit,t=function(e){return e(\"start\",o,{method:i,path:a,data:u,options:l})},\"function\"==typeof e&&t(e),c._fetchImpl(a,s).then(function(t){var e,n=t;if(c._emit&&(t.headers.get(\"X-RateLimit-Limit\")&&(e=parseFloat(t.headers.get(\"X-RateLimit-Limit\")),e={remaining:parseFloat(t.headers.get(\"X-RateLimit-Remaining\")),limit:e,reset:parseFloat(t.headers.get(\"X-RateLimit-Reset\"))},t.headers.get(\"X-OAuth-Scopes\")&&(e.scopes=t.headers.get(\"X-OAuth-Scopes\").split(\", \"))),c._emit(\"end\",o,{method:i,path:a,data:u,options:l},t.status,e)),302===t.status)return t.headers.get(\"Location\");if(l.isBoolean&&204===t.status)return!0;if(l.isBoolean&&404===t.status)return!1;if(200<=t.status&&t.status<300||304===t.status||302===t.status||0===t.status)return(304===t.status?Promise.resolve(null):0===(t.headers.get(\"content-type\")||\"\").indexOf(\"application/json\")?t.json():t.text()).then(function(e){return r={clientOptions:c._clientOptions,plugins:c._plugins,data:e,options:l,jqXHR:n,status:t.status,request:r,requester:c,instance:c._instance},c._instance._parseWithContextPromise(\"\",r)});return t.text().then(function(e){return Promise.reject(new Error(e+\" \"+s.method+\" \"+a+\" Status: \"+t.status))})})})}}]),a)},function(e,t,n){\"use strict\";var f=n(2),p=n(1);e.exports=function(e){var t,n;n=0==(arguments.length<=1?0:arguments.length-1)?{}:(1<(arguments.length<=1?0:arguments.length-1)&&p(\"When filling in a template URL pass all the field to fill in 1 object instead of comma-separated args\"),arguments.length<=1?void 0:arguments[1]);for(;t=/(\\{[^\\}]+\\})/.exec(e);){var r=t[1],s=\"\";switch(r[1]){case\"/\":var o=r.slice(2,r.length-1),i=n[o];if(i){if(/\\//.test(i))throw new Error(\"Octokat Error: this field must not contain slashes: \"+o);s=\"/\"+i}break;case\"+\":(i=n[o=r.slice(2,r.length-1)])&&(s=i);break;case\"?\":for(var a=r.slice(2,-1).split(\",\"),u={},c=0;c<a.length;c++)u[o=a[c]]=n[o];s=f(u);break;case\"&\":a=r.slice(2,-1).split(\",\"),u={};for(var l=0;l<a.length;l++)u[o=a[l]]=n[o];s=f(u,!0);break;default:if(!n[o=r.slice(1,r.length-1)])throw new Error(\"Octokat Error: Required parameter is missing: \"+o);s=n[o]}e=e.replace(r,s),0}return e}},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=n(1);function o(){!function(e){if(!(e instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this)}e.exports=(r(o,[{key:\"replace\",value:function(e,t){return Array.isArray(t)?this._replaceArray(e,t):\"function\"!=typeof t&&!(t instanceof Date)&&t===Object(t)?this._replaceObject(e,t):t}},{key:\"_replaceObject\",value:function(e,t){for(var n={},r=Object.keys(t),s=0;s<r.length;s++){var o=r[s],i=t[o];this._replaceKeyValue(e,n,o,i)}return n}},{key:\"_replaceArray\",value:function(t,e){for(var n=this,r=e.map(function(e){return n.replace(t,e)}),s=Object.keys(e),o=0;o<s.length;o++){var i=s[o],a=e[i];this._replaceKeyValue(t,r,i,a)}return r}},{key:\"_replaceKeyValue\",value:function(r,e,t,s){return/_url$/.test(t)?(n=/^upload_url$/.test(t)?(o=function e(){return i(\"call .upload({name, label}).create(data, contentType) instead of .upload(name, data, contentType)\"),e.create.apply(e,arguments)},function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return r._fromUrlWithDefault.apply(r,[s,o].concat(t))()}):(o=function(){return i(\"instead of directly calling methods like .nextPage(), use .nextPage.fetch()\"),this.fetch()},r._fromUrlCurried(s,o)),e[t.substring(0,t.length-\"_url\".length)]=n,/\\{/.test(s)?void 0:e[t]=s):/_at$/.test(t)?e[t]=s?new Date(s):null:e[t]=this.replace(r,s);var o,n}},{key:\"responseMiddlewareAsync\",value:function(e){var t=e.instance,n=e.data,n=this.replace(t,n);return e.data=n,Promise.resolve(e)}}]),new o)},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var l=n(19),f=n(3),u=n(5).VerbMethods,c=n(4);function o(){!function(e){if(!(e instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this)}e.exports=(r(o,[{key:\"chainChildren\",value:function(a,u,c){return function(){var e,t=[];for(e in l){var n=void 0;if(l[e].test(c.url)){for(var r=f,s=e.split(\".\"),o=0;o<s.length;o++)var i=s[o],r=r[i];n=a.chain(u,i,r,c)}t.push(n)}return t}()}},{key:\"responseMiddlewareAsync\",value:function(e){var t=e.plugins,n=e.requester,r=e.data,s=e.url,n=new u(t,n),o=new c(n);if(s)o.chain(s,!0,{},r),this.chainChildren(o,s,r);else if(o.chain(\"\",null,{},r),Array.isArray(r))for(var i=0;i<r.length;i++){var a=r[i];this.chainChildren(o,a.url,a)}return Promise.resolve(e)}}]),new o)},function(e,t,n){\"use strict\";(function(){e.exports={repos:/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/(repos(\\/[^\\/]+){2}|repositories\\/([0-9]+))$/,gists:/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/gists\\/[^\\/]+$/,issues:/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/(repos(\\/[^\\/]+){2}|repositories\\/([0-9]+))\\/(issues|pulls)\\/[^\\/]+$/,users:/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/users\\/[^\\/]+$/,orgs:/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/orgs\\/[^\\/]+$/,teams:/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/teams\\/[^\\/]+$/,\"repos.comments\":/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/repos\\/[^\\/]+\\/[^\\/]+\\/comments\\/[^\\/]+$/}}).call(void 0)},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=n(21);function i(){!function(e){if(!(e instanceof i))throw new TypeError(\"Cannot call a class as a function\")}(this)}e.exports=(r(i,[{key:\"requestMiddlewareAsync\",value:function(e){var t=e.path;return o.test(t)||(t=\"Octokat BUG: Invalid Path. If this is actually a valid path then please update the URL_VALIDATOR. path=\"+t,console.warn(t)),Promise.resolve(e)}}]),new i)},function(e,t,n){\"use strict\";(function(){e.exports=/^(https:\\/\\/status.github.com\\/api\\/(status.json|last-message.json|messages.json)$)|(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/(zen|octocat|users|issues|gists|emojis|markdown|meta|rate_limit|feeds|events|repositories(\\/\\d+)?|notifications|notifications\\/threads(\\/[^\\/]+)|notifications\\/threads(\\/[^\\/]+)\\/subscription|gitignore\\/templates(\\/[^\\/]+)?|user(\\/\\d+)?|user(\\/\\d+)?\\/(|repos|orgs|followers|following(\\/[^\\/]+)?|emails(\\/[^\\/]+)?|issues|public_emails|starred|starred(\\/[^\\/]+){2}|teams)|(orgs\\/[^\\/]+)|((organizations)(\\/\\d+)?)|(orgs\\/[^\\/]+)|(organizations\\/\\d+)\\/(repos|issues|members|events|teams|projects)|projects\\/[0-9]+|projects\\/[0-9]+\\/columns|projects\\/columns\\/[0-9]+|projects\\/columns\\/[0-9]+\\/moves|projects\\/columns\\/[0-9]+\\/cards|projects\\/columns\\/cards\\/[0-9]+|projects\\/columns\\/cards\\/[0-9]+\\/moves|teams\\/[^\\/]+|teams\\/[^\\/]+\\/(members(\\/[^\\/]+)?|memberships\\/[^\\/]+|repos|repos(\\/[^\\/]+){2})|users\\/[^\\/]+|users\\/[^\\/]+\\/(repos|orgs|gists|followers|following(\\/[^\\/]+){0,2}|keys|starred|received_events(\\/public)?|events(\\/public)?|events\\/orgs\\/[^\\/]+)|search\\/(repositories|commits|issues|users|code)|gists\\/(public|starred|([a-f0-9]{20,32}|[0-9]+)|([a-f0-9]{20,32}|[0-9]+)\\/forks|([a-f0-9]{20,32}|[0-9]+)\\/comments(\\/[0-9]+)?|([a-f0-9]{20,32}|[0-9]+)\\/star)|repos(\\/[^\\/]+){2}|(repos(\\/[^\\/]+){2}|repositories\\/([0-9]+))\\/(readme|tarball(\\/[^\\/]+)?|zipball(\\/[^\\/]+)?|compare\\/([^\\.{3}]+)\\.{3}([^\\.{3}]+)|deployments(\\/[0-9]+)?|deployments\\/[0-9]+\\/statuses(\\/[0-9]+)?|hooks|hooks\\/[^\\/]+|hooks\\/[^\\/]+\\/tests|assignees|languages|teams|tags|branches(\\/[^\\/]+){0,2}|contributors|subscribers|subscription|stargazers|comments(\\/[0-9]+)?|downloads(\\/[0-9]+)?|forks|milestones|milestones\\/[0-9]+|milestones\\/[0-9]+\\/labels|labels(\\/[^\\/]+)?|releases|releases\\/([0-9]+)|releases\\/([0-9]+)\\/assets|releases\\/latest|releases\\/tags\\/([^\\/]+)|releases\\/assets\\/([0-9]+)|events|notifications|merges|statuses\\/[a-f0-9]{40}|pages|pages\\/builds|pages\\/builds\\/latest|commits|commits\\/[a-f0-9]{40}|commits\\/[a-f0-9]{40}\\/(comments|status|statuses)?|contents\\/|contents(\\/[^\\/]+)*|collaborators(\\/[^\\/]+)?|collaborators\\/([^\\/]+)\\/permission|projects|(issues|pulls)|(issues|pulls)\\/(events|events\\/[0-9]+|comments(\\/[0-9]+)?|[0-9]+|[0-9]+\\/events|[0-9]+\\/comments|[0-9]+\\/labels(\\/[^\\/]+)?)|pulls\\/[0-9]+\\/(files|commits|merge|requested_reviewers|reviews(\\/[0-9]+)?|reviews(\\/[0-9]+)\\/(comments|events|dismissals))|git\\/(refs|refs\\/(.+|heads(\\/[^\\/]+)?|tags(\\/[^\\/]+)?)|trees(\\/[^\\/]+)?|blobs(\\/[a-f0-9]{40}$)?|commits(\\/[a-f0-9]{40}$)?)|stats\\/(contributors|commit_activity|code_frequency|participation|punch_card)|traffic\\/(popular\\/(referrers|paths)|views|clones))|licenses|licenses\\/([^\\/]+)|authorizations|authorizations\\/((\\d+)|clients\\/([^\\/]{20})|clients\\/([^\\/]{20})\\/([^\\/]+))|applications\\/([^\\/]{20})\\/tokens|applications\\/([^\\/]{20})\\/tokens\\/([^\\/]+)|enterprise\\/(settings\\/license|stats\\/(issues|hooks|milestones|orgs|comments|pages|users|gists|pulls|repos|all))|staff\\/indexing_jobs|users\\/[^\\/]+\\/(site_admin|suspended)|setup\\/api\\/(start|upgrade|configcheck|configure|settings(authorized-keys)?|maintenance))(\\?.*)?$/}).call(void 0)},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=n(23);function i(){!function(e){if(!(e instanceof i))throw new TypeError(\"Cannot call a class as a function\")}(this)}e.exports=(r(i,[{key:\"requestMiddlewareAsync\",value:function(e){null==e.headers&&(e.headers={});e.headers;var t=e.clientOptions,n=t.token,r=t.username,t=t.password;return(n||r&&t)&&(t=n?\"token \"+n:\"Basic \"+o(r+\":\"+t),e.headers.Authorization=t),Promise.resolve(e)}}]),new i)},function(e,t,n){\"use strict\";e.exports=btoa},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=n(25);function i(){!function(e){if(!(e instanceof i))throw new TypeError(\"Cannot call a class as a function\")}(this)}e.exports=(r(i,[{key:\"requestMiddlewareAsync\",value:function(e){var t=function(e){for(var t in o)if(o[t].test(e))return t}(e.path);return t&&(e.headers.Accept=t),Promise.resolve(e)}}]),new i)},function(e,t,n){\"use strict\";(function(){e.exports={\"application/vnd.github.drax-preview+json\":/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?(\\/licenses|\\/licenses\\/([^\\/]+)|\\/repos\\/([^\\/]+)\\/([^\\/]+))$/,\"application/vnd.github.v3.star+json\":/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/users\\/([^\\/]+)\\/starred$/,\"application/vnd.github.cloak-preview+json\":/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/search\\/commits$/,\"application/vnd.github.black-cat-preview+json\":/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?\\/repos(\\/[^\\/]+){2}\\/pulls\\/[0-9]+\\/(|requested_reviewers|reviews(\\/[0-9]+)?|reviews(\\/[0-9]+)\\/(comments|events|dismissals))$/,\"application/vnd.github.inertia-preview+json\":/^(https?:\\/\\/[^\\/]+)?(\\/api\\/v3)?(\\/repos(\\/[^\\/]+){2}\\/projects|\\/orgs\\/([^\\/]+)\\/projects|\\/projects\\/([0-9]+|[0-9]+\\/columns|columns|columns\\/[0-9]+|columns\\/[0-9]+\\/moves|columns\\/[0-9]+\\/cards|columns\\/cards\\/[0-9]+|columns\\/cards\\/[0-9]+\\/moves))$/}}).call(void 0)},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(){!function(e){if(!(e instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this)}e.exports=(r(o,[{key:\"requestMiddlewareAsync\",value:function(e,t){var n=e.clientOptions.usePostInsteadOfPatch,r=e.method;return n&&\"PATCH\"===r&&(e.method=\"POST\"),Promise.resolve(e)}}]),new o)},function(e,t,n){\"use strict\";function r(e,t){if(!Array.isArray(t))throw new Error(\"Octokat Error: Calling fetchAll on a request that does not yield an array\");return e.push.apply(e,t)}function s(e,t,n){return(e=i(e,t))?e.then(function(e){return r(n,e.items),s(e,t,n)}):n}var o=n(2),i=function(e,t){return\"string\"==typeof e.next_page_url?t.request(\"GET\",e.next_page_url,null,null):e.next_page?e.next_page.fetch():\"string\"==typeof e.nextPageUrl?t.request(\"GET\",e.nextPageUrl,null,null):!!e.nextPage&&e.nextPage.fetch()};e.exports={asyncVerbs:{fetchAll:function(n,t){return function(e){return n.request(\"GET\",\"\"+t+o(e),null,null).then(function(e){var t=[];return r(t,e.items),s(e,n,t)})}}}}},function(e,t,n){\"use strict\";var r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,s=!1,o=void 0;try{for(var i,a=e[Symbol.iterator]();!(r=(i=a.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){s=!0,o=e}finally{try{!r&&a.return&&a.return()}finally{if(s)throw o}}return n}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},s=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(){!function(e){if(!(e instanceof i))throw new TypeError(\"Cannot call a class as a function\")}(this)}e.exports=(s(i,[{key:\"responseMiddlewareAsync\",value:function(e){var t=e.jqXHR,n=e.data;return t&&Array.isArray(n)&&(n={items:n.slice()},(t=t.headers.get(\"Link\"))&&t.split(\",\").forEach(function(e){var t=e.match(/<([^>]+)>; rel=\"([^\"]+)\"/),e=r(t,3),t=(e[0],e[1]),e=e[2];n[e+\"_page_url\"]=t}),e.data=n),Promise.resolve(e)}}]),new i)},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(){!function(e){if(!(e instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this),this._cachedETags={}}e.exports=(r(o,[{key:\"get\",value:function(e,t){return this._cachedETags[e+\" \"+t]}},{key:\"add\",value:function(e,t,n,r,s){return this._cachedETags[e+\" \"+t]={eTag:n,data:r,status:s}}},{key:\"requestMiddlewareAsync\",value:function(e){var t=e.clientOptions,n=e.method,r=e.path;null==e.headers&&(e.headers={});t=t.cacheHandler||this;return t.get(n,r)?e.headers[\"If-None-Match\"]=t.get(n,r).eTag:e.headers[\"If-Modified-Since\"]=\"Thu, 01 Jan 1970 00:00:00 GMT\",Promise.resolve(e)}},{key:\"responseMiddlewareAsync\",value:function(e,t){var n=e.clientOptions,r=e.request,s=e.status,o=e.jqXHR,i=e.data;if(!o)return Promise.resolve(e);if(o){var a=r.method,r=r.path,n=n.cacheHandler||this;if(304===s||0===s){var u=n.get(a,r);if(!u)throw new Error(\"ERROR: Bug in Octokat cacheHandler for path '\"+a+\" \"+r+\"'. It had an eTag but not the cached response.\");i=u.data,s=u.status;u=u.eTag}else\"GET\"===a&&o.headers.get(\"ETag\")&&(u=o.headers.get(\"ETag\"),n.add(a,r,u,i,o.status));return e.data=i,e.status=s,Promise.resolve(e)}}}]),new o)},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=n(2);function i(){!function(e){if(!(e instanceof i))throw new TypeError(\"Cannot call a class as a function\")}(this),this.verbs={readBinary:function(e,t){return{method:\"GET\",path:\"\"+e+o(t),options:{isRaw:!0,isBase64:!0}}}}}e.exports=(r(i,[{key:\"requestMiddlewareAsync\",value:function(e){var t=e.options;return t&&t.isBase64&&(e.headers.Accept=\"application/vnd.github.raw\",e.mimeType=\"text/plain; charset=x-user-defined\"),Promise.resolve(e)}},{key:\"responseMiddlewareAsync\",value:function(e){var t=e.options,n=e.data;if(t&&t.isBase64){for(var r=\"\",s=function(e,t,n){for(var r=[],s=e<t,o=n?s?t+1:t-1:t,i=e;s?i<o:o<i;s?i++:i--)r.push(i);return r}(0,n.length,!1),o=0;o<s.length;o++){var i=s[o];r+=String.fromCharCode(255&n.charCodeAt(i))}e.data=r}return Promise.resolve(e)}}]),new i)},function(e,t,n){\"use strict\";var r=function(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e};function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=n(0);function i(){!function(e){if(!(e instanceof i))throw new TypeError(\"Cannot call a class as a function\")}(this)}e.exports=(r(i,[{key:\"responseMiddlewareAsync\",value:function(e){var t=e.data,t=this.replace(t);return e.data=t,Promise.resolve(e)}},{key:\"replace\",value:function(e){return Array.isArray(e)?this._replaceArray(e):\"function\"!=typeof e&&!(e instanceof Date)&&e===Object(e)?this._replaceObject(e):e}},{key:\"_replaceObject\",value:function(e){for(var t={},n=Object.keys(e),r=0;r<n.length;r++){var s=n[r],o=e[s];this._replaceKeyValue(t,s,o)}return t}},{key:\"_replaceArray\",value:function(e){for(var t=this,n=e.map(function(e){return t.replace(e)}),r=Object.keys(e),s=0;s<r.length;s++){var o=r[s],i=e[o];this._replaceKeyValue(n,o,i)}return n}},{key:\"_replaceKeyValue\",value:function(e,t,n){return e[o.camelize(t)]=this.replace(n)}}]),new i)}],r.c=s,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=7);function r(e){if(s[e])return s[e].exports;var t=s[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,r),t.l=!0,t.exports}var n,s});",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/file-uploads-github/octokat.js",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/file-uploads-github/readme": {
            "title": "$:/plugins/tiddlywiki/file-uploads-github/readme",
            "text": "''Experimental'' proof of concept Github uploader module for the File Uploads plugin. Saves uploads to Github for use with Github pages. Based on the Octokat library. Requires that credentials have been filled in for the [[Github saver|$:/core/ui/ControlPanel/Saving/GitHub]].\n\nIntended for use with wikis hosted on Github Pages. \n\nPlease see:\n\n* The [[terms of service and guidelines|https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages]] for using Github Pages. \n* How to for [[hosting a TiddlyWiki on Github Pages|https://kookma.github.io/TW5-GitHub-Saver/]]."
        },
        "$:/plugins/tiddlywiki/file-uploads-github/settings": {
            "title": "$:/plugins/tiddlywiki/file-uploads-github/settings",
            "text": "Please configure the Github repository, username and personal access token in the [[Github Saver settings|$:/core/ui/ControlPanel/Saving/GitHub]].\n\n[[Github upload path relative to root|$:/config/file-uploads/github/uploadpath]]: \n<$edit-text tiddler=\"$:/config/file-uploads/github/uploadpath\" field=\"text\" tag=\"input\" />\n"
        }
    }
}
{
    "tiddlers": {
        "$:/config/Freelinks/Enable": {
            "title": "$:/config/Freelinks/Enable",
            "text": "yes"
        },
        "$:/plugins/tiddlywiki/freelinks/macros/view": {
            "title": "$:/plugins/tiddlywiki/freelinks/macros/view",
            "tags": "$:/tags/Macro/View",
            "text": "<$set name=\"tv-freelinks\" value={{$:/config/Freelinks/Enable}}/>\n"
        },
        "$:/core/modules/widgets/plain-text.js": {
            "title": "$:/core/modules/widgets/plain-text.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/plain-text.js\ntype: application/javascript\nmodule-type: widget\n\nA copy of the core text widget under a different name\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PlainTextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPlainTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPlainTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPlainTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPlainTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"plain-text\"] = PlainTextNodeWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/plugins/tiddlywiki/freelinks/readme": {
            "title": "$:/plugins/tiddlywiki/freelinks/readme",
            "text": "This plugin adds automatic generation of links to tiddler titles.\n\n''Note that automatic link generation can be very slow when there are a large number of tiddlers''.\n\nFreelinking is activated for runs of text that have the following variables set:\n\n* `tv-wikilinks` is NOT equal to `no`\n* `tv-freelinks` is set to `yes`\n\nFreelinks are case sensitive.\n\nWithin view templates, the variable `tv-freelinks` is automatically set to the content of $:/config/Freelinks/Enable, which can be set via the settings panel of this plugin.\n\n!! Notes\n\nTo change within which tiddlers freelinking occurs requires customising the shadow tiddler $:/plugins/tiddlywiki/freelinks/macros/view. This tiddler is tagged $:/tags/Macro/View  which means that it will be included as a local macro in each view template. By default, its content is:\n\n```\n<$set name=\"tv-freelinks\" value={{$:/config/Freelinks/Enable}}/>\n```\n\nThat means that for each tiddler the variable tv-freelinks will be set to the tiddler $:/config/Freelinks/Enable, which is set to \"yes\" or \"no\" by the settings in control panel.\n\nInstead, we can use a filter expression to, say, only freelink within the tiddler with the title \"HelloThere\":\n\n```\n<$set name=\"tv-freelinks\" value={{{ [<currentTiddler>match[HelloThere]then[yes]else[no]] }}}/>\n```\n\nOr, we can make a filter that will only freelink within tiddlers with the tag \"MyTag\":\n\n```\n<$set name=\"tv-freelinks\" value={{{ [<currentTiddler>tag[MyTags]then[yes]else[no]] }}}/>\n```\n\nOr we can combine both approaches:\n\n```\n<$set name=\"tv-freelinks\" value={{{ [<currentTiddler>match[HelloThere]] ~[<currentTiddler>tag[MyTag]] +[then[yes]else[no]] }}}/>\n```\n"
        },
        "$:/plugins/tiddlywiki/freelinks/settings": {
            "title": "$:/plugins/tiddlywiki/freelinks/settings",
            "text": "<$checkbox tiddler=\"$:/config/Freelinks/Enable\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Freelinks/Enable\">Enable freelinking within tiddler view templates</$link> </$checkbox>\n"
        },
        "$:/plugins/tiddlywiki/freelinks/styles": {
            "title": "$:/plugins/tiddlywiki/freelinks/styles",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\nbutton.tc-tiddlylink.tc-freelink, a.tc-tiddlylink.tc-freelink {\n\tbackground-color: #5777d91c;\n}\n"
        },
        "$:/core/modules/widgets/text.js": {
            "title": "$:/core/modules/widgets/text.js",
            "text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nAn override of the core text widget that automatically linkifies the text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tLinkWidget = require(\"$:/core/modules/widgets/link.js\").link,\n\tButtonWidget = require(\"$:/core/modules/widgets/button.js\").button;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get our parameters\n\tvar childParseTree = [{\n\t\t\ttype: \"plain-text\",\n\t\t\ttext: this.getAttribute(\"text\",this.parseTreeNode.text || \"\")\n\t\t}];\n\t// Only process links if not disabled and we're not within a button or link widget\n\tif(this.getVariable(\"tv-wikilinks\",{defaultValue:\"yes\"}).trim() !== \"no\" && this.getVariable(\"tv-freelinks\",{defaultValue:\"no\"}).trim() === \"yes\" && !this.isWithinButtonOrLink()) {\n\t\t// Get the information about the current tiddler titles, and construct a regexp\n\t\tthis.tiddlerTitleInfo = this.wiki.getGlobalCache(\"tiddler-title-info\",function() {\n\t\t\tvar titles = [],\n\t\t\t\treparts = [],\n\t\t\t\tsortedTitles = self.wiki.allTitles().sort(function(a,b) {\n\t\t\t\t\tvar lenA = a.length,\n\t\t\t\t\t\tlenB = b.length;\n\t\t\t\t\t// First sort by length, so longer titles are first\n\t\t\t\t\tif(lenA !== lenB) {\n\t\t\t\t\t\tif(lenA < lenB) {\n\t\t\t\t\t\t\treturn +1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t// Then sort alphabetically within titles of the same length\n\t\t\t\t\t\tif(a < b) {\n\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t} else if(a > b) {\n\t\t\t\t\t\t\treturn +1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t$tw.utils.each(sortedTitles,function(title) {\n\t\t\t\tif(title.substring(0,3) !== \"$:/\") {\n\t\t\t\t\ttitles.push(title);\n\t\t\t\t\treparts.push(\"(\\\\b\" + $tw.utils.escapeRegExp(title) + \"\\\\b)\");\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn {\n\t\t\t\ttitles: titles,\n\t\t\t\tregexp: new RegExp(reparts.join(\"|\"),\"\")\n\t\t\t};\n\t\t});\n\t\t// Repeatedly linkify\n\t\tif(this.tiddlerTitleInfo.titles.length > 0) {\n\t\t\tvar index,text,match,matchEnd;\n\t\t\tdo {\n\t\t\t\tindex = childParseTree.length - 1;\n\t\t\t\ttext = childParseTree[index].text;\n\t\t\t\tmatch = this.tiddlerTitleInfo.regexp.exec(text);\n\t\t\t\tif(match) {\n\t\t\t\t\t// Make a text node for any text before the match\n\t\t\t\t\tif(match.index > 0) {\n\t\t\t\t\t\tchildParseTree[index].text = text.substring(0,match.index);\n\t\t\t\t\t\tindex += 1;\n\t\t\t\t\t}\n\t\t\t\t\t// Make a link node for the match\n\t\t\t\t\tchildParseTree[index] = {\n\t\t\t\t\t\ttype: \"link\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\tto: {type: \"string\", value: match[0]},\n\t\t\t\t\t\t\t\"class\": {type: \"string\", value: \"tc-freelink\"}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [{\n\t\t\t\t\t\t\ttype: \"plain-text\", text: match[0]\n\t\t\t\t\t\t}]\n\t\t\t\t\t};\n\t\t\t\t\tindex += 1;\n\t\t\t\t\t// Make a text node for any text after the match\n\t\t\t\t\tmatchEnd = match.index + match[0].length;\n\t\t\t\t\tif(matchEnd < text.length) {\n\t\t\t\t\t\tchildParseTree[index] = {\n\t\t\t\t\t\t\ttype: \"plain-text\",\n\t\t\t\t\t\t\ttext: text.substring(matchEnd)\n\t\t\t\t\t\t};\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} while(match && childParseTree[childParseTree.length - 1].type === \"plain-text\");\t\t\t\n\t\t}\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets(childParseTree);\n};\n\nTextNodeWidget.prototype.isWithinButtonOrLink = function() {\n\tvar withinButtonOrLink = false,\n\t\twidget = this.parentWidget;\n\twhile(!withinButtonOrLink && widget) {\n\t\twithinButtonOrLink = widget instanceof ButtonWidget || widget instanceof LinkWidget;\n\t\twidget = widget.parentWidget;\n\t}\n\treturn withinButtonOrLink;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar self = this,\n\t\tchangedAttributes = this.computeAttributes(),\n\t\ttitlesHaveChanged = false;\n\t$tw.utils.each(changedTiddlers,function(change,title) {\n\t\tif(change.isDeleted) {\n\t\t\ttitlesHaveChanged = true\n\t\t} else {\n\t\t\ttitlesHaveChanged = titlesHaveChanged || !self.tiddlerTitleInfo || self.tiddlerTitleInfo.titles.indexOf(title) === -1;\n\t\t}\n\t});\n\tif(changedAttributes.text || titlesHaveChanged) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "widget"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/tiddlywiki/hammerjs/hammer.js": {
            "text": "/*! Hammer.JS - v2.0.8 - 2016-04-23\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n!function(a,b,c,d){\"use strict\";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(b,c,d){var e=\"DEPRECATED METHOD: \"+c+\"\\n\"+d+\" AT \\n\";return function(){var c=new Error(\"get-stack-trace\"),d=c&&c.stack?c.stack.replace(/^[^\\(]+?[\\n$]/gm,\"\").replace(/^\\s+at\\s+/gm,\"\").replace(/^Object.<anonymous>\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function s(a){return Array.prototype.slice.call(a,0)}function t(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];r(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ma.length;){if(c=ma[g],e=c?c+f:b,e in a)return e;g++}return d}function v(){return ua++}function w(b){var c=b.ownerDocument||b;return c.defaultView||c.parentWindow||a}function x(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){k(a.options.enable,[a])&&c.handler(b)},this.init()}function y(a){var b,c=a.options.inputClass;return new(b=c?c:xa?M:ya?P:wa?R:L)(a,z)}function z(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&Ea&&d-e===0,g=b&(Ga|Ha)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,A(a,c),a.emit(\"hammer.input\",c),a.recognize(c),a.session.prevInput=c}function A(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=D(b)),e>1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:pa(a.pointers[c].clientX),clientY:pa(a.pointers[c].clientY)},c++;return{timeStamp:ra(),pointers:b,center:E(b),deltaX:a.deltaX,deltaY:a.deltaY}}function E(a){var b=a.length;if(1===b)return{x:pa(a[0].clientX),y:pa(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),\"identifier\",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ea)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Ga|Ha)&&delete d[g[e].identifier],e++;return h.length?[t(f.concat(h),\"identifier\",!0),h]:void 0}function R(){x.apply(this,arguments);var a=j(this.handler,this);this.touch=new P(this.manager,a),this.mouse=new L(this.manager,a),this.primaryTouch=null,this.lastTouches=[]}function S(a,b){a&Ea?(this.primaryTouch=b.changedPointers[0].identifier,T.call(this,b)):a&(Ga|Ha)&&T.call(this,b)}function T(a){var b=a.changedPointers[0];if(b.identifier===this.primaryTouch){var c={x:b.clientX,y:b.clientY};this.lastTouches.push(c);var d=this.lastTouches,e=function(){var a=d.indexOf(c);a>-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d<this.lastTouches.length;d++){var e=this.lastTouches[d],f=Math.abs(b-e.x),g=Math.abs(c-e.y);if(db>=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return[\"auto\",\"manipulation\",\"pan-y\",\"pan-x\",\"pan-x pan-y\",\"none\"].forEach(function(d){b[d]=c?a.CSS.supports(\"touch-action\",d):!0}),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?\"cancel\":a&qb?\"end\":a&pb?\"move\":a&ob?\"start\":\"\"}function $(a){return a==Ma?\"down\":a==La?\"up\":a==Ja?\"left\":a==Ka?\"right\":\"\"}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||\"\"}),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent(\"Event\");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],na=b.createElement(\"div\"),oa=\"function\",pa=Math.round,qa=Math.abs,ra=Date.now;la=\"function\"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError(\"Cannot convert undefined or null to object\");for(var b=Object(a),c=1;c<arguments.length;c++){var e=arguments[c];if(e!==d&&null!==e)for(var f in e)e.hasOwnProperty(f)&&(b[f]=e[f])}return b}:Object.assign;var sa=h(function(a,b,c){for(var e=Object.keys(b),f=0;f<e.length;)(!c||c&&a[e[f]]===d)&&(a[e[f]]=b[e[f]]),f++;return a},\"extend\",\"Use `assign`.\"),ta=h(function(a,b){return sa(a,b,!0)},\"merge\",\"Use `assign`.\"),ua=1,va=/mobile|tablet|ip(ad|hone|od)|android/i,wa=\"ontouchstart\"in a,xa=u(a,\"PointerEvent\")!==d,ya=wa&&va.test(navigator.userAgent),za=\"touch\",Aa=\"pen\",Ba=\"mouse\",Ca=\"kinect\",Da=25,Ea=1,Fa=2,Ga=4,Ha=8,Ia=1,Ja=2,Ka=4,La=8,Ma=16,Na=Ja|Ka,Oa=La|Ma,Pa=Na|Oa,Qa=[\"x\",\"y\"],Ra=[\"clientX\",\"clientY\"];x.prototype={handler:function(){},init:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(w(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(w(this.element),this.evWin,this.domHandler)}};var Sa={mousedown:Ea,mousemove:Fa,mouseup:Ga},Ta=\"mousedown\",Ua=\"mousemove mouseup\";i(L,x,{handler:function(a){var b=Sa[a.type];b&Ea&&0===a.button&&(this.pressed=!0),b&Fa&&1!==a.which&&(b=Ga),this.pressed&&(b&Ga&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:Ba,srcEvent:a}))}});var Va={pointerdown:Ea,pointermove:Fa,pointerup:Ga,pointercancel:Ha,pointerout:Ha},Wa={2:za,3:Aa,4:Ba,5:Ca},Xa=\"pointerdown\",Ya=\"pointermove pointerup pointercancel\";a.MSPointerEvent&&!a.PointerEvent&&(Xa=\"MSPointerDown\",Ya=\"MSPointerMove MSPointerUp MSPointerCancel\"),i(M,x,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace(\"ms\",\"\"),e=Va[d],f=Wa[a.pointerType]||a.pointerType,g=f==za,h=r(b,a.pointerId,\"pointerId\");e&Ea&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a=\"touchstart\",_a=\"touchstart touchmove touchend touchcancel\";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb=\"touchstart touchmove touchend touchcancel\";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,\"touchAction\"),fb=eb!==d,gb=\"compute\",hb=\"auto\",ib=\"manipulation\",jb=\"none\",kb=\"pan-x\",lb=\"pan-y\",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),W(a.join(\" \"))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,\"recognizeWith\",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,\"dropRecognizeWith\",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,\"requireFailure\",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,\"dropRequireFailure\",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(tb|nb)))return!1;a++}return!0},recognize:function(a){var b=la({},a);return k(this.options.enable,[this,b])?(this.state&(rb|sb|tb)&&(this.state=nb),this.state=this.process(b),void(this.state&(ob|pb|qb|sb)&&this.tryEmit(b))):(this.reset(),void(this.state=tb))},process:function(a){},getTouchAction:function(){},reset:function(){}},i(aa,Y,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(ob|pb),e=this.attrTest(a);return d&&(c&Ha||!e)?b|sb:d||e?c&Ga?b|qb:b&ob?b|pb:ob:tb}}),i(ba,aa,{defaults:{event:\"pan\",threshold:10,pointers:1,direction:Pa},getTouchAction:function(){var a=this.options.direction,b=[];return a&Na&&b.push(lb),a&Oa&&b.push(kb),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Na?(e=0===f?Ia:0>f?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?\"in\":\"out\";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e(function(){this.state=rb,this.tryEmit()},b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+\"up\",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime<b.time;if(this.reset(),a.eventType&Ea&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Ga)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||H(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=e(function(){this.state=rb,this.tryEmit()},b.interval,this),ob):rb}return tb},failTimeout:function(){return this._timer=e(function(){this.state=tb},this.options.interval,this),tb},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==rb&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),ha.VERSION=\"2.0.8\",ha.defaults={domEvents:!1,touchAction:gb,enable:!0,inputTarget:null,inputClass:null,preset:[[ea,{enable:!1}],[ca,{enable:!1},[\"rotate\"]],[fa,{direction:Na}],[ba,{direction:Na},[\"swipe\"]],[ga],[ga,{event:\"doubletap\",taps:2},[\"tap\"]],[da]],cssProps:{userSelect:\"none\",touchSelect:\"none\",touchCallout:\"none\",contentZooming:\"none\",userDrag:\"none\",tapHighlightColor:\"rgba(0,0,0,0)\"}};var ub=1,vb=2;ia.prototype={set:function(a){return la(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?vb:ub},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&rb)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===vb||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(ob|pb|qb)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof Y)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(f(a,\"add\",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(f(a,\"remove\",this))return this;if(a=this.get(a)){var b=this.recognizers,c=r(b,a);-1!==c&&(b.splice(c,1),this.touchAction.update())}return this},on:function(a,b){if(a!==d&&b!==d){var c=this.handlers;return g(q(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this}},off:function(a,b){if(a!==d){var c=this.handlers;return g(q(a),function(a){b?c[a]&&c[a].splice(r(c[a],b),1):delete c[a]}),this}},emit:function(a,b){this.options.domEvents&&ka(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&ja(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},la(ha,{INPUT_START:Ea,INPUT_MOVE:Fa,INPUT_END:Ga,INPUT_CANCEL:Ha,STATE_POSSIBLE:nb,STATE_BEGAN:ob,STATE_CHANGED:pb,STATE_ENDED:qb,STATE_RECOGNIZED:rb,STATE_CANCELLED:sb,STATE_FAILED:tb,DIRECTION_NONE:Ia,DIRECTION_LEFT:Ja,DIRECTION_RIGHT:Ka,DIRECTION_UP:La,DIRECTION_DOWN:Ma,DIRECTION_HORIZONTAL:Na,DIRECTION_VERTICAL:Oa,DIRECTION_ALL:Pa,Manager:ia,Input:x,TouchAction:V,TouchInput:P,MouseInput:L,PointerEventInput:M,TouchMouseInput:R,SingleTouchInput:N,Recognizer:Y,AttrRecognizer:aa,Tap:ga,Pan:ba,Swipe:fa,Pinch:ca,Rotate:ea,Press:da,on:m,off:n,each:g,merge:ta,extend:sa,assign:la,inherit:i,bindFn:j,prefixed:u});var wb=\"undefined\"!=typeof a?a:\"undefined\"!=typeof self?self:{};wb.Hammer=ha,\"function\"==typeof define&&define.amd?define(function(){return ha}):\"undefined\"!=typeof module&&module.exports?module.exports=ha:a[c]=ha}(window,document,\"Hammer\");\n",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/hammerjs/hammer.js",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/hammerjs/license": {
            "text": "The MIT License (MIT)\n\nCopyright (C) 2011-2017 by Jorik Tangelder (Eight Media)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
            "type": "text/plain",
            "title": "$:/plugins/tiddlywiki/hammerjs/license"
        },
        "$:/plugins/tiddlywiki/hammerjs/readme": {
            "title": "$:/plugins/tiddlywiki/hammerjs/readme",
            "text": "This plugin packages [[HammerJS|https://hammerjs.github.io]] for use by other plugins. It does not provide any end-user visible features.\n"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/tiddlywiki/help/HelpPanel": {
            "title": "$:/plugins/tiddlywiki/help/HelpPanel",
            "tags": "$:/tags/PageTemplate",
            "text": "<$reveal type=\"match\" state=\"$:/config/ShowHelp\" text=\"yes\">\n<div class=\"tc-help-panel\">\n<div class=\"tc-tiddler-controls\">\n<$button set=\"$:/config/ShowHelp\" setTo=\"no\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button> ''Help Panel''\n</div>\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/HelpPanel]!has[draft.of]]\" \"$:/plugins/tiddlywiki/help/HelpPanel/Support\" \"$:/state/tab/help\">>\n</div>\n</$reveal>\n\n"
        },
        "$:/config/Help/CurrentVideo": {
            "title": "$:/config/Help/CurrentVideo",
            "text": "$:/plugins/tiddlywiki/help/Videos/Introduction"
        },
        "$:/config/ShowHelp": {
            "title": "$:/config/ShowHelp",
            "text": "no"
        },
        "$:/plugins/help/Buttons/help": {
            "title": "$:/plugins/help/Buttons/help",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/help}} {{$:/language/Buttons/Help/Caption}}",
            "description": "{{$:/language/Buttons/Help/Hint}}",
            "text": "\\whitespace trim\n\\define help-inner()\n\\whitespace trim\n<$list filter=\"[[$:/config/ShowHelp]get[text]] +[else[no]match[yes]]\" variable=\"ignore\">\n<$button set=\"$:/config/ShowHelp\" setTo=\"no\" tooltip={{$:/language/Buttons/Help/Hint}} aria-label={{$:/language/Buttons/Help/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ tc-selected\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/help}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Help/Caption}}/></span>\n</$list>\n</$button>\n</$list>\n<$list filter=\"[[$:/config/ShowHelp]get[text]] +[else[no]!match[yes]]\" variable=\"ignore\">\n<$button set=\"$:/config/ShowHelp\" setTo=\"yes\" tooltip={{$:/language/Buttons/Help/Hint}} aria-label={{$:/language/Buttons/Help/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/help}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Help/Caption}}/></span>\n</$list>\n</$button>\n</$list>\n\\end\n<<help-inner>>\n"
        },
        "$:/plugins/tiddlywiki/help/readme": {
            "title": "$:/plugins/tiddlywiki/help/readme",
            "text": "This plugin provides an overlay help panel at the bottom right of the window.\n\n[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/help]]\n"
        },
        "$:/plugins/tiddlywiki/help/styles": {
            "title": "$:/plugins/tiddlywiki/help/styles",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-help-panel {\n\tposition: fixed;\n\tbottom: 0;\n\tright: 0;\n\twidth: 310px;\n\theight: 400px;\n\toverflow: auto;\n\t-webkit-overflow-scrolling: touch;\n\t<<box-shadow \"0px 0px 5px rgba(0, 0, 0, 0.3)\">>\n\tborder: 1px solid <<colour tiddler-border>>;\n\tbackground: <<colour tiddler-background>>;\n\tpadding: 1em;\n\tmargin: 0.5em;\n\tz-index: 1000;\n}\n\ndl.tc-help-cheatsheet {\n\toverflow: hidden;\n}\n\ndl.tc-help-cheatsheet .red {\n\tcolor: red;\n}\n\n.tc-help-cheatsheet > dt {\n\tdisplay: block;\n\tfloat: left;\n\tclear: left;\n\tmargin: 2% 1em 0 0;\n\tpadding;\n\tfont-weight: normal;\n\twidth: 45%;\n}\n\n.tc-help-cheatsheet > dt > pre {\n\tmargin: 0;\n}\n\n.tc-help-cheatsheet > dd {\n\tdisplay: block;\n\tfloat: left;\n\twidth: 45%;\n\tmargin: 1em 0 0 0;\n\tpadding: 0;\n}\n\n.tc-help-cheatsheet > dd > p,\n.tc-help-cheatsheet > dd > h1,\n.tc-help-cheatsheet > dd > pre,\n.tc-help-cheatsheet > dd > ul,\n.tc-help-cheatsheet > dd > ol,\n.tc-help-cheatsheet > dd > dl,\n.tc-help-cheatsheet > dd > table,\n.tc-help-cheatsheet > dd > blockquote,\n.tc-help-cheatsheet > dd > blockquote >p {\n\tmargin: 0;\n}\n\n.tc-help-cheatsheet .tc-image {\n\twidth: 16px;\n}\n"
        },
        "$:/plugins/tiddlywiki/help/HelpPanel/Support": {
            "title": "$:/plugins/tiddlywiki/help/HelpPanel/Support",
            "tags": "$:/tags/HelpPanel",
            "caption": "Support",
            "text": "~TiddlyWiki is an open source project with a vibrant community of users and developers. We're always happy to help new users get the most from ~TiddlyWiki.\n\nJoin the ~TiddlyWiki mailing list:\n\nhttp://groups.google.com/group/TiddlyWiki\n\nPost bug reports to the ~TiddlyWiki ~GitHub repository:\n\nhttps://github.com/Jermolene/TiddlyWiki5\n"
        },
        "$:/plugins/tiddlywiki/help/HelpPanel/Videos": {
            "title": "$:/plugins/tiddlywiki/help/HelpPanel/Videos",
            "tags": "$:/tags/HelpPanel",
            "caption": "Videos",
            "text": "\\define show-video-inner(embed)\n<iframe width=\"280\" height=\"157\" src=\"\"\"https://www.youtube.com/embed/$embed$?autoplay=0&showinfo=0&theme=light&rel=0&modestbranding=1&autohide=1\"\"\" frameborder=\"0\" allowfullscreen></iframe>\n\\end\n\n\\define show-video(title)\n<$macrocall $name=\"show-video-inner\" embed={{$title$!!embed}}/>\n<p>{{$title$!!text}}</p>\n\\end\n\n<div class=\"tc-help-panel-inner\">\n\nChoose video: <$select tiddler=\"$:/config/Help/CurrentVideo\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/HelpPanel/Videos]]\">\n<option value=<<currentTiddler>>><$view field=\"caption\"/></option>\n</$list>\n</$select>\n\n<$macrocall $name=\"show-video\" title={{$:/config/Help/CurrentVideo}}>>\n\n</div>\n"
        },
        "$:/plugins/tiddlywiki/help/Videos/FirefoxAndroid": {
            "title": "$:/plugins/tiddlywiki/help/Videos/FirefoxAndroid",
            "tags": "$:/tags/HelpPanel/Videos",
            "caption": "Firefox for Android",
            "embed": "iikkv9orGGI",
            "text": "How to get started with using TiddlyWiki as a standalone HTML file with the TiddlyFox add-on for Firefox for Android.\n"
        },
        "$:/plugins/tiddlywiki/help/Videos/GettingStarted": {
            "title": "$:/plugins/tiddlywiki/help/Videos/GettingStarted",
            "tags": "$:/tags/HelpPanel/Videos",
            "caption": "GettingStarted",
            "embed": "1g66s7UbyuU",
            "text": "How to get started with using TiddlyWiki as a standalone HTML file.\n"
        },
        "$:/plugins/tiddlywiki/help/Videos/Introduction": {
            "title": "$:/plugins/tiddlywiki/help/Videos/Introduction",
            "tags": "$:/tags/HelpPanel/Videos",
            "caption": "Introduction",
            "embed": "KtCUr83XgyE",
            "text": "An introduction to the concepts of TiddlyWiki.\n"
        },
        "$:/plugins/tiddlywiki/help/Videos/TiddlyDesktop": {
            "title": "$:/plugins/tiddlywiki/help/Videos/TiddlyDesktop",
            "tags": "$:/tags/HelpPanel/Videos",
            "caption": "TiddlyDesktop",
            "embed": "i3Bggkm7paA",
            "text": "Using TiddlyDesktop, the custom desktop TiddlyWiki application for Windows, OS X and Linux.\n"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/parse-tree": {
            "title": "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/parse-tree",
            "tags": "$:/tags/EditPreview",
            "list-after": "$:/core/ui/EditTemplate/body/preview/output",
            "caption": "parse tree",
            "text": "\\define preview(mode)\n<$wikify name=\"preview-text\" text={{!!text}} type={{!!type}} mode=\"$mode$\" output=\"parsetree\">\n<pre>\n<code>\n<$text text=<<preview-text>>/>\n</code>\n</pre>\n</$wikify>\n\\end\n\n{{||$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/shared}}\n"
        },
        "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/raw": {
            "title": "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/raw",
            "tags": "$:/tags/EditPreview",
            "caption": "raw HTML",
            "list-after": "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/widget-tree",
            "text": "<pre><code><$view field=\"text\" format=\"htmlwikified\" /></code></pre>\n"
        },
        "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/shared": {
            "title": "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/shared",
            "text": "\\define body()\n\nMode: <$select tiddler=\"$(tv-mode-configuration)$\" default=\"block\">\n<option value=\"inline\">Inline</option>\n<option value=\"block\">Block</option>\n</$select>\n\n<$macrocall $name=\"preview\" mode={{$(tv-mode-configuration)$}}/>\n\\end\n\n<div class=\"tc-internal-tree-preview-wrapper\">\n\n<div class=\"tc-internal-tree-preview\">\n\n<$vars tv-mode-configuration=<<qualify \"$:/state/internals/preview/mode\">>>\n\n<<body>>\n\n</$vars>\n\n</div>\n\n</div>\n"
        },
        "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/widget-tree": {
            "title": "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/widget-tree",
            "tags": "$:/tags/EditPreview",
            "caption": "widget tree",
            "list-after": "$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/parse-tree",
            "text": "\\define preview(mode)\n<$wikify name=\"preview-text\" text={{!!text}} type={{!!type}} mode=\"$mode$\" output=\"widgettree\">\n<pre>\n<code>\n<$text text=<<preview-text>>/>\n</code>\n</pre>\n</$wikify>\n\\end\n\n{{||$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/shared}}\n"
        },
        "$:/plugins/tiddlywiki/internals/readme": {
            "title": "$:/plugins/tiddlywiki/internals/readme",
            "text": "This plugin adds features to help explore the internals of TiddlyWiki:\n\n* New preview panes showing:\n** the parse tree\n** the widget tree\n** the raw HTML output\n\nThe first two include a dropdown for choosing block vs. inline parsing mode.\n"
        },
        "$:/plugins/tiddlywiki/internals/styles": {
            "title": "$:/plugins/tiddlywiki/internals/styles",
            "tags": "$:/tags/Stylesheet",
            "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/tiddlywiki/jszip/jszip.js": {
            "text": "/*!\n\nJSZip - A Javascript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2014 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/master/LICENSE\n*/\n!function(a){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=a();else if(\"function\"==typeof define&&define.amd)define([],a);else{var b;b=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this,b.JSZip=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i=\"function\"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error(\"Cannot find module '\"+g+\"'\");throw j.code=\"MODULE_NOT_FOUND\",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f=\"function\"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){\"use strict\";function d(a){if(a){this.data=a,this.length=this.data.length,this.index=0,this.zero=0;for(var b=0;b<this.data.length;b++)a[b]=255&a[b]}}var e=a(\"./dataReader\");d.prototype=new e,d.prototype.byteAt=function(a){return this.data[this.zero+a]},d.prototype.lastIndexOfSignature=function(a){for(var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.length-4;f>=0;--f)if(this.data[f]===b&&this.data[f+1]===c&&this.data[f+2]===d&&this.data[f+3]===e)return f-this.zero;return-1},d.prototype.readData=function(a){if(this.checkOffset(a),0===a)return[];var b=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{\"./dataReader\":6}],2:[function(a,b,c){\"use strict\";var d=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";c.encode=function(a,b){for(var c,e,f,g,h,i,j,k=\"\",l=0;l<a.length;)c=a.charCodeAt(l++),e=a.charCodeAt(l++),f=a.charCodeAt(l++),g=c>>2,h=(3&c)<<4|e>>4,i=(15&e)<<2|f>>6,j=63&f,isNaN(e)?i=j=64:isNaN(f)&&(j=64),k=k+d.charAt(g)+d.charAt(h)+d.charAt(i)+d.charAt(j);return k},c.decode=function(a,b){var c,e,f,g,h,i,j,k=\"\",l=0;for(a=a.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");l<a.length;)g=d.indexOf(a.charAt(l++)),h=d.indexOf(a.charAt(l++)),i=d.indexOf(a.charAt(l++)),j=d.indexOf(a.charAt(l++)),c=g<<2|h>>4,e=(15&h)<<4|i>>2,f=(3&i)<<6|j,k+=String.fromCharCode(c),64!=i&&(k+=String.fromCharCode(e)),64!=j&&(k+=String.fromCharCode(f));return k}},{}],3:[function(a,b,c){\"use strict\";function d(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}d.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},b.exports=d},{}],4:[function(a,b,c){\"use strict\";c.STORE={magic:\"\\0\\0\",compress:function(a,b){return a},uncompress:function(a){return a},compressInputType:null,uncompressInputType:null},c.DEFLATE=a(\"./flate\")},{\"./flate\":9}],5:[function(a,b,c){\"use strict\";var d=a(\"./utils\"),e=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];b.exports=function(a,b){if(\"undefined\"==typeof a||!a.length)return 0;var c=\"string\"!==d.getTypeOf(a);\"undefined\"==typeof b&&(b=0);var f=0,g=0,h=0;b^=-1;for(var i=0,j=a.length;i<j;i++)h=c?a[i]:a.charCodeAt(i),g=255&(b^h),f=e[g],b=b>>>8^f;return b^-1}},{\"./utils\":22}],6:[function(a,b,c){\"use strict\";function d(a){this.data=null,this.length=0,this.index=0,this.zero=0}var e=a(\"./utils\");d.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<this.zero+a||a<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+a+\"). Corrupted zip ?\")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(a){},readInt:function(a){var b,c=0;for(this.checkOffset(a),b=this.index+a-1;b>=this.index;b--)c=(c<<8)+this.byteAt(b);return this.index+=a,c},readString:function(a){return e.transformTo(\"string\",this.readData(a))},readData:function(a){},lastIndexOfSignature:function(a){},readDate:function(){var a=this.readInt(4);return new Date((a>>25&127)+1980,(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1)}},b.exports=d},{\"./utils\":22}],7:[function(a,b,c){\"use strict\";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!1,c.date=null,c.compression=null,c.compressionOptions=null,c.comment=null,c.unixPermissions=null,c.dosPermissions=null},{}],8:[function(a,b,c){\"use strict\";var d=a(\"./utils\");c.string2binary=function(a){return d.string2binary(a)},c.string2Uint8Array=function(a){return d.transformTo(\"uint8array\",a)},c.uint8Array2String=function(a){return d.transformTo(\"string\",a)},c.string2Blob=function(a){var b=d.transformTo(\"arraybuffer\",a);return d.arrayBuffer2Blob(b)},c.arrayBuffer2Blob=function(a){return d.arrayBuffer2Blob(a)},c.transformTo=function(a,b){return d.transformTo(a,b)},c.getTypeOf=function(a){return d.getTypeOf(a)},c.checkSupport=function(a){return d.checkSupport(a)},c.MAX_VALUE_16BITS=d.MAX_VALUE_16BITS,c.MAX_VALUE_32BITS=d.MAX_VALUE_32BITS,c.pretty=function(a){return d.pretty(a)},c.findCompression=function(a){return d.findCompression(a)},c.isRegExp=function(a){return d.isRegExp(a)}},{\"./utils\":22}],9:[function(a,b,c){\"use strict\";var d=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,e=a(\"pako\");c.uncompressInputType=d?\"uint8array\":\"array\",c.compressInputType=d?\"uint8array\":\"array\",c.magic=\"\\b\\0\",c.compress=function(a,b){return e.deflateRaw(a,{level:b.level||-1})},c.uncompress=function(a){return e.inflateRaw(a)}},{pako:25}],10:[function(a,b,c){\"use strict\";function d(a,b){return this instanceof d?(this.files={},this.comment=null,this.root=\"\",a&&this.load(a,b),void(this.clone=function(){var a=new d;for(var b in this)\"function\"!=typeof this[b]&&(a[b]=this[b]);return a})):new d(a,b)}var e=a(\"./base64\");d.prototype=a(\"./object\"),d.prototype.load=a(\"./load\"),d.support=a(\"./support\"),d.defaults=a(\"./defaults\"),d.utils=a(\"./deprecatedPublicUtils\"),d.base64={encode:function(a){return e.encode(a)},decode:function(a){return e.decode(a)}},d.compressions=a(\"./compressions\"),b.exports=d},{\"./base64\":2,\"./compressions\":4,\"./defaults\":7,\"./deprecatedPublicUtils\":8,\"./load\":11,\"./object\":14,\"./support\":18}],11:[function(a,b,c){\"use strict\";var d=a(\"./base64\"),e=a(\"./utf8\"),f=a(\"./utils\"),g=a(\"./zipEntries\");b.exports=function(a,b){var c,h,i,j;for(b=f.extend(b||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:e.utf8decode}),b.base64&&(a=d.decode(a)),h=new g(a,b),c=h.files,i=0;i<c.length;i++)j=c[i],this.file(j.fileNameStr,j.decompressed,{binary:!0,optimizedBinaryString:!0,date:j.date,dir:j.dir,comment:j.fileCommentStr.length?j.fileCommentStr:null,unixPermissions:j.unixPermissions,dosPermissions:j.dosPermissions,createFolders:b.createFolders});return h.zipComment.length&&(this.comment=h.zipComment),this}},{\"./base64\":2,\"./utf8\":21,\"./utils\":22,\"./zipEntries\":23}],12:[function(a,b,c){(function(a){\"use strict\";b.exports=function(b,c){return new a(b,c)},b.exports.test=function(b){return a.isBuffer(b)}}).call(this,\"undefined\"!=typeof Buffer?Buffer:void 0)},{}],13:[function(a,b,c){\"use strict\";function d(a){this.data=a,this.length=this.data.length,this.index=0,this.zero=0}var e=a(\"./uint8ArrayReader\");d.prototype=new e,d.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{\"./uint8ArrayReader\":19}],14:[function(a,b,c){\"use strict\";var d=a(\"./support\"),e=a(\"./utils\"),f=a(\"./crc32\"),g=a(\"./signature\"),h=a(\"./defaults\"),i=a(\"./base64\"),j=a(\"./compressions\"),k=a(\"./compressedObject\"),l=a(\"./nodeBuffer\"),m=a(\"./utf8\"),n=a(\"./stringWriter\"),o=a(\"./uint8ArrayWriter\"),p=function(a){if(a._data instanceof k&&(a._data=a._data.getContent(),a.options.binary=!0,a.options.base64=!1,\"uint8array\"===e.getTypeOf(a._data))){var b=a._data;a._data=new Uint8Array(b.length),0!==b.length&&a._data.set(b,0)}return a._data},q=function(a){var b=p(a),c=e.getTypeOf(b);return\"string\"===c?!a.options.binary&&d.nodebuffer?l(b,\"utf-8\"):a.asBinary():b},r=function(a){var b=p(this);return null===b||\"undefined\"==typeof b?\"\":(this.options.base64&&(b=i.decode(b)),b=a&&this.options.binary?D.utf8decode(b):e.transformTo(\"string\",b),a||this.options.binary||(b=e.transformTo(\"string\",D.utf8encode(b))),b)},s=function(a,b,c){this.name=a,this.dir=c.dir,this.date=c.date,this.comment=c.comment,this.unixPermissions=c.unixPermissions,this.dosPermissions=c.dosPermissions,this._data=b,this.options=c,this._initialMetadata={dir:c.dir,date:c.date}};s.prototype={asText:function(){return r.call(this,!0)},asBinary:function(){return r.call(this,!1)},asNodeBuffer:function(){var a=q(this);return e.transformTo(\"nodebuffer\",a)},asUint8Array:function(){var a=q(this);return e.transformTo(\"uint8array\",a)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var t=function(a,b){var c,d=\"\";for(c=0;c<b;c++)d+=String.fromCharCode(255&a),a>>>=8;return d},u=function(a){return a=a||{},a.base64!==!0||null!==a.binary&&void 0!==a.binary||(a.binary=!0),a=e.extend(a,h),a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),a},v=function(a,b,c){var d,f=e.getTypeOf(b);if(c=u(c),\"string\"==typeof c.unixPermissions&&(c.unixPermissions=parseInt(c.unixPermissions,8)),c.unixPermissions&&16384&c.unixPermissions&&(c.dir=!0),c.dosPermissions&&16&c.dosPermissions&&(c.dir=!0),c.dir&&(a=x(a)),c.createFolders&&(d=w(a))&&y.call(this,d,!0),c.dir||null===b||\"undefined\"==typeof b)c.base64=!1,c.binary=!1,b=null,f=null;else if(\"string\"===f)c.binary&&!c.base64&&c.optimizedBinaryString!==!0&&(b=e.string2binary(b));else{if(c.base64=!1,c.binary=!0,!(f||b instanceof k))throw new Error(\"The data of '\"+a+\"' is in an unsupported format !\");\"arraybuffer\"===f&&(b=e.transformTo(\"uint8array\",b))}var g=new s(a,b,c);return this.files[a]=g,g},w=function(a){\"/\"==a.slice(-1)&&(a=a.substring(0,a.length-1));var b=a.lastIndexOf(\"/\");return b>0?a.substring(0,b):\"\"},x=function(a){return\"/\"!=a.slice(-1)&&(a+=\"/\"),a},y=function(a,b){return b=\"undefined\"!=typeof b&&b,a=x(a),this.files[a]||v.call(this,a,null,{dir:!0,createFolders:b}),this.files[a]},z=function(a,b,c){var d,g=new k;return a._data instanceof k?(g.uncompressedSize=a._data.uncompressedSize,g.crc32=a._data.crc32,0===g.uncompressedSize||a.dir?(b=j.STORE,g.compressedContent=\"\",g.crc32=0):a._data.compressionMethod===b.magic?g.compressedContent=a._data.getCompressedContent():(d=a._data.getContent(),g.compressedContent=b.compress(e.transformTo(b.compressInputType,d),c))):(d=q(a),d&&0!==d.length&&!a.dir||(b=j.STORE,d=\"\"),g.uncompressedSize=d.length,g.crc32=f(d),g.compressedContent=b.compress(e.transformTo(b.compressInputType,d),c)),g.compressedSize=g.compressedContent.length,g.compressionMethod=b.magic,g},A=function(a,b){var c=a;return a||(c=b?16893:33204),(65535&c)<<16},B=function(a,b){return 63&(a||0)},C=function(a,b,c,d,h,i){var j,k,l,n,o=(c.compressedContent,i!==m.utf8encode),p=e.transformTo(\"string\",i(b.name)),q=e.transformTo(\"string\",m.utf8encode(b.name)),r=b.comment||\"\",s=e.transformTo(\"string\",i(r)),u=e.transformTo(\"string\",m.utf8encode(r)),v=q.length!==b.name.length,w=u.length!==r.length,x=b.options,y=\"\",z=\"\",C=\"\";l=b._initialMetadata.dir!==b.dir?b.dir:x.dir,n=b._initialMetadata.date!==b.date?b.date:x.date;var D=0,E=0;l&&(D|=16),\"UNIX\"===h?(E=798,D|=A(b.unixPermissions,l)):(E=20,D|=B(b.dosPermissions,l)),j=n.getHours(),j<<=6,j|=n.getMinutes(),j<<=5,j|=n.getSeconds()/2,k=n.getFullYear()-1980,k<<=4,k|=n.getMonth()+1,k<<=5,k|=n.getDate(),v&&(z=t(1,1)+t(f(p),4)+q,y+=\"up\"+t(z.length,2)+z),w&&(C=t(1,1)+t(this.crc32(s),4)+u,y+=\"uc\"+t(C.length,2)+C);var F=\"\";F+=\"\\n\\0\",F+=o||!v&&!w?\"\\0\\0\":\"\\0\\b\",F+=c.compressionMethod,F+=t(j,2),F+=t(k,2),F+=t(c.crc32,4),F+=t(c.compressedSize,4),F+=t(c.uncompressedSize,4),F+=t(p.length,2),F+=t(y.length,2);var G=g.LOCAL_FILE_HEADER+F+p+y,H=g.CENTRAL_FILE_HEADER+t(E,2)+F+t(s.length,2)+\"\\0\\0\\0\\0\"+t(D,4)+t(d,4)+p+y+s;return{fileRecord:G,dirRecord:H,compressedObject:c}},D={load:function(a,b){throw new Error(\"Load method is not defined. Is the file jszip-load.js included ?\")},filter:function(a){var b,c,d,f,g=[];for(b in this.files)this.files.hasOwnProperty(b)&&(d=this.files[b],f=new s(d.name,d._data,e.extend(d.options)),c=b.slice(this.root.length,b.length),b.slice(0,this.root.length)===this.root&&a(c,f)&&g.push(f));return g},file:function(a,b,c){if(1===arguments.length){if(e.isRegExp(a)){var d=a;return this.filter(function(a,b){return!b.dir&&d.test(a)})}return this.filter(function(b,c){return!c.dir&&b===a})[0]||null}return a=this.root+a,v.call(this,a,b,c),this},folder:function(a){if(!a)return this;if(e.isRegExp(a))return this.filter(function(b,c){return c.dir&&a.test(b)});var b=this.root+a,c=y.call(this,b),d=this.clone();return d.root=c.name,d},remove:function(a){a=this.root+a;var b=this.files[a];if(b||(\"/\"!=a.slice(-1)&&(a+=\"/\"),b=this.files[a]),b&&!b.dir)delete this.files[a];else for(var c=this.filter(function(b,c){return c.name.slice(0,a.length)===a}),d=0;d<c.length;d++)delete this.files[c[d].name];return this},generate:function(a){a=e.extend(a||{},{base64:!0,compression:\"STORE\",compressionOptions:null,type:\"base64\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:m.utf8encode}),e.checkSupport(a.type),\"darwin\"!==a.platform&&\"freebsd\"!==a.platform&&\"linux\"!==a.platform&&\"sunos\"!==a.platform||(a.platform=\"UNIX\"),\"win32\"===a.platform&&(a.platform=\"DOS\");var b,c,d=[],f=0,h=0,k=e.transformTo(\"string\",a.encodeFileName(a.comment||this.comment||\"\"));for(var l in this.files)if(this.files.hasOwnProperty(l)){var p=this.files[l],q=p.options.compression||a.compression.toUpperCase(),r=j[q];if(!r)throw new Error(q+\" is not a valid compression method !\");var s=p.options.compressionOptions||a.compressionOptions||{},u=z.call(this,p,r,s),v=C.call(this,l,p,u,f,a.platform,a.encodeFileName);f+=v.fileRecord.length+u.compressedSize,h+=v.dirRecord.length,d.push(v)}var w=\"\";w=g.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+t(d.length,2)+t(d.length,2)+t(h,4)+t(f,4)+t(k.length,2)+k;var x=a.type.toLowerCase();for(b=\"uint8array\"===x||\"arraybuffer\"===x||\"blob\"===x||\"nodebuffer\"===x?new o(f+h+w.length):new n(f+h+w.length),c=0;c<d.length;c++)b.append(d[c].fileRecord),b.append(d[c].compressedObject.compressedContent);for(c=0;c<d.length;c++)b.append(d[c].dirRecord);b.append(w);var y=b.finalize();switch(a.type.toLowerCase()){case\"uint8array\":case\"arraybuffer\":case\"nodebuffer\":return e.transformTo(a.type.toLowerCase(),y);case\"blob\":return e.arrayBuffer2Blob(e.transformTo(\"arraybuffer\",y),a.mimeType);case\"base64\":return a.base64?i.encode(y):y;default:return y}},crc32:function(a,b){return f(a,b)},utf8encode:function(a){return e.transformTo(\"string\",m.utf8encode(a))},utf8decode:function(a){return m.utf8decode(a)}};b.exports=D},{\"./base64\":2,\"./compressedObject\":3,\"./compressions\":4,\"./crc32\":5,\"./defaults\":7,\"./nodeBuffer\":12,\"./signature\":15,\"./stringWriter\":17,\"./support\":18,\"./uint8ArrayWriter\":20,\"./utf8\":21,\"./utils\":22}],15:[function(a,b,c){\"use strict\";c.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",c.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",c.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",c.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",c.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],16:[function(a,b,c){\"use strict\";function d(a,b){this.data=a,b||(this.data=f.string2binary(this.data)),this.length=this.data.length,this.index=0,this.zero=0}var e=a(\"./dataReader\"),f=a(\"./utils\");d.prototype=new e,d.prototype.byteAt=function(a){return this.data.charCodeAt(this.zero+a)},d.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)-this.zero},d.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{\"./dataReader\":6,\"./utils\":22}],17:[function(a,b,c){\"use strict\";var d=a(\"./utils\"),e=function(){this.data=[]};e.prototype={append:function(a){a=d.transformTo(\"string\",a),this.data.push(a)},finalize:function(){return this.data.join(\"\")}},b.exports=e},{\"./utils\":22}],18:[function(a,b,c){(function(a){\"use strict\";if(c.base64=!0,c.array=!0,c.string=!0,c.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,c.nodebuffer=\"undefined\"!=typeof a,c.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)c.blob=!1;else{var b=new ArrayBuffer(0);try{c.blob=0===new Blob([b],{type:\"application/zip\"}).size}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;f.append(b),c.blob=0===f.getBlob(\"application/zip\").size}catch(d){c.blob=!1}}}}).call(this,\"undefined\"!=typeof Buffer?Buffer:void 0)},{}],19:[function(a,b,c){\"use strict\";function d(a){a&&(this.data=a,this.length=this.data.length,this.index=0,this.zero=0)}var e=a(\"./arrayReader\");d.prototype=new e,d.prototype.readData=function(a){if(this.checkOffset(a),0===a)return new Uint8Array(0);var b=this.data.subarray(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{\"./arrayReader\":1}],20:[function(a,b,c){\"use strict\";var d=a(\"./utils\"),e=function(a){this.data=new Uint8Array(a),this.index=0};e.prototype={append:function(a){0!==a.length&&(a=d.transformTo(\"uint8array\",a),this.data.set(a,this.index),this.index+=a.length)},finalize:function(){return this.data}},b.exports=e},{\"./utils\":22}],21:[function(a,b,c){\"use strict\";for(var d=a(\"./utils\"),e=a(\"./support\"),f=a(\"./nodeBuffer\"),g=new Array(256),h=0;h<256;h++)g[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1;var i=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;f<h;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=c<128?1:c<2048?2:c<65536?3:4;for(b=e.uint8array?new Uint8Array(i):new Array(i),g=0,f=0;g<i;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),c<128?b[g++]=c:c<2048?(b[g++]=192|c>>>6,b[g++]=128|63&c):c<65536?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},j=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return c<0?b:0===c?b:c+g[a[c]]>b?c:b},k=function(a){var b,c,e,f,h=a.length,i=new Array(2*h);for(c=0,b=0;b<h;)if(e=a[b++],e<128)i[c++]=e;else if(f=g[e],f>4)i[c++]=65533,b+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&b<h;)e=e<<6|63&a[b++],f--;f>1?i[c++]=65533:e<65536?i[c++]=e:(e-=65536,i[c++]=55296|e>>10&1023,i[c++]=56320|1023&e)}return i.length!==c&&(i.subarray?i=i.subarray(0,c):i.length=c),d.applyFromCharCode(i)};c.utf8encode=function(a){return e.nodebuffer?f(a,\"utf-8\"):i(a)},c.utf8decode=function(a){if(e.nodebuffer)return d.transformTo(\"nodebuffer\",a).toString(\"utf-8\");a=d.transformTo(e.uint8array?\"uint8array\":\"array\",a);for(var b=[],c=0,f=a.length,g=65536;c<f;){var h=j(a,Math.min(c+g,f));e.uint8array?b.push(k(a.subarray(c,h))):b.push(k(a.slice(c,h))),c=h}return b.join(\"\")}},{\"./nodeBuffer\":12,\"./support\":18,\"./utils\":22}],22:[function(a,b,c){\"use strict\";function d(a){return a}function e(a,b){for(var c=0;c<a.length;++c)b[c]=255&a.charCodeAt(c);return b}function f(a){var b=65536,d=[],e=a.length,f=c.getTypeOf(a),g=0,h=!0;try{switch(f){case\"uint8array\":String.fromCharCode.apply(null,new Uint8Array(0));break;case\"nodebuffer\":String.fromCharCode.apply(null,j(0))}}catch(i){h=!1}if(!h){for(var k=\"\",l=0;l<a.length;l++)k+=String.fromCharCode(a[l]);return k}for(;g<e&&b>1;)try{\"array\"===f||\"nodebuffer\"===f?d.push(String.fromCharCode.apply(null,a.slice(g,Math.min(g+b,e)))):d.push(String.fromCharCode.apply(null,a.subarray(g,Math.min(g+b,e)))),g+=b}catch(i){b=Math.floor(b/2)}return d.join(\"\")}function g(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];return b}var h=a(\"./support\"),i=a(\"./compressions\"),j=a(\"./nodeBuffer\");c.string2binary=function(a){for(var b=\"\",c=0;c<a.length;c++)b+=String.fromCharCode(255&a.charCodeAt(c));return b},c.arrayBuffer2Blob=function(a,b){c.checkSupport(\"blob\"),b=b||\"application/zip\";try{return new Blob([a],{type:b})}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;return f.append(a),f.getBlob(b)}catch(d){throw new Error(\"Bug : can't construct the Blob.\")}}},c.applyFromCharCode=f;var k={};k.string={string:d,array:function(a){return e(a,new Array(a.length))},arraybuffer:function(a){return k.string.uint8array(a).buffer},uint8array:function(a){return e(a,new Uint8Array(a.length))},nodebuffer:function(a){return e(a,j(a.length))}},k.array={string:f,array:d,arraybuffer:function(a){return new Uint8Array(a).buffer},uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(a)}},k.arraybuffer={string:function(a){return f(new Uint8Array(a))},array:function(a){return g(new Uint8Array(a),new Array(a.byteLength))},arraybuffer:d,uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(new Uint8Array(a))}},k.uint8array={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return a.buffer},uint8array:d,nodebuffer:function(a){return j(a)}},k.nodebuffer={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return k.nodebuffer.uint8array(a).buffer},uint8array:function(a){return g(a,new Uint8Array(a.length))},nodebuffer:d},c.transformTo=function(a,b){if(b||(b=\"\"),!a)return b;c.checkSupport(a);var d=c.getTypeOf(b),e=k[d][a](b);return e},c.getTypeOf=function(a){return\"string\"==typeof a?\"string\":\"[object Array]\"===Object.prototype.toString.call(a)?\"array\":h.nodebuffer&&j.test(a)?\"nodebuffer\":h.uint8array&&a instanceof Uint8Array?\"uint8array\":h.arraybuffer&&a instanceof ArrayBuffer?\"arraybuffer\":void 0},c.checkSupport=function(a){var b=h[a.toLowerCase()];if(!b)throw new Error(a+\" is not supported by this browser\")},c.MAX_VALUE_16BITS=65535,c.MAX_VALUE_32BITS=-1,c.pretty=function(a){var b,c,d=\"\";for(c=0;c<(a||\"\").length;c++)b=a.charCodeAt(c),d+=\"\\\\x\"+(b<16?\"0\":\"\")+b.toString(16).toUpperCase();return d},c.findCompression=function(a){for(var b in i)if(i.hasOwnProperty(b)&&i[b].magic===a)return i[b];return null},c.isRegExp=function(a){return\"[object RegExp]\"===Object.prototype.toString.call(a)},c.extend=function(){var a,b,c={};for(a=0;a<arguments.length;a++)for(b in arguments[a])arguments[a].hasOwnProperty(b)&&\"undefined\"==typeof c[b]&&(c[b]=arguments[a][b]);return c}},{\"./compressions\":4,\"./nodeBuffer\":12,\"./support\":18}],23:[function(a,b,c){\"use strict\";function d(a,b){this.files=[],this.loadOptions=b,a&&this.load(a)}var e=a(\"./stringReader\"),f=a(\"./nodeBufferReader\"),g=a(\"./uint8ArrayReader\"),h=a(\"./arrayReader\"),i=a(\"./utils\"),j=a(\"./signature\"),k=a(\"./zipEntry\"),l=a(\"./support\");a(\"./object\");d.prototype={checkSignature:function(a){var b=this.reader.readString(4);if(b!==a)throw new Error(\"Corrupted zip or bug : unexpected signature (\"+i.pretty(b)+\", expected \"+i.pretty(a)+\")\")},isSignature:function(a,b){var c=this.reader.index;this.reader.setIndex(a);var d=this.reader.readString(4),e=d===b;return this.reader.setIndex(c),e},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var a=this.reader.readData(this.zipCommentLength),b=l.uint8array?\"uint8array\":\"array\",c=i.transformTo(b,a);this.zipComment=this.loadOptions.decodeFileName(c)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.versionMadeBy=this.reader.readString(2),this.versionNeeded=this.reader.readInt(2),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var a,b,c,d=this.zip64EndOfCentralSize-44,e=0;e<d;)a=this.reader.readInt(2),b=this.reader.readInt(4),c=this.reader.readString(b),this.zip64ExtensibleData[a]={id:a,length:b,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var a,b;for(a=0;a<this.files.length;a++)b=this.files[a],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(j.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8(),b.processAttributes()},readCentralDir:function(){var a;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===j.CENTRAL_FILE_HEADER;)a=new k({zip64:this.zip64},this.loadOptions),a.readCentralPart(this.reader),this.files.push(a);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var a=this.reader.lastIndexOfSignature(j.CENTRAL_DIRECTORY_END);if(a<0){var b=!this.isSignature(0,j.LOCAL_FILE_HEADER);throw b?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see http://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip : can't find end of central directory\")}this.reader.setIndex(a);var c=a;if(this.checkSignature(j.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,a=this.reader.lastIndexOfSignature(j.ZIP64_CENTRAL_DIRECTORY_LOCATOR),a<0)throw new Error(\"Corrupted zip : can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(a),this.checkSignature(j.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,j.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(j.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip : can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(j.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var d=this.centralDirOffset+this.centralDirSize;this.zip64&&(d+=20,d+=12+this.zip64EndOfCentralSize);var e=c-d;if(e>0)this.isSignature(c,j.CENTRAL_FILE_HEADER)||(this.reader.zero=e);else if(e<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(e)+\" bytes.\")},prepareReader:function(a){var b=i.getTypeOf(a);if(i.checkSupport(b),\"string\"!==b||l.uint8array)if(\"nodebuffer\"===b)this.reader=new f(a);else if(l.uint8array)this.reader=new g(i.transformTo(\"uint8array\",a));else{if(!l.array)throw new Error(\"Unexpected error: unsupported type '\"+b+\"'\");this.reader=new h(i.transformTo(\"array\",a))}else this.reader=new e(a,this.loadOptions.optimizedBinaryString)},load:function(a){this.prepareReader(a),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},b.exports=d},{\"./arrayReader\":1,\"./nodeBufferReader\":13,\"./object\":14,\"./signature\":15,\"./stringReader\":16,\"./support\":18,\"./uint8ArrayReader\":19,\"./utils\":22,\"./zipEntry\":24}],24:[function(a,b,c){\"use strict\";function d(a,b){this.options=a,this.loadOptions=b}var e=a(\"./stringReader\"),f=a(\"./utils\"),g=a(\"./compressedObject\"),h=a(\"./object\"),i=a(\"./support\"),j=0,k=3;d.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},prepareCompressedContent:function(a,b,c){return function(){var d=a.index;a.setIndex(b);var e=a.readData(c);return a.setIndex(d),e}},prepareContent:function(a,b,c,d,e){return function(){var a=f.transformTo(d.uncompressInputType,this.getCompressedContent()),b=d.uncompress(a);if(b.length!==e)throw new Error(\"Bug : uncompressed data size mismatch\");return b}},readLocalPart:function(a){var b,c;if(a.skip(22),this.fileNameLength=a.readInt(2),c=a.readInt(2),this.fileName=a.readData(this.fileNameLength),a.skip(c),this.compressedSize==-1||this.uncompressedSize==-1)throw new Error(\"Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)\");if(b=f.findCompression(this.compressionMethod),null===b)throw new Error(\"Corrupted zip : compression \"+f.pretty(this.compressionMethod)+\" unknown (inner file : \"+f.transformTo(\"string\",this.fileName)+\")\");if(this.decompressed=new g,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(a,a.index,this.compressedSize,b),this.decompressed.getContent=this.prepareContent(a,a.index,this.compressedSize,b,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=f.transformTo(\"string\",this.decompressed.getContent()),h.crc32(this.decompressed)!==this.crc32))throw new Error(\"Corrupted zip : CRC32 mismatch\");\n},readCentralPart:function(a){if(this.versionMadeBy=a.readInt(2),this.versionNeeded=a.readInt(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4),this.fileNameLength=a.readInt(2),this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");this.fileName=a.readData(this.fileNameLength),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var a=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),a===j&&(this.dosPermissions=63&this.externalFileAttributes),a===k&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(a){if(this.extraFields[1]){var b=new e(this.extraFields[1].value);this.uncompressedSize===f.MAX_VALUE_32BITS&&(this.uncompressedSize=b.readInt(8)),this.compressedSize===f.MAX_VALUE_32BITS&&(this.compressedSize=b.readInt(8)),this.localHeaderOffset===f.MAX_VALUE_32BITS&&(this.localHeaderOffset=b.readInt(8)),this.diskNumberStart===f.MAX_VALUE_32BITS&&(this.diskNumberStart=b.readInt(4))}},readExtraFields:function(a){var b,c,d,e=a.index;for(this.extraFields=this.extraFields||{};a.index<e+this.extraFieldsLength;)b=a.readInt(2),c=a.readInt(2),d=a.readString(c),this.extraFields[b]={id:b,length:c,value:d}},handleUTF8:function(){var a=i.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=h.utf8decode(this.fileName),this.fileCommentStr=h.utf8decode(this.fileComment);else{var b=this.findExtraFieldUnicodePath();if(null!==b)this.fileNameStr=b;else{var c=f.transformTo(a,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(c)}var d=this.findExtraFieldUnicodeComment();if(null!==d)this.fileCommentStr=d;else{var e=f.transformTo(a,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(e)}}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var b=new e(a.value);return 1!==b.readInt(1)?null:h.crc32(this.fileName)!==b.readInt(4)?null:h.utf8decode(b.readString(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var b=new e(a.value);return 1!==b.readInt(1)?null:h.crc32(this.fileComment)!==b.readInt(4)?null:h.utf8decode(b.readString(a.length-5))}return null}},b.exports=d},{\"./compressedObject\":3,\"./object\":14,\"./stringReader\":16,\"./support\":18,\"./utils\":22}],25:[function(a,b,c){\"use strict\";var d=a(\"./lib/utils/common\").assign,e=a(\"./lib/deflate\"),f=a(\"./lib/inflate\"),g=a(\"./lib/zlib/constants\"),h={};d(h,e,f,g),b.exports=h},{\"./lib/deflate\":26,\"./lib/inflate\":27,\"./lib/utils/common\":28,\"./lib/zlib/constants\":31}],26:[function(a,b,c){\"use strict\";function d(a){if(!(this instanceof d))return new d(a);this.options=i.assign({level:s,method:u,chunkSize:16384,windowBits:15,memLevel:8,strategy:t,to:\"\"},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var c=h.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==p)throw new Error(k[c]);if(b.header&&h.deflateSetHeader(this.strm,b.header),b.dictionary){var e;if(e=\"string\"==typeof b.dictionary?j.string2buf(b.dictionary):\"[object ArrayBuffer]\"===m.call(b.dictionary)?new Uint8Array(b.dictionary):b.dictionary,c=h.deflateSetDictionary(this.strm,e),c!==p)throw new Error(k[c]);this._dict_set=!0}}function e(a,b){var c=new d(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function f(a,b){return b=b||{},b.raw=!0,e(a,b)}function g(a,b){return b=b||{},b.gzip=!0,e(a,b)}var h=a(\"./zlib/deflate\"),i=a(\"./utils/common\"),j=a(\"./utils/strings\"),k=a(\"./zlib/messages\"),l=a(\"./zlib/zstream\"),m=Object.prototype.toString,n=0,o=4,p=0,q=1,r=2,s=-1,t=0,u=8;d.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?o:n,\"string\"==typeof a?e.input=j.string2buf(a):\"[object ArrayBuffer]\"===m.call(a)?e.input=new Uint8Array(a):e.input=a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new i.Buf8(f),e.next_out=0,e.avail_out=f),c=h.deflate(e,d),c!==q&&c!==p)return this.onEnd(c),this.ended=!0,!1;0!==e.avail_out&&(0!==e.avail_in||d!==o&&d!==r)||(\"string\"===this.options.to?this.onData(j.buf2binstring(i.shrinkBuf(e.output,e.next_out))):this.onData(i.shrinkBuf(e.output,e.next_out)))}while((e.avail_in>0||0===e.avail_out)&&c!==q);return d===o?(c=h.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===p):d!==r||(this.onEnd(p),e.avail_out=0,!0)},d.prototype.onData=function(a){this.chunks.push(a)},d.prototype.onEnd=function(a){a===p&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=d,c.deflate=e,c.deflateRaw=f,c.gzip=g},{\"./utils/common\":28,\"./utils/strings\":29,\"./zlib/deflate\":33,\"./zlib/messages\":38,\"./zlib/zstream\":40}],27:[function(a,b,c){\"use strict\";function d(a){if(!(this instanceof d))return new d(a);this.options=h.assign({chunkSize:16384,windowBits:0,to:\"\"},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var c=g.inflateInit2(this.strm,b.windowBits);if(c!==j.Z_OK)throw new Error(k[c]);this.header=new m,g.inflateGetHeader(this.strm,this.header)}function e(a,b){var c=new d(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function f(a,b){return b=b||{},b.raw=!0,e(a,b)}var g=a(\"./zlib/inflate\"),h=a(\"./utils/common\"),i=a(\"./utils/strings\"),j=a(\"./zlib/constants\"),k=a(\"./zlib/messages\"),l=a(\"./zlib/zstream\"),m=a(\"./zlib/gzheader\"),n=Object.prototype.toString;d.prototype.push=function(a,b){var c,d,e,f,k,l,m=this.strm,o=this.options.chunkSize,p=this.options.dictionary,q=!1;if(this.ended)return!1;d=b===~~b?b:b===!0?j.Z_FINISH:j.Z_NO_FLUSH,\"string\"==typeof a?m.input=i.binstring2buf(a):\"[object ArrayBuffer]\"===n.call(a)?m.input=new Uint8Array(a):m.input=a,m.next_in=0,m.avail_in=m.input.length;do{if(0===m.avail_out&&(m.output=new h.Buf8(o),m.next_out=0,m.avail_out=o),c=g.inflate(m,j.Z_NO_FLUSH),c===j.Z_NEED_DICT&&p&&(l=\"string\"==typeof p?i.string2buf(p):\"[object ArrayBuffer]\"===n.call(p)?new Uint8Array(p):p,c=g.inflateSetDictionary(this.strm,l)),c===j.Z_BUF_ERROR&&q===!0&&(c=j.Z_OK,q=!1),c!==j.Z_STREAM_END&&c!==j.Z_OK)return this.onEnd(c),this.ended=!0,!1;m.next_out&&(0!==m.avail_out&&c!==j.Z_STREAM_END&&(0!==m.avail_in||d!==j.Z_FINISH&&d!==j.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(e=i.utf8border(m.output,m.next_out),f=m.next_out-e,k=i.buf2string(m.output,e),m.next_out=f,m.avail_out=o-f,f&&h.arraySet(m.output,m.output,e,f,0),this.onData(k)):this.onData(h.shrinkBuf(m.output,m.next_out)))),0===m.avail_in&&0===m.avail_out&&(q=!0)}while((m.avail_in>0||0===m.avail_out)&&c!==j.Z_STREAM_END);return c===j.Z_STREAM_END&&(d=j.Z_FINISH),d===j.Z_FINISH?(c=g.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===j.Z_OK):d!==j.Z_SYNC_FLUSH||(this.onEnd(j.Z_OK),m.avail_out=0,!0)},d.prototype.onData=function(a){this.chunks.push(a)},d.prototype.onEnd=function(a){a===j.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=d,c.inflate=e,c.inflateRaw=f,c.ungzip=e},{\"./utils/common\":28,\"./utils/strings\":29,\"./zlib/constants\":31,\"./zlib/gzheader\":34,\"./zlib/inflate\":36,\"./zlib/messages\":38,\"./zlib/zstream\":40}],28:[function(a,b,c){\"use strict\";var d=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if(\"object\"!=typeof c)throw new TypeError(c+\"must be non-object\");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;b<c;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;b<c;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],29:[function(a,b,c){\"use strict\";function d(a,b){if(b<65537&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c=\"\",d=0;d<b;d++)c+=String.fromCharCode(a[d]);return c}var e=a(\"./common\"),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;j<256;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,c.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;f<h;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=c<128?1:c<2048?2:c<65536?3:4;for(b=new e.Buf8(i),g=0,f=0;g<i;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),c<128?b[g++]=c:c<2048?(b[g++]=192|c>>>6,b[g++]=128|63&c):c<65536?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},c.buf2binstring=function(a){return d(a,a.length)},c.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;c<d;c++)b[c]=a.charCodeAt(c);return b},c.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;c<h;)if(f=a[c++],f<128)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&c<h;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:f<65536?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},c.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return c<0?b:0===c?b:c+i[a[c]]>b?c:b}},{\"./common\":28}],30:[function(a,b,c){\"use strict\";function d(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}b.exports=d},{}],31:[function(a,b,c){\"use strict\";b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],32:[function(a,b,c){\"use strict\";function d(){for(var a,b=[],c=0;c<256;c++){a=c;for(var d=0;d<8;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function e(a,b,c,d){var e=f,g=d+c;a^=-1;for(var h=d;h<g;h++)a=a>>>8^e[255&(a^b[h])];return a^-1}var f=d();b.exports=e},{}],33:[function(a,b,c){\"use strict\";function d(a,b){return a.msg=I[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(E.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){F._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,E.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=G(a.adler,b,e,c):2===a.state.wrap&&(a.adler=H(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-la?a.strstart-(a.w_size-la):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ka,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&f<m);if(d=ka-(m-f),f=m-ka,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-la)){E.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=ja)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+ja-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<ja)););}while(a.lookahead<la&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===J)return ua;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return ua;if(a.strstart-a.block_start>=a.w_size-la&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?ua:ua}function o(a,b){for(var c,d;;){if(a.lookahead<la){if(m(a),a.lookahead<la&&b===J)return ua;if(0===a.lookahead)break}if(c=0,a.lookahead>=ja&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-la&&(a.match_length=l(a,c)),a.match_length>=ja)if(d=F._tr_tally(a,a.strstart-a.match_start,a.match_length-ja),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=ja){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=a.strstart<ja-1?a.strstart:ja-1,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function p(a,b){for(var c,d,e;;){if(a.lookahead<la){if(m(a),a.lookahead<la&&b===J)return ua;if(0===a.lookahead)break}if(c=0,a.lookahead>=ja&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=ja-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-la&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===U||a.match_length===ja&&a.strstart-a.match_start>4096)&&(a.match_length=ja-1)),a.prev_length>=ja&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-ja,d=F._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-ja),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=ja-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return ua}else if(a.match_available){if(d=F._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return ua}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=F._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<ja-1?a.strstart:ja-1,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ka){if(m(a),a.lookahead<=ka&&b===J)return ua;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=ja&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ka;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&e<f);a.match_length=ka-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=ja?(c=F._tr_tally(a,1,a.match_length-ja),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===J)return ua;break}if(a.match_length=0,c=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function s(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e}function t(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=D[a.level].max_lazy,a.good_match=D[a.level].good_length,a.nice_match=D[a.level].nice_length,a.max_chain_length=D[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=ja-1,a.match_available=0,a.ins_h=0}function u(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=$,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new E.Buf16(2*ha),this.dyn_dtree=new E.Buf16(2*(2*fa+1)),this.bl_tree=new E.Buf16(2*(2*ga+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new E.Buf16(ia+1),this.heap=new E.Buf16(2*ea+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new E.Buf16(2*ea+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=Z,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?na:sa,a.adler=2===b.wrap?0:1,b.last_flush=J,F._tr_init(b),O):d(a,Q)}function w(a){var b=v(a);return b===O&&t(a.state),b}function x(a,b){return a&&a.state?2!==a.state.wrap?Q:(a.state.gzhead=b,O):Q}function y(a,b,c,e,f,g){if(!a)return Q;var h=1;if(b===T&&(b=6),e<0?(h=0,e=-e):e>15&&(h=2,e-=16),f<1||f>_||c!==$||e<8||e>15||b<0||b>9||g<0||g>X)return d(a,Q);8===e&&(e=9);var i=new u;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+ja-1)/ja),i.window=new E.Buf8(2*i.w_size),i.head=new E.Buf16(i.hash_size),i.prev=new E.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new E.Buf8(i.pending_buf_size),i.d_buf=1*i.lit_bufsize,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,w(a)}function z(a,b){return y(a,b,$,aa,ba,Y)}function A(a,b){var c,h,k,l;if(!a||!a.state||b>N||b<0)return a?d(a,Q):Q;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===ta&&b!==M)return d(a,0===a.avail_out?S:Q);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===na)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=V||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=H(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=oa):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=V||h.level<2?4:0),i(h,ya),h.status=sa);else{var m=$+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=V||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=ma),m+=31-m%31,h.status=sa,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===oa)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=pa)}else h.status=pa;if(h.status===pa)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=qa)}else h.status=qa;if(h.status===qa)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=ra)}else h.status=ra;if(h.status===ra&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=sa)):h.status=sa),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,O}else if(0===a.avail_in&&e(b)<=e(c)&&b!==M)return d(a,S);if(h.status===ta&&0!==a.avail_in)return d(a,S);if(0!==a.avail_in||0!==h.lookahead||b!==J&&h.status!==ta){var o=h.strategy===V?r(h,b):h.strategy===W?q(h,b):D[h.level].func(h,b);if(o!==wa&&o!==xa||(h.status=ta),o===ua||o===wa)return 0===a.avail_out&&(h.last_flush=-1),O;if(o===va&&(b===K?F._tr_align(h):b!==N&&(F._tr_stored_block(h,0,0,!1),b===L&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,O}return b!==M?O:h.wrap<=0?P:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?O:P)}function B(a){var b;return a&&a.state?(b=a.state.status,b!==na&&b!==oa&&b!==pa&&b!==qa&&b!==ra&&b!==sa&&b!==ta?d(a,Q):(a.state=null,b===sa?d(a,R):O)):Q}function C(a,b){var c,d,e,g,h,i,j,k,l=b.length;if(!a||!a.state)return Q;if(c=a.state,g=c.wrap,2===g||1===g&&c.status!==na||c.lookahead)return Q;for(1===g&&(a.adler=G(a.adler,b,l,0)),c.wrap=0,l>=c.w_size&&(0===g&&(f(c.head),c.strstart=0,c.block_start=0,c.insert=0),k=new E.Buf8(c.w_size),E.arraySet(k,b,l-c.w_size,c.w_size,0),b=k,l=c.w_size),h=a.avail_in,i=a.next_in,j=a.input,a.avail_in=l,a.next_in=0,a.input=b,m(c);c.lookahead>=ja;){d=c.strstart,e=c.lookahead-(ja-1);do c.ins_h=(c.ins_h<<c.hash_shift^c.window[d+ja-1])&c.hash_mask,c.prev[d&c.w_mask]=c.head[c.ins_h],c.head[c.ins_h]=d,d++;while(--e);c.strstart=d,c.lookahead=ja-1,m(c)}return c.strstart+=c.lookahead,c.block_start=c.strstart,c.insert=c.lookahead,c.lookahead=0,c.match_length=c.prev_length=ja-1,c.match_available=0,a.next_in=i,a.input=j,a.avail_in=h,c.wrap=g,O}var D,E=a(\"../utils/common\"),F=a(\"./trees\"),G=a(\"./adler32\"),H=a(\"./crc32\"),I=a(\"./messages\"),J=0,K=1,L=3,M=4,N=5,O=0,P=1,Q=-2,R=-3,S=-5,T=-1,U=1,V=2,W=3,X=4,Y=0,Z=2,$=8,_=9,aa=15,ba=8,ca=29,da=256,ea=da+1+ca,fa=30,ga=19,ha=2*ea+1,ia=15,ja=3,ka=258,la=ka+ja+1,ma=32,na=42,oa=69,pa=73,qa=91,ra=103,sa=113,ta=666,ua=1,va=2,wa=3,xa=4,ya=3;D=[new s(0,0,0,0,n),new s(4,4,8,4,o),new s(4,5,16,8,o),new s(4,6,32,32,o),new s(4,4,16,16,p),new s(8,16,32,32,p),new s(8,16,128,128,p),new s(8,32,128,256,p),new s(32,128,258,1024,p),new s(32,258,258,4096,p)],c.deflateInit=z,c.deflateInit2=y,c.deflateReset=w,c.deflateResetKeep=v,c.deflateSetHeader=x,c.deflate=A,c.deflateEnd=B,c.deflateSetDictionary=C,c.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":28,\"./adler32\":30,\"./crc32\":32,\"./messages\":38,\"./trees\":39}],34:[function(a,b,c){\"use strict\";function d(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}b.exports=d},{}],35:[function(a,b,c){\"use strict\";var d=30,e=12;b.exports=function(a,b){var c,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;c=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=c.dmax,l=c.wsize,m=c.whave,n=c.wnext,o=c.window,p=c.hold,q=c.bits,r=c.lencode,s=c.distcode,t=(1<<c.lenbits)-1,u=(1<<c.distbits)-1;a:do{q<15&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){c.mode=e;break a}a.msg=\"invalid literal/length code\",c.mode=d;break a}x=65535&v,w&=15,w&&(q<w&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),q<15&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg=\"invalid distance code\",c.mode=d;break a}if(y=65535&v,w&=15,q<w&&(p+=B[f++]<<q,q+=8,q<w&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg=\"invalid distance too far back\",c.mode=d;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&c.sane){a.msg=\"invalid distance too far back\",c.mode=d;break a}if(z=0,A=o,0===n){if(z+=l-w,w<x){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(n<w){if(z+=l+n-w,w-=n,w<x){x-=w;do C[h++]=o[z++];while(--w);if(z=0,n<x){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,w<x){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(f<g&&h<j);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=f<g?5+(g-f):5-(f-g),a.avail_out=h<j?257+(j-h):257-(h-j),c.hold=p,c.bits=q}},{}],36:[function(a,b,c){\"use strict\";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new s.Buf16(320),this.work=new s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg=\"\",b.wrap&&(a.adler=1&b.wrap),b.mode=L,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new s.Buf32(pa),b.distcode=b.distdyn=new s.Buf32(qa),b.sane=1,b.back=-1,D):G}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):G}function h(a,b){var c,d;return a&&a.state?(d=a.state,b<0?(c=0,b=-b):(c=(b>>4)+1,b<48&&(b&=15)),b&&(b<8||b>15)?G:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):G}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==D&&(a.state=null),c):G}function j(a){return i(a,sa)}function k(a){if(ta){var b;for(q=new s.Buf32(512),r=new s.Buf32(32),b=0;b<144;)a.lens[b++]=8;for(;b<256;)a.lens[b++]=9;for(;b<280;)a.lens[b++]=7;for(;b<288;)a.lens[b++]=8;for(w(y,a.lens,0,288,q,0,a.work,{bits:9}),b=0;b<32;)a.lens[b++]=5;w(z,a.lens,0,32,r,0,a.work,{bits:5}),ta=!1}a.lencode=q,a.lenbits=9,a.distcode=r,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new s.Buf8(f.wsize)),d>=f.wsize?(s.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),s.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(s.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,r,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa=0,Ba=new s.Buf8(4),Ca=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return G;c=a.state,c.mode===W&&(c.mode=X),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xa=D;a:for(;;)switch(c.mode){case L:if(0===c.wrap){c.mode=X;break}for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0),m=0,n=0,c.mode=M;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg=\"incorrect header check\",c.mode=ma;break}if((15&m)!==K){a.msg=\"unknown compression method\",c.mode=ma;break}if(m>>>=4,n-=4,wa=(15&m)+8,0===c.wbits)c.wbits=wa;else if(wa>c.wbits){a.msg=\"invalid window size\",c.mode=ma;break}c.dmax=1<<wa,a.adler=c.check=1,c.mode=512&m?U:W,m=0,n=0;break;case M:for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==K){a.msg=\"unknown compression method\",c.mode=ma;break}if(57344&c.flags){a.msg=\"unknown header flags set\",c.mode=ma;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0,c.mode=N;case N:for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,Ba[2]=m>>>16&255,Ba[3]=m>>>24&255,c.check=u(c.check,Ba,4,0)),m=0,n=0,c.mode=O;case O:for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,\nn+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0,c.mode=P;case P:if(1024&c.flags){for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=Q;case Q:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wa=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),s.arraySet(c.head.extra,e,g,q,wa)),512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=R;case R:if(2048&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.name+=String.fromCharCode(wa));while(wa&&q<i);if(512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=S;case S:if(4096&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.comment+=String.fromCharCode(wa));while(wa&&q<i);if(512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.comment=null);c.mode=T;case T:if(512&c.flags){for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg=\"header crc mismatch\",c.mode=ma;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=W;break;case U:for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=V;case V:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,F;a.adler=c.check=1,c.mode=W;case W:if(b===B||b===C)break a;case X:if(c.last){m>>>=7&n,n-=7&n,c.mode=ja;break}for(;n<3;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=Y;break;case 1:if(k(c),c.mode=ca,b===C){m>>>=2,n-=2;break a}break;case 2:c.mode=_;break;case 3:a.msg=\"invalid block type\",c.mode=ma}m>>>=2,n-=2;break;case Y:for(m>>>=7&n,n-=7&n;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg=\"invalid stored block lengths\",c.mode=ma;break}if(c.length=65535&m,m=0,n=0,c.mode=Z,b===C)break a;case Z:c.mode=$;case $:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;s.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=W;break;case _:for(;n<14;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg=\"too many length or distance symbols\",c.mode=ma;break}c.have=0,c.mode=aa;case aa:for(;c.have<c.ncode;){for(;n<3;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Ca[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Ca[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,ya={bits:c.lenbits},xa=w(x,c.lens,0,19,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg=\"invalid code lengths set\",c.mode=ma;break}c.have=0,c.mode=ba;case ba:for(;c.have<c.nlen+c.ndist;){for(;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(sa<16)m>>>=qa,n-=qa,c.lens[c.have++]=sa;else{if(16===sa){for(za=qa+2;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qa,n-=qa,0===c.have){a.msg=\"invalid bit length repeat\",c.mode=ma;break}wa=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sa){for(za=qa+3;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=3+(7&m),m>>>=3,n-=3}else{for(za=qa+7;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg=\"invalid bit length repeat\",c.mode=ma;break}for(;q--;)c.lens[c.have++]=wa}}if(c.mode===ma)break;if(0===c.lens[256]){a.msg=\"invalid code -- missing end-of-block\",c.mode=ma;break}if(c.lenbits=9,ya={bits:c.lenbits},xa=w(y,c.lens,0,c.nlen,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg=\"invalid literal/lengths set\",c.mode=ma;break}if(c.distbits=6,c.distcode=c.distdyn,ya={bits:c.distbits},xa=w(z,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,ya),c.distbits=ya.bits,xa){a.msg=\"invalid distances set\",c.mode=ma;break}if(c.mode=ca,b===C)break a;case ca:c.mode=da;case da:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,v(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===W&&(c.back=-1);break}for(c.back=0;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(ra&&0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.lencode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(ta+qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,c.length=sa,0===ra){c.mode=ia;break}if(32&ra){c.back=-1,c.mode=W;break}if(64&ra){a.msg=\"invalid literal/length code\",c.mode=ma;break}c.extra=15&ra,c.mode=ea;case ea:if(c.extra){for(za=c.extra;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=fa;case fa:for(;Aa=c.distcode[m&(1<<c.distbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.distcode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(ta+qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,64&ra){a.msg=\"invalid distance code\",c.mode=ma;break}c.offset=sa,c.extra=15&ra,c.mode=ga;case ga:if(c.extra){for(za=c.extra;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg=\"invalid distance too far back\",c.mode=ma;break}c.mode=ha;case ha:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.sane){a.msg=\"invalid distance too far back\",c.mode=ma;break}q>c.wnext?(q-=c.wnext,r=c.wsize-q):r=c.wnext-q,q>c.length&&(q=c.length),pa=c.window}else pa=f,r=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pa[r++];while(--q);0===c.length&&(c.mode=da);break;case ia:if(0===j)break a;f[h++]=c.length,j--,c.mode=da;break;case ja:if(c.wrap){for(;n<32;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?u(c.check,f,p,h-p):t(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg=\"incorrect data check\",c.mode=ma;break}m=0,n=0}c.mode=ka;case ka:if(c.wrap&&c.flags){for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg=\"incorrect length check\",c.mode=ma;break}m=0,n=0}c.mode=la;case la:xa=E;break a;case ma:xa=H;break a;case na:return I;case oa:default:return G}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<ma&&(c.mode<ja||b!==A))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=na,I):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?u(c.check,f,p,a.next_out-p):t(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===W?128:0)+(c.mode===ca||c.mode===Z?256:0),(0===o&&0===p||b===A)&&xa===D&&(xa=J),xa)}function n(a){if(!a||!a.state)return G;var b=a.state;return b.window&&(b.window=null),a.state=null,D}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?G:(c.head=b,b.done=!1,D)):G}function p(a,b){var c,d,e,f=b.length;return a&&a.state?(c=a.state,0!==c.wrap&&c.mode!==V?G:c.mode===V&&(d=1,d=t(d,b,f,0),d!==c.check)?H:(e=l(a,b,f,f))?(c.mode=na,I):(c.havedict=1,D)):G}var q,r,s=a(\"../utils/common\"),t=a(\"./adler32\"),u=a(\"./crc32\"),v=a(\"./inffast\"),w=a(\"./inftrees\"),x=0,y=1,z=2,A=4,B=5,C=6,D=0,E=1,F=2,G=-2,H=-3,I=-4,J=-5,K=8,L=1,M=2,N=3,O=4,P=5,Q=6,R=7,S=8,T=9,U=10,V=11,W=12,X=13,Y=14,Z=15,$=16,_=17,aa=18,ba=19,ca=20,da=21,ea=22,fa=23,ga=24,ha=25,ia=26,ja=27,ka=28,la=29,ma=30,na=31,oa=32,pa=852,qa=592,ra=15,sa=ra,ta=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateSetDictionary=p,c.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":28,\"./adler32\":30,\"./crc32\":32,\"./inffast\":35,\"./inftrees\":37}],37:[function(a,b,c){\"use strict\";var d=a(\"../utils/common\"),e=15,f=852,g=592,h=0,i=1,j=2,k=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],m=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],n=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,c,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new d.Buf16(e+1),Q=new d.Buf16(e+1),R=null,S=0;for(D=0;D<=e;D++)P[D]=0;for(E=0;E<o;E++)P[b[c+E]]++;for(H=C,G=e;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;F<G&&0===P[F];F++);for(H<F&&(H=F),K=1,D=1;D<=e;D++)if(K<<=1,K-=P[D],K<0)return-1;if(K>0&&(a===h||1!==G))return-1;for(Q[1]=0,D=1;D<e;D++)Q[D+1]=Q[D]+P[D];for(E=0;E<o;E++)0!==b[c+E]&&(r[Q[b[c+E]]++]=E);if(a===h?(N=R=r,y=19):a===i?(N=k,O-=257,R=l,S-=257,y=256):(N=m,R=n,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===i&&L>f||a===j&&L>g)return 1;for(var T=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[c+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;I+J<G&&(K-=P[I+J],!(K<=0));)I++,K<<=1;if(L+=1<<I,a===i&&L>f||a===j&&L>g)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{\"../utils/common\":28}],38:[function(a,b,c){\"use strict\";b.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],39:[function(a,b,c){\"use strict\";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length}function f(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b}function g(a){return a<256?ia[a]:ia[256+(a>>>7)]}function h(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function i(a,b,c){a.bi_valid>X-c?(a.bi_buf|=b<<a.bi_valid&65535,h(a,a.bi_buf),a.bi_buf=b>>X-a.bi_valid,a.bi_valid+=c-X):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function j(a,b,c){i(a,c[2*b],c[2*b+1])}function k(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function l(a){16===a.bi_valid?(h(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function m(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;f<=W;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;c<V;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function n(a,b,c){var d,e,f=new Array(W+1),g=0;for(d=1;d<=W;d++)f[d]=g=g+c[d-1]<<1;for(e=0;e<=b;e++){var h=a[2*e+1];0!==h&&(a[2*e]=k(f[h]++,h))}}function o(){var a,b,c,d,f,g=new Array(W+1);for(c=0,d=0;d<Q-1;d++)for(ka[d]=c,a=0;a<1<<ba[d];a++)ja[c++]=d;for(ja[c-1]=d,f=0,d=0;d<16;d++)for(la[d]=f,a=0;a<1<<ca[d];a++)ia[f++]=d;for(f>>=7;d<T;d++)for(la[d]=f<<7,a=0;a<1<<ca[d]-7;a++)ia[256+f++]=d;for(b=0;b<=W;b++)g[b]=0;for(a=0;a<=143;)ga[2*a+1]=8,a++,g[8]++;for(;a<=255;)ga[2*a+1]=9,a++,g[9]++;for(;a<=279;)ga[2*a+1]=7,a++,g[7]++;for(;a<=287;)ga[2*a+1]=8,a++,g[8]++;for(n(ga,S+1,g),a=0;a<T;a++)ha[2*a+1]=5,ha[2*a]=k(a,5);ma=new e(ga,ba,R+1,S,W),na=new e(ha,ca,0,T,W),oa=new e(new Array(0),da,0,U,Y)}function p(a){var b;for(b=0;b<S;b++)a.dyn_ltree[2*b]=0;for(b=0;b<T;b++)a.dyn_dtree[2*b]=0;for(b=0;b<U;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*Z]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function q(a){a.bi_valid>8?h(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function r(a,b,c,d){q(a),d&&(h(a,c),h(a,~c)),G.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function s(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function t(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&s(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!s(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function u(a,b,c){var d,e,f,h,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],e=a.pending_buf[a.l_buf+k],k++,0===d?j(a,e,b):(f=ja[e],j(a,f+R+1,b),h=ba[f],0!==h&&(e-=ka[f],i(a,e,h)),d--,f=g(d),j(a,f,c),h=ca[f],0!==h&&(d-=la[f],i(a,d,h)));while(k<a.last_lit);j(a,Z,b)}function v(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=V,c=0;c<i;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=j<2?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)t(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],t(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,t(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],m(a,b),n(f,j,a.bl_count)}function w(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;d<=c;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(h<j?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*$]++):h<=10?a.bl_tree[2*_]++:a.bl_tree[2*aa]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function x(a,b,c){var d,e,f=-1,g=b[1],h=0,k=7,l=4;for(0===g&&(k=138,l=3),d=0;d<=c;d++)if(e=g,g=b[2*(d+1)+1],!(++h<k&&e===g)){if(h<l){do j(a,e,a.bl_tree);while(0!==--h)}else 0!==e?(e!==f&&(j(a,e,a.bl_tree),h--),j(a,$,a.bl_tree),i(a,h-3,2)):h<=10?(j(a,_,a.bl_tree),i(a,h-3,3)):(j(a,aa,a.bl_tree),i(a,h-11,7));h=0,f=e,0===g?(k=138,l=3):e===g?(k=6,l=3):(k=7,l=4)}}function y(a){var b;for(w(a,a.dyn_ltree,a.l_desc.max_code),w(a,a.dyn_dtree,a.d_desc.max_code),v(a,a.bl_desc),b=U-1;b>=3&&0===a.bl_tree[2*ea[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function z(a,b,c,d){var e;for(i(a,b-257,5),i(a,c-1,5),i(a,d-4,4),e=0;e<d;e++)i(a,a.bl_tree[2*ea[e]+1],3);x(a,a.dyn_ltree,b-1),x(a,a.dyn_dtree,c-1)}function A(a){var b,c=4093624447;for(b=0;b<=31;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return I;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return J;for(b=32;b<R;b++)if(0!==a.dyn_ltree[2*b])return J;return I}function B(a){pa||(o(),pa=!0),a.l_desc=new f(a.dyn_ltree,ma),a.d_desc=new f(a.dyn_dtree,na),a.bl_desc=new f(a.bl_tree,oa),a.bi_buf=0,a.bi_valid=0,p(a)}function C(a,b,c,d){i(a,(L<<1)+(d?1:0),3),r(a,b,c,!0)}function D(a){i(a,M<<1,3),j(a,Z,ga),l(a)}function E(a,b,c,d){var e,f,g=0;a.level>0?(a.strm.data_type===K&&(a.strm.data_type=A(a)),v(a,a.l_desc),v(a,a.d_desc),g=y(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,f<=e&&(e=f)):e=f=c+5,c+4<=e&&b!==-1?C(a,b,c,d):a.strategy===H||f===e?(i(a,(M<<1)+(d?1:0),3),u(a,ga,ha)):(i(a,(N<<1)+(d?1:0),3),z(a,a.l_desc.max_code+1,a.d_desc.max_code+1,g+1),u(a,a.dyn_ltree,a.dyn_dtree)),p(a),d&&q(a)}function F(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(ja[c]+R+1)]++,a.dyn_dtree[2*g(b)]++),a.last_lit===a.lit_bufsize-1}var G=a(\"../utils/common\"),H=4,I=0,J=1,K=2,L=0,M=1,N=2,O=3,P=258,Q=29,R=256,S=R+1+Q,T=30,U=19,V=2*S+1,W=15,X=16,Y=7,Z=256,$=16,_=17,aa=18,ba=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ca=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],da=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ea=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],fa=512,ga=new Array(2*(S+2));d(ga);var ha=new Array(2*T);d(ha);var ia=new Array(fa);d(ia);var ja=new Array(P-O+1);d(ja);var ka=new Array(Q);d(ka);var la=new Array(T);d(la);var ma,na,oa,pa=!1;c._tr_init=B,c._tr_stored_block=C,c._tr_flush_block=E,c._tr_tally=F,c._tr_align=D},{\"../utils/common\":28}],40:[function(a,b,c){\"use strict\";function d(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}b.exports=d},{}]},{},[10])(10)});",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/jszip/jszip.js",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/jszip/license": {
            "text": "JSZip is dual licensed. You may use it under the MIT license *or* the GPLv3\nlicense.\n\nThe MIT License\n===============\n\nCopyright (c) 2009-2014 Stuart Knightley, David Duponchel, Franz Buchinger, António Afonso\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n\nGPL version 3\n=============\n\n                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n",
            "type": "text/plain",
            "title": "$:/plugins/tiddlywiki/jszip/license"
        },
        "$:/plugins/tiddlywiki/jszip/readme": {
            "title": "$:/plugins/tiddlywiki/jszip/readme",
            "text": "This plugin packages [[JSZip|https://stuk.github.io/jszip/]] for use by other plugins. It does not provide any end-user visible features.\n"
        }
    }
}
{
    "tiddlers": {
        "$:/config/DefaultColourMappings/menubar-foreground": {
            "title": "$:/config/DefaultColourMappings/menubar-foreground",
            "text": "#fff"
        },
        "$:/config/DefaultColourMappings/menubar-background": {
            "title": "$:/config/DefaultColourMappings/menubar-background",
            "text": "#5778d8"
        },
        "$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols": {
            "title": "$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols",
            "text": "hide"
        },
        "$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/server": {
            "title": "$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/server",
            "text": "hide"
        },
        "$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/sidebar": {
            "title": "$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/sidebar",
            "text": "hide"
        },
        "$:/config/plugins/menubar/breakpoint": {
            "title": "$:/config/plugins/menubar/breakpoint",
            "text": "620px"
        },
        "$:/plugins/tiddlywiki/menubar/config": {
            "title": "$:/plugins/tiddlywiki/menubar/config",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "Menu Bar",
            "text": "\\define config-base() $:/config/plugins/menubar/MenuItems/Visibility/\n\n! Menu Bar Configuration\n\n!! Menu Items\n\nSelect which menu items will be shown. You can also drag items to reorder them.\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/MenuBar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n\n!! Breakpoint Position\n\nThe breakpoint position between narrow and wide screens. Should include CSS units (eg. `400px`).\n\n<$edit-text tiddler=\"$:/config/plugins/menubar/breakpoint\" default=\"\" tag=\"input\"/>\n\n!! Menu Bar Colours\n\nTo change the colour of the menu bar, define the colours `menubar-foreground` and `menubar-background` in the currently selected palette\n"
        },
        "$:/plugins/tiddlywiki/menubar/items/contents": {
            "title": "$:/plugins/tiddlywiki/menubar/items/contents",
            "caption": "Contents",
            "description": "Table of Contents",
            "is-dropdown": "yes",
            "tags": "$:/tags/MenuBar",
            "text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>\n"
        },
        "$:/plugins/tiddlywiki/menubar/items/hamburger": {
            "title": "$:/plugins/tiddlywiki/menubar/items/hamburger",
            "tags": "$:/tags/MenuBar",
            "caption": "Hamburger",
            "description": "Show the full menu bar on a narrow screen",
            "custom-menu-content": "{{$:/plugins/tiddlywiki/menubar/items/hamburger}}",
            "show-when": "narrow",
            "text": "<$list filter=\"[[$:/state/popup/menubar/hamburger]get[text]else[no]match[no]]\">\n<$button set=\"$:/state/popup/menubar/hamburger\" setTo=\"yes\">\n{{$:/core/images/menu-button}}\n</$button>\n</$list>\n<$list filter=\"[[$:/state/popup/menubar/hamburger]get[text]else[no]match[yes]]\">\n<$button set=\"$:/state/popup/menubar/hamburger\" setTo=\"no\">\n{{$:/core/images/close-button}}\n</$button>\n</$list>\n"
        },
        "$:/plugins/tiddlywiki/menubar/items/pagecontrols": {
            "title": "$:/plugins/tiddlywiki/menubar/items/pagecontrols",
            "tags": "$:/tags/MenuBar",
            "description": "Page controls from the sidebar",
            "caption": "Page controls",
            "custom-menu-content": "<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/pagecontrols\" mode=\"inline\"/>",
            "text": "\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"hidden\" value=<<config-title>>>\n<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$list>\n</$set>\n</$list>\n"
        },
        "$:/plugins/tiddlywiki/menubar/items/search": {
            "title": "$:/plugins/tiddlywiki/menubar/items/search",
            "custom-menu-content": "{{$:/plugins/tiddlywiki/menubar/items/search}}",
            "description": "Search",
            "caption": "Search",
            "tags": "$:/tags/MenuBar",
            "text": "<$set name=\"searchTiddler\" value=\"$:/temp/menubarsearch\">\n\n<span style=\"margin: 0 0.5em;\">\n\n<$edit-text tiddler=<<searchTiddler>> tag=\"input\" type=\"search\" focusPopup=\"$:/state/popup/menubar-search-dropdown\" class=\"tc-popup-handle tc-menu-show-when-wide\" placeholder=\"Search...\" default=\"\"/>\n\n</span>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/state/popup/menubar-search-dropdown\" type=\"nomatch\" text=\"\" default=\"\">\n\n<div  class=\"tc-block-dropdown tc-search-drop-down\">\n\n<$list filter=\"[<searchTiddler>get[text]minlength[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">Type your search terms</div>\"\"\" variable=\"ignore\">\n\n<$list filter=\"[<searchTiddler>get[text]minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n{{$:/core/ui/SearchResults}}\n\n</$list>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n</$set>\n"
        },
        "$:/plugins/tiddlywiki/menubar/items/server": {
            "title": "$:/plugins/tiddlywiki/menubar/items/server",
            "tags": "$:/tags/MenuBar",
            "description": "Server options",
            "caption": "Server",
            "custom-menu-content": "<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/server\" mode=\"inline\"/>",
            "text": "<$list filter=\"[[$:/status/IsLoggedIn]get[text]else[no]match[yes]]\" variable=\"ignore\">\n<$transclude tiddler=\"$:/core/ui/Buttons/save-wiki\" mode=\"inline\"/>\n</$list>\n<$list filter=\"[[$:/status/IsLoggedIn]get[text]else[no]match[no]]\" variable=\"ignore\">\n<$button message=\"tm-login\">\nLogin\n</$button>\n</$list>\n"
        },
        "$:/plugins/tiddlywiki/menubar/items/sidebar": {
            "title": "$:/plugins/tiddlywiki/menubar/items/sidebar",
            "caption": "Sidebar",
            "description": "Sidebar",
            "is-dropdown": "yes",
            "tags": "$:/tags/MenuBar",
            "text": "<$scrollable fallthrough=\"none\" class=\"tc-popup-keep tc-menubar-dropdown-sidebar\">\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\" mode=\"inline\"/>\n\n</$scrollable>\n"
        },
        "$:/plugins/tiddlywiki/menubar/items/topleftbar": {
            "title": "$:/plugins/tiddlywiki/menubar/items/topleftbar",
            "tags": "$:/tags/MenuBar",
            "description": "Items from $:/tags/TopLeftBar",
            "caption": "Legacy Top Left Bar",
            "custom-menu-content": "<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/topleftbar\" mode=\"inline\"/>",
            "text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>"
        },
        "$:/plugins/tiddlywiki/menubar/items/toprightbar": {
            "title": "$:/plugins/tiddlywiki/menubar/items/toprightbar",
            "tags": "$:/tags/MenuBar",
            "description": "Items from $:/tags/TopRightBar",
            "caption": "Legacy Top Right Bar",
            "custom-menu-content": "<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/toprightbar\" mode=\"inline\"/>",
            "custom-menu-styles-wide": "float: right;",
            "text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]reverse[]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>"
        },
        "$:/plugins/tiddlywiki/menubar/menu": {
            "title": "$:/plugins/tiddlywiki/menubar/menu",
            "tags": "$:/tags/PageTemplate",
            "text": "\\define menubar-inner(size)\n<ul class=\"tc-menubar-list\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]]\">\n<$list filter=\"[<currentTiddler>addprefix[$:/config/plugins/menubar/MenuItems/Visibility/]get[text]] ~show +[match[show]]\" variable=\"ignore\">\n<$list filter=\"[[$size$]match[wide]] ~[<currentTiddler>get[show-when]match[$size$]] ~[{$:/state/popup/menubar/hamburger}match[yes]]\" variable=\"ignore\">\n<li style={{!!custom-menu-styles-$size$}} class={{{ [<currentTiddler>get[show-when]addprefix[tc-menubar-]] tc-menubar-item +[join[ ]] }}}>\n<$list filter=\"[<currentTiddler>!is-dropdown[yes]]\" variable=\"listItem\" emptyMessage=\"\"\"\n\t<!-- Dropdown -->\n\t<$set name=\"dropdown-state\" value=<<qualify \"$:/state/popup/topmenu/dropdown/\">>>\n\t<$set name=\"dropdown-state\" value={{{ [<dropdown-state>addsuffix<currentTiddler>] }}}>\n\t<$button popup=<<dropdown-state>> selectedClass=\"tc-selected\">\n\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t<$transclude field=\"caption\" mode=\"inline\"/>\n\t<$text text=\" \"/>\n\t<span class=\"tc-menubar-dropdown-arrow\">\n\t<$transclude tiddler=\"$:/core/images/down-arrow\" mode=\"inline\"/>\n\t</span>\n\t</$set>\n\t</$button>\n\t</$set>\n\t</$set>\n\"\"\">\n<$list filter=\"[<currentTiddler>has[custom-menu-content]]\" variable=\"listItem\" emptyMessage=\"\"\"\n\t<!-- Link -->\n\t<$link to={{!!target}}>\n\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t<$transclude field=\"caption\" mode=\"inline\"/>\n\t</$set>\n\t</$link>\n\"\"\">\n<!-- Custom content -->\n<$transclude field=\"custom-menu-content\" mode=\"inline\"/>\n</$list>\n</$list>\n</li>\n</$list>\n</$list>\n</$list>\n</ul>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]limit[1]]\" variable=\"listItem\">\n<nav class=\"tc-menubar tc-adjust-top-of-scroll\">\n<div class=\"tc-menubar-narrow\">\n<<menubar-inner narrow>>\n</div>\n<div class=\"tc-menubar-wide\">\n<<menubar-inner wide>>\n</div>\n<div style=\"clear:both;\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]is-dropdown[yes]]\">\n<$list filter=\"[<currentTiddler>addprefix[$:/config/plugins/menubar/MenuItems/Visibility/]get[text]] ~show +[match[show]]\" variable=\"ignore\">\n<$set name=\"dropdown-state\" value=<<qualify \"$:/state/popup/topmenu/dropdown/\">>>\n<$set name=\"dropdown-state\" value={{{ [<dropdown-state>addsuffix<currentTiddler>] }}}>\n<$reveal type=\"popup\" state=<<dropdown-state>> class={{{ [<currentTiddler>get[dropdown]get[class]] }}} tag=\"div\">\n<div class=\"tc-drop-down\">\n<$transclude/>\n</div>\n</$reveal>\n</$set>\n</$set>\n</$list>\n</$list>\n</nav>\n</$list>\n"
        },
        "$:/core/ui/PageTemplate/topleftbar": {
            "title": "$:/core/ui/PageTemplate/topleftbar",
            "text": "<!-- The menubar plugin overrides this tiddler to remove the core top left menu. The menu items that it would include are instead included in the menubar -->"
        },
        "$:/core/ui/PageTemplate/toprightbar": {
            "title": "$:/core/ui/PageTemplate/toprightbar",
            "text": "<!-- The menubar plugin overrides this tiddler to remove the core top right menu. The menu items that it would include are instead included in the menubar -->"
        },
        "$:/plugins/tiddlywiki/menubar/readme": {
            "title": "$:/plugins/tiddlywiki/menubar/readme",
            "text": "!! Introduction\n\nThis plugin provides a menu bar with the following features:\n\n* Menu items take the form of simple text links, dropdowns, or entirely custom content\n* Menu items can be individually enabled via the control panel\n* Responds to reduced screen width by abbreviating the menu items to a \"hamburger\" dropdown\n\n!! Menu Item Tiddlers\n\nMenu items are tagged <<tag $:/tags/MenuBar>>. The following fields are used by this plugin:\n\n|!Field Name |!Purpose |\n|title |Each menu item must have a unique title (not shown to the user) |\n|description |Description for use in listings |\n|tags |Must contain `$:/tags/MenuBar` |\n|caption |The text that is displayed for the menu item. Avoid links, using `~` to suppress CamelCase links if required |\n|target |For simple link menu items specifies a tiddler title as the target of the link |\n|is-dropdown |Set to `yes` to indicate a dropdown menu item |\n|text |For dropdown menu items, specifies the body of the dropdown |\n|custom-menu-content |Optional wikitext to be displayed in place of the caption |\n|custom-menu-styles-wide |Optional string of styles to be applied to menu item when the menubar is wide |\n|custom-menu-styles-narrow |Optional string of styles to be applied to menu item when the menubar is narrow |\n\nCustom menu items should make sure that the clickable link or button is an immediate child, and not wrapped in another element.\n\nNote that menu items can be pushed to the right of the menu bar setting the ''custom-menu-styles'' field to `float: right;`.\n"
        },
        "$:/plugins/tiddlywiki/menubar/styles": {
            "title": "$:/plugins/tiddlywiki/menubar/styles",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\define breakpoint-plus-one()\n<$text text={{{ [{$:/config/plugins/menubar/breakpoint}removesuffix[px]add[1]addsuffix[px]] }}} />\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\nnav.tc-menubar {\n\tposition: fixed;\n\tz-index: 850;\n\tdisplay: inline-block;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n}\n\nnav.tc-menubar ul.tc-menubar-list {\n\tposition: relative;\n\tlist-style-type: none;\n\tmargin: 0;\n\tpadding: 0 0 0 42px;\n\tbackground: <<colour background>>;\n\tbackground: <<colour menubar-background>>;\n\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\thtml nav.tc-menubar ul.tc-menubar-list {\n\t\tpadding: 0 0 0 8px;\n\t}\n\n}\n\nnav.tc-menubar li.tc-menubar-item {\n\tdisplay: inline-block;\n\tmargin: 0;\n\tpadding: 0;\n}\n\nnav.tc-menubar .tc-menubar-narrow li.tc-menubar-item {\n\tdisplay: block;\n}\n\nnav.tc-menubar li.tc-menubar-item > a,\nnav.tc-menubar li.tc-menubar-item > button {\n\tdisplay: inline-block;\n/*\ttext-transform: uppercase; */\n\tline-height: 1;\n\tfont-weight: 700;\n\tcolor: <<colour foreground>>;\n\tcolor: <<colour menubar-foreground>>;\n\tfill: <<colour foreground>>;\n\tfill: <<colour menubar-foreground>>;\n\ttext-decoration: none;\n\tpadding: 0.5em;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\tcursor: pointer;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar li.tc-menubar-item > a.tc-selected,\nnav.tc-menubar li.tc-menubar-item > button.tc-selected {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n}\n\nnav.tc-menubar li.tc-menubar-item svg {\n\ttransition: none;\n\twidth: 1em;\n\theight: 1em;\n\tfill: <<colour foreground>>;\n\tfill: <<colour menubar-foreground>>;\n}\n\nnav.tc-menubar li.tc-menubar-item .tc-menubar-dropdown-arrow svg {\n\twidth: 0.5em;\n\theight: 0.5em;\n}\n\nnav.tc-menubar li.tc-menubar-item > a.tc-selected svg,\nnav.tc-menubar li.tc-menubar-item > button.tc-selected svg {\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n}\n\nnav.tc-menubar li.tc-menubar-item > a:hover,\nnav.tc-menubar li.tc-menubar-item > button:hover svg,\nnav.tc-menubar li.tc-menubar-item > button:hover {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar li.tc-menubar-item > a:active,\nnav.tc-menubar li.tc-menubar-item > button:active svg,\nnav.tc-menubar li.tc-menubar-item > button:active {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar .tc-drop-down,\nnav.tc-menubar .tc-block-dropdown {\n\tmax-width: 70vw;\n\tmax-height: 70vh;\n\toverflow: auto;\n}\n\nnav.tc-menubar .tc-drop-down a {\n\ttext-decoration: none;\n}\n\nnav.tc-menubar .tc-drop-down .tc-table-of-contents button {\n\tdisplay: inline-block;\n\twidth: auto;\n}\n\nnav.tc-menubar .tc-drop-down ol {\n\tmargin: 0;\n}\n\nnav.tc-menubar .tc-drop-down .tc-menubar-dropdown-sidebar a,\nnav.tc-menubar .tc-drop-down .tc-menubar-dropdown-sidebar button {\n\tdisplay: inline;\n\twidth: auto;\n}\n\nnav.tc-menubar .tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (max-width: {{$:/config/plugins/menubar/breakpoint}}) {\n\n\t.tc-menubar-wide {\n\t\tdisplay: none;\n\t}\n\n}\n\n@media (min-width: <<breakpoint-plus-one>>) {\n\n\tnav.tc-menubar li.tc-menubar-item.tc-menubar-narrow,\n\t.tc-menubar-narrow {\n\t\tdisplay: none;\n\t}\n\n}\n\n\n"
        },
        "$:/tags/MenuBar": {
            "title": "$:/tags/MenuBar",
            "list": "$:/plugins/tiddlywiki/menubar/items/hamburger $:/plugins/tiddlywiki/menubar/items/topleftbar $:/plugins/tiddlywiki/menubar/items/contents $:/plugins/tiddlywiki/menubar/items/search $:/plugins/tiddlywiki/menubar/items/pagecontrols $:/plugins/tiddlywiki/menubar/items/server $:/plugins/tiddlywiki/menubar/items/toprightbar"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/tiddlywiki/sax/sax.js": {
            "text": ";(function (sax) { // wrapper for non-node envs\n  sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n  sax.SAXParser = SAXParser\n  sax.SAXStream = SAXStream\n  sax.createStream = createStream\n\n  // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n  // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n  // since that's the earliest that a buffer overrun could occur.  This way, checks are\n  // as rare as required, but as often as necessary to ensure never crossing this bound.\n  // Furthermore, buffers are only tested at most once per write(), so passing a very\n  // large string into write() might have undesirable effects, but this is manageable by\n  // the caller, so it is assumed to be safe.  Thus, a call to write() may, in the extreme\n  // edge case, result in creating at most one complete copy of the string passed in.\n  // Set to Infinity to have unlimited buffers.\n  sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n  var buffers = [\n    'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n    'procInstName', 'procInstBody', 'entity', 'attribName',\n    'attribValue', 'cdata', 'script'\n  ]\n\n  sax.EVENTS = [\n    'text',\n    'processinginstruction',\n    'sgmldeclaration',\n    'doctype',\n    'comment',\n    'opentagstart',\n    'attribute',\n    'opentag',\n    'closetag',\n    'opencdata',\n    'cdata',\n    'closecdata',\n    'error',\n    'end',\n    'ready',\n    'script',\n    'opennamespace',\n    'closenamespace'\n  ]\n\n  function SAXParser (strict, opt) {\n    if (!(this instanceof SAXParser)) {\n      return new SAXParser(strict, opt)\n    }\n\n    var parser = this\n    clearBuffers(parser)\n    parser.q = parser.c = ''\n    parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n    parser.opt = opt || {}\n    parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n    parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n    parser.tags = []\n    parser.closed = parser.closedRoot = parser.sawRoot = false\n    parser.tag = parser.error = null\n    parser.strict = !!strict\n    parser.noscript = !!(strict || parser.opt.noscript)\n    parser.state = S.BEGIN\n    parser.strictEntities = parser.opt.strictEntities\n    parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n    parser.attribList = []\n\n    // namespaces form a prototype chain.\n    // it always points at the current tag,\n    // which protos to its parent tag.\n    if (parser.opt.xmlns) {\n      parser.ns = Object.create(rootNS)\n    }\n\n    // mostly just for error reporting\n    parser.trackPosition = parser.opt.position !== false\n    if (parser.trackPosition) {\n      parser.position = parser.line = parser.column = 0\n    }\n    emit(parser, 'onready')\n  }\n\n  if (!Object.create) {\n    Object.create = function (o) {\n      function F () {}\n      F.prototype = o\n      var newf = new F()\n      return newf\n    }\n  }\n\n  if (!Object.keys) {\n    Object.keys = function (o) {\n      var a = []\n      for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n      return a\n    }\n  }\n\n  function checkBufferLength (parser) {\n    var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n    var maxActual = 0\n    for (var i = 0, l = buffers.length; i < l; i++) {\n      var len = parser[buffers[i]].length\n      if (len > maxAllowed) {\n        // Text/cdata nodes can get big, and since they're buffered,\n        // we can get here under normal conditions.\n        // Avoid issues by emitting the text node now,\n        // so at least it won't get any bigger.\n        switch (buffers[i]) {\n          case 'textNode':\n            closeText(parser)\n            break\n\n          case 'cdata':\n            emitNode(parser, 'oncdata', parser.cdata)\n            parser.cdata = ''\n            break\n\n          case 'script':\n            emitNode(parser, 'onscript', parser.script)\n            parser.script = ''\n            break\n\n          default:\n            error(parser, 'Max buffer length exceeded: ' + buffers[i])\n        }\n      }\n      maxActual = Math.max(maxActual, len)\n    }\n    // schedule the next check for the earliest possible buffer overrun.\n    var m = sax.MAX_BUFFER_LENGTH - maxActual\n    parser.bufferCheckPosition = m + parser.position\n  }\n\n  function clearBuffers (parser) {\n    for (var i = 0, l = buffers.length; i < l; i++) {\n      parser[buffers[i]] = ''\n    }\n  }\n\n  function flushBuffers (parser) {\n    closeText(parser)\n    if (parser.cdata !== '') {\n      emitNode(parser, 'oncdata', parser.cdata)\n      parser.cdata = ''\n    }\n    if (parser.script !== '') {\n      emitNode(parser, 'onscript', parser.script)\n      parser.script = ''\n    }\n  }\n\n  SAXParser.prototype = {\n    end: function () { end(this) },\n    write: write,\n    resume: function () { this.error = null; return this },\n    close: function () { return this.write(null) },\n    flush: function () { flushBuffers(this) }\n  }\n\n  var Stream\n  try {\n    Stream = require('stream').Stream\n  } catch (ex) {\n    Stream = function () {}\n  }\n\n  var streamWraps = sax.EVENTS.filter(function (ev) {\n    return ev !== 'error' && ev !== 'end'\n  })\n\n  function createStream (strict, opt) {\n    return new SAXStream(strict, opt)\n  }\n\n  function SAXStream (strict, opt) {\n    if (!(this instanceof SAXStream)) {\n      return new SAXStream(strict, opt)\n    }\n\n    Stream.apply(this)\n\n    this._parser = new SAXParser(strict, opt)\n    this.writable = true\n    this.readable = true\n\n    var me = this\n\n    this._parser.onend = function () {\n      me.emit('end')\n    }\n\n    this._parser.onerror = function (er) {\n      me.emit('error', er)\n\n      // if didn't throw, then means error was handled.\n      // go ahead and clear error, so we can write again.\n      me._parser.error = null\n    }\n\n    this._decoder = null\n\n    streamWraps.forEach(function (ev) {\n      Object.defineProperty(me, 'on' + ev, {\n        get: function () {\n          return me._parser['on' + ev]\n        },\n        set: function (h) {\n          if (!h) {\n            me.removeAllListeners(ev)\n            me._parser['on' + ev] = h\n            return h\n          }\n          me.on(ev, h)\n        },\n        enumerable: true,\n        configurable: false\n      })\n    })\n  }\n\n  SAXStream.prototype = Object.create(Stream.prototype, {\n    constructor: {\n      value: SAXStream\n    }\n  })\n\n  SAXStream.prototype.write = function (data) {\n    if (typeof Buffer === 'function' &&\n      typeof Buffer.isBuffer === 'function' &&\n      Buffer.isBuffer(data)) {\n      if (!this._decoder) {\n        var SD = require('string_decoder').StringDecoder\n        this._decoder = new SD('utf8')\n      }\n      data = this._decoder.write(data)\n    }\n\n    this._parser.write(data.toString())\n    this.emit('data', data)\n    return true\n  }\n\n  SAXStream.prototype.end = function (chunk) {\n    if (chunk && chunk.length) {\n      this.write(chunk)\n    }\n    this._parser.end()\n    return true\n  }\n\n  SAXStream.prototype.on = function (ev, handler) {\n    var me = this\n    if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n      me._parser['on' + ev] = function () {\n        var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n        args.splice(0, 0, ev)\n        me.emit.apply(me, args)\n      }\n    }\n\n    return Stream.prototype.on.call(me, ev, handler)\n  }\n\n  // this really needs to be replaced with character classes.\n  // XML allows all manner of ridiculous numbers and digits.\n  var CDATA = '[CDATA['\n  var DOCTYPE = 'DOCTYPE'\n  var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n  var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n  var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n  // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n  // This implementation works on strings, a single character at a time\n  // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n  // without a significant breaking change to either this  parser, or the\n  // JavaScript language.  Implementation of an emoji-capable xml parser\n  // is left as an exercise for the reader.\n  var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n  var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n  var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n  var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n  function isWhitespace (c) {\n    return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n  }\n\n  function isQuote (c) {\n    return c === '\"' || c === '\\''\n  }\n\n  function isAttribEnd (c) {\n    return c === '>' || isWhitespace(c)\n  }\n\n  function isMatch (regex, c) {\n    return regex.test(c)\n  }\n\n  function notMatch (regex, c) {\n    return !isMatch(regex, c)\n  }\n\n  var S = 0\n  sax.STATE = {\n    BEGIN: S++, // leading byte order mark or whitespace\n    BEGIN_WHITESPACE: S++, // leading whitespace\n    TEXT: S++, // general stuff\n    TEXT_ENTITY: S++, // &amp and such.\n    OPEN_WAKA: S++, // <\n    SGML_DECL: S++, // <!BLARG\n    SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n    DOCTYPE: S++, // <!DOCTYPE\n    DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n    DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n    DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n    COMMENT_STARTING: S++, // <!-\n    COMMENT: S++, // <!--\n    COMMENT_ENDING: S++, // <!-- blah -\n    COMMENT_ENDED: S++, // <!-- blah --\n    CDATA: S++, // <![CDATA[ something\n    CDATA_ENDING: S++, // ]\n    CDATA_ENDING_2: S++, // ]]\n    PROC_INST: S++, // <?hi\n    PROC_INST_BODY: S++, // <?hi there\n    PROC_INST_ENDING: S++, // <?hi \"there\" ?\n    OPEN_TAG: S++, // <strong\n    OPEN_TAG_SLASH: S++, // <strong /\n    ATTRIB: S++, // <a\n    ATTRIB_NAME: S++, // <a foo\n    ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n    ATTRIB_VALUE: S++, // <a foo=\n    ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n    ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n    ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n    ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\"&quot;\"\n    ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot\n    CLOSE_TAG: S++, // </a\n    CLOSE_TAG_SAW_WHITE: S++, // </a   >\n    SCRIPT: S++, // <script> ...\n    SCRIPT_ENDING: S++ // <script> ... <\n  }\n\n  sax.XML_ENTITIES = {\n    'amp': '&',\n    'gt': '>',\n    'lt': '<',\n    'quot': '\"',\n    'apos': \"'\"\n  }\n\n  sax.ENTITIES = {\n    'amp': '&',\n    'gt': '>',\n    'lt': '<',\n    'quot': '\"',\n    'apos': \"'\",\n    'AElig': 198,\n    'Aacute': 193,\n    'Acirc': 194,\n    'Agrave': 192,\n    'Aring': 197,\n    'Atilde': 195,\n    'Auml': 196,\n    'Ccedil': 199,\n    'ETH': 208,\n    'Eacute': 201,\n    'Ecirc': 202,\n    'Egrave': 200,\n    'Euml': 203,\n    'Iacute': 205,\n    'Icirc': 206,\n    'Igrave': 204,\n    'Iuml': 207,\n    'Ntilde': 209,\n    'Oacute': 211,\n    'Ocirc': 212,\n    'Ograve': 210,\n    'Oslash': 216,\n    'Otilde': 213,\n    'Ouml': 214,\n    'THORN': 222,\n    'Uacute': 218,\n    'Ucirc': 219,\n    'Ugrave': 217,\n    'Uuml': 220,\n    'Yacute': 221,\n    'aacute': 225,\n    'acirc': 226,\n    'aelig': 230,\n    'agrave': 224,\n    'aring': 229,\n    'atilde': 227,\n    'auml': 228,\n    'ccedil': 231,\n    'eacute': 233,\n    'ecirc': 234,\n    'egrave': 232,\n    'eth': 240,\n    'euml': 235,\n    'iacute': 237,\n    'icirc': 238,\n    'igrave': 236,\n    'iuml': 239,\n    'ntilde': 241,\n    'oacute': 243,\n    'ocirc': 244,\n    'ograve': 242,\n    'oslash': 248,\n    'otilde': 245,\n    'ouml': 246,\n    'szlig': 223,\n    'thorn': 254,\n    'uacute': 250,\n    'ucirc': 251,\n    'ugrave': 249,\n    'uuml': 252,\n    'yacute': 253,\n    'yuml': 255,\n    'copy': 169,\n    'reg': 174,\n    'nbsp': 160,\n    'iexcl': 161,\n    'cent': 162,\n    'pound': 163,\n    'curren': 164,\n    'yen': 165,\n    'brvbar': 166,\n    'sect': 167,\n    'uml': 168,\n    'ordf': 170,\n    'laquo': 171,\n    'not': 172,\n    'shy': 173,\n    'macr': 175,\n    'deg': 176,\n    'plusmn': 177,\n    'sup1': 185,\n    'sup2': 178,\n    'sup3': 179,\n    'acute': 180,\n    'micro': 181,\n    'para': 182,\n    'middot': 183,\n    'cedil': 184,\n    'ordm': 186,\n    'raquo': 187,\n    'frac14': 188,\n    'frac12': 189,\n    'frac34': 190,\n    'iquest': 191,\n    'times': 215,\n    'divide': 247,\n    'OElig': 338,\n    'oelig': 339,\n    'Scaron': 352,\n    'scaron': 353,\n    'Yuml': 376,\n    'fnof': 402,\n    'circ': 710,\n    'tilde': 732,\n    'Alpha': 913,\n    'Beta': 914,\n    'Gamma': 915,\n    'Delta': 916,\n    'Epsilon': 917,\n    'Zeta': 918,\n    'Eta': 919,\n    'Theta': 920,\n    'Iota': 921,\n    'Kappa': 922,\n    'Lambda': 923,\n    'Mu': 924,\n    'Nu': 925,\n    'Xi': 926,\n    'Omicron': 927,\n    'Pi': 928,\n    'Rho': 929,\n    'Sigma': 931,\n    'Tau': 932,\n    'Upsilon': 933,\n    'Phi': 934,\n    'Chi': 935,\n    'Psi': 936,\n    'Omega': 937,\n    'alpha': 945,\n    'beta': 946,\n    'gamma': 947,\n    'delta': 948,\n    'epsilon': 949,\n    'zeta': 950,\n    'eta': 951,\n    'theta': 952,\n    'iota': 953,\n    'kappa': 954,\n    'lambda': 955,\n    'mu': 956,\n    'nu': 957,\n    'xi': 958,\n    'omicron': 959,\n    'pi': 960,\n    'rho': 961,\n    'sigmaf': 962,\n    'sigma': 963,\n    'tau': 964,\n    'upsilon': 965,\n    'phi': 966,\n    'chi': 967,\n    'psi': 968,\n    'omega': 969,\n    'thetasym': 977,\n    'upsih': 978,\n    'piv': 982,\n    'ensp': 8194,\n    'emsp': 8195,\n    'thinsp': 8201,\n    'zwnj': 8204,\n    'zwj': 8205,\n    'lrm': 8206,\n    'rlm': 8207,\n    'ndash': 8211,\n    'mdash': 8212,\n    'lsquo': 8216,\n    'rsquo': 8217,\n    'sbquo': 8218,\n    'ldquo': 8220,\n    'rdquo': 8221,\n    'bdquo': 8222,\n    'dagger': 8224,\n    'Dagger': 8225,\n    'bull': 8226,\n    'hellip': 8230,\n    'permil': 8240,\n    'prime': 8242,\n    'Prime': 8243,\n    'lsaquo': 8249,\n    'rsaquo': 8250,\n    'oline': 8254,\n    'frasl': 8260,\n    'euro': 8364,\n    'image': 8465,\n    'weierp': 8472,\n    'real': 8476,\n    'trade': 8482,\n    'alefsym': 8501,\n    'larr': 8592,\n    'uarr': 8593,\n    'rarr': 8594,\n    'darr': 8595,\n    'harr': 8596,\n    'crarr': 8629,\n    'lArr': 8656,\n    'uArr': 8657,\n    'rArr': 8658,\n    'dArr': 8659,\n    'hArr': 8660,\n    'forall': 8704,\n    'part': 8706,\n    'exist': 8707,\n    'empty': 8709,\n    'nabla': 8711,\n    'isin': 8712,\n    'notin': 8713,\n    'ni': 8715,\n    'prod': 8719,\n    'sum': 8721,\n    'minus': 8722,\n    'lowast': 8727,\n    'radic': 8730,\n    'prop': 8733,\n    'infin': 8734,\n    'ang': 8736,\n    'and': 8743,\n    'or': 8744,\n    'cap': 8745,\n    'cup': 8746,\n    'int': 8747,\n    'there4': 8756,\n    'sim': 8764,\n    'cong': 8773,\n    'asymp': 8776,\n    'ne': 8800,\n    'equiv': 8801,\n    'le': 8804,\n    'ge': 8805,\n    'sub': 8834,\n    'sup': 8835,\n    'nsub': 8836,\n    'sube': 8838,\n    'supe': 8839,\n    'oplus': 8853,\n    'otimes': 8855,\n    'perp': 8869,\n    'sdot': 8901,\n    'lceil': 8968,\n    'rceil': 8969,\n    'lfloor': 8970,\n    'rfloor': 8971,\n    'lang': 9001,\n    'rang': 9002,\n    'loz': 9674,\n    'spades': 9824,\n    'clubs': 9827,\n    'hearts': 9829,\n    'diams': 9830\n  }\n\n  Object.keys(sax.ENTITIES).forEach(function (key) {\n    var e = sax.ENTITIES[key]\n    var s = typeof e === 'number' ? String.fromCharCode(e) : e\n    sax.ENTITIES[key] = s\n  })\n\n  for (var s in sax.STATE) {\n    sax.STATE[sax.STATE[s]] = s\n  }\n\n  // shorthand\n  S = sax.STATE\n\n  function emit (parser, event, data) {\n    parser[event] && parser[event](data)\n  }\n\n  function emitNode (parser, nodeType, data) {\n    if (parser.textNode) closeText(parser)\n    emit(parser, nodeType, data)\n  }\n\n  function closeText (parser) {\n    parser.textNode = textopts(parser.opt, parser.textNode)\n    if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n    parser.textNode = ''\n  }\n\n  function textopts (opt, text) {\n    if (opt.trim) text = text.trim()\n    if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n    return text\n  }\n\n  function error (parser, er) {\n    closeText(parser)\n    if (parser.trackPosition) {\n      er += '\\nLine: ' + parser.line +\n        '\\nColumn: ' + parser.column +\n        '\\nChar: ' + parser.c\n    }\n    er = new Error(er)\n    parser.error = er\n    emit(parser, 'onerror', er)\n    return parser\n  }\n\n  function end (parser) {\n    if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n    if ((parser.state !== S.BEGIN) &&\n      (parser.state !== S.BEGIN_WHITESPACE) &&\n      (parser.state !== S.TEXT)) {\n      error(parser, 'Unexpected end')\n    }\n    closeText(parser)\n    parser.c = ''\n    parser.closed = true\n    emit(parser, 'onend')\n    SAXParser.call(parser, parser.strict, parser.opt)\n    return parser\n  }\n\n  function strictFail (parser, message) {\n    if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n      throw new Error('bad call to strictFail')\n    }\n    if (parser.strict) {\n      error(parser, message)\n    }\n  }\n\n  function newTag (parser) {\n    if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n    var parent = parser.tags[parser.tags.length - 1] || parser\n    var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n    // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n    if (parser.opt.xmlns) {\n      tag.ns = parent.ns\n    }\n    parser.attribList.length = 0\n    emitNode(parser, 'onopentagstart', tag)\n  }\n\n  function qname (name, attribute) {\n    var i = name.indexOf(':')\n    var qualName = i < 0 ? [ '', name ] : name.split(':')\n    var prefix = qualName[0]\n    var local = qualName[1]\n\n    // <x \"xmlns\"=\"http://foo\">\n    if (attribute && name === 'xmlns') {\n      prefix = 'xmlns'\n      local = ''\n    }\n\n    return { prefix: prefix, local: local }\n  }\n\n  function attrib (parser) {\n    if (!parser.strict) {\n      parser.attribName = parser.attribName[parser.looseCase]()\n    }\n\n    if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n      parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n      parser.attribName = parser.attribValue = ''\n      return\n    }\n\n    if (parser.opt.xmlns) {\n      var qn = qname(parser.attribName, true)\n      var prefix = qn.prefix\n      var local = qn.local\n\n      if (prefix === 'xmlns') {\n        // namespace binding attribute. push the binding into scope\n        if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n          strictFail(parser,\n            'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n            'Actual: ' + parser.attribValue)\n        } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n          strictFail(parser,\n            'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n            'Actual: ' + parser.attribValue)\n        } else {\n          var tag = parser.tag\n          var parent = parser.tags[parser.tags.length - 1] || parser\n          if (tag.ns === parent.ns) {\n            tag.ns = Object.create(parent.ns)\n          }\n          tag.ns[local] = parser.attribValue\n        }\n      }\n\n      // defer onattribute events until all attributes have been seen\n      // so any new bindings can take effect. preserve attribute order\n      // so deferred events can be emitted in document order\n      parser.attribList.push([parser.attribName, parser.attribValue])\n    } else {\n      // in non-xmlns mode, we can emit the event right away\n      parser.tag.attributes[parser.attribName] = parser.attribValue\n      emitNode(parser, 'onattribute', {\n        name: parser.attribName,\n        value: parser.attribValue\n      })\n    }\n\n    parser.attribName = parser.attribValue = ''\n  }\n\n  function openTag (parser, selfClosing) {\n    if (parser.opt.xmlns) {\n      // emit namespace binding events\n      var tag = parser.tag\n\n      // add namespace info to tag\n      var qn = qname(parser.tagName)\n      tag.prefix = qn.prefix\n      tag.local = qn.local\n      tag.uri = tag.ns[qn.prefix] || ''\n\n      if (tag.prefix && !tag.uri) {\n        strictFail(parser, 'Unbound namespace prefix: ' +\n          JSON.stringify(parser.tagName))\n        tag.uri = qn.prefix\n      }\n\n      var parent = parser.tags[parser.tags.length - 1] || parser\n      if (tag.ns && parent.ns !== tag.ns) {\n        Object.keys(tag.ns).forEach(function (p) {\n          emitNode(parser, 'onopennamespace', {\n            prefix: p,\n            uri: tag.ns[p]\n          })\n        })\n      }\n\n      // handle deferred onattribute events\n      // Note: do not apply default ns to attributes:\n      //   http://www.w3.org/TR/REC-xml-names/#defaulting\n      for (var i = 0, l = parser.attribList.length; i < l; i++) {\n        var nv = parser.attribList[i]\n        var name = nv[0]\n        var value = nv[1]\n        var qualName = qname(name, true)\n        var prefix = qualName.prefix\n        var local = qualName.local\n        var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n        var a = {\n          name: name,\n          value: value,\n          prefix: prefix,\n          local: local,\n          uri: uri\n        }\n\n        // if there's any attributes with an undefined namespace,\n        // then fail on them now.\n        if (prefix && prefix !== 'xmlns' && !uri) {\n          strictFail(parser, 'Unbound namespace prefix: ' +\n            JSON.stringify(prefix))\n          a.uri = prefix\n        }\n        parser.tag.attributes[name] = a\n        emitNode(parser, 'onattribute', a)\n      }\n      parser.attribList.length = 0\n    }\n\n    parser.tag.isSelfClosing = !!selfClosing\n\n    // process the tag\n    parser.sawRoot = true\n    parser.tags.push(parser.tag)\n    emitNode(parser, 'onopentag', parser.tag)\n    if (!selfClosing) {\n      // special case for <script> in non-strict mode.\n      if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n        parser.state = S.SCRIPT\n      } else {\n        parser.state = S.TEXT\n      }\n      parser.tag = null\n      parser.tagName = ''\n    }\n    parser.attribName = parser.attribValue = ''\n    parser.attribList.length = 0\n  }\n\n  function closeTag (parser) {\n    if (!parser.tagName) {\n      strictFail(parser, 'Weird empty close tag.')\n      parser.textNode += '</>'\n      parser.state = S.TEXT\n      return\n    }\n\n    if (parser.script) {\n      if (parser.tagName !== 'script') {\n        parser.script += '</' + parser.tagName + '>'\n        parser.tagName = ''\n        parser.state = S.SCRIPT\n        return\n      }\n      emitNode(parser, 'onscript', parser.script)\n      parser.script = ''\n    }\n\n    // first make sure that the closing tag actually exists.\n    // <a><b></c></b></a> will close everything, otherwise.\n    var t = parser.tags.length\n    var tagName = parser.tagName\n    if (!parser.strict) {\n      tagName = tagName[parser.looseCase]()\n    }\n    var closeTo = tagName\n    while (t--) {\n      var close = parser.tags[t]\n      if (close.name !== closeTo) {\n        // fail the first time in strict mode\n        strictFail(parser, 'Unexpected close tag')\n      } else {\n        break\n      }\n    }\n\n    // didn't find it.  we already failed for strict, so just abort.\n    if (t < 0) {\n      strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n      parser.textNode += '</' + parser.tagName + '>'\n      parser.state = S.TEXT\n      return\n    }\n    parser.tagName = tagName\n    var s = parser.tags.length\n    while (s-- > t) {\n      var tag = parser.tag = parser.tags.pop()\n      parser.tagName = parser.tag.name\n      emitNode(parser, 'onclosetag', parser.tagName)\n\n      var x = {}\n      for (var i in tag.ns) {\n        x[i] = tag.ns[i]\n      }\n\n      var parent = parser.tags[parser.tags.length - 1] || parser\n      if (parser.opt.xmlns && tag.ns !== parent.ns) {\n        // remove namespace bindings introduced by tag\n        Object.keys(tag.ns).forEach(function (p) {\n          var n = tag.ns[p]\n          emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n        })\n      }\n    }\n    if (t === 0) parser.closedRoot = true\n    parser.tagName = parser.attribValue = parser.attribName = ''\n    parser.attribList.length = 0\n    parser.state = S.TEXT\n  }\n\n  function parseEntity (parser) {\n    var entity = parser.entity\n    var entityLC = entity.toLowerCase()\n    var num\n    var numStr = ''\n\n    if (parser.ENTITIES[entity]) {\n      return parser.ENTITIES[entity]\n    }\n    if (parser.ENTITIES[entityLC]) {\n      return parser.ENTITIES[entityLC]\n    }\n    entity = entityLC\n    if (entity.charAt(0) === '#') {\n      if (entity.charAt(1) === 'x') {\n        entity = entity.slice(2)\n        num = parseInt(entity, 16)\n        numStr = num.toString(16)\n      } else {\n        entity = entity.slice(1)\n        num = parseInt(entity, 10)\n        numStr = num.toString(10)\n      }\n    }\n    entity = entity.replace(/^0+/, '')\n    if (isNaN(num) || numStr.toLowerCase() !== entity) {\n      strictFail(parser, 'Invalid character entity')\n      return '&' + parser.entity + ';'\n    }\n\n    return String.fromCodePoint(num)\n  }\n\n  function beginWhiteSpace (parser, c) {\n    if (c === '<') {\n      parser.state = S.OPEN_WAKA\n      parser.startTagPosition = parser.position\n    } else if (!isWhitespace(c)) {\n      // have to process this as a text node.\n      // weird, but happens.\n      strictFail(parser, 'Non-whitespace before first tag.')\n      parser.textNode = c\n      parser.state = S.TEXT\n    }\n  }\n\n  function charAt (chunk, i) {\n    var result = ''\n    if (i < chunk.length) {\n      result = chunk.charAt(i)\n    }\n    return result\n  }\n\n  function write (chunk) {\n    var parser = this\n    if (this.error) {\n      throw this.error\n    }\n    if (parser.closed) {\n      return error(parser,\n        'Cannot write after close. Assign an onready handler.')\n    }\n    if (chunk === null) {\n      return end(parser)\n    }\n    if (typeof chunk === 'object') {\n      chunk = chunk.toString()\n    }\n    var i = 0\n    var c = ''\n    while (true) {\n      c = charAt(chunk, i++)\n      parser.c = c\n\n      if (!c) {\n        break\n      }\n\n      if (parser.trackPosition) {\n        parser.position++\n        if (c === '\\n') {\n          parser.line++\n          parser.column = 0\n        } else {\n          parser.column++\n        }\n      }\n\n      switch (parser.state) {\n        case S.BEGIN:\n          parser.state = S.BEGIN_WHITESPACE\n          if (c === '\\uFEFF') {\n            continue\n          }\n          beginWhiteSpace(parser, c)\n          continue\n\n        case S.BEGIN_WHITESPACE:\n          beginWhiteSpace(parser, c)\n          continue\n\n        case S.TEXT:\n          if (parser.sawRoot && !parser.closedRoot) {\n            var starti = i - 1\n            while (c && c !== '<' && c !== '&') {\n              c = charAt(chunk, i++)\n              if (c && parser.trackPosition) {\n                parser.position++\n                if (c === '\\n') {\n                  parser.line++\n                  parser.column = 0\n                } else {\n                  parser.column++\n                }\n              }\n            }\n            parser.textNode += chunk.substring(starti, i - 1)\n          }\n          if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n            parser.state = S.OPEN_WAKA\n            parser.startTagPosition = parser.position\n          } else {\n            if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n              strictFail(parser, 'Text data outside of root node.')\n            }\n            if (c === '&') {\n              parser.state = S.TEXT_ENTITY\n            } else {\n              parser.textNode += c\n            }\n          }\n          continue\n\n        case S.SCRIPT:\n          // only non-strict\n          if (c === '<') {\n            parser.state = S.SCRIPT_ENDING\n          } else {\n            parser.script += c\n          }\n          continue\n\n        case S.SCRIPT_ENDING:\n          if (c === '/') {\n            parser.state = S.CLOSE_TAG\n          } else {\n            parser.script += '<' + c\n            parser.state = S.SCRIPT\n          }\n          continue\n\n        case S.OPEN_WAKA:\n          // either a /, ?, !, or text is coming next.\n          if (c === '!') {\n            parser.state = S.SGML_DECL\n            parser.sgmlDecl = ''\n          } else if (isWhitespace(c)) {\n            // wait for it...\n          } else if (isMatch(nameStart, c)) {\n            parser.state = S.OPEN_TAG\n            parser.tagName = c\n          } else if (c === '/') {\n            parser.state = S.CLOSE_TAG\n            parser.tagName = ''\n          } else if (c === '?') {\n            parser.state = S.PROC_INST\n            parser.procInstName = parser.procInstBody = ''\n          } else {\n            strictFail(parser, 'Unencoded <')\n            // if there was some whitespace, then add that in.\n            if (parser.startTagPosition + 1 < parser.position) {\n              var pad = parser.position - parser.startTagPosition\n              c = new Array(pad).join(' ') + c\n            }\n            parser.textNode += '<' + c\n            parser.state = S.TEXT\n          }\n          continue\n\n        case S.SGML_DECL:\n          if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n            emitNode(parser, 'onopencdata')\n            parser.state = S.CDATA\n            parser.sgmlDecl = ''\n            parser.cdata = ''\n          } else if (parser.sgmlDecl + c === '--') {\n            parser.state = S.COMMENT\n            parser.comment = ''\n            parser.sgmlDecl = ''\n          } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n            parser.state = S.DOCTYPE\n            if (parser.doctype || parser.sawRoot) {\n              strictFail(parser,\n                'Inappropriately located doctype declaration')\n            }\n            parser.doctype = ''\n            parser.sgmlDecl = ''\n          } else if (c === '>') {\n            emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n            parser.sgmlDecl = ''\n            parser.state = S.TEXT\n          } else if (isQuote(c)) {\n            parser.state = S.SGML_DECL_QUOTED\n            parser.sgmlDecl += c\n          } else {\n            parser.sgmlDecl += c\n          }\n          continue\n\n        case S.SGML_DECL_QUOTED:\n          if (c === parser.q) {\n            parser.state = S.SGML_DECL\n            parser.q = ''\n          }\n          parser.sgmlDecl += c\n          continue\n\n        case S.DOCTYPE:\n          if (c === '>') {\n            parser.state = S.TEXT\n            emitNode(parser, 'ondoctype', parser.doctype)\n            parser.doctype = true // just remember that we saw it.\n          } else {\n            parser.doctype += c\n            if (c === '[') {\n              parser.state = S.DOCTYPE_DTD\n            } else if (isQuote(c)) {\n              parser.state = S.DOCTYPE_QUOTED\n              parser.q = c\n            }\n          }\n          continue\n\n        case S.DOCTYPE_QUOTED:\n          parser.doctype += c\n          if (c === parser.q) {\n            parser.q = ''\n            parser.state = S.DOCTYPE\n          }\n          continue\n\n        case S.DOCTYPE_DTD:\n          parser.doctype += c\n          if (c === ']') {\n            parser.state = S.DOCTYPE\n          } else if (isQuote(c)) {\n            parser.state = S.DOCTYPE_DTD_QUOTED\n            parser.q = c\n          }\n          continue\n\n        case S.DOCTYPE_DTD_QUOTED:\n          parser.doctype += c\n          if (c === parser.q) {\n            parser.state = S.DOCTYPE_DTD\n            parser.q = ''\n          }\n          continue\n\n        case S.COMMENT:\n          if (c === '-') {\n            parser.state = S.COMMENT_ENDING\n          } else {\n            parser.comment += c\n          }\n          continue\n\n        case S.COMMENT_ENDING:\n          if (c === '-') {\n            parser.state = S.COMMENT_ENDED\n            parser.comment = textopts(parser.opt, parser.comment)\n            if (parser.comment) {\n              emitNode(parser, 'oncomment', parser.comment)\n            }\n            parser.comment = ''\n          } else {\n            parser.comment += '-' + c\n            parser.state = S.COMMENT\n          }\n          continue\n\n        case S.COMMENT_ENDED:\n          if (c !== '>') {\n            strictFail(parser, 'Malformed comment')\n            // allow <!-- blah -- bloo --> in non-strict mode,\n            // which is a comment of \" blah -- bloo \"\n            parser.comment += '--' + c\n            parser.state = S.COMMENT\n          } else {\n            parser.state = S.TEXT\n          }\n          continue\n\n        case S.CDATA:\n          if (c === ']') {\n            parser.state = S.CDATA_ENDING\n          } else {\n            parser.cdata += c\n          }\n          continue\n\n        case S.CDATA_ENDING:\n          if (c === ']') {\n            parser.state = S.CDATA_ENDING_2\n          } else {\n            parser.cdata += ']' + c\n            parser.state = S.CDATA\n          }\n          continue\n\n        case S.CDATA_ENDING_2:\n          if (c === '>') {\n            if (parser.cdata) {\n              emitNode(parser, 'oncdata', parser.cdata)\n            }\n            emitNode(parser, 'onclosecdata')\n            parser.cdata = ''\n            parser.state = S.TEXT\n          } else if (c === ']') {\n            parser.cdata += ']'\n          } else {\n            parser.cdata += ']]' + c\n            parser.state = S.CDATA\n          }\n          continue\n\n        case S.PROC_INST:\n          if (c === '?') {\n            parser.state = S.PROC_INST_ENDING\n          } else if (isWhitespace(c)) {\n            parser.state = S.PROC_INST_BODY\n          } else {\n            parser.procInstName += c\n          }\n          continue\n\n        case S.PROC_INST_BODY:\n          if (!parser.procInstBody && isWhitespace(c)) {\n            continue\n          } else if (c === '?') {\n            parser.state = S.PROC_INST_ENDING\n          } else {\n            parser.procInstBody += c\n          }\n          continue\n\n        case S.PROC_INST_ENDING:\n          if (c === '>') {\n            emitNode(parser, 'onprocessinginstruction', {\n              name: parser.procInstName,\n              body: parser.procInstBody\n            })\n            parser.procInstName = parser.procInstBody = ''\n            parser.state = S.TEXT\n          } else {\n            parser.procInstBody += '?' + c\n            parser.state = S.PROC_INST_BODY\n          }\n          continue\n\n        case S.OPEN_TAG:\n          if (isMatch(nameBody, c)) {\n            parser.tagName += c\n          } else {\n            newTag(parser)\n            if (c === '>') {\n              openTag(parser)\n            } else if (c === '/') {\n              parser.state = S.OPEN_TAG_SLASH\n            } else {\n              if (!isWhitespace(c)) {\n                strictFail(parser, 'Invalid character in tag name')\n              }\n              parser.state = S.ATTRIB\n            }\n          }\n          continue\n\n        case S.OPEN_TAG_SLASH:\n          if (c === '>') {\n            openTag(parser, true)\n            closeTag(parser)\n          } else {\n            strictFail(parser, 'Forward-slash in opening tag not followed by >')\n            parser.state = S.ATTRIB\n          }\n          continue\n\n        case S.ATTRIB:\n          // haven't read the attribute name yet.\n          if (isWhitespace(c)) {\n            continue\n          } else if (c === '>') {\n            openTag(parser)\n          } else if (c === '/') {\n            parser.state = S.OPEN_TAG_SLASH\n          } else if (isMatch(nameStart, c)) {\n            parser.attribName = c\n            parser.attribValue = ''\n            parser.state = S.ATTRIB_NAME\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_NAME:\n          if (c === '=') {\n            parser.state = S.ATTRIB_VALUE\n          } else if (c === '>') {\n            strictFail(parser, 'Attribute without value')\n            parser.attribValue = parser.attribName\n            attrib(parser)\n            openTag(parser)\n          } else if (isWhitespace(c)) {\n            parser.state = S.ATTRIB_NAME_SAW_WHITE\n          } else if (isMatch(nameBody, c)) {\n            parser.attribName += c\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_NAME_SAW_WHITE:\n          if (c === '=') {\n            parser.state = S.ATTRIB_VALUE\n          } else if (isWhitespace(c)) {\n            continue\n          } else {\n            strictFail(parser, 'Attribute without value')\n            parser.tag.attributes[parser.attribName] = ''\n            parser.attribValue = ''\n            emitNode(parser, 'onattribute', {\n              name: parser.attribName,\n              value: ''\n            })\n            parser.attribName = ''\n            if (c === '>') {\n              openTag(parser)\n            } else if (isMatch(nameStart, c)) {\n              parser.attribName = c\n              parser.state = S.ATTRIB_NAME\n            } else {\n              strictFail(parser, 'Invalid attribute name')\n              parser.state = S.ATTRIB\n            }\n          }\n          continue\n\n        case S.ATTRIB_VALUE:\n          if (isWhitespace(c)) {\n            continue\n          } else if (isQuote(c)) {\n            parser.q = c\n            parser.state = S.ATTRIB_VALUE_QUOTED\n          } else {\n            strictFail(parser, 'Unquoted attribute value')\n            parser.state = S.ATTRIB_VALUE_UNQUOTED\n            parser.attribValue = c\n          }\n          continue\n\n        case S.ATTRIB_VALUE_QUOTED:\n          if (c !== parser.q) {\n            if (c === '&') {\n              parser.state = S.ATTRIB_VALUE_ENTITY_Q\n            } else {\n              parser.attribValue += c\n            }\n            continue\n          }\n          attrib(parser)\n          parser.q = ''\n          parser.state = S.ATTRIB_VALUE_CLOSED\n          continue\n\n        case S.ATTRIB_VALUE_CLOSED:\n          if (isWhitespace(c)) {\n            parser.state = S.ATTRIB\n          } else if (c === '>') {\n            openTag(parser)\n          } else if (c === '/') {\n            parser.state = S.OPEN_TAG_SLASH\n          } else if (isMatch(nameStart, c)) {\n            strictFail(parser, 'No whitespace between attributes')\n            parser.attribName = c\n            parser.attribValue = ''\n            parser.state = S.ATTRIB_NAME\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_VALUE_UNQUOTED:\n          if (!isAttribEnd(c)) {\n            if (c === '&') {\n              parser.state = S.ATTRIB_VALUE_ENTITY_U\n            } else {\n              parser.attribValue += c\n            }\n            continue\n          }\n          attrib(parser)\n          if (c === '>') {\n            openTag(parser)\n          } else {\n            parser.state = S.ATTRIB\n          }\n          continue\n\n        case S.CLOSE_TAG:\n          if (!parser.tagName) {\n            if (isWhitespace(c)) {\n              continue\n            } else if (notMatch(nameStart, c)) {\n              if (parser.script) {\n                parser.script += '</' + c\n                parser.state = S.SCRIPT\n              } else {\n                strictFail(parser, 'Invalid tagname in closing tag.')\n              }\n            } else {\n              parser.tagName = c\n            }\n          } else if (c === '>') {\n            closeTag(parser)\n          } else if (isMatch(nameBody, c)) {\n            parser.tagName += c\n          } else if (parser.script) {\n            parser.script += '</' + parser.tagName\n            parser.tagName = ''\n            parser.state = S.SCRIPT\n          } else {\n            if (!isWhitespace(c)) {\n              strictFail(parser, 'Invalid tagname in closing tag')\n            }\n            parser.state = S.CLOSE_TAG_SAW_WHITE\n          }\n          continue\n\n        case S.CLOSE_TAG_SAW_WHITE:\n          if (isWhitespace(c)) {\n            continue\n          }\n          if (c === '>') {\n            closeTag(parser)\n          } else {\n            strictFail(parser, 'Invalid characters in closing tag')\n          }\n          continue\n\n        case S.TEXT_ENTITY:\n        case S.ATTRIB_VALUE_ENTITY_Q:\n        case S.ATTRIB_VALUE_ENTITY_U:\n          var returnState\n          var buffer\n          switch (parser.state) {\n            case S.TEXT_ENTITY:\n              returnState = S.TEXT\n              buffer = 'textNode'\n              break\n\n            case S.ATTRIB_VALUE_ENTITY_Q:\n              returnState = S.ATTRIB_VALUE_QUOTED\n              buffer = 'attribValue'\n              break\n\n            case S.ATTRIB_VALUE_ENTITY_U:\n              returnState = S.ATTRIB_VALUE_UNQUOTED\n              buffer = 'attribValue'\n              break\n          }\n\n          if (c === ';') {\n            parser[buffer] += parseEntity(parser)\n            parser.entity = ''\n            parser.state = returnState\n          } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n            parser.entity += c\n          } else {\n            strictFail(parser, 'Invalid character in entity name')\n            parser[buffer] += '&' + parser.entity + c\n            parser.entity = ''\n            parser.state = returnState\n          }\n\n          continue\n\n        default:\n          throw new Error(parser, 'Unknown state: ' + parser.state)\n      }\n    } // while\n\n    if (parser.position >= parser.bufferCheckPosition) {\n      checkBufferLength(parser)\n    }\n    return parser\n  }\n\n  /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n  /* istanbul ignore next */\n  if (!String.fromCodePoint) {\n    (function () {\n      var stringFromCharCode = String.fromCharCode\n      var floor = Math.floor\n      var fromCodePoint = function () {\n        var MAX_SIZE = 0x4000\n        var codeUnits = []\n        var highSurrogate\n        var lowSurrogate\n        var index = -1\n        var length = arguments.length\n        if (!length) {\n          return ''\n        }\n        var result = ''\n        while (++index < length) {\n          var codePoint = Number(arguments[index])\n          if (\n            !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n            codePoint < 0 || // not a valid Unicode code point\n            codePoint > 0x10FFFF || // not a valid Unicode code point\n            floor(codePoint) !== codePoint // not an integer\n          ) {\n            throw RangeError('Invalid code point: ' + codePoint)\n          }\n          if (codePoint <= 0xFFFF) { // BMP code point\n            codeUnits.push(codePoint)\n          } else { // Astral code point; split in surrogate halves\n            // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n            codePoint -= 0x10000\n            highSurrogate = (codePoint >> 10) + 0xD800\n            lowSurrogate = (codePoint % 0x400) + 0xDC00\n            codeUnits.push(highSurrogate, lowSurrogate)\n          }\n          if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n            result += stringFromCharCode.apply(null, codeUnits)\n            codeUnits.length = 0\n          }\n        }\n        return result\n      }\n      /* istanbul ignore next */\n      if (Object.defineProperty) {\n        Object.defineProperty(String, 'fromCodePoint', {\n          value: fromCodePoint,\n          configurable: true,\n          writable: true\n        })\n      } else {\n        String.fromCodePoint = fromCodePoint\n      }\n    }())\n  }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/sax/sax.js",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/sax/license": {
            "text": "The ISC License\n\nCopyright (c) Isaac Z. Schlueter and Contributors\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR\nIN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n\n====\n\n`String.fromCodePoint` by Mathias Bynens used according to terms of MIT\nLicense, as follows:\n\n    Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n    Permission is hereby granted, free of charge, to any person obtaining\n    a copy of this software and associated documentation files (the\n    \"Software\"), to deal in the Software without restriction, including\n    without limitation the rights to use, copy, modify, merge, publish,\n    distribute, sublicense, and/or sell copies of the Software, and to\n    permit persons to whom the Software is furnished to do so, subject to\n    the following conditions:\n\n    The above copyright notice and this permission notice shall be\n    included in all copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
            "type": "text/plain",
            "title": "$:/plugins/tiddlywiki/sax/license"
        },
        "$:/plugins/tiddlywiki/sax/readme": {
            "title": "$:/plugins/tiddlywiki/sax/readme",
            "text": "This plugin packages [[sax.js|https://github.com/isaacs/sax-js]] for use by other plugins. It does not provide any end-user visible features.\n"
        }
    }
}
{
    "tiddlers": {
        "$:/plugins/tiddlywiki/text-slicer/docs/exporters": {
            "title": "$:/plugins/tiddlywiki/text-slicer/docs/exporters",
            "tags": "$:/plugins/tiddlywiki/text-slicer/docs",
            "caption": "Exporters",
            "text": "Documents can be saved under Node.js, or previewed in the browser.\n\n[TBD]\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/docs/internals": {
            "title": "$:/plugins/tiddlywiki/text-slicer/docs/internals",
            "tags": "$:/plugins/tiddlywiki/text-slicer/docs",
            "caption": "Internals",
            "text": "! Introduction\n\nThe slicing process is performed by a simple automaton that scans the document and applies simple declarative rules to yield a collection of tiddlers.\n\nThe automaton processes the incoming XML document starting with the root element and then recursively visits each child node and their children. Actions are triggered as each component of the document is encountered:\n\n* Opening tags of elements\n* Closing tags of elements\n* Text nodes\n\nComponents are matched against the current set of rules to determine what actions should be performed. They can include a combination of:\n\n* Starting a new tiddler with specified fields\n* Rendering the markup for the current tag into the current tiddler\n* Appending the content of the current text node to the current tiddler\n* Threading tiddlers to their parents using a combination of the `list` and `tags` fields\n\n! Slicing State Data\n\nAs the automaton performs its scan, it maintains the following state information:\n\n* ''chunks'' - an array of tiddlers without titles, addressed by their numeric index. The title field is reused to hold the plain text of the chunk that is later used to generate the final title for the tiddler\n* ''currentChunk'' - the numeric index of the chunk currently being filled, or `null` if there is no current chunk\n* ''parentStack'' - a stack of parent chunks stored as `{chunk: <chunk-index>, actions: <actions>}`\n\nAt the start, the special document chunk is created and pushed onto the stack of parent chunks\n\n! Slicing Rules\n\nSlicing rules are maintained in tiddlers tagged `$:/tags/text-slicer/slicer-rules` with the following fields:\n\n* ''title'' - title of the tiddler containing the listof rules\n* ''name'' - short, human readable name for the set of rules\n* ''inherits-from'' - (optional) the ''name'' field of another set of rules that should be inherited as a base\n* ''text'' - JSON data as described below\n\nThe JSON data is an array of rules, each of which is an object with the following fields:\n\n* ''selector'' - a selector string identifying the components to be matched by this rule\n* ''actions'' - an object describing the actions to be performed when this selector matches a tag\n\n!! Selectors\n\nThe selector format is a simplified form of CSS selectors. They are specified as follows:\n\n* A ''selector'' is a list of one or more ''match expressions'' separated by commas. The rule is triggered if any of the match expressions produce a positive match\n* A ''match expression'' is a list of one or element ''tag names'' separated by spaces. The rule is triggered if the final tag name in the list matches the tag of the current element, and all of the preceding tags in the expression exist as ancestors of the current element in the specified order (but not necessarily as immediate children of one another)\n* A ''tag name'' is the textual name of an element\n* Tag names in match expressions may optionally be separated by a `>` sign surrounded by spaces to impose the requirement that the left hand element be the immediate parent of the right hand element\n\n!!! Example Selectors\n\nThis XML document will be used to illustrate some examples:\n\n```\n<a>\n  <b>\n    <d>one</d>\n  </b>\n  <c>\n    <d>two</d>\n    <e>\n      three\n      <e>\n        four\n      </e>\n    </e>\n  </c>\n</a>\n\n```\n\n|!Selector |!Matches |\n|b |Matches the single `<b>` element |\n|d |Matches both of the two `<d>` elements |\n|c,d |Matches the `<c>` element and both of the two `<d>` elements |\n|c d |Matches the second of the two `<d>` elements |\n|a d |Matches both of the two `<d>` elements |\n|a > d |Doesn't match anything |\n|e |Matches both of the two `<e>` elements |\n|c > e |Matches the outermost of the two `<e>` elements |\n|e > e |Matches the innermost of the two `<e>` elements |\n\n!! Actions\n\nThe ''action'' property of a slicer rule is an object that can have any of the following optional fields:\n\n* ''startNewChunk'' - causes a new chunk to be started on encountering an opening tag. The value is an object containing the fields to be assigned to the new chunk\n* ''isParent'' - causes the new chunk to be marked as a child of the current chunk (boolean flag; only applies if ''startNewChunk'' is set)\n* ''headingLevel'' - arrange heading parents according to level (numerical index; only applies if ''startNewChunk'' and ''isParent'' are set)\n* ''dontRenderTag'' - disables the default rendering of opening and closing tags to the current chunk. By default the tags are rendered as XML tags, but this can be overridden via ''markup'' (boolean; defaults to ''false'')\n* ''isImage'' - identifies an element as representing an HTML image element, with special processing for the ''src'' attribute\n* ''markup'' - optional object with either or both of `{wiki: {prefix: <str>,suffix: <str>}}` and `{html: {prefix: <str>,suffix: <str>}}` allowing the rendered tags to be customised\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/docs/model": {
            "title": "$:/plugins/tiddlywiki/text-slicer/docs/model",
            "tags": "$:/plugins/tiddlywiki/text-slicer/docs",
            "caption": "Document Model",
            "text": "Individual tiddlers are created for each heading, paragraph and list item. They are linked together into a hierarchical outline using lists.\n\nFor example, consider a tiddler titled ''Example'' containing this simple text:\n\n<<<\n! This is a heading\n\nThis is a paragraph.\n\n* And the first list item\n* Second list item\n<<<\n\nIt will be sliced up into:\n\n* a tiddler for the overall document\n** a tiddler for the heading\n*** a tiddler for the paragraph\n*** a tiddler for the list\n**** and a tiddler for each list item\n\nThese tiddlers are bound together using lists: the parent tiddler has a ''list'' field that lists each child in the correct order.\n\n!! Slicing Process\n\nSlicing generates the following component tiddlers.\n\nTiddler titles are generated automatically in most cases (but can subsequently be changed manually). The automatically generated title is made up of concatenating the following elements:\n\n* root text (e.g. ''para'')\n* a dash ''-''\n* the first few words of the text of the item (up to 40 characters), separated with dashes ''-''\n* if necessary, a dash ''-'' and a numerical index to make the title unique\n\nFor example, ''para-how-to-use-pentagonal-tiles 23''.\n\nAny CSS classes used in the original document are assigned as tags to the associated tiddlers.\n\n!!! Document\n\nThe document itself is represented by a tiddler with the following fields:\n\n* ''toc-type'': the text \"document\"\n* ''title'': the text ''\"Sliced up \"'' plus the title of the tiddler that was sliced\n* ''text'': Available for comments about the document\n* ''list'': ordered list of tiddlers making up the root level of this document\n\n!!! Headings\n\nTiddlers representing headings have the following fields:\n\n* ''toc-type'': the text \"heading\"\n* ''toc-heading-level'': the heading level \"h1\", \"h2\", \"h3\" etc.\n* ''title'': an automatically generated unique title\n* ''text'': the text of the heading\n* ''list'': ordered list of tiddlers tagged with this heading (i.e. the child headings, paragraphs and lists displayed under this heading)\n** In addition, any CSS classes found in the HTML are converted into tags\n\n!!! Paragraphs\n\nTiddlers representing paragraphs have the following fields:\n\n* ''toc-type'': the text \"paragraph\"\n* ''title'': an automatically generated unique title\n* ''text'': the text of the paragraph\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\n!!! Lists\n\nLists are represented by several tiddlers: one for the list itself, and one for each item in the list.\n\nThe tiddler representing the list itself has the following fields:\n\n* ''toc-type'': the text \"list\"\n* ''toc-list-type'': the text \"ul\" or \"ol\"\n* ''toc-list-filter'': the default filter used to generate the titles of the list items\n* ''title'': an automatically generated unique title\n* ''list'': ordered list of titles of tiddlers representing the items in this list\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\nThe tiddlers representing items within the list have the following fields:\n\n* ''toc-type'': the text \"item\"\n* ''title'': an automatically generated unique title\n* ''text'': the text of the list item\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\n!!! Definition lists\n\nDefinition lists are represented by several tiddlers: one for the definition list itself, and one for each term and definition in the list.\n\nThe tiddler representing the definition list itself has the following fields:\n\n* ''toc-type'': the text \"def-list\"\n* ''toc-list-filter'': the default filter used to generate the titles of the definition list items\n* ''title'': an automatically generated unique title\n* ''list'': ordered list of titles of tiddlers representing the items (terms and/or definition) in the definition list\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\nThe tiddlers representing terms within the definition list have the following fields:\n\n* ''toc-type'': the text \"term\"\n* ''title'': an automatically generated unique title\n* ''text'': the text of the definition list term\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\nThe tiddlers representing definitions within the definition list have the following fields:\n\n* ''toc-type'': the text \"definition\"\n* ''title'': an automatically generated unique title\n* ''text'' : the text of the definition list definition\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\n!!! Images\n\nTiddlers representing images have the following fields:\n\n* ''toc-type'': the text \"image\"\n* ''title'': an automatically generated unique title\n* ''type'': appropriate content type for the image (eg \"image/jpeg\")\n\n!!! Notes\n\nNotes are available during editing but hidden for static renderings. The slicing mechanism does not generate notes; they can only be subsequently added manually. Tiddlers representing notes have the following fields:\n\n* ''toc-type'': the text \"note\"\n* ''title'': an automatically generated unique title\n* ''text'': the text of the note\n* ''tags'': any CSS classes found in the HTML are converted into tags\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/docs/preview": {
            "title": "$:/plugins/tiddlywiki/text-slicer/docs/preview",
            "tags": "$:/plugins/tiddlywiki/text-slicer/docs",
            "caption": "Preview",
            "text": "The document preview column appears at the left side of the screen. The content of headings can be collapsed and expanded to help navigation. Clicking on a tiddler opens the corresponding tiddler in the main story river.\n\nClicking ''Show toolbar'' causes each tiddler to be preceded by a toolbar showing the underlying title. It can be edited directly to rename the tiddler. References to the tiddler in the ''tags'' and ''list'' are automatically updated to reflect the change, but note that links to the tiddler will not be automatically changed.\n\nThe following theme tweaks should be applied to enable the preview column:\n\n* Set [[story left position|$:/themes/tiddlywiki/vanilla/metrics/storyleft]] to ''400px'' (or more)\n* It is recommended to also set the [[sidebar layout|$:/themes/tiddlywiki/vanilla/options/sidebarlayout]] to ''fluid-fixed''.\n\nTo preview the entire document in a separate window, locate it in the preview column and click the button labelled \"View document\". The document will open in plain text in a new window. The window will be automatically updated as you work on the document.\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/docs/usage": {
            "title": "$:/plugins/tiddlywiki/text-slicer/docs/usage",
            "tags": "$:/plugins/tiddlywiki/text-slicer/docs",
            "caption": "Usage",
            "text": "The tool can slice any tiddler that can be rendered as HTML, including both WikiText and HTML itself.\n\nDocuments created with Microsoft Word will need to be first converted to HTML. The library [[mammoth.js|https://github.com/mwilliamson/mammoth.js]] is recommended for this purpose.\n\n!! Browser\n\nIn the browser, you can slice a monolithic document tiddler using the slicer toolbar button.\n\n!! Node.js\n\nThe `--slice` command allows a tiddler to be sliced under Node.js:\n\n```\ntiddlywiki mywiki --slice SourceDocument --build index\n```\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/docs": {
            "title": "$:/plugins/tiddlywiki/text-slicer/docs",
            "list": "$:/plugins/tiddlywiki/text-slicer/docs/usage $:/plugins/tiddlywiki/text-slicer/docs/preview $:/plugins/tiddlywiki/text-slicer/docs/model $:/plugins/tiddlywiki/text-slicer/docs/exporters $:/plugins/tiddlywiki/text-slicer/docs/internals",
            "text": "! Introduction\n\nThis plugin contains tools to help work with documents that are structured as a hierarchical outline of tiddlers.  The structural relationships within the document are expressed through the `list` and `tags` fields: for example, headings have a list specifying the chunks of content to be shown under the heading.\n\nThe major components within the text slicer plugin include:\n\n* ''the slicer'', a tool that slices up an existing monolithic document according to the headings, lists and paragraphs. It is available as a toolbar button for the browser, or as a command for use under Node.js\n* ''document preview column'', a new sidebar on the left that shows the full text of any documents in the wiki and allows individual tiddlers to be opened with a click\n* ''templates'' for previewing and exporting the individual documents as HTML files\n\nMinor components include:\n\n* a new `list-children` filter that returns all the descendents listed in the `list` field of the selected tiddlers\n* a new canned filter for [[advanced search|$:/AdvancedSearch]] that lists orphans tiddlers that are not part of any document\n\n<<tabs \"[all[tiddlers+shadows]tag[$:/plugins/tiddlywiki/text-slicer/docs]!has[draft.of]]\" \"$:/plugins/tiddlywiki/text-slicer/docs/usage\">>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/readme": {
            "title": "$:/plugins/tiddlywiki/text-slicer/readme",
            "text": "This plugin contains tools to help slice up long texts into individual tiddlers. It currently works directly with XHTML documents and with Microsoft Word compatible DOCX documents via conversion to HTML.\n\nIt is an expression of the philosophy of TiddlyWiki: that text is easier to re-use and work with if it is sliced up into separate chunks that can be independently manipulated, and then woven back together to make up stories and narratives for publication.\n\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/icon": {
            "title": "$:/plugins/tiddlywiki/text-slicer/icon",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-text-slicer tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\" sketch:type=\"MSPage\">\n        <path d=\"M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\" ></path>\n        <g transform=\"translate(32.000000, 32.000000) scale(2.19)\" fill=\"#ffffff\">\n            {{$:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon}}\n        </g>\n    </g>\n</svg>"
        },
        "$:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon": {
            "title": "$:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-text-slicer tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\">\n\t\t<path d=\"M78.3637366,56.1312577 L78.3637366,60.2285796 L26.7489717,26.7095593 C23.9558586,24.8956905 23.1577753,21.1490577 24.9741388,18.3521031 C26.7898442,15.5561619 30.5337016,14.7576591 33.3309445,16.5742099 L87.6340125,51.8390346 L84.9731806,51.8390346 L103.852266,39.5788135 L105.182681,41.6274744 L104.070376,43.8022835 C102.858368,43.1824026 101.719662,42.4138485 100.675491,41.5061647 C93.6569185,35.4050129 92.9012893,24.7795163 98.9918187,17.7731637 C105.082348,10.766811 115.709601,10.0363032 122.728174,16.137455 C129.746746,22.2386068 130.502375,32.8641034 124.411846,39.870456 C123.229956,41.2300649 121.856251,42.3760135 120.416666,43.2314984 L94.2434565,60.2285796 L94.2434565,56.1312577 L120.765587,73.3549304 C121.152097,73.6059335 121.506081,73.898207 121.822516,74.2262669 L120.064365,75.9221214 L121.489555,73.938223 C121.915739,74.2443848 122.328975,74.5712591 122.728174,74.9182775 C129.746746,81.0194293 130.502375,91.6449259 124.411846,98.6512786 C118.321316,105.657631 107.694063,106.388139 100.675491,100.286987 C93.6569185,94.1858354 92.9012893,83.5603389 98.9918187,76.5539862 C100.441592,74.8862128 102.178627,73.5416182 104.115112,72.5685999 L105.211846,74.7513028 L103.88143,76.7999638 L84.9731806,64.5208027 L87.6340125,64.5208027 L61.3662147,81.57931 L61.3662147,67.1695775 L78.3637366,56.1312577 Z M114.533131,83.6707925 L115.961891,81.689464 L114.933771,83.9053132 C114.675216,83.7853476 114.424622,83.6467924 114.183613,83.4902793 L113.644945,83.1404643 L114.975362,81.0918038 L113.881545,83.2759699 C111.959385,82.3133637 109.605897,82.7611681 108.179792,84.4017143 C106.463272,86.3763445 106.676536,89.3752164 108.660203,91.0995921 C110.643871,92.8239678 113.643238,92.617794 115.359758,90.6431638 C117.076278,88.6685336 116.863014,85.6696617 114.879347,83.945286 C114.767376,83.8479516 114.651892,83.7564326 114.533131,83.6707925 Z M115.359758,31.8623412 C117.076278,29.8877111 116.863014,26.8888391 114.879347,25.1644635 C112.89568,23.4400878 109.896312,23.6462616 108.179792,25.6208918 C106.463272,27.5955219 106.676536,30.5943939 108.660203,32.3187696 C110.643871,34.0431452 113.643238,33.8369714 115.359758,31.8623412 Z\" fill-rule=\"nonzero\"></path>\n\t\t<g transform=\"translate(0.000000, 46.000000)\">\n\t\t\t<path d=\"M62.9632954,19.5390625 L62.984127,19.5390625 L62.984127,76.87441 C62.984127,79.7051952 60.6450077,82 57.7588318,82 L5.49996847,82 C2.61411765,82 0.274673329,79.7050809 0.274673329,76.87441 L0.274673329,5.12559005 C0.274673329,2.29480483 2.61379258,0 5.49996847,0 L42.7341992,0 L42.7341992,0.0129302741 C44.1445002,-0.0458264988 45.5745556,0.452971616 46.6523962,1.51002434 L61.4328365,16.0053998 C62.4299816,16.9833134 62.9403234,18.2577109 62.9632954,19.5390625 L62.9632954,19.5390625 Z M42.7341992,5.125 L5.50046113,5.125 L5.50046113,76.875 L57.7583392,76.875 L57.7583392,19.5390625 L47.9602131,19.5390625 C45.0739653,19.5390625 42.7341992,17.2466672 42.7341992,14.4138408 L42.7341992,5.125 Z\" ></path>\n\t\t\t<rect x=\"10.7262489\" y=\"23.0625\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"33.3125\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"43.5625\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"53.8125\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"64.0625\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"12.8125\" width=\"26.128939\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t</g>\n\t</g>\n</svg>\n"
        },
        "$:/language/Help/slice": {
            "title": "$:/language/Help/slice",
            "description": "Slice a hierarchical document into individual tiddlers",
            "text": "Slices the specified tiddler\n\n```\n--slice <source-title> [<dest-title>] [<slicer-rules>] [<output-mode>]\n```\n\n* ''source-title'': Title of the tiddler to be sliced\n* ''dest-title'': Base title for the generated output tiddlers\n* ''slicer-rules'': Name of the slicer rules to use for the operation (see below)\n* ''output-mode'': \"html\" vs \"wiki\"\n\nThe plugin comes with several built-in sets of slicer rules:\n\n* //html-by-paragraph//: Slice every paragraph into a separate tiddler, threaded by heading\n* //html-by-heading//: Slice every heading into separate threaded tiddlers\n* //html-plain-paragraphs//: Slice every paragraph into a separate tiddler, without formatting or headings\n\nAdvanced users can create or edit their own slicer rules for precise control over the conversion process\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/modules/commands/slice.js": {
            "title": "$:/plugins/tiddlywiki/text-slicer/modules/commands/slice.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/text-slicer/modules/commands/slice.js\ntype: application/javascript\nmodule-type: command\n\nCommand to slice a specified tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\"),\n\ttextSlicer = require(\"$:/plugins/tiddlywiki/text-slicer/modules/slicer.js\");\n\nexports.info = {\n\tname: \"slice\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tsourceTitle = this.params[0],\n\t\tdestTitle = this.params[1],\n\t\tslicerRules = this.params[2],\n\t\toutputMode = this.params[3],\n\t\tslicer = new textSlicer.Slicer({\n\t\t\tsourceTiddlerTitle: sourceTitle,\n\t\t\tbaseTiddlerTitle: destTitle,\n\t\t\tslicerRules: slicerRules,\n\t\t\toutputMode: outputMode,\n\t\t\twiki: wiki,\n\t\t\tcallback: function(err,tiddlers) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn self.callback(err);\n\t\t\t\t}\n\t\t\t\twiki.addTiddlers(tiddlers);\n\t\t\t\tself.callback();\t\n\t\t\t}\n\t\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/filters/list-children.js": {
            "title": "$:/core/modules/filters/list-children.js",
            "text": "/*\\\ntitle: $:/core/modules/filters/list-children.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the descendents of a tiddler listed in the \"list\" field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports[\"list-children\"] = function(source,operator,options) {\n\tvar children = {},\n\t\tprocessTiddler = function(title) {\n\t\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\t\tif(tiddler && !$tw.utils.hop(children,title)) {\n\t\t\t\tchildren[title] = true;\n\t\t\t\tvar list = options.wiki.getTiddlerList(title,operator.operand);\n\t\t\t\tlist.forEach(function(listItem) {\n\t\t\t\t\tif(!$tw.utils.hop(children,listItem)) {\n\t\t\t\t\t\tprocessTiddler(listItem);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\tsource(function(tiddler,title) {\n\t\tprocessTiddler(title);\n\t});\n\treturn Object.keys(children);\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/plugins/tiddlywiki/text-slicer/slicer-rules/html-by-heading.json": {
            "title": "$:/plugins/tiddlywiki/text-slicer/slicer-rules/html-by-heading.json",
            "name": "html-by-heading",
            "caption": "By Heading (HTML)",
            "description": "One tiddler per heading, threaded (HTML)",
            "inherits-from": "html-by-paragraph",
            "type": "application/json",
            "tags": "$:/tags/text-slicer/slicer-rules",
            "text": "[\n\t{\n\t\t\"selector\": \"address,center,fieldset,form,hr,iframe,isindex,noframes,noscript,ol,ul,li,pre,table\",\n\t\t\"actions\": {}\n\t},\n\t{\n\t\t\"selector\": \"blockquote\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"<<<\\n\",\n\t\t\t\t\t\"suffix\": \"<<<\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dd\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"\\n: \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dl\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"\\n\",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dt\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"\\n; \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h1\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h1\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 1,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h2\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h2\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 2,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h3\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h3\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 3,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h4\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h4\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 4,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!!!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h5\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h5\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 5,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!!!!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h6\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h6\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 6,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!!!!!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"p\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"\",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"*\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t}\n]\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/slicer-rules/html-by-paragraph.json": {
            "title": "$:/plugins/tiddlywiki/text-slicer/slicer-rules/html-by-paragraph.json",
            "name": "html-by-paragraph",
            "caption": "By Paragraph (HTML)",
            "description": "One tiddler per paragraph, threaded by heading (HTML)",
            "type": "application/json",
            "tags": "$:/tags/text-slicer/slicer-rules",
            "text": "[\n\t{\n\t\t\"selector\": \"address,center,fieldset,form,hr,iframe,isindex,noframes,noscript,pre,table\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"blockquote\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t},\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"<<<\\n\",\n\t\t\t\t\t\"suffix\": \"<<<\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"body,div,head,html,span\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dd\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"definition\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dl\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"def-list\",\n\t\t\t\t\"toc-list-filter\": \"[list<currentTiddler>!has[draft.of]]\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dt\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"term\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"em,i\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"//\",\n\t\t\t\t\t\"suffix\": \"//\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h1\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 1,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h1\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h2\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 2,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h2\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h3\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 3,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h3\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h4\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 4,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h4\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h5\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 5,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h5\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h6\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 6,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h6\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"img\",\n\t\t\"actions\": {\n\t\t\t\"isImage\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"li\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"item\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"ol\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"list\",\n\t\t\t\t\"toc-list-type\": \"ol\",\n\t\t\t\t\"toc-list-filter\": \"[list<currentTiddler>!has[draft.of]]\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"p\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"strike\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"~~\",\n\t\t\t\t\t\"suffix\": \"~~\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"strong,b\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"''\",\n\t\t\t\t\t\"suffix\": \"''\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"sub\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \",,\",\n\t\t\t\t\t\"suffix\": \",,\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"sup\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"^^\",\n\t\t\t\t\t\"suffix\": \"^^\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"head > title\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"u\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"__\",\n\t\t\t\t\t\"suffix\": \"__\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"ul\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"list\",\n\t\t\t\t\"toc-list-type\": \"ul\",\n\t\t\t\t\"toc-list-filter\": \"[list<currentTiddler>!has[draft.of]]\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"*\",\n\t\t\"actions\": {}\n\t}\n]"
        },
        "$:/plugins/tiddlywiki/text-slicer/slicer-rules/html-linear.json": {
            "title": "$:/plugins/tiddlywiki/text-slicer/slicer-rules/html-linear.json",
            "name": "html-linear",
            "caption": "Linear (HTML)",
            "description": "One tiddler per paragraph in a single linear thread (HTML)",
            "type": "application/json",
            "tags": "$:/tags/text-slicer/slicer-rules",
            "text": "[\n\t{\n\t\t\"selector\": \"li > p\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"p\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t},\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"a\",\n\t\t\"actions\": {\n\t\t\t\"isAnchor\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"address,blockquote,center,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,iframe,isindex,noframes,noscript,ol,pre,table,ul\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"br,caption,code,col,colgroup,em,i,dd,li,strike,strong,b,sub,sup,u,tbody,td,tfoot,th,thead,tr\",\n\t\t\"actions\": {\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"img\",\n\t\t\"actions\": {\n\t\t\t\"isImage\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"head\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"discard\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"*\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t}\n]"
        },
        "$:/plugins/tiddlywiki/text-slicer/slicer-rules/html-plain-paragraphs.json": {
            "title": "$:/plugins/tiddlywiki/text-slicer/slicer-rules/html-plain-paragraphs.json",
            "name": "html-plain-paragraphs",
            "caption": "Plain Paragraphs (HTML)",
            "description": "One tiddler per paragraph, without formatting (HTML)",
            "type": "application/json",
            "tags": "$:/tags/text-slicer/slicer-rules",
            "text": "[\n\t{\n\t\t\"selector\": \"address,blockquote,center,dd,dt,h1,h2,h3,h4,h5,h6,li,p\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t},\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"*\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t}\n]\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/modules/slicer.js": {
            "title": "$:/plugins/tiddlywiki/text-slicer/modules/slicer.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/text-slicer/modules/slicer.js\ntype: application/javascript\nmodule-type: library\n\nSlice a tiddler or DOM document into individual tiddlers\n\nvar slicer = new textSlicer.Slicer(doc,{\n\t\tslicerRules: JSON data defining slicer rules -or- title of rules taken from tiddlers tagged $:/tags/text-slicer/slicer-rules\n\t\tsourceTiddlerTitle: tiddler to slice -or-\n\t\tsourceText: text to slice\n\t\toutputMode: \"html\" (default) -or- \"wiki\"\n\t\tbaseTiddlerTitle: \"MySlicedTiddlers-\"\n\t\trole: \"sliced-content\"\n\t\tcallback: function(err,tiddlers)\n\t});\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Slicer(options) {\n\t// Quick tests\n\tthis.testSlicerRuleMatching();\n\t// Marshal parameters\n\tthis.sourceTiddlerTitle = options.sourceTiddlerTitle;\n\tthis.sourceText = options.sourceText;\n\tthis.wiki = options.wiki;\n\tthis.role = options.role || \"sliced-html\";\n\tthis.outputMode = options.outputMode || \"html\";\n\tthis.escapeWikiText = options.escapeWikiText || false;\n\tthis.callbackFn = options.callback;\n\t// Get the slicer rules\n\tvar nameSlicerRules = null;\n\tif(!options.slicerRules) {\n\t\tnameSlicerRules = \"html-by-paragraph\";\n\t\tthis.slicerRules = this.loadSlicerRules(nameSlicerRules);\n\t} else if(typeof options.slicerRules === \"string\") {\n\t\tnameSlicerRules = options.slicerRules;\n\t\tthis.slicerRules = this.loadSlicerRules(nameSlicerRules);\n\t} else {\n\t\tthis.slicerRules = options.slicerRules;\n\t}\n\t// Set up the base tiddler title\n\tthis.baseTiddlerTitle = this.getBaseTiddlerTitle(options.baseTiddlerTitle);\n\t// Initialise state\n\tthis.namespaces = {}; // Hashmap of URLs\n\tthis.chunks = []; // Array of tiddlers without titles, addressed by their index. We use the title field to hold the plain text content\n\tthis.currentChunk = null; // Index of the chunk currently being written to\n\tthis.parentStack = []; // Stack of parent chunks {chunk: chunk index,actions:}\n\tthis.elementStack = []; // Stack of {tag:,isSelfClosing:,actions:}\n\tthis.titleCounts = {}; // Hashmap of counts of prefixed titles that have been issued\n\t// Set up the document tiddler as top level heading\n\tthis.chunks.push({\n\t\t\"toc-type\": \"document\",\n\t\ttitle: this.baseTiddlerTitle,\n\t\ttext: \"<div class='tc-table-of-contents'><<toc-selective-expandable \\\"\\\"\\\"\" + this.baseTiddlerTitle + \"document\\\"\\\"\\\">></div>\",\n\t\tlist: [],\n\t\ttags: [],\n\t\trole: this.role,\n\t\t\"slicer-rules\": nameSlicerRules,\n\t\t\"slicer-output-mode\": this.outputMode\n\t});\n\tthis.parentStack.push({chunk: 0, actions: this.getMatchingSlicerRuleActions(\"(document)\")});\n\tthis.insertPrecedingChunk({\n\t\t\"toc-type\": \"anchor\",\n\t\t\"title\": this.baseTiddlerTitle + \"-anchor-\"\n\t});\n\t// Set up the parser\n\tvar sax = require(\"$:/plugins/tiddlywiki/sax/sax.js\");\n\tthis.sax = sax.parser(false,{\n\t\txmlns: true,\n\t\tlowercase: true\n\t});\n\tthis.sax.onerror = this.onError.bind(this);\n\tthis.sax.onopennamespace = this.onOpenNamespace.bind(this);\n\tthis.sax.onclosenamespace = this.onCloseNamespace.bind(this);\n\tthis.sax.onopentag = this.onOpenTag.bind(this);\n\tthis.sax.onclosetag = this.onCloseTag.bind(this);\n\tthis.sax.ontext = this.onText.bind(this);\n\tthis.sax.onend = this.onEnd.bind(this);\n\t// Start streaming the data\n\tthis.sax.write(this.getSourceText());\n\tthis.sax.close();\n}\n\nSlicer.prototype.callback = function(err,tiddlers) {\n\tvar self = this;\n\t$tw.utils.nextTick(function() {\n\t\tself.callbackFn(err,tiddlers);\n\t});\n};\n\nSlicer.prototype.loadSlicerRules = function(name) {\n\t// Collect the available slicer rule tiddlers\n\tvar self = this,\n\t\ttitles = this.wiki.getTiddlersWithTag(\"$:/tags/text-slicer/slicer-rules\"),\n\t\ttiddlers = {},\n\t\trules = {},\n\t\truleNames = [];\n\ttitles.forEach(function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\ttiddlers[tiddler.fields.name] = tiddler;\n\t\trules[tiddler.fields.name] = self.wiki.getTiddlerData(title,[]);\n\t});\n\t// Follow the inheritance trail to get a stack of slicer rule names\n\tvar n = name;\n\tdo {\n\t\truleNames.push(n);\n\t\tn = tiddlers[n] && tiddlers[n].fields[\"inherits-from\"];\n\t} while(n && ruleNames.indexOf(n) === -1);\n\t// Concatenate the slicer rules\n\trules = ruleNames.reduce(function(accumulator,name) {\n\t\treturn accumulator.concat(rules[name]);\n\t},[]);\n\treturn rules;\n};\n\nSlicer.prototype.getMatchingSlicerRuleActions = function(name) {\n\tvar rule = this.searchSlicerRules(name,this.slicerRules,this.elementStack);\n\tif(!rule) {\n\t\treturn {};\n\t} else {\n\t\treturn rule.actions;\n\t}\n};\n\nSlicer.prototype.testSlicerRuleMatching = function() {\n\tvar tests = [\n\t\t\t{\n\t\t\t\ttest: this.searchSlicerRules(\"title\",[\n\t\t\t\t\t\t{selector: \"title,head,body\", rules: true},\n\t\t\t\t\t\t{selector: \"body\", rules: true}\n\t\t\t\t\t],[\n\t\t\t\t\t\t{tag:\"head\"}\n\t\t\t\t\t]),\n\t\t\t\tresult: \"title,head,body\"\n\t\t\t},\n\t\t\t{\n\t\t\t\ttest: this.searchSlicerRules(\"body\",[\n\t\t\t\t\t\t{selector: \"title,head,body\", rules: true},\n\t\t\t\t\t\t{selector: \"body\", rules: true}\n\t\t\t\t\t],[\n\t\t\t\t\t\t{tag:\"head\"}\n\t\t\t\t\t]),\n\t\t\t\tresult: \"title,head,body\"\n\t\t\t},\n\t\t\t{\t\n\t\t\t\ttest: this.searchSlicerRules(\"title\",[\n\t\t\t\t\t\t{selector: \"head > title\", rules: true},\n\t\t\t\t\t\t{selector: \"title\", rules: true}\n\t\t\t\t\t],[\n\t\t\t\t\t\t{tag:\"head\"}\n\t\t\t\t\t]),\n\t\t\t\tresult: \"head > title\"\n\t\t\t}\n\t\t],\n\t\tresults = tests.forEach(function(test,index) {\n\t\t\tif(test.test.selector !== test.result) {\n\t\t\t\tthrow \"Failing test \" + index + \", returns \" + test.test.selector + \" instead of \" + test.result;\n\t\t\t}\n\t\t});\n};\n\nSlicer.prototype.searchSlicerRules = function(name,rules,elementStack) {\n\treturn rules.find(function(rule) {\n\t\t// Split and trim the selectors for this rule\n\t\treturn !!rule.selector.split(\",\").map(function(selector) {\n\t\t\t\treturn selector.trim();\n\t\t\t// Find the first selector that matches, if any\n\t\t\t}).find(function(selector) {\n\t\t\t\t// Split and trim the parts of the selector\n\t\t\t\tvar parts = selector.split(\" \").map(function(part) {\n\t\t\t\t\treturn part.trim();\n\t\t\t\t});\n\t\t\t\t// * matches any element\n\t\t\t\tif(parts.length === 1 && parts[0] === \"*\") {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// Make a copy of the element stack so that we can be destructive\n\t\t\t\tvar elements = elementStack.slice(0).concat({tag: name}),\n\t\t\t\t\tnextElementMustBeAtTopOfStack = true,\n\t\t\t\t\tcurrentPart = parts.length - 1;\n\t\t\t\twhile(currentPart >= 0) {\n\t\t\t\t\tif(parts[currentPart] === \">\") {\n\t\t\t\t\t\tnextElementMustBeAtTopOfStack = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif(!nextElementMustBeAtTopOfStack) {\n\t\t\t\t\t\t\twhile(elements.length > 0 && elements[elements.length - 1].tag !== parts[currentPart]) {\n\t\t\t\t\t\t\t\telements.pop();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(elements.length === 0 || elements[elements.length - 1].tag !== parts[currentPart]) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telements.pop();\n\t\t\t\t\t\tnextElementMustBeAtTopOfStack = false;\n\t\t\t\t\t}\n\t\t\t\t\tcurrentPart--;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t});\n};\n\nSlicer.prototype.getBaseTiddlerTitle = function(baseTiddlerTitle) {\n\tif(baseTiddlerTitle) {\n\t\treturn baseTiddlerTitle\t\t\n\t} else {\n\t\tif(this.sourceTiddlerTitle) {\n\t\t\treturn \"Sliced up \" + this.sourceTiddlerTitle + \":\";\n\t\t} else {\n\t\t\treturn \"SlicedTiddler\";\n\t\t}\n\t}\n};\n\nSlicer.prototype.getSourceText = function() {\n\tif(this.sourceTiddlerTitle) {\n\t\tvar tiddler = this.wiki.getTiddler(this.sourceTiddlerTitle);\n\t\tif(!tiddler) {\n\t\t\tconsole.log(\"Tiddler '\" + this.sourceTiddlerTitle + \"' does not exist\");\n\t\t\treturn \"\";\n\t\t}\n\t\tif(tiddler.fields.type === \"text/html\" || tiddler.fields.type === \"text/xml\" || (tiddler.fields.type || \"\").slice(-4) === \"+xml\") {\n\t\t\treturn tiddler.fields.text;\n\t\t} else {\n\t\t\treturn this.getTiddlerAsHtml(tiddler);\n\t\t}\n\t} else {\n\t\treturn this.sourceText;\n\t}\n};\n\nSlicer.prototype.getTiddlerAsHtml = function(tiddler) {\n\tvar widgetNode = this.wiki.makeTranscludeWidget(tiddler.fields.title,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparseAsInline: false,\n\t\t\timportPageMacros: true}),\n\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn [\"<!DOCTYPE html PUBLIC \\\"-//W3C//DTD XHTML 1.1//EN\\\" \\\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\\\">\",\"<html xmlns=\\\"http://www.w3.org/1999/xhtml\\\">\",\"<head>\",\"</head>\",\"<body>\",container.innerHTML,\"</body>\",\"</html>\"].join(\"\\n\");\n};\n\n\nSlicer.prototype.getImmediateParent = function() {\n\treturn this.parentStack.slice(-1)[0];\n};\n\nSlicer.prototype.onError = function(e) {\n\tconsole.error(\"Sax error: \", e)\n\t// Try to resume after errors\n\tthis.sax.error = null;\n\tthis.sax.resume();\n};\n\nSlicer.prototype.onOpenNamespace = function(info) {\n\tthis.namespaces[info.prefix] = info.uri;\n};\n\nSlicer.prototype.onCloseNamespace = function(info) {\n};\n\nSlicer.prototype.onOpenTag = function(node) {\n\tvar actions = this.getMatchingSlicerRuleActions(node.name);\n\t// Create an anchor if we encounter an ID\n\tif(node.attributes.id) {\n\t\tthis.insertPrecedingChunk({\n\t\t\t\"toc-type\": \"anchor\",\n\t\t\t\"title\": this.baseTiddlerTitle + \"-anchor-\" + node.attributes.id.value\n\t\t});\n\t}\n\t// Check for an element that should start a new chunk\n\tif(actions.startNewChunk) {\n\t\t// If this is a heading, pop off any higher or equal level headings first\n\t\tif(actions.isParent && actions.headingLevel) {\n\t\t\tvar parentActions = this.getImmediateParent().actions;\n\t\t\twhile(parentActions.isParent && parentActions.headingLevel && parentActions.headingLevel >= actions.headingLevel) {\n\t\t\t\tthis.parentStack.pop();\n\t\t\t\tparentActions = this.getImmediateParent().actions;\n\t\t\t}\n\t\t}\n\t\t// Start the new chunk\n\t\tthis.startNewChunk(actions.startNewChunk);\n\t\t// If this is a parent then also add it to the parent stack\n\t\tif(actions.isParent) {\n\t\t\tthis.parentStack.push({chunk: this.currentChunk, actions: actions});\n\t\t}\n\t}\n\t// Render the tag inline in the current chunk unless we should ignore it\n\tif(!actions.dontRenderTag) {\n\t\tif(actions.isImage) {\n\t\t\tthis.onOpenImage(node);\n\t\t} else if(actions.isAnchor) {\n\t\t\tthis.onOpenAnchor(node);\n\t\t} else {\n\t\t\tvar markupInfo = actions.markup && actions.markup[this.outputMode];\n\t\t\tif(markupInfo) {\n\t\t\t\tthis.addTextToCurrentChunk(markupInfo.prefix);\n\t\t\t} else {\n\t\t\t\tthis.addTextToCurrentChunk(\"<\" + node.name + (node.isSelfClosing ? \"/\" : \"\") + \">\");\n\t\t\t}\n\t\t}\n\t}\n\t// Remember whether this tag is self closing\n\tthis.elementStack.push({tag: node.name,isSelfClosing: node.isSelfClosing, actions: actions, node: node});\n};\n\nSlicer.prototype.onOpenAnchor = function(node) {\n\tif(node.attributes.href) {\n\t\tvar value = node.attributes.href.value;\n\t\tif(value.indexOf(\"https://\") === 0 || value.indexOf(\"http://\") === 0) {\n\t\t\t// External link\n\t\t\tthis.addTextToCurrentChunk(\"<a href=\\\"\" + value + \"\\\"  target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\");\n\t\t} else {\n\t\t\t// Internal link\n\t\t\tvar parts = value.split(\"#\"),\n\t\t\t\tbase = parts[0],\n\t\t\t\thash = parts[1] || \"\",\n\t\t\t\ttitle = $tw.utils.resolvePath(base,this.baseTiddlerTitle) + \"-anchor-\" + hash;\n\t\t\tthis.addTextToCurrentChunk(\"<$link to=\\\"\" + title + \"\\\">\");\t\t\t\n\t\t}\n\t}\n};\n\nSlicer.prototype.onCloseAnchor = function(elementInfo) {\n\tif(elementInfo.node.attributes.href) {\n\t\tvar value = elementInfo.node.attributes.href.value;\n\t\tif(value.indexOf(\"https://\") === 0 || value.indexOf(\"http://\") === 0) {\n\t\t\t// External link\n\t\t\tthis.addTextToCurrentChunk(\"</a>\");\n\t\t} else {\n\t\t\t// Internal link\n\t\t\tthis.addTextToCurrentChunk(\"</$link>\");\n\t\t}\n\t}\n};\n\nSlicer.prototype.onOpenImage = function(node) {\n\tvar url = node.attributes.src.value;\n\tif(url.slice(0,5) === \"data:\") {\n\t\t// var parts = url.slice(5).split(\",\");\n\t\t// this.chunks.push({\n\t\t// \ttitle: ,\n\t\t// \ttext: parts[1],\n\t\t// \ttype: parts[0].split[\";\"][0],\n\t\t// \trole: this.role\n\t\t// });\n\t}\n\tthis.addTextToCurrentChunk(\"[img[\" + $tw.utils.resolvePath(url,this.baseTiddlerTitle) + \"]]\");\n};\n\nSlicer.prototype.onCloseTag = function(name) {\n\tvar e = this.elementStack.pop(),\n\t\tactions = e.actions,\n\t\tselfClosing = e.isSelfClosing;\n\t// Set the caption if required\n// TODO\n// \tif(actions.setCaption) {\n// \t\tthis.chunks[this.currentChunk].caption = this.chunks[this.currentChunk].title;\n// \t}\n\t// Render the tag\n\tif(actions.isAnchor) {\n\t\tthis.onCloseAnchor(e);\n\t} else if (!actions.dontRenderTag && !selfClosing) {\n\t\tvar markupInfo = actions.markup && actions.markup[this.outputMode];\n\t\tif(markupInfo) {\n\t\t\tthis.addTextToCurrentChunk(markupInfo.suffix);\n\t\t} else {\n\t\t\tthis.addTextToCurrentChunk(\"</\" + name + \">\");\t\t\t\n\t\t}\n\t}\n\t// Check for an element that started a new chunk\n\tif(actions.startNewChunk) {\n\t\tif(!actions.mergeNext) {\n\t\t\tthis.currentChunk = null;\t\t\t\n\t\t}\n\t\t// If this is a parent and not a heading then also pop it from the parent stack\n\t\tif(actions.isParent && !actions.headingLevel) {\n\t\t\tthis.parentStack.pop();\n\t\t}\n\t}\n};\n\nSlicer.prototype.onText = function(text) {\n\tvar self = this;\n\t// Discard the text if we're inside an element with actions.discard set true\n\tif(this.elementStack.some(function(e) {return e.actions.discard;})) {\n\t\treturn;\n\t}\n\t// Optionally escape common character sequences that might be parsed as wikitext\n\ttext = $tw.utils.htmlEncode(text);\n\tif(this.escapeWikiText) {\n\t\t$tw.utils.each([\"[[\",\"{{\",\"__\",\"''\",\"//\",\",,\",\"^^\",\"~~\",\"`\",\"--\",\"\\\"\\\"\",\"@@\"],function(str) {\n\t\t\tvar replace = str.split(\"\").map(function(c) {\n\t\t\t\treturn \"&#\" + c.charCodeAt(0) + \";\";\n\t\t\t}).join(\"\");\n\t\t\ttext = text.replace(new RegExp($tw.utils.escapeRegExp(str),\"mg\"),replace);\n\t\t});\n\t}\n\tthis.addTextToCurrentChunk(text);\n\tthis.addTextToCurrentChunk(text,\"caption\");\n};\n\nSlicer.prototype.onEnd = function() {\n\tthis.callback(null,this.chunks);\n};\n\nSlicer.prototype.addTextToCurrentChunk = function(str,field) {\n\tfield = field || \"text\";\n\tif(this.currentChunk === null && str.trim() !== \"\") {\n\t\tthis.startNewChunk({\n\t\t\ttitle: this.makeTitle(\"paragraph\"),\n\t\t\t\"toc-type\": \"paragraph\"\n\t\t});\n\t}\n\tif(this.currentChunk !== null) {\n\t\tthis.chunks[this.currentChunk][field] += str;\n\t}\n};\n\nSlicer.prototype.startNewChunk = function(fields) {\n\tvar title = fields.title || this.makeTitle(fields[\"toc-type\"]);\n\tvar parentChunk = this.chunks[this.getImmediateParent().chunk];\n\tthis.chunks.push($tw.utils.extend({},{\n\t\ttitle: title,\n\t\ttext: \"\",\n\t\tcaption: \"\",\n\t\ttags: [parentChunk.title],\n\t\tlist: [],\n\t\trole: this.role\n\t},fields));\n\tthis.currentChunk = this.chunks.length - 1;\n\tparentChunk.list.push(title);\n};\n\nSlicer.prototype.insertPrecedingChunk = function(fields) {\n\tif(!fields.title) {\n\t\tthrow \"Chunks need a title\"\n\t}\n\tif(!this.currentChunk) {\n\t\tthis.startNewChunk(fields);\n\t\tthis.currentChunk = null;\n\t} else {\n\t\tvar parentChunk = this.chunks[this.getImmediateParent().chunk],\n\t\t\tindex = this.chunks.length - 1;\n\t\t// Insert the new chunk\n\t\tthis.chunks.splice(index,0,$tw.utils.extend({},{\n\t\t\ttext: \"\",\n\t\t\tcaption: \"\",\n\t\t\ttags: [parentChunk.title],\n\t\t\tlist: [],\n\t\t\trole: this.role\n\t\t},fields));\n\t\t// Adjust the current chunk pointer\n\t\tthis.currentChunk += 1;\n\t\t// Insert a pointer to the new chunk in the parent\n\t\tparentChunk.list.splice(parentChunk.list.length - 1,0,fields.title);\t\t\n\t}\n};\n\nSlicer.prototype.isBlank = function(s) {\n\treturn (/^[\\s\\xA0]*$/g).test(s);\n};\n\nSlicer.prototype.makeTitle = function(prefix) {\n\tprefix = prefix  || \"\";\n\tvar count = (this.titleCounts[prefix] || 0) + 1;\n\tthis.titleCounts[prefix] = count;\n\treturn this.baseTiddlerTitle + \"-\" + prefix + \"-\" + count;\n};\n\nexports.Slicer = Slicer;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/text-slicer/modules/startup/slicer-startup.js": {
            "title": "$:/plugins/tiddlywiki/text-slicer/modules/startup/slicer-startup.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/text-slicer/modules/startup/slicer-startup.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget event handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar textSlicer = require(\"$:/plugins/tiddlywiki/text-slicer/modules/slicer.js\");\n\n// Export name and synchronous status\nexports.name = \"slicer\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Install the root widget event handlers\nexports.startup = function() {\n\t// Check sax is installed\n\tif(!$tw.utils.hop($tw.modules.titles,\"$:/plugins/tiddlywiki/sax/sax.js\")) {\n\t\t// Make a logger\n\t\tvar logger = new $tw.utils.Logger(\"text-slicer\");\n\t\tlogger.alert(\"The plugin 'text-slicer' requires the 'sax' plugin to be installed\");\n\t}\n\t// Add tm-slice-tiddler event handler\n\t$tw.rootWidget.addEventListener(\"tm-slice-tiddler\",function(event) {\n\t\tvar slicer = new textSlicer.Slicer({\n\t\t\tsourceTiddlerTitle: event.param,\n\t\t\tslicerRules: event.paramObject && event.paramObject.slicerRules,\n\t\t\toutputMode: event.paramObject && event.paramObject.outputMode,\n\t\t\tbaseTiddlerTitle: event.paramObject && event.paramObject.destTitle,\n\t\t\trole: event.paramObject && event.paramObject.role,\n\t\t\twiki: $tw.wiki,\n\t\t\tcallback: function(err,tiddlers) {\n\t\t\t\tif(err) {\n\t\t\t\t\tlogger.alert(\"Slicer error: \" + err);\n\t\t\t\t} else {\n\t\t\t\t\t$tw.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/plugins/tiddlywiki/text-slicer/styles": {
            "title": "$:/plugins/tiddlywiki/text-slicer/styles",
            "tags": "$:/tags/Stylesheet",
            "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n.tc-document-preview-column {\n\tposition: fixed;\n\toverflow-y: auto;\n\toverflow-x: visible;\n\t-webkit-overflow-scrolling: touch;\n    background-color: <<colour page-background>>;\n\tright: auto;\n\tleft: 0;\n\ttop: 0;\n\tbottom: 0;\n\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\tfont-size: 0.9em;\n}\n\n.tc-sliced-document-title {\n\tfont-size: 1.7em;\n}\n\n.tc-slice-note {\n    color: #800;\n    padding: 4px 4px 4px 4px;\n    border: 1px solid #feed77;\n    background: #feed77;\n    background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#dede80),color-stop(7%,#feed77),color-stop(92%,#feed77),color-stop(100%,#dede80));\n    background: -webkit-linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), -webkit-linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n    background: -moz-linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), -moz-linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n    background: -o-linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), -o-linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n    background: -ms-linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), -ms-linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n    background: linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n\t<<box-shadow \"1px 1px 6px rgba(0,0,0,0.4)\">>\n}\n\n.tc-document-preview-column .tc-sliced-document-header {\n\tmargin-left: 24px;\n}\n\n.tc-document-preview-column .tc-sliced-document {\n\tmargin-bottom: 3px;\n}\n\n.tc-view-template-document-tiddler-wrapper,\n.tc-edit-template-document-tiddler-wrapper {\n    border-top: 2px solid #D6A2A2;\n    margin-left: -42px;\n    margin-right: -42px;\n    margin-bottom: -42px;\n    padding-left: 42px;\n    padding-right: 42px;\n    background: #FFE3E3;\n    padding-bottom: 10px;\n}\n\n.tc-edit-template-document-tiddler-wrapper {\n\tbackground: #A3A3D7;\n}\n\ndiv.tc-view-template-document-tiddler-heading a,\ndiv.tc-edit-template-document-tiddler-heading a {\n\tborder: 1px solid #D6A2A2;\n\tbackground: #fff;\n\tborder-radius: 16px;\n    padding: 0px 4px 0px 4px;\n    margin: 2px 4px 2px 4px;\n    white-space: nowrap;\n    display: inline-block;\n}\n\ndiv.tc-view-template-document-tiddler-heading a:hover,\ndiv.tc-edit-template-document-tiddler-heading a:hover {\n\tborder: 1px solid <<colour background>>;\n\ttext-decoration: none;\n\tcolor: <<colour background>>;\n\tbackground: <<colour foreground>>;\n}\n\n.tc-view-template-document-tiddler-heading-icon,\n.tc-edit-template-document-tiddler-heading-icon {\n\twidth: 42px;\n\ttext-align: center;\n    margin-left: -42px;\n    margin-right: -42px;\n    position: absolute;\n}\n\n.tc-view-template-document-tiddler-subheading,\n.tc-edit-template-document-tiddler-subheading {\n\tfont-size: 0.7em;\n\tfont-weight: bold;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-view-template-document-tiddler-heading-icon svg,\n.tc-edit-template-document-tiddler-heading-icon svg {\n\tfill: <<colour background>>;\t\n}\n\n.tc-view-template-document-tiddler {\n\tfont-size: 0.9em;\n}\n\n.tc-document-tiddler {\n\tfont-family: Georgia, Times, 'Times New Roman', serif;\n}\n\n.tc-text-slicer-rename input {\n\tdisplay: block;\n\twidth: 100%;\n}\n\n.tc-document-tiddler-link {\n\tcursor: pointer;\n}\n\n.tc-document-tiddler-link:hover {\n    background: <<color background>>;\n}\n\n.tc-document-tiddler-toolbar {\n\tposition: absolute;\n\twidth: 24px;\n\ttext-align: center;\n}\n\n.tc-document-preview-column .tc-sliced-document-body {\n\tmargin-left: 24px;\n}\n\n.tc-document-preview-column .tc-document-tiddler-toolbar {\n\tmargin-left: -24px;\n}\n\n.tc-table-of-contents .tc-slice-toolbar button {\n\tcolor: inherit;\n\tbackground-color: inherit;\n}\n\n.tc-tiddler-frame .tc-document-tiddler-toolbar {\n    left: 0;\n    width: 42px;\n}\n\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/def-list": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/def-list",
            "text": "\\define body()\n<dl>\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n</$list>\n</dl>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/definition": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/definition",
            "text": "\\define body()\n<$link tag=\"dd\" class=\"tc-document-tiddler-link\">\n\n<$transclude/>\n\n</$link>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/document": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/document",
            "text": "\\define config-document-status()\n$:/state/plugins/tiddlywiki/text-slicer/show-preview-document/$(tv-heading-status-config-prefix)$/$(currentTiddler)$\n\\end\n\n\\define config-show-toolbar()\n$:/state/plugins/tiddlywiki/text-slicer/show-toolbar/$(currentTiddler)$\n\\end\n\n\\define config-show-metadata()\n$:/state/plugins/tiddlywiki/text-slicer/show-metadata/$(currentTiddler)$\n\\end\n\n\\define config-heading-status()\n$:/state/plugins/tiddlywiki/text-slicer/heading-status/$(currentTiddler)$\n\\end\n\n\\define body()\n<$set name=\"tv-heading-status-config-title\" value=<<config-heading-status>>>\n<$set name=\"tv-show-toolbar\" value={{$(config-show-toolbar)$}}>\n<div class=\"tc-sliced-document\">\n<div class=\"tc-sliced-document-header\">\n<div class=\"tc-document-tiddler-toolbar\">\n<$reveal type=\"nomatch\" state=<<config-document-status>> text=\"close\" default=\"open\" tag=\"div\">\n<$button set=<<config-document-status>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<config-document-status>> text=\"close\" default=\"open\" tag=\"div\">\n<$button set=<<config-document-status>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n</div>\n<h1 class=\"tc-sliced-document-title\">''Document'': <$link><$view field=\"title\"/></$link></h1>\n</div>\n<$reveal type=\"nomatch\" state=<<config-document-status>> text=\"close\" default=\"open\" tag=\"div\">\n{{||$:/plugins/tiddlywiki/text-slicer/ui/document/header}}\n<div class='tc-sliced-document-body'>\n<$set name=\"tv-show-toolbar\" value={{$(config-show-toolbar)$}}>\n<$set name=\"tv-exclude-filter\" value={{!!toc-exclude-filter}}>\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n</$set>\n</$set>\n</div>\n</$reveal>\n</div>\n</$set>\n</$set>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/heading": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/heading",
            "text": "\\define config-heading-status()\n$(tv-heading-status-config-title)$/$(tv-heading-status-config-prefix)$/$(currentTiddler)$\n\\end\n\n\\define body(level:\"h1\")\n<$set name=\"tv-heading-status-config-title\" value=<<config-heading-status>>>\n<div class=\"tc-document-tiddler\">\n<div class=\"tc-document-tiddler-toolbar\">\n<$reveal type=\"nomatch\" state=<<tv-heading-status-config-title>> text=\"close\" default=<<tv-default-heading-state>> tag=\"div\">\n<$button set=<<tv-heading-status-config-title>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<tv-heading-status-config-title>> text=\"close\" default=<<tv-default-heading-state>> tag=\"div\">\n<$button set=<<tv-heading-status-config-title>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n</div>\n<$link tag=\"$level$\" class=\"tc-document-tiddler-link\">\n<$transclude/>\n</$link>\n<$reveal type=\"nomatch\" state=<<tv-heading-status-config-title>> text=\"close\" default=<<tv-default-heading-state>> tag=\"div\">\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n</$reveal>\n</div>\n</$set>\n\\end\n\n<$macrocall $name=\"body\" level={{!!toc-heading-level}}/>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/image": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/image",
            "text": "\\define body()\n<$link tag=\"div\" class=\"tc-document-tiddler-link tc-document-tiddler\">\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n<$transclude/>\n\n</$list>\n\n</$link>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/item": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/item",
            "text": "\\define body()\n<$link tag=\"li\" class=\"tc-document-tiddler-link\">\n\n<$transclude/>\n\n</$link>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/list": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/list",
            "text": "\\define body(type:\"ul\")\n<$type$>\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n</$list>\n</$type$>\n\\end\n\n<$macrocall $name=\"body\" type={{!!toc-list-type}}/>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/note": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/note",
            "text": "\\define body()\n<div class=\"tc-slice-note\">\n\n<$link tag=\"div\" class=\"tc-document-tiddler-link tc-document-tiddler\">\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n<$transclude/>\n\n</$list>\n\n</$link>\n\n</div>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/paragraph": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/paragraph",
            "text": "\\define body()\n<$link tag=\"div\" class=\"tc-document-tiddler-link tc-document-tiddler\">\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n<$transclude/>\n\n</$list>\n\n</$link>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/term": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/term",
            "text": "\\define body()\n<$link tag=\"dt\" class=\"tc-document-tiddler-link\">\n\n<$transclude/>\n\n</$link>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler",
            "text": "\\define if(condition,then,else)\n<$list filter=\"\"\"$condition$ +[limit[1]]\"\"\" emptyMessage=\"\"\"$else$\"\"\" variable=\"ignore\">\n$then$\n</$list>\n\\end\n\n\\define include-component(type)\n<<if \"[{!!toc-type}match[$type$]]\" \"\"\"\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/$type$\" mode=\"block\"/>\n\"\"\">>\n\\end\n\n<$list filter=\"[<tv-show-toolbar>match[yes]]\" variable=\"hasToolbar\">\n{{||$:/plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar}}\n</$list>\n\n<<include-component \"document\">>\n<<include-component \"heading\">>\n<<include-component \"paragraph\">>\n<<include-component \"note\">>\n<<include-component \"list\">>\n<<include-component \"item\">>\n<<include-component \"image\">>\n<<include-component \"def-list\">>\n<<include-component \"term\">>\n<<include-component \"definition\">>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/def-list": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/def-list",
            "text": "\\define body()\n<dl>\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler\"/>\n</$list>\n</dl>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/definition": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/definition",
            "text": "\\define body()\n<dd>\n\n<$transclude/>\n\n</dd>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/document": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/document",
            "text": "<$set name=\"tv-exclude-filter\" value={{!!toc-exclude-filter}}>\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler\"/>\n\n</$set>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/heading": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/heading",
            "text": "\\define body(level:\"h1\")\n<$level$>\n<$transclude/>\n</$level$>\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler\"/>\n\\end\n\n<$macrocall $name=\"body\" level={{!!toc-heading-level}}/>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/image": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/image",
            "text": "<$transclude/>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/item": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/item",
            "text": "\\define body()\n<li>\n\n<$transclude/>\n\n</li>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/list": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/list",
            "text": "\\define body(type:\"ul\")\n<$type$>\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler\"/>\n</$list>\n</$type$>\n\\end\n\n<$macrocall $name=\"body\" type={{!!toc-list-type}}/>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/note": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/note",
            "text": "<!-- Don't display notes in plain mode -->\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/paragraph": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/paragraph",
            "text": "\\define body()\n<div>\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n<$transclude/>\n\n</$list>\n\n</div>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/term": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/term",
            "text": "\\define body()\n<dt>\n\n<$transclude/>\n\n</dt>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler",
            "text": "<$vars toc-type={{!!toc-type}}>\n\n<$list filter=\"[<toc-type>match[document]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/document\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[heading]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/heading\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[paragraph]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/paragraph\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[note]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/note\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[list]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/list\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[item]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/item\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[image]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/image\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[def-list]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/def-list\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[term]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/term\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[definition]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/definition\" mode=\"block\"/>\n</$list>\n\n</$vars>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/def-list": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/def-list",
            "text": "<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n`<dl class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n\n`</dl>`\n\n</$list>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/definition": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/definition",
            "text": "`<dd class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$transclude/>\n\n`</dd>`\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/document": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/document",
            "text": "<$set name=\"tv-exclude-filter\" value={{!!toc-exclude-filter}}>\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n\n</$set>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/heading": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/heading",
            "text": "`<`<$text text={{!!toc-heading-level}}/>` class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$view field=\"text\" format=\"htmlencodedplainwikified\"/>\n\n`</`<$text text={{!!toc-heading-level}}/>`>`\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes",
            "text": "<$list filter=\"[all[current]tags[]addprefix[$:/_DocumentTags/]has[title]]\"><$view field=\"css-class\"/> </$list>"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/image": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/image",
            "text": "<$reveal state=\"!!_canonical_uri\" type=\"match\" text=\"\">\n\n`<img src=\"data:`<$view format=\"text\" field=\"type\"/>`;base64,`<$view format=\"text\" field=\"text\"/>`\" class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n</$reveal>\n\n<$reveal state=\"!!_canonical_uri\" type=\"nomatch\" text=\"\">\n\n`<img src=\"`<$text text=<<tv-external-image-path>>/><$view field=\"title\" format=\"doubleurlencoded\"/>`\" class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n</$reveal>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/item": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/item",
            "text": "`<li class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$transclude/>\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n\n`</li>`\n\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/list": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/list",
            "text": "<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n`<`<$text text={{!!toc-list-type}}/>` class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n\n`</`<$text text={{!!toc-list-type}}/>`>`\n\n</$list>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/note": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/note",
            "text": "<!-- Don't display notes in static mode -->\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/paragraph": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/paragraph",
            "text": "<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n`<p class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$view field=\"text\" format=\"htmlencodedplainwikified\"/>\n\n`</p>`\n\n</$list>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/term": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/term",
            "text": "`<dt class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$transclude/>\n\n`</dt>`\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler": {
            "title": "$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler",
            "text": "<$vars toc-type={{!!toc-type}}>\n\n<$list filter=\"[<toc-type>match[document]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/document\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[heading]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/heading\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[paragraph]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/paragraph\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[note]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/note\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[list]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/list\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[item]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/item\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[image]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/image\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[def-list]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/def-list\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[term]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/term\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[definition]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/definition\" mode=\"block\"/>\n\n</$list>\n\n</$vars>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/document/header": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/document/header",
            "text": "\\define metadatafield()\n<tr>\n<td>\n''<$transclude tiddler=<<listItem>> field=\"caption\"/>''\n</td>\n<td>\n<$reveal type=\"match\" state=\"\"\"$(listItem)$!!field-type\"\"\" text=\"string\">\n<$edit-text field={{$(listItem)$!!field}}/>\n</$reveal>\n<$reveal type=\"match\" state=\"\"\"$(listItem)$!!field-type\"\"\" text=\"list\">\n<$edit-text tag=\"textarea\" field={{$(listItem)$!!field}}/>\n</$reveal>\n</td>\n</tr>\n\\end\n\n<div class=\"tc-sliced-document-header\">\n\n''Exclude filter'': <$edit-text field=\"toc-exclude-filter\"/>\n\n<$checkbox tiddler=<<config-show-toolbar>> field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Show toolbar </$checkbox> <$checkbox tiddler=<<config-show-metadata>> field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Show metadata</$checkbox> <$button>\n<$action-sendmessage $message=\"tm-open-window\" $param=<<currentTiddler>> template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/document\"/>\nView document\n</$button>\n\n<$reveal state=<<config-show-metadata>> default=\"no\" type=\"match\" text=\"yes\">\n<table>\n<tbody>\n<$list filter=\"[all[system+tiddlers]tag[$:/tags/DocumentMetaData]]\" variable=\"listItem\">\n<<metadatafield>>\n</$list>\n</tbody>\n</table>\n</$reveal>\n\n\n</div>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/edit-template-segment": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/edit-template-segment",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define edit-field(name,tag:\"input\")\n$name$:\n\n<$edit-text field=\"\"\"$name$\"\"\" tag=\"$tag$\" class=\"tc-edit-texteditor\"/>\n\\end\n\n<$reveal type=\"nomatch\" state=\"!!toc-type\" text=\"\">\n\n<div class=\"tc-edit-template-document-tiddler-wrapper\">\n\n<div class=\"tc-edit-template-document-tiddler-heading\">\n\n<div class=\"tc-edit-template-document-tiddler-heading-icon\">\n\n{{$:/core/images/file}}\n\n</div>\n\n<div class=\"tc-edit-template-document-tiddler-subheading\">\n\n<$view field=\"toc-type\"/>\n\n</div>\n\n<<edit-field \"list\" tag:\"textarea\">>\n\n</div>\n\n</div>\n\n</$reveal>\n\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/filters/Orphans": {
            "title": "$:/plugins/tiddlywiki/text-slicer/filters/Orphans",
            "tags": "$:/tags/Filter",
            "filter": "[has[toc-type]] -[toc-type[document]list-children[]]",
            "description": "[Text-slicer] Tiddlers that are not part of any document",
            "text": ""
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/preview-column/empty": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/preview-column/empty",
            "text": "<div class=\"tc-sliced-document-header\">\n\nCreate a document by slicing an existing tiddler\n\n---\n\n[[Help|$:/plugins/tiddlywiki/text-slicer/docs]]\n\n</div>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/preview-column/multiple": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/preview-column/multiple",
            "text": "Show document: <$select tiddler=\"$:/plugins/tiddlywiki/text-slicer/config/currentDocument\">\n<$list filter=\"[toc-type[document]!has[draft.of]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"title\"/></option>\n</$list>\n</$select>\n\n<$tiddler tiddler={{$:/plugins/tiddlywiki/text-slicer/config/currentDocument}}>\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/document\"/>\n\n</$tiddler>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/preview-column/single": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/preview-column/single",
            "text": "<$list filter=\"[toc-type[document]!has[draft.of]sort[title]limit[1]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/document\"/>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/preview-column": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/preview-column",
            "tags": "$:/tags/AboveStory",
            "text": "<$scrollable fallthrough=\"no\" class=\"tc-document-preview-column\">\n\n<$vars\n\ttv-default-heading-state=\"open\"\n>\n\n<$list filter=\"[toc-type[document]!has[draft.of]sort[title]limit[1]]\" emptyMessage={{$:/plugins/tiddlywiki/text-slicer/ui/preview-column/empty}}>\n\n<$list filter=\"[toc-type[document]!has[draft.of]sort[title]butfirst[1]limit[1]]\" emptyMessage={{$:/plugins/tiddlywiki/text-slicer/ui/preview-column/single}} template=\"$:/plugins/tiddlywiki/text-slicer/ui/preview-column/multiple\"/>\n\n</$list>\n\n</$vars>\n\n</$scrollable>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/slice-modal": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/slice-modal",
            "footer": "<$button message=\"tm-close-tiddler\">Cancel</$button> <$button><$action-sendmessage $message=\"tm-close-tiddler\"/><$action-sendmessage $message=\"tm-slice-tiddler\" $param=<<currentTiddler>> slicerRules={{$:/config/plugins/text-slicer/slice-rule}} outputMode={{$:/config/plugins/text-slicer/output-mode}} destTitle={{$:/config/plugins/text-slicer/base-title}}/>Slice</$button>",
            "subtitle": "Slicing \"<$text text=<<currentTiddler>>/>\" into chunks",
            "text": "''Choose how the tiddler should be sliced''\n\nPrefix for extracted tiddlers: <$edit-text tiddler=\"$:/config/plugins/text-slicer/base-title\" default={{{ [[Sliced up ]addsuffix<currentTiddler>addsuffix[:]] }}} tag=\"input\" size=\"30\"/>\n\n<$select tiddler=\"$:/config/plugins/text-slicer/slice-rule\" default=\"html-by-paragraph\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/text-slicer/slicer-rules]!has[draft.of]]\">\n<option value={{!!name}}><$text text={{!!description}}/></option>\n</$list>\n</$select>\n\nOutput mode: <$select tiddler=\"$:/config/plugins/text-slicer/output-mode\" default=\"html\">\n<option value=\"html\">HTML</option>\n<option value=\"wiki\">Wiki text</option>\n</$select>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/slice-toolbar-button": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/slice-toolbar-button",
            "tags": "$:/tags/ViewToolbar",
            "list-before": "$:/core/ui/Buttons/edit",
            "caption": "{{$:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon}} Slice text tiddler",
            "description": "Slice this text tiddler by headings and lists",
            "text": "\\whitespace trim\n\n\\define hint()\nSlice this text tiddler into chunks\n\\end\n\n<$list filter=\"[<currentTiddler>!is[image]!is[binary]]\" variable=\"ignore\">\n<$button tooltip=<<hint>> aria-label=<<hint>> class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-modal\" $param=\"$:/plugins/tiddlywiki/text-slicer/ui/slice-modal\" currentTiddler=<<currentTiddler>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"> Slice tiddler</span>\n</$list>\n</$button>\n</$list>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar/title": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar/title",
            "tags": "$:/tags/TextSlicerToolbar",
            "text": "\\define renameProxyTitle()\n$:/state/plugins/tiddlywiki/text-slicer/rename-$(currentTiddler)$\n\\end\n\n\\define body()\n<div class=\"tc-text-slicer-rename\">\n<$edit-text tag=\"input\" tiddler=<<renameProxyTitle>> placeholder=\"Rename\" default=<<currentTiddler>>/>\n<$reveal type=\"nomatch\" state=\"\"\"$(renameProxyTitle)$\"\"\" text=<<currentTiddler>> default=<<currentTiddler>>>\n<$button>\n<$action-deletetiddler $tiddler=<<renameProxyTitle>>/>\ncancel\n</$button>\n<$button>\n<$action-sendmessage $message=\"tm-rename-tiddler\" from=<<currentTiddler>> to={{$(renameProxyTitle)$}}/>\n<$action-deletetiddler $tiddler=<<renameProxyTitle>>/>\nrename\n</$button>\n<$set name=\"proxy-title\" value={{$(renameProxyTitle)$}}>\n<$list filter=\"\"\"[<proxy-title>is[tiddler]]\"\"\">\nWarning: tiddler already exists\n</$list>\n</$set>\n</$reveal>\n</div>\n\\end\n\n<<body>>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar",
            "text": "<div class=\"tc-slice-toolbar\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextSlicerToolbar]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n"
        },
        "$:/plugins/tiddlywiki/text-slicer/ui/view-template-segment": {
            "title": "$:/plugins/tiddlywiki/text-slicer/ui/view-template-segment",
            "tags": "$:/tags/ViewTemplate",
            "text": "\\define config-heading-status()\n$:/state/plugins/tiddlywiki/text-slicer/heading-status/$(currentTiddler)$\n\\end\n\n<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$reveal type=\"nomatch\" state=\"!!toc-type\" text=\"\">\n\n<div class=\"tc-view-template-document-tiddler-wrapper\">\n\n<div class=\"tc-view-template-document-tiddler-heading\">\n\n<div class=\"tc-view-template-document-tiddler-heading-icon\">\n\n{{$:/core/images/file}}\n\n</div>\n\n<div class=\"tc-view-template-document-tiddler-subheading\">\n\n<$view field=\"toc-type\"/>\n\n</div>\n\nParents: <$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=\"None\">\n<$link><$view field=\"title\"/></$link>\n</$list>\n\n</div>\n\n<div class=\"tc-view-template-document-tiddler\">\n\n<$vars\n\ttv-default-heading-state=\"close\"\n\ttv-heading-status-config-prefix=\"view-template\"\n\ttv-heading-status-config-title=<<config-heading-status>>\n>\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n\n</$vars>\n\n</div>\n\n</div>\n\n</$reveal>\n\n</$reveal>\n"
        }
    }
}
\whitespace trim

\define hint()
Slice this text tiddler into chunks
\end

<$list filter="[<currentTiddler>!is[image]!is[binary]]" variable="ignore">
<$button tooltip=<<hint>> aria-label=<<hint>> class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-modal" $param="$:/plugins/tiddlywiki/text-slicer/ui/slice-modal" currentTiddler=<<currentTiddler>>/>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
{{$:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text"> Slice tiddler</span>
</$list>
</$button>
</$list>
{
    "tiddlers": {
        "$:/plugins/tiddlywiki/xlsx-utils/controls": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/controls",
            "caption": "XLSX Utilities",
            "tags": "$:/tags/ControlPanel",
            "text": "\\define help-button(state)\n<$button popup=\"\"\"$:/state/expand-help/$state$\"\"\" class=\"tc-btn-invisible tc-popup-keep\">\n{{$:/core/images/help}}\n</$button>\n\\end\n\n\\define help-content(type,state)\n<$reveal tag=\"span\" state=\"\"\"$:/state/expand-help/$state$\"\"\" type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down tc-popup-keep\" style=\"padding: 0.5em; max-width: 30em; white-space: normal;\">\n<$transclude tiddler=\"\"\"$:/plugins/tiddlywiki/xlsx-utils/docs/$type$\"\"\" mode=\"block\"/>\n</div>\n</$reveal>\n\\end\n\n\\define renameProxyTitle()\n$:/state/plugins/tiddlywiki/xlsx-utils/rename-$(currentTiddler)$\n\\end\n\n\\define rename-current-tiddler()\n<$edit-text tag=\"input\" tiddler=<<renameProxyTitle>> placeholder=\"Rename\" default=<<currentTiddler>> size=\"50\"/>\n<$reveal type=\"nomatch\" state=\"\"\"$(renameProxyTitle)$\"\"\" text=<<currentTiddler>> default=<<currentTiddler>> tag=\"span\">\n<$button>\n<$action-deletetiddler $tiddler=<<renameProxyTitle>>/>\ncancel\n</$button>\n<$button>\n<$action-sendmessage $message=\"tm-rename-tiddler\" from=<<currentTiddler>> to={{$(renameProxyTitle)$}}/>\n<$action-deletetiddler $tiddler=<<renameProxyTitle>>/>\nrename\n</$button>\n<$set name=\"proxy-title\" value={{$(renameProxyTitle)$}}>\n<$list filter=\"\"\"[<proxy-title>is[tiddler]]\"\"\">\nWarning: tiddler already exists\n</$list>\n</$set>\n</$reveal>\n\\end\n\n\\define expand-collapse-button(state)\n<$reveal state=\"\"\"$:/state/expand/$state$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"span\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/state/expand/$state$\"\"\" $value=\"no\"/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal state=\"\"\"$:/state/expand/$state$\"\"\" type=\"nomatch\" text=\"yes\" default=\"no\" tag=\"span\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/state/expand/$state$\"\"\" $value=\"yes\"/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n\\end\n\n\\define expand-collapse-content(state,content,class)\n<$reveal state=\"\"\"$:/state/expand/$state$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"div\" class=\"\"\"$class$\"\"\" animate=\"yes\" retain=\"yes\">\n$content$\n</$reveal>\n\\end\n\n\\define up-down-buttons(parent,child)\n<$list filter=\"[list<$parent$>butfirst[]field:title<$child$>limit[1]]\" variable=\"listItem\">\n<$button class=\"tc-btn-invisible\">\n<$action-listops $tiddler=<<$parent$>> $subfilter=\"+[move:-1<$child$>]\"/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$list>\n<$list filter=\"[list<$parent$>butlast[]field:title<$child$>limit[1]]\" variable=\"listItem\">\n<$button class=\"tc-btn-invisible\">\n<$action-listops $tiddler=<<$parent$>> $subfilter=\"+[move:1<$child$>]\"/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$list>\n\\end\n\n\\define edit-button(state)\n<$reveal state=\"\"\"$:/state/edit/$state$\"\"\" type=\"nomatch\" text=\"yes\" default=\"no\" tag=\"span\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/state/edit/$state$\"\"\" $value=\"yes\"/>\n<$action-setfield $tiddler=\"\"\"$:/state/expand/$state$\"\"\" $value=\"yes\"/>\n{{$:/core/images/edit-button}}\n</$button>\n</$reveal>\n<$reveal state=\"\"\"$:/state/edit/$state$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"span\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/state/edit/$state$\"\"\" $value=\"no\"/>\n{{$:/core/images/done-button}} Finish editing\n</$button>\n</$reveal>\n\\end\n\n\\define delete-item-button(filter,parent,title,prompt)\n<$button class=\"tc-btn-invisible\">\n<$action-deletetiddler $filter=\"\"\"$filter$\"\"\"/>\n<$action-listops $tiddler=\"\"\"$parent$\"\"\" $subfilter=\"-[[$title$]]\"/>\n{{$:/core/images/delete-button}}$prompt$\n</$button>\n\\end\n\n\\define edit-field()\n<$select tiddler=<<field>> field=\"import-field-list-op\" default=\"none\">\n<option value=\"none\">Set field</option>\n<option value=\"append\">Append to list field</option>\n</$select>\n<$edit-text tiddler=<<field>> field=\"import-field-name\" size=\"10\" tag=\"input\" placeholder=\"field name\"default=\"\"/>\n<$reveal state=\"\"\"$(field)$!!import-field-list-op\"\"\" type=\"match\" text=\"none\" default=\"none\" tag=\"span\">\nto\n</$reveal>\n<$reveal state=\"\"\"$(field)$!!import-field-list-op\"\"\" type=\"match\" text=\"append\" default=\"none\" tag=\"span\">\nthe\n</$reveal>\n<$select tiddler=<<field>> field=\"import-field-type\" default=\"string\">\n<option value=\"date\">date</option>\n<option value=\"string\">string</option>\n</$select>\n<$select tiddler=<<field>> field=\"import-field-source\" default=\"column\">\n<option value=\"column\">from column</option>\n<option value=\"constant\">constant</option>\n</$select>\n<$reveal state=\"\"\"$(field)$!!import-field-source\"\"\" type=\"match\" text=\"column\" default=\"column\" tag=\"span\">\n<$edit-text tiddler=<<field>> field=\"import-field-column\" tag=\"input\" placeholder=\"column\" default=\"\"/>\nprefixed\n<$edit-text tiddler=<<field>> field=\"import-field-prefix\" tag=\"input\" placeholder=\"prefix\" default=\"\"/>,\nsuffixed\n<$edit-text tiddler=<<field>> field=\"import-field-suffix\" tag=\"input\" placeholder=\"suffix\" default=\"\"/>\n</$reveal>\n<$reveal state=\"\"\"$(field)$!!import-field-source\"\"\" type=\"match\" text=\"constant\" default=\"column\" tag=\"span\">\n<$edit-text tiddler=<<field>> field=\"import-field-value\" tag=\"input\" placeholder=\"constant\" default=\"\"/>\n</$reveal>\n<$checkbox tiddler=<<field>> field=\"import-field-skip-tiddler-if-blank\" checked=\"yes\" unchecked=\"no\" default=\"no\">\nSkip this tiddler when field blank\n<br/>\nTitle:\n<$tiddler tiddler=<<field>>>\n<<rename-current-tiddler>>\n</$tiddler>\n\\end\n\n\\define view-field()\n<$link to=<<field>>>\n<$list filter=\"[<field>!has[import-field-list-op]]\" variable=\"listItem\">\nSet field ''<$view tiddler=<<field>> field=\"import-field-name\"/>'' to\n</$list>\n<$list filter=\"[<field>get[import-field-list-op]prefix[append]]\" variable=\"listItem\">\nAppend to list field ''<$view tiddler=<<field>> field=\"import-field-name\"/>''\n</$list>\n<$list filter=\"[<field>has[import-field-prefix]]\" variable=\"listItem\">\n''<code><$view tiddler=<<field>> field=\"import-field-prefix\"/></code>'' +\n</$list>\n<$list filter=\"[<field>get[import-field-type]prefix[date]]\" variable=\"listItem\">\ndate\n</$list>\n<$list filter=\"[<field>get[import-field-source]prefix[column]]\" variable=\"listItem\">\nvalue from column ''<$view tiddler=<<field>> field=\"import-field-column\"/>''\n</$list>\n<$list filter=\"[<field>get[import-field-source]prefix[constant]]\" variable=\"listItem\">\nconstant ''<code><$view tiddler=<<field>> field=\"import-field-value\"/></code>''\n</$list>\n<$list filter=\"[<field>has[import-field-suffix]]\" variable=\"listItem\">\n+ ''<code><$view tiddler=<<field>> field=\"import-field-suffix\"/></code>''\n</$list>\n</$link>\n\\end\n\n\\define list-fields()\n<ul class=\"tc-import-spec-row-list\">\n<$list filter=\"[list<row>]\" variable=\"field\" emptyMessage=\"<div>(No field import specifiers)</div>\">\n<li class=\"tc-import-spec-field-wrapper\">\n<$reveal state=\"\"\"$:/state/edit/$(row)$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"span\">\n<<edit-field>>\n<<up-down-buttons parent:\"row\" child:\"field\">>\n<$macrocall $name=\"delete-item-button\" filter=\"[<field>]\" parent=<<row>> title=<<field>>/>\n</$reveal>\n<$reveal state=\"\"\"$:/state/edit/$(row)$\"\"\" type=\"nomatch\" text=\"yes\" default=\"no\" tag=\"span\">\n<<view-field>>\n</$reveal>\n</li>\n</$list>\n</ul>\n\\end\n\n\\define view-row-content()\n<$reveal state=\"\"\"$:/state/edit/$(row)$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"ul\" class=\"tc-import-spec-row-controls\" animate=\"yes\" retain=\"yes\">\n<li>\n<$macrocall $name=\"delete-item-button\" filter=\"[<row>] [<row>getlist[]]\" parent=<<sheet>> title=<<row>> prompt=\" Delete this row\"/>\n</li>\n<li>\nTitle:\n<$tiddler tiddler=<<row>>>\n<<rename-current-tiddler>>\n</$tiddler>\n</li>\n<li>\nRow type:\n<$select tiddler=<<row>> field=\"import-row-type\" default=\"by-field\">\n<option value=\"by-field\">By field</option>\n<option value=\"by-column\">By column</option>\n</$select>\n</li>\n<li>\n<$button class=\"tc-btn-invisible\">\n<$action-createtiddler $basetitle=\"$:/_ExcelImporter/ImportSpecifiers/Field\" $savetitle=\"$:/temp/newtiddler\" import-spec-role=\"field\" import-field-name=\"fieldname\" import-field-type=\"string\" import-field-source=\"column\" import-field-column=\"Column Name\" />\n<$action-listops $tiddler=<<row>> $subfilter=\"[{$:/temp/newtiddler}] +[putfirst[]]\"/>\n{{$:/core/images/new-button}} Add new field\n</$button>\n</li>\n</$reveal>\n<<list-fields>>\n\\end\n\n\\define view-row()\n<div class=\"tc-import-spec-row-wrapper\">\n<h5>\n<$macrocall $name=\"expand-collapse-button\" state=<<row>>/>\nEach row: <$list filter=\"[list<row>import-field-name[title]]\" variable=\"field\" emptyMessage=\"\n<$link to=<<field>>>(title field not set)</$link>\"><<view-field>></$list>\n<$macrocall $name=\"edit-button\" state=<<row>>/>\n<<up-down-buttons parent:\"sheet\" child:\"row\">>\n<$macrocall $name=\"help-button\" state=<<row>>/>\n</h5>\n<$macrocall $name=\"help-content\" type=\"row\" state=<<row>>/>\n<$macrocall $name=\"expand-collapse-content\" state=<<row>> content=<<view-row-content>> class=\"tc-import-spec-row\"/>\n</div>\n\\end\n\n\\define list-rows()\n<div class=\"tc-import-spec-sheet-list\">\n<$list filter=\"[list<sheet>]\" variable=\"row\" emptyMessage=\"<div>(No row import specifiers)</div>\">\n<<view-row>>\n</$list>\n\\end\n\n\\define view-sheet-content()\n<$reveal state=\"\"\"$:/state/edit/$(sheet)$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"ul\" class=\"tc-import-spec-sheet-controls\" animate=\"yes\" retain=\"yes\">\n<li>\n<$macrocall $name=\"delete-item-button\" filter=\"[<sheet>] [<sheet>getlist[]] [<sheet>getlist[]getlist[]]\" parent=<<workbook>> title=<<sheet>> prompt=\" Delete this sheet\"/>\n</li>\n<li>\nTitle:\n<$tiddler tiddler=<<sheet>>>\n<<rename-current-tiddler>>\n</$tiddler>\n</li>\n<li>\nImport sheet name:\n<$edit-text tiddler=<<sheet>> field=\"import-sheet-name\" size=\"50\"/>\n</li>\n<li>\n<$button class=\"tc-btn-invisible\">\n<$action-createtiddler $basetitle=\"$:/_ExcelImporter/ImportSpecifiers/Row\" $savetitle=\"$:/temp/newtiddler\" import-spec-role=\"row\"/>\n<$action-listops $tiddler=<<sheet>> $subfilter=\"[{$:/temp/newtiddler}] +[putfirst[]]\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/edit/]] }}} $value=\"yes\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/expand/]] }}} $value=\"yes\"/>\n{{$:/core/images/new-button}} Add new row\n</$button>\n</li>\n</$reveal>\n<<list-rows>>\n\\end\n\n\\define view-sheet()\n<div class=\"tc-import-spec-sheet-wrapper\">\n<h4>\n<$macrocall $name=\"expand-collapse-button\" state=<<sheet>>/>\nSheet: <$link to=<<sheet>>><$view tiddler=<<sheet>> field=\"import-sheet-name\"/></$link>\n<$macrocall $name=\"edit-button\" state=<<sheet>>/>\n<<up-down-buttons parent:\"workbook\" child:\"sheet\">>\n<$macrocall $name=\"help-button\" state=<<sheet>>/>\n</h4>\n<$macrocall $name=\"help-content\" type=\"sheet\" state=<<sheet>>/>\n<$macrocall $name=\"expand-collapse-content\" state=<<sheet>> content=<<view-sheet-content>> class=\"tc-import-spec-sheet\"/>\n</div>\n\\end\n\n\\define list-sheets()\n<div class=\"tc-import-spec-workbook-list\">\n<$list filter=\"[list<workbook>]\" variable=\"sheet\" emptyMessage=\"<div>(No sheet import specifiers)</div>\">\n<<view-sheet>>\n</$list>\n</div>\n\\end\n\n\\define view-workbook-content()\n<$reveal state=\"\"\"$:/state/edit/$(workbook)$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"ul\" class=\"tc-import-spec-workbook-controls\" animate=\"yes\" retain=\"yes\">\n<li>\n<$macrocall $name=\"delete-item-button\" filter=\"[<workbook>] [<workbook>getlist[]] [<workbook>getlist[]getlist[]] [<workbook>getlist[]getlist[]getlist[]]\" prompt=\" Delete this workbook\"/>\n</li>\n<li>\nTitle:\n<$tiddler tiddler=<<workbook>>>\n<<rename-current-tiddler>>\n</$tiddler>\n</li>\n<li>\nCaption:\n<$edit-text tiddler=<<workbook>> field=\"caption\" size=\"50\"/>\n</li>\n<li>\n<$button class=\"tc-btn-invisible\">\n<$action-createtiddler $basetitle=\"$:/_ExcelImporter/ImportSpecifiers/Sheet\" $savetitle=\"$:/temp/newtiddler\" import-spec-role=\"sheet\" import-sheet-name=\"Sheet name\"/>\n<$action-listops $tiddler=<<workbook>> $subfilter=\"[{$:/temp/newtiddler}] +[putfirst[]]\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/edit/]] }}} $value=\"yes\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/expand/]] }}} $value=\"yes\"/>\n{{$:/core/images/new-button}} Add new sheet\n</$button>\n</li>\n</$reveal>\n<<list-sheets>>\n\\end\n\n\\define view-workbook()\n<div class=\"tc-import-spec-workbook-wrapper\">\n<h3>\n<$macrocall $name=\"expand-collapse-button\" state=<<workbook>>/>\nWorkbook: <$link to=<<workbook>>><$view tiddler=<<workbook>> field=\"caption\"/></$link>\n<$macrocall $name=\"edit-button\" state=<<workbook>>/>\n<$macrocall $name=\"help-button\" state=<<workbook>>/>\n</h3>\n<$macrocall $name=\"help-content\" type=\"workbook\" state=<<workbook>>/>\n<$macrocall $name=\"expand-collapse-content\" state=<<workbook>> content=<<view-workbook-content>> class=\"tc-import-spec-workbook\"/>\n</div>\n\\end\n\n\\define list-workbooks()\n<ul class=\"tc-import-spec-editor-controls\">\n<li>\n<$button class=\"tc-btn-invisible\">\n<$action-createtiddler $basetitle=\"$:/_ExcelImporter/ImportSpecifiers/Workbook\" $savetitle=\"$:/temp/newtiddler\" import-spec-role=\"workbook\" caption=\"New workbook\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/edit/]] }}} $value=\"yes\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/expand/]] }}} $value=\"yes\"/>\n{{$:/core/images/new-button}} Add new workbook\n</$button>\n</li>\n</ul>\n<div class=\"tc-import-spec-editor-list\">\n<$list filter=\"[all[shadows+tiddlers]import-spec-role[workbook]sort[caption]]\" variable=\"workbook\">\n<<view-workbook>>\n</$list>\n</div>\n\\end\n\n<h1>\nControls for XLSX Spreadsheet Utilities\n</h1>\n\n<div class=\"tc-import-spec-selector\">\n<h2>\nCurrent Import Specification\n</h2>\n<$list filter=\"[all[shadows+tiddlers]import-spec-role[workbook]limit[1]]\" emptyMessage=\"\"\"\nThere are no import specifications available. Use the controls below to create one\n\"\"\">\nThis is the import specification that will be used for the next import of an `.XLSX` file\n<$select tiddler=\"$:/config/plugins/tiddlywiki/xlsx-utils/default-import-spec\">\n<$list filter=\"[all[shadows+tiddlers]import-spec-role[workbook]sort[caption]]\">\n<option value=<<currentTiddler>>><$text text={{!!caption}}/></option>\n</$list>\n</$select>\n</$list>\n</div>\n\n<div class=\"tc-import-spec-editor-wrapper\">\n<h2>\n Import Specifications\n<$macrocall $name=\"help-button\" state=\"\"/>\n</h2>\n<$macrocall $name=\"help-content\" type=\"editor\" state=\"\"/>\n<div class=\"tc-import-spec-editor\">\n<<list-workbooks>>\n</div>\n</div>\n"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/deserializer.js": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/deserializer.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/xlsx-utils/deserializer.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nXLSX file deserializer\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse an XLSX file into tiddlers\n*/\nexports[\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"] = function(text,fields) {\n\t// Collect output tiddlers in an array\n\tvar results = [],\n\t\tXLSXImporter = require(\"$:/plugins/tiddlywiki/xlsx-utils/importer.js\").XLSXImporter,\n\t\timporter = new XLSXImporter({\n\t\t\ttext: text\n\t\t});\n\t// Return the output tiddlers\n\treturn importer.getResults();\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "tiddlerdeserializer"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/docs/editor": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/docs/editor",
            "text": "!!! Import Specifications\n\nImport specifications govern how spreadsheets are converted into individual tiddlers.\n\nEach \"workbook\" describes how spreadsheets of a particular format should be converted.\n"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/docs/row": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/docs/row",
            "text": "!!! Row Import Specifications\n\nEach row import specification describes how one tiddler should be extracted from each row of the current sheet.\n\nNote that using multiple row import specifications within a sheet enables multiple tiddlers to be created from each row of the sheet.\n\nRows contain a list of field import specifications that describe how each field of the tiddler should be created.\n\n!!! Field Import Specifications\n\nField import specifications describe the value given to a particular field of a tiddler.\n\nThey follow a rich syntax for describing how each field of the tiddler is created. For example:\n\n* Set field `title` to string from column `Organization`\n* Set field `role` to string constant `organization`\n* Append to list field `list` the string from column `Country` prefixed with `Map:`\n\n"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/docs/sheet": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/docs/sheet",
            "text": "!!! Sheet Import Specifications\n\nEach sheet import specification describes how a named sheet within a workbook should be converted into individual tiddlers.\n\nSheets contain a list of row import specifications that describe how individual rows of the sheet should be handled.\n\nEach sheet has the name of the sheet that it handles.\n\nNote that the first row of each sheet is interpreted as the title of each column.\n"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/docs/workbook": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/docs/workbook",
            "text": "!!! Workbook Import Specifications\n\nEach workbook import specification describes how spreadsheets of a particular format should be converted into individual tiddlers.\n\nCreate a new workbook for each type of spreadsheet that you will be working with.\n\nWorkbooks contain a list of sheet import specifications that describe how individual sheets of the workbook should be handled.\n\nEach workbook has a caption that you can use to describe its purpose.\n"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/xlsx.js": {
            "text": "var old_exports = exports,JSZip = require(\"$:/plugins/tiddlywiki/jszip/jszip.js\");exports = {};if($tw.browser){module.exports=undefined;};/* xlsx.js (C) 2013-2015 SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint -W041 */\n/*jshint funcscope:true, eqnull:true */\nvar XLSX = {};\n(function make_xlsx(XLSX){\nXLSX.version = '0.8.0';\nvar current_codepage = 1200, current_cptable;\nif(typeof module !== \"undefined\" && typeof require !== 'undefined') {\n\tif(typeof cptable === 'undefined') cptable = require('./dist/cpexcel');\n\tcurrent_cptable = cptable[current_codepage];\n}\nfunction reset_cp() { set_cp(1200); }\nvar set_cp = function(cp) { current_codepage = cp; };\n\nfunction char_codes(data) { var o = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\nvar debom_xml = function(data) { return data; };\n\nvar _getchar = function _gc1(x) { return String.fromCharCode(x); };\nif(typeof cptable !== 'undefined') {\n\tset_cp = function(cp) { current_codepage = cp; current_cptable = cptable[cp]; };\n\tdebom_xml = function(data) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.substr(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x) {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n}\nvar Base64 = (function make_b64(){\n\tvar map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\treturn {\n\t\tencode: function(input, utf8) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1, c2, c3, e1, e2, e3, e4;\n\t\t\tfor(var i = 0; i < input.length; ) {\n\t\t\t\tc1 = input.charCodeAt(i++);\n\t\t\t\tc2 = input.charCodeAt(i++);\n\t\t\t\tc3 = input.charCodeAt(i++);\n\t\t\t\te1 = c1 >> 2;\n\t\t\t\te2 = (c1 & 3) << 4 | c2 >> 4;\n\t\t\t\te3 = (c2 & 15) << 2 | c3 >> 6;\n\t\t\t\te4 = c3 & 63;\n\t\t\t\tif (isNaN(c2)) { e3 = e4 = 64; }\n\t\t\t\telse if (isNaN(c3)) { e4 = 64; }\n\t\t\t\to += map.charAt(e1) + map.charAt(e2) + map.charAt(e3) + map.charAt(e4);\n\t\t\t}\n\t\t\treturn o;\n\t\t},\n\t\tdecode: function b64_decode(input, utf8) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1, c2, c3;\n\t\t\tvar e1, e2, e3, e4;\n\t\t\tinput = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\t\t\tfor(var i = 0; i < input.length;) {\n\t\t\t\te1 = map.indexOf(input.charAt(i++));\n\t\t\t\te2 = map.indexOf(input.charAt(i++));\n\t\t\t\te3 = map.indexOf(input.charAt(i++));\n\t\t\t\te4 = map.indexOf(input.charAt(i++));\n\t\t\t\tc1 = e1 << 2 | e2 >> 4;\n\t\t\t\tc2 = (e2 & 15) << 4 | e3 >> 2;\n\t\t\t\tc3 = (e3 & 3) << 6 | e4;\n\t\t\t\to += String.fromCharCode(c1);\n\t\t\t\tif (e3 != 64) { o += String.fromCharCode(c2); }\n\t\t\t\tif (e4 != 64) { o += String.fromCharCode(c3); }\n\t\t\t}\n\t\t\treturn o;\n\t\t}\n\t};\n})();\nvar has_buf = (typeof Buffer !== 'undefined');\n\nfunction new_raw_buf(len) {\n\t/* jshint -W056 */\n\treturn new (has_buf ? Buffer : Array)(len);\n\t/* jshint +W056 */\n}\n\nfunction s2a(s) {\n\tif(has_buf) return new Buffer(s, \"binary\");\n\treturn s.split(\"\").map(function(x){ return x.charCodeAt(0) & 0xff; });\n}\n\nvar bconcat = function(bufs) { return [].concat.apply([], bufs); };\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/;\n/* ssf.js (C) 2013-2014 SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nvar SSF = {};\nvar make_ssf = function make_ssf(SSF){\nSSF.version = '0.8.1';\nfunction _strrev(x) { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\nfunction pad0(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v,d){var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v,d){var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v,d){var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = Math.pow(2,32);\nfunction pad0r(v,d){if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\nfunction isgeneral(s, i) { return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\n/* Options */\nvar opts_fmt = [\n\t[\"date1904\", 0],\n\t[\"output\", \"\"],\n\t[\"WTF\", false]\n];\nfunction fixopts(o){\n\tfor(var y = 0; y != opts_fmt.length; ++y) if(o[opts_fmt[y][0]]===undefined) o[opts_fmt[y][0]]=opts_fmt[y][1];\n}\nSSF.opts = opts_fmt;\nvar table_fmt = {\n\t0:  'General',\n\t1:  '0',\n\t2:  '0.00',\n\t3:  '#,##0',\n\t4:  '#,##0.00',\n\t9:  '0%',\n\t10: '0.00%',\n\t11: '0.00E+00',\n\t12: '# ?/?',\n\t13: '# ??/??',\n\t14: 'm/d/yy',\n\t15: 'd-mmm-yy',\n\t16: 'd-mmm',\n\t17: 'mmm-yy',\n\t18: 'h:mm AM/PM',\n\t19: 'h:mm:ss AM/PM',\n\t20: 'h:mm',\n\t21: 'h:mm:ss',\n\t22: 'm/d/yy h:mm',\n\t37: '#,##0 ;(#,##0)',\n\t38: '#,##0 ;[Red](#,##0)',\n\t39: '#,##0.00;(#,##0.00)',\n\t40: '#,##0.00;[Red](#,##0.00)',\n\t45: 'mm:ss',\n\t46: '[h]:mm:ss',\n\t47: 'mmss.0',\n\t48: '##0.0E+0',\n\t49: '@',\n\t56: '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"',\n\t65535: 'General'\n};\nvar days = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction frac(x, D, mixed) {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.0000000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { Q = Q_1; P = P_1; }\n\tif(Q > D) { Q = Q_2; P = P_2; }\n\tif(!mixed) return [0, sgn * P, Q];\n\tif(Q===0) throw \"Unexpected state: \"+P+\" \"+P_1+\" \"+P_2+\" \"+Q+\" \"+Q_1+\" \"+Q_2;\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction general_fmt_int(v, opts) { return \"\"+v; }\nSSF._general_int = general_fmt_int;\nvar general_fmt_num = (function make_general_fmt_num() {\nvar gnr1 = /\\.(\\d*[1-9])0+$/, gnr2 = /\\.0*$/, gnr4 = /\\.(\\d*[1-9])0+/, gnr5 = /\\.0*[Ee]/, gnr6 = /(E[+-])(\\d)$/;\nfunction gfn2(v) {\n\tvar w = (v<0?12:11);\n\tvar o = gfn5(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\nfunction gfn3(v) {\n\tvar o = v.toFixed(11).replace(gnr1,\".$1\");\n\tif(o.length > (v<0?12:11)) o = v.toPrecision(6);\n\treturn o;\n}\nfunction gfn4(o) {\n\tfor(var i = 0; i != o.length; ++i) if((o.charCodeAt(i) | 0x20) === 101) return o.replace(gnr4,\".$1\").replace(gnr5,\"E\").replace(\"e\",\"E\").replace(gnr6,\"$10$2\");\n\treturn o;\n}\nfunction gfn5(o) {\n\t//for(var i = 0; i != o.length; ++i) if(o.charCodeAt(i) === 46) return o.replace(gnr2,\"\").replace(gnr1,\".$1\");\n\t//return o;\n\treturn o.indexOf(\".\") > -1 ? o.replace(gnr2,\"\").replace(gnr1,\".$1\") : o;\n}\nreturn function general_fmt_num(v, opts) {\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = gfn2(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = gfn3(v);\n\treturn gfn5(gfn4(o));\n};})();\nSSF._general_num = general_fmt_num;\nfunction general_fmt(v, opts) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? general_fmt_int(v, opts) : general_fmt_num(v, opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\nSSF._general = general_fmt;\nfunction fix_hijri(date, o) { return 0; }\nfunction parse_date_code(v,opts,b2) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tfixopts(opts != null ? opts : (opts=[]));\n\tif(opts.date1904) date += 1462;\n\tif(out.u > 0.999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { time = 0; ++date; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 */\n\t\tvar d = new Date(1900,0,1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nSSF.parse_date_code = parse_date_code;\n/*jshint -W086 */\nfunction write_date(type, fmt, val, ss0) {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\tif(val.u === 0) switch(fmt) {\n\t\t\tcase 's': case 'ss': return pad0(val.S, fmt.length);\n\t\t\tcase '.0': case '.00': case '.000':\n\t\t}\n\t\tswitch(fmt) {\n\t\t\tcase 's': case 'ss': case '.0': case '.00': case '.000':\n\t\t\t\tif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\t\to = pad0(ss,2 + ss0);\n\t\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\t\tdefault: throw 'bad second format: ' + fmt;\n\t\t}\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1;\n\t}\n\tif(outl > 0) return pad0(out, outl); else return \"\";\n}\n/*jshint +W086 */\nfunction commaify(s) {\n\tif(s.length <= 3) return s;\n\tvar j = (s.length % 3), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=3) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,3);\n\treturn o;\n}\nvar write_num = (function make_write_num(){\nvar pct1 = /%/g;\nfunction write_num_pct(type, fmt, val){\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\nfunction write_num_cm(type, fmt, val){\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\nfunction write_num_exp(fmt, val){\n\tvar o;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(Math.abs(val))*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o[0] + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o[0] + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o[o.length-1];\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r, aval, sign) {\n\tvar den = parseInt(r[4]), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r, aval, sign) {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.(0+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str) {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val, d) { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val, d) { return Math.round((val-Math.floor(val))*Math.pow(10,d)); }\nfunction flr(val) { if(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0)); return \"\"+Math.floor(val); }\nfunction write_num_flt(type, fmt, val) {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt[1]==' '?2:1),val);\n\tvar o, oo;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1)) !== null) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/) !== null) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1)) !== null) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+r[1]).replace(/\\.$/,\".\"+r[1]).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", r[1].length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/)) !== null) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#,##0(\\.?)$/)) !== null) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/)) !== null) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/)) !== null) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/)) !== null) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri<o.length?o[ri++]:x==='0'?'0':\"\";}));\n\t}\n\tif(fmt.match(phone) !== null) {\n\t\to = write_num_flt(type, \"##########\", val);\n\t\treturn \"(\" + o.substr(0,3) + \") \" + o.substr(3, 3) + \"-\" + o.substr(6);\n\t}\n\tvar oa = \"\";\n\tif((r = fmt.match(/^([#0?]+)( ?)\\/( ?)([#0?]+)/)) !== null) {\n\t\tri = Math.min(r[4].length,7);\n\t\tff = frac(aval, Math.pow(10,ri)-1, false);\n\t\to = \"\" + sign;\n\t\toa = write_num(\"n\", r[1], ff[1]);\n\t\tif(oa[oa.length-1] == \" \") oa = oa.substr(0,oa.length-1) + \"0\";\n\t\to += oa + r[2] + \"/\" + r[3];\n\t\toa = rpad_(ff[2],ri);\n\t\tif(oa.length < r[4].length) oa = hashq(r[4].substr(r[4].length-oa.length)) + oa;\n\t\to += oa;\n\t\treturn o;\n\t}\n\tif((r = fmt.match(/^# ([#0?]+)( ?)\\/( ?)([#0?]+)/)) !== null) {\n\t\tri = Math.min(Math.max(r[1].length, r[4].length),7);\n\t\tff = frac(aval, Math.pow(10,ri)-1, true);\n\t\treturn sign + (ff[0]||(ff[1] ? \"\" : \"0\")) + \" \" + (ff[1] ? pad_(ff[1],ri) + r[2] + \"/\" + r[3] + rpad_(ff[2],ri): fill(\" \", 2*ri+1 + r[2].length + r[3].length));\n\t}\n\tif((r = fmt.match(/^[#0?]+$/)) !== null) {\n\t\to = pad0r(val, 0);\n\t\tif(fmt.length <= o.length) return o;\n\t\treturn hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n  if((r = fmt.match(/^([#0?]+)\\.([#0]+)$/)) !== null) {\n\t\to = \"\" + val.toFixed(Math.min(r[2].length,10)).replace(/([^0])0+$/,\"$1\");\n\t\tri = o.indexOf(\".\");\n\t\tvar lres = fmt.indexOf(\".\") - ri, rres = fmt.length - o.length - lres;\n\t\treturn hashq(fmt.substr(0,lres) + o + fmt.substr(fmt.length-rres));\n\t}\n\tif((r = fmt.match(/^00,000\\.([#0]*0)$/)) !== null) {\n\t\tri = dec(val, r[1].length);\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(flr(val)).replace(/^\\d,\\d{3}$/,\"0$&\").replace(/^\\d*$/,function($$) { return \"00,\" + ($$.length < 3 ? pad0(0,3-$$.length) : \"\") + $$; }) + \".\" + pad0(ri,r[1].length);\n\t}\n\tswitch(fmt) {\n\t\tcase \"#,###\": var x = commaify(pad0r(aval,0)); return x !== \"0\" ? sign + x : \"\";\n\t\tdefault:\n\t}\n\tthrow new Error(\"unsupported format |\" + fmt + \"|\");\n}\nfunction write_num_cm2(type, fmt, val){\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\nfunction write_num_pct2(type, fmt, val){\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\nfunction write_num_exp2(fmt, val){\n\tvar o;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(!o.match(/[Ee]/)) {\n\t\t\tvar fakee = Math.floor(Math.log(Math.abs(val))*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o[0] + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o[o.length-1];\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nfunction write_num_int(type, fmt, val) {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt[1]==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1)) !== null) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/) !== null) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1)) !== null) {\n\t\to = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+r[1]).replace(/\\.$/,\".\"+r[1]).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", r[1].length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/)) !== null) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#,##0(\\.?)$/)) !== null) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/)) !== null) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/)) !== null) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/)) !== null) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri<o.length?o[ri++]:x==='0'?'0':\"\";}));\n\t}\n\tif(fmt.match(phone) !== null) {\n\t\to = write_num_int(type, \"##########\", val);\n\t\treturn \"(\" + o.substr(0,3) + \") \" + o.substr(3, 3) + \"-\" + o.substr(6);\n\t}\n\tvar oa = \"\";\n\tif((r = fmt.match(/^([#0?]+)( ?)\\/( ?)([#0?]+)/)) !== null) {\n\t\tri = Math.min(r[4].length,7);\n\t\tff = frac(aval, Math.pow(10,ri)-1, false);\n\t\to = \"\" + sign;\n\t\toa = write_num(\"n\", r[1], ff[1]);\n\t\tif(oa[oa.length-1] == \" \") oa = oa.substr(0,oa.length-1) + \"0\";\n\t\to += oa + r[2] + \"/\" + r[3];\n\t\toa = rpad_(ff[2],ri);\n\t\tif(oa.length < r[4].length) oa = hashq(r[4].substr(r[4].length-oa.length)) + oa;\n\t\to += oa;\n\t\treturn o;\n\t}\n\tif((r = fmt.match(/^# ([#0?]+)( ?)\\/( ?)([#0?]+)/)) !== null) {\n\t\tri = Math.min(Math.max(r[1].length, r[4].length),7);\n\t\tff = frac(aval, Math.pow(10,ri)-1, true);\n\t\treturn sign + (ff[0]||(ff[1] ? \"\" : \"0\")) + \" \" + (ff[1] ? pad_(ff[1],ri) + r[2] + \"/\" + r[3] + rpad_(ff[2],ri): fill(\" \", 2*ri+1 + r[2].length + r[3].length));\n\t}\n\tif((r = fmt.match(/^[#0?]+$/)) !== null) {\n\t\to = \"\" + val;\n\t\tif(fmt.length <= o.length) return o;\n\t\treturn hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(/^([#0]+)\\.([#0]+)$/)) !== null) {\n\t\to = \"\" + val.toFixed(Math.min(r[2].length,10)).replace(/([^0])0+$/,\"$1\");\n\t\tri = o.indexOf(\".\");\n\t\tvar lres = fmt.indexOf(\".\") - ri, rres = fmt.length - o.length - lres;\n\t\treturn hashq(fmt.substr(0,lres) + o + fmt.substr(fmt.length-rres));\n\t}\n\tif((r = fmt.match(/^00,000\\.([#0]*0)$/)) !== null) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify(\"\"+val).replace(/^\\d,\\d{3}$/,\"0$&\").replace(/^\\d*$/,function($$) { return \"00,\" + ($$.length < 3 ? pad0(0,3-$$.length) : \"\") + $$; }) + \".\" + pad0(0,r[1].length);\n\t}\n\tswitch(fmt) {\n\t\tcase \"#,###\": var x = commaify(\"\"+aval); return x !== \"0\" ? sign + x : \"\";\n\t\tdefault:\n\t}\n\tthrow new Error(\"unsupported format |\" + fmt + \"|\");\n}\nreturn function write_num(type, fmt, val) {\n\treturn (val|0) === val ? write_num_int(type, fmt, val) : write_num_flt(type, fmt, val);\n};})();\nfunction split_fmt(fmt) {\n\tvar out = [];\n\tvar in_str = false, cc;\n\tfor(var i = 0, j = 0; i < fmt.length; ++i) switch((cc=fmt.charCodeAt(i))) {\n\t\tcase 34: /* '\"' */\n\t\t\tin_str = !in_str; break;\n\t\tcase 95: case 42: case 92: /* '_' '*' '\\\\' */\n\t\t\t++i; break;\n\t\tcase 59: /* ';' */\n\t\t\tout[out.length] = fmt.substr(j,i-j);\n\t\t\tj = i+1;\n\t}\n\tout[out.length] = fmt.substr(j);\n\tif(in_str === true) throw new Error(\"Format |\" + fmt + \"| unterminated string \");\n\treturn out;\n}\nSSF._split = split_fmt;\nvar abstime = /\\[[HhMmSs]*\\]/;\nfunction eval_fmt(fmt, v, opts, flen) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', q, dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt[i])) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt[++i], t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt[i+1] === \"1\" || fmt[i+1] === \"2\") {\n          if(dt==null) { dt=parse_date_code(v, opts, fmt[i+1] === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i<fmt.length && fmt[i].toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M'; /* m = minute */\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A':\n\t\t\t\tq={t:c, v:\"A\"};\n\t\t\t\tif(dt==null) dt=parse_date_code(v, opts);\n        if(fmt.substr(i, 3) === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n        else if(fmt.substr(i,5) === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt[i++] !== ']' && i < fmt.length) o += fmt[i];\n\t\t\t\tif(o.substr(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(abstime)) {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t} else { o=\"\"; }\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while((c=fmt[++i]) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(\"0#?.,E+-%\".indexOf(c=fmt[++i]) > -1 || c=='\\\\' && fmt[i+1] == \"-\" && \"0#\".indexOf(fmt[i+2])>-1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt[++i] === c) o+=c;\n\t\t\t\tq={t:c, v:o}; out[out.length] = q; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt[i] == ' ' || fmt[i] == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(\"0123456789\".indexOf(fmt[++i]) > -1) o+=fmt[i];\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': if(out[i].v === \"B2\");\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >=  60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >=  60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >=  60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i] = undefined; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\n\t\t\t\tout[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '(': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t(c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/') ||\n\t\t\t\t\tout[i].t === '(' && (c === ' ' || c === 'n' || c === ')') ||\n\t\t\t\t\tc === 't' && (out[jj].v === '/' || '$€'.indexOf(out[jj].v) > -1 || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?')\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = undefined; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = general_fmt(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v); /* '-' */\n\t\tostr = write_num(nstr.charCodeAt(0) === 40 ? '(' : 'n', nstr, myv); /* '(' */\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?('.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti<out.length) out[lasti].v = ostr.substr(0,jj+1) + out[lasti].v;\n\t\t}\n\t\telse if(decpt !== out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tjj = ostr.indexOf(\".\")-1;\n\t\t\tfor(i=decpt; i>= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?('.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v[j] === \"0\" || out[i].v[j] === \"#\")) vv = ostr[jj--] + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti<out.length) out[lasti].v = ostr.substr(0,jj+1) + out[lasti].v;\n\t\t\tjj = ostr.indexOf(\".\")+1;\n\t\t\tfor(i=decpt; i<out.length; ++i) {\n\t\t\t\tif(out[i] == null || 'n?('.indexOf(out[i].t) === -1 && i !== decpt ) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j<out[i].v.length; ++j) {\n\t\t\t\t\tif(jj<ostr.length) vv += ostr[jj++];\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t}\n\t}\n\tfor(i=0; i<out.length; ++i) if(out[i] != null && 'n(?'.indexOf(out[i].t)>-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\nSSF._eval = eval_fmt;\nvar cfregex = /\\[[=<>]/;\nvar cfregex2 = /\\[([=<>]*)(-?\\d+\\.?\\d*)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\":  if(v == thresh) return true; break;\n\t\tcase \">\":  if(v >  thresh) return true; break;\n\t\tcase \"<\":  if(v <  thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f, v) {\n\tvar fmt = split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw \"cannot find right format for |\" + fmt + \"|\";\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(cfregex) != null || fmt[1].match(cfregex) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction format(fmt,v,o) {\n\tfixopts(o != null ? o : (o=[]));\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\": sfmt = fmt; break;\n\t\tcase \"number\": sfmt = (o.table != null ? o.table : table_fmt)[fmt]; break;\n\t}\n\tif(isgeneral(sfmt,0)) return general_fmt(v, o);\n\tvar f = choose_fmt(sfmt, v);\n\tif(isgeneral(f[1])) return general_fmt(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nSSF._table = table_fmt;\nSSF.load = function load_entry(fmt, idx) { table_fmt[idx] = fmt; };\nSSF.format = format;\nSSF.get_table = function get_table() { return table_fmt; };\nSSF.load_table = function load_table(tbl) { for(var i=0; i!=0x0188; ++i) if(tbl[i] !== undefined) SSF.load(tbl[i], i); };\n};\nmake_ssf(SSF);\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap = {\n\t\"General Number\": \"General\",\n\t\"General Date\": SSF._table[22],\n\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\"Medium Date\": SSF._table[15],\n\t\"Short Date\": SSF._table[14],\n\t\"Long Time\": SSF._table[19],\n\t\"Medium Time\": SSF._table[18],\n\t\"Short Time\": SSF._table[20],\n\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"Fixed\": SSF._table[2],\n\t\"Standard\": SSF._table[4],\n\t\"Percent\": SSF._table[10],\n\t\"Scientific\": SSF._table[11],\n\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n};\n\nvar DO_NOT_EXPORT_CFB = true;\n/* cfb.js (C) 2013-2014 SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n\n/* [MS-CFB] v20130118 */\nvar CFB = (function _CFB(){\nvar exports = {};\nexports.version = '0.10.2';\nfunction parse(file) {\nvar mver = 3; // major version\nvar ssz = 512; // sector size\nvar nmfs = 0; // number of mini FAT sectors\nvar ndfs = 0; // number of DIFAT sectors\nvar dir_start = 0; // first directory sector location\nvar minifat_start = 0; // first mini FAT sector location\nvar difat_start = 0; // first mini FAT sector location\n\nvar fat_addrs = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob = file.slice(0,512);\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tdefault: throw \"Major Version: Expected 3 or 4 saw \" + mver;\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = file.slice(0,ssz); prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar nds = blob.read_shift(4, 'i');\nif(mver === 3 && nds !== 0) throw '# Directory Sectors: Expected 0 saw ' + nds;\n\n// Number of FAT Sectors\n//var nfs = blob.read_shift(4, 'i');\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\nndfs = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors = sectorify(file, ssz);\n\nsleuth_fat(difat_start, ndfs, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files = {}, Paths = [], FileIndex = [], FullPaths = [], FullPathDir = {};\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex);\n\nbuild_full_paths(FileIndex, FullPathDir, FullPaths, Paths);\n\nvar root_name = Paths.shift();\nPaths.root = root_name;\n\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nvar find_path = make_find_path(FullPaths, Paths, FileIndex, files, root_name);\n\nreturn {\n\traw: {header: header, sectors: sectors},\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths,\n\tFullPathDir: FullPathDir,\n\tfind: find_path\n};\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob) {\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\tblob.chk(HEADER_CLSID, 'CLSID: ');\n\n\t// minor version 2\n\tvar mver = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob, mver) {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\tblob.chk('feff', 'Byte Order: ');\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver !== 3) throw 'MajorVersion/SectorShift Mismatch'; break;\n\t\tcase 0x0c: if(mver !== 4) throw 'MajorVersion/SectorShift Mismatch'; break;\n\t\tdefault: throw 'Sector Shift: Expected 9 or 12 saw ' + shift;\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file, ssz) {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors = new Array(nsectors);\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI, FPD, FP, Paths) {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad = new Array(pl), q = new Array(pl);\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1) { dad[L] = dad[i]; q.push(L); }\n\t\tif(R !== -1) { dad[R] = dad[i]; q.push(R); }\n\t}\n\tfor(i=1; i !== pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = dad[i];\n\t\tif(j === 0) FP[i] = FP[0] + \"/\" + FP[i];\n\t\telse while(j !== 0) {\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t\tj = dad[j];\n\t\t}\n\t\tdad[i] = 0;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t\tFPD[FP[i]] = FI[i];\n\t}\n}\n\n/* [MS-CFB] 2.6.4 */\nfunction make_find_path(FullPaths, Paths, FileIndex, files, root_name) {\n\tvar UCFullPaths = new Array(FullPaths.length);\n\tvar UCPaths = new Array(Paths.length), i;\n\tfor(i = 0; i < FullPaths.length; ++i) UCFullPaths[i] = FullPaths[i].toUpperCase().replace(chr0,'').replace(chr1,'!');\n\tfor(i = 0; i < Paths.length; ++i) UCPaths[i] = Paths[i].toUpperCase().replace(chr0,'').replace(chr1,'!');\n\treturn function find_path(path) {\n\t\tvar k;\n\t\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k=true; path = root_name + path; }\n\t\telse k = path.indexOf(\"/\") !== -1;\n\t\tvar UCPath = path.toUpperCase().replace(chr0,'').replace(chr1,'!');\n\t\tvar w = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\t\tif(w === -1) return null;\n\t\treturn k === true ? FileIndex[w] : files[Paths[w]];\n\t};\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n    DIFAT chains by storing the next sector number as the last 32 bytes */\nfunction sleuth_fat(idx, cnt, sectors, ssz, fat_addrs) {\n\tvar q;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw \"DIFAT chain shorter than expected\";\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors, start, fat_addrs, ssz, chkd) {\n\tvar sl = sectors.length;\n\tvar buf, buf_chain;\n\tif(!chkd) chkd = new Array(sl);\n\tvar modulus = ssz - 1, j, jj;\n\tbuf = [];\n\tbuf_chain = [];\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw \"FAT boundary crossed: \" + j + \" 4 \"+ssz;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors, dir_start, fat_addrs, ssz) {\n\tvar sl = sectors.length, sector_list = new Array(sl);\n\tvar chkd = new Array(sl), buf, buf_chain;\n\tvar modulus = ssz - 1, i, j, k, jj;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = [];\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k] === true) continue;\n\t\tbuf_chain = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw \"FAT boundary crossed: \" + j + \" 4 \"+ssz;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t}\n\t\tsector_list[k] = {nodes: buf, data:__toBuffer([buf_chain])};\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex) {\n\tvar blob;\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name, o, ctime, mtime;\n\tfor(; i < sector.length; i+= 128) {\n\t\tblob = sector.slice(i, i+128);\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tif(namelen === 0) continue;\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\to = {\n\t\t\tname:  name,\n\t\t\ttype:  blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL:     blob.read_shift(4, 'i'),\n\t\t\tR:     blob.read_shift(4, 'i'),\n\t\t\tC:     blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i')\n\t\t};\n\t\tctime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) {\n\t\t\to.ctime = ctime; o.ct = read_date(blob, blob.l-8);\n\t\t}\n\t\tmtime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) {\n\t\t\to.mtime = mtime; o.mt = read_date(blob, blob.l-8);\n\t\t}\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = sector_list[o.start].data.slice(0,o.size);\n\t\t\tprep_blob(o.content, 0);\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN) {\n\t\t\t\to.content = sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);\n\t\t\t\tprep_blob(o.content, 0);\n\t\t\t}\n\t\t}\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob, offset) {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nvar fs;\nfunction readFileSync(filename, options) {\n\tif(fs === undefined) fs = require('fs');\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction readSync(blob, options) {\n\tswitch(options !== undefined && options.type !== undefined ? options.type : \"base64\") {\n\t\tcase \"file\": return readFileSync(blob, options);\n\t\tcase \"base64\": return parse(s2a(Base64.decode(blob)), options);\n\t\tcase \"binary\": return parse(s2a(blob), options);\n\t}\n\treturn parse(blob);\n}\n\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nexports.read = readSync;\nexports.parse = parse;\nexports.utils = {\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nif(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; }\nfunction isval(x) { return x !== undefined && x !== null; }\n\nfunction keys(o) { return Object.keys(o); }\n\nfunction evert_key(obj, key) {\n\tvar o = [], K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj) {\n\tvar o = [], K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj) {\n\tvar o = [], K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj) {\n\tvar o = [], K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\n/* TODO: date1904 logic */\nfunction datenum(v, date1904) {\n\tif(date1904) v+=1462;\n\tvar epoch = Date.parse(v);\n\treturn (epoch + 2209161600000) / (24 * 60 * 60 * 1000);\n}\n\nfunction cc2str(arr) {\n\tvar o = \"\";\n\tfor(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]);\n\treturn o;\n}\n\nfunction getdata(data) {\n\tif(!data) return null;\n\tif(data.name.substr(-4) === \".bin\") {\n\t\tif(data.data) return char_codes(data.data);\n\t\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\t\tif(data._data && data._data.getContent) return Array.prototype.slice.call(data._data.getContent());\n\t} else {\n\t\tif(data.data) return data.name.substr(-4) !== \".bin\" ? debom_xml(data.data) : char_codes(data.data);\n\t\tif(data.asNodeBuffer && has_buf) return debom_xml(data.asNodeBuffer().toString('binary'));\n\t\tif(data.asBinary) return debom_xml(data.asBinary());\n\t\tif(data._data && data._data.getContent) return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\t}\n\treturn null;\n}\n\nfunction safegetzipfile(zip, file) {\n\tvar f = file; if(zip.files[f]) return zip.files[f];\n\tf = file.toLowerCase(); if(zip.files[f]) return zip.files[f];\n\tf = f.replace(/\\//g,'\\\\'); if(zip.files[f]) return zip.files[f];\n\treturn null;\n}\n\nfunction getzipfile(zip, file) {\n\tvar o = safegetzipfile(zip, file);\n\tif(o == null) throw new Error(\"Cannot find file \" + file + \" in zip\");\n\treturn o;\n}\n\nfunction getzipdata(zip, file, safe) {\n\tif(!safe) return getdata(getzipfile(zip, file));\n\tif(!file) return null;\n\ttry { return getzipdata(zip, file); } catch(e) { return null; }\n}\n\nvar _fs, jszip;\nif(typeof JSZip !== 'undefined') jszip = JSZip;\nif (typeof exports !== 'undefined') {\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tif(has_buf && typeof jszip === 'undefined') jszip = require('js'+'zip');\n\t\tif(typeof jszip === 'undefined') jszip = require('./js'+'zip').JSZip;\n\t\t_fs = require('f'+'s');\n\t}\n}\nvar attregexg=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar tagregex=/<[^>]*>/g;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag, skip_root) {\n\tvar z = [];\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.substr(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, w=\"\", v=\"\", i=0, q=\"\", cc=\"\";\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.substr(0,c); v = cc.substring(c+2, cc.length-1);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) z[q] = v;\n\t\telse z[(j===5 && q.substr(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.substr(j+1)] = v;\n\t}\n\treturn z;\n}\nfunction strip_ns(x) { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'&quot;': '\"',\n\t'&apos;': \"'\",\n\t'&gt;': '>',\n\t'&lt;': '<',\n\t'&amp;': '&'\n};\nvar rencoding = evert(encodings);\nvar rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml = (function() {\n\tvar encregex = /&[a-z]*;/g, coderegex = /_x([\\da-fA-F]+)_/g;\n\treturn function unescapexml(text){\n\t\tvar s = text + '';\n\t\treturn s.replace(encregex, function($$) { return encodings[$$]; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).substr(-4) + \"_\";});\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr = (function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str) { return str.replace(entregex,entrepl); };\n})();\n\nfunction parsexmlbool(value, tag) {\n\tswitch(value) {\n\t\tcase '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nvar utf8read = function utf8reada(orig) {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { out += String.fromCharCode(((c & 31) << 6) | (d & 63)); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n};\n\n\nif(has_buf) {\n\tvar utf8readb = function utf8readb(data) {\n\t\tvar out = new Buffer(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\t\tfor(i = 0; i < data.length; i+=j) {\n\t\t\tj = 1;\n\t\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\t\telse { j = 4;\n\t\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t\t}\n\t\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t\t}\n\t\tout.length = k;\n\t\treturn out.toString('ucs2');\n\t};\n\tvar corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\n\tif(utf8read(corpus) == utf8readb(corpus)) utf8read = utf8readb;\n\tvar utf8readc = function utf8readc(data) { return Buffer(data, 'binary').toString('utf8'); };\n\tif(utf8read(corpus) == utf8readc(corpus)) utf8read = utf8readc;\n}\n\n// matches <foo>...</foo> extracts content\nvar matchtag = (function() {\n\tvar mtcache = {};\n\treturn function matchtag(f,g) {\n\t\tvar t = f+\"|\"+g;\n\t\tif(mtcache[t] !== undefined) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([^\\u2603]*)</(?:\\\\w+:)?'+f+'>',(g||\"\")));\n\t};\n})();\n\nvar vtregex = (function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<vt:\" + bt + \">(.*?)</vt:\" + bt + \">\", 'g') );\n};})();\nvar vtvregex = /<\\/?vt:variant>/g, vtmregex = /<vt:([^>]*)>(.*)</;\nfunction parseVector(data) {\n\tvar h = parsexmltag(data);\n\n\tvar matches = data.match(vtregex(h.baseType))||[];\n\tif(matches.length != h.size) throw \"unexpected vector length \" + matches.length + \" != \" + h.size;\n\tvar res = [];\n\tmatches.forEach(function(x) {\n\t\tvar v = x.replace(vtvregex,\"\").match(vtmregex);\n\t\tres.push({v:v[2], t:v[1]});\n\t});\n\treturn res;\n}\n\nvar wtregex = /(^\\s|\\s$|\\n)/;\nfunction writetag(f,g) {return '<' + f + (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '</' + f + '>';}\n\nfunction wxt_helper(h) { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f,g,h) { return '<' + f + (isval(h) ? wxt_helper(h) : \"\") + (isval(g) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '</' + f : \"/\") + '>';}\n\nfunction write_w3cdtf(d, t) { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } }\n\nfunction write_vt(s) {\n\tswitch(typeof s) {\n\t\tcase 'string': return writextag('vt:lpwstr', s);\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', String(s));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nvar XML_HEADER = '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\r\\n';\nvar XMLNS = {\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n};\n\nXMLNS.main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nfunction readIEEE754(buf, idx, isLE, nl, ml) {\n\tif(isLE === undefined) isLE = true;\n\tif(!nl) nl = 8;\n\tif(!ml && nl === 8) ml = 52;\n\tvar e, m, el = nl * 8 - ml - 1, eMax = (1 << el) - 1, eBias = eMax >> 1;\n\tvar bits = -7, d = isLE ? -1 : 1, i = isLE ? (nl - 1) : 0, s = buf[idx + i];\n\n\ti += d;\n\te = s & ((1 << (-bits)) - 1); s >>>= (-bits); bits += el;\n\tfor (; bits > 0; e = e * 256 + buf[idx + i], i += d, bits -= 8);\n\tm = e & ((1 << (-bits)) - 1); e >>>= (-bits); bits += ml;\n\tfor (; bits > 0; m = m * 256 + buf[idx + i], i += d, bits -= 8);\n\tif (e === eMax) return m ? NaN : ((s ? -1 : 1) * Infinity);\n\telse if (e === 0) e = 1 - eBias;\n\telse { m = m + Math.pow(2, ml); e = e - eBias; }\n\treturn (s ? -1 : 1) * m * Math.pow(2, e - ml);\n}\n\nvar __toBuffer, ___toBuffer;\n__toBuffer = ___toBuffer = function toBuffer_(bufs) { var x = []; for(var i = 0; i < bufs[0].length; ++i) { x.push.apply(x, bufs[0][i]); } return x; };\nvar __utf16le, ___utf16le;\n__utf16le = ___utf16le = function utf16le_(b,s,e) { var ss=[]; for(var i=s; i<e; i+=2) ss.push(String.fromCharCode(__readUInt16LE(b,i))); return ss.join(\"\"); };\nvar __hexlify, ___hexlify;\n__hexlify = ___hexlify = function hexlify_(b,s,l) { return b.slice(s,(s+l)).map(function(x){return (x<16?\"0\":\"\") + x.toString(16);}).join(\"\"); };\nvar __utf8, ___utf8;\n__utf8 = ___utf8 = function(b,s,e) { var ss=[]; for(var i=s; i<e; i++) ss.push(String.fromCharCode(__readUInt8(b,i))); return ss.join(\"\"); };\nvar __lpstr, ___lpstr;\n__lpstr = ___lpstr = function lpstr_(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpwstr, ___lpwstr;\n__lpwstr = ___lpwstr = function lpwstr_(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __double, ___double;\n__double = ___double = function(b, idx) { return readIEEE754(b, idx);};\n\nvar is_buf = function is_buf_a(a) { return Array.isArray(a); };\nif(has_buf) {\n\t__utf16le = function utf16le_b(b,s,e) { if(!Buffer.isBuffer(b)) return ___utf16le(b,s,e); return b.toString('utf16le',s,e); };\n\t__hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); };\n\t__lpstr = function lpstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b,i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__utf8 = function utf8_b(s,e) { return this.toString('utf8',s,e); };\n\t__toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);};\n\tbconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); };\n\t__double = function double_(b,i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a); };\n}\n\n/* from js-xls */\nif(typeof cptable !== 'undefined') {\n\t__utf16le = function(b,s,e) { return cptable.utils.decode(1200, b.slice(s,e)); };\n\t__utf8 = function(b,s,e) { return cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n}\n\nvar __readUInt8 = function(b, idx) { return b[idx]; };\nvar __readUInt16LE = function(b, idx) { return b[idx+1]*(1<<8)+b[idx]; };\nvar __readInt16LE = function(b, idx) { var u = b[idx+1]*(1<<8)+b[idx]; return (u < 0x8000) ? u : (0xffff - u + 1) * -1; };\nvar __readUInt32LE = function(b, idx) { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b, idx) { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\n\nvar ___unhexlify = function(s) { return s.match(/../g).map(function(x) { return parseInt(x,16);}); };\nvar __unhexlify = typeof Buffer !== \"undefined\" ? function(s) { return Buffer.isBuffer(s) ? new Buffer(s, 'hex') : ___unhexlify(s); } : ___unhexlify;\n\nfunction ReadShift(size, t) {\n\tvar o=\"\", oI, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i != size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr': o = __lpstr(this, this.l); size = 5 + o.length; break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 5 + o.length; if(o[o.length-1] == '\\u0000') size += 2; break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase 'wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4:\n\t\t\tif(t === 'i' || (this[this.l+3] & 0x80)===0) { oI = __readInt32LE(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; return oR; } break;\n\t\tcase 8: if(t === 'f') { oR = __double(this, this.l); this.l += 8; return oR; }\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nfunction WriteShift(t, val, f) {\n\tvar size, i;\n\tif(f === 'dbcs') {\n\t\tfor(i = 0; i != val.length; ++i) this.writeUInt16LE(val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else switch(t) {\n\t\tcase  1: size = 1; this[this.l] = val&255; break;\n\t\tcase  3: size = 3; this[this.l+2] = val & 255; val >>>= 8; this[this.l+1] = val&255; val >>>= 8; this[this.l] = val&255; break;\n\t\tcase  4: size = 4; this.writeUInt32LE(val, this.l); break;\n\t\tcase  8: size = 8; if(f === 'f') { this.writeDoubleLE(val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; this.writeInt32LE(val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr, fld) {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw fld + 'Expected ' + hexstr + ' saw ' + m;\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos) {\n\tblob.l = pos;\n\tblob.read_shift = ReadShift;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length) { blob.l += length; }\n\nfunction writenoop(blob, length) { blob.l += length; }\n\nfunction new_buf(sz) {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb, opts) {\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\twhile(data.l < data.length) {\n\t\tvar RT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\tvar d = R.f(data, length, opts);\n\t\tif(cb(d, R, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array() {\n\tvar bufs = [], blksz = 2048;\n\tvar newblk = function ba_newblk(sz) {\n\t\tvar o = new_buf(sz);\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tcurbuf.length = curbuf.l;\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz) {\n\t\tif(sz < curbuf.length - curbuf.l) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn __toBuffer([bufs]);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; next(blksz); };\n\n\treturn { next:next, push:push, end:end, _bufs:bufs };\n}\n\nfunction write_record(ba, type, payload, length) {\n\tvar t = evert_RE[type], l;\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1 + length;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell, tgt) {\n\tif(tgt.s) {\n\t\tif(cell.cRel) cell.c += tgt.s.c;\n\t\tif(cell.rRel) cell.r += tgt.s.r;\n\t} else {\n\t\tcell.c += tgt.c;\n\t\tcell.r += tgt.r;\n\t}\n\tcell.cRel = cell.rRel = 0;\n\twhile(cell.c >= 0x100) cell.c -= 0x100;\n\twhile(cell.r >= 0x10000) cell.r -= 0x10000;\n\treturn cell;\n}\n\nfunction shift_range_xls(cell, range) {\n\tcell.s = shift_cell_xls(cell.s, range.s);\n\tcell.e = shift_cell_xls(cell.e, range.s);\n\treturn cell;\n}\n\nvar OFFCRYPTO = {};\nvar make_offcrypto = function(O, _crypto) {\n\tvar crypto;\n\tif(typeof _crypto !== 'undefined') crypto = _crypto;\n\telse if(typeof require !== 'undefined') {\n\t\ttry { crypto = require('cry'+'pto'); }\n\t\tcatch(e) { crypto = null; }\n\t}\n\n\tO.rc4 = function(key, data) {\n\t\tvar S = new Array(256);\n\t\tvar c = 0, i = 0, j = 0, t = 0;\n\t\tfor(i = 0; i != 256; ++i) S[i] = i;\n\t\tfor(i = 0; i != 256; ++i) {\n\t\t\tj = (j + S[i] + (key[i%key.length]).charCodeAt(0))&255;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t}\n\t\ti = j = 0; out = Buffer(data.length);\n\t\tfor(c = 0; c != data.length; ++c) {\n\t\t\ti = (i + 1)&255;\n\t\t\tj = (j + S[i])%256;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t\tout[c] = (data[c] ^ S[(S[i]+S[j])&255]);\n\t\t}\n\t\treturn out;\n\t};\n\n\tif(crypto) {\n\t\tO.md5 = function(hex) { return crypto.createHash('md5').update(hex).digest('hex'); };\n\t} else {\n\t\tO.md5 = function(hex) { throw \"unimplemented\"; };\n\t}\n};\nmake_offcrypto(OFFCRYPTO, typeof crypto !== \"undefined\" ? crypto : undefined);\n\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data, length) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\n\n/* [MS-XLSB] 2.1.7.121 */\nfunction parse_RichStr(data, length) {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = { t: str, h: str };\n\tif((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor(var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = \"<t>\" + escapexml(str) + \"</t>\";\n\tif((flags & 2) !== 0) { /* fExtStr */\n\t\t/* TODO: phonetic string */\n\t}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str, o) {\n\t/* TODO: formatted string */\n\tif(o == null) o = new_buf(5+2*str.t.length);\n\to.write_shift(1,0);\n\twrite_XLWideString(str.t, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data) {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tvar fPhShow = data.read_shift(1);\n\treturn { c:col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell, o) {\n\tif(o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef === undefined ? cell.iStyleRef : cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.5.21 */\nfunction parse_XLSBCodeName (data, length) { return parse_XLWideString(data, length); }\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif(data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data, o) {\n\tif(o == null) o = new_buf(4+2*data.length);\n\to.write_shift(4, data.length);\n\tif(data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLSB] 2.5.122 */\n/* [MS-XLS] 2.5.217 */\nfunction parse_RkNumber(data) {\n\tvar b = data.slice(data.l, data.l+4);\n\tvar fX100 = b[0] & 1, fInt = b[0] & 2;\n\tdata.l+=4;\n\tb[0] &= 0xFC; // b[0] &= ~3;\n\tvar RK = fInt === 0 ? __double([0,0,0,0,b[0],b[1],b[2],b[3]],0) : __readInt32LE(b,0)>>2;\n\treturn fX100 ? RK/100 : RK;\n}\n\n/* [MS-XLSB] 2.5.153 */\nfunction parse_UncheckedRfX(data) {\n\tvar cell = {s: {}, e: {}};\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\n\nfunction write_UncheckedRfX(r, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.171 */\n/* [MS-XLS] 2.5.342 */\nfunction parse_Xnum(data, length) { return data.read_shift(8, 'f'); }\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, 'f', data); }\n\n/* [MS-XLSB] 2.5.198.2 */\nvar BErr = {\n\t0x00: \"#NULL!\",\n\t0x07: \"#DIV/0!\",\n\t0x0F: \"#VALUE!\",\n\t0x17: \"#REF!\",\n\t0x1D: \"#NAME?\",\n\t0x24: \"#NUM!\",\n\t0x2A: \"#N/A\",\n\t0x2B: \"#GETTING_DATA\",\n\t0xFF: \"#WTF?\"\n};\nvar RBErr = evert_num(BErr);\n\n/* [MS-XLSB] 2.4.321 BrtColor */\nfunction parse_BrtColor(data, length) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\tout.fValidRGB = d & 1;\n\tout.xColorType = d >>> 1;\n\tout.index = data.read_shift(1);\n\tout.nTintAndShade = data.read_shift(2, 'i');\n\tout.bRed   = data.read_shift(1);\n\tout.bGreen = data.read_shift(1);\n\tout.bBlue  = data.read_shift(1);\n\tout.bAlpha = data.read_shift(1);\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data, length) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfItalic: d & 0x2,\n\t\tfStrikeout: d & 0x8,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\n/* [MS-OLEPS] 2.2 PropertyType */\n{\n\tvar VT_EMPTY    = 0x0000;\n\tvar VT_NULL     = 0x0001;\n\tvar VT_I2       = 0x0002;\n\tvar VT_I4       = 0x0003;\n\tvar VT_R4       = 0x0004;\n\tvar VT_R8       = 0x0005;\n\tvar VT_CY       = 0x0006;\n\tvar VT_DATE     = 0x0007;\n\tvar VT_BSTR     = 0x0008;\n\tvar VT_ERROR    = 0x000A;\n\tvar VT_BOOL     = 0x000B;\n\tvar VT_VARIANT  = 0x000C;\n\tvar VT_DECIMAL  = 0x000E;\n\tvar VT_I1       = 0x0010;\n\tvar VT_UI1      = 0x0011;\n\tvar VT_UI2      = 0x0012;\n\tvar VT_UI4      = 0x0013;\n\tvar VT_I8       = 0x0014;\n\tvar VT_UI8      = 0x0015;\n\tvar VT_INT      = 0x0016;\n\tvar VT_UINT     = 0x0017;\n\tvar VT_LPSTR    = 0x001E;\n\tvar VT_LPWSTR   = 0x001F;\n\tvar VT_FILETIME = 0x0040;\n\tvar VT_BLOB     = 0x0041;\n\tvar VT_STREAM   = 0x0042;\n\tvar VT_STORAGE  = 0x0043;\n\tvar VT_STREAMED_Object  = 0x0044;\n\tvar VT_STORED_Object    = 0x0045;\n\tvar VT_BLOB_Object      = 0x0046;\n\tvar VT_CF       = 0x0047;\n\tvar VT_CLSID    = 0x0048;\n\tvar VT_VERSIONED_STREAM = 0x0049;\n\tvar VT_VECTOR   = 0x1000;\n\tvar VT_ARRAY    = 0x2000;\n\n\tvar VT_STRING   = 0x0050; // 2.3.3.1.11 VtString\n\tvar VT_USTR     = 0x0051; // 2.3.3.1.12 VtUnalignedString\n\tvar VT_CUSTOM   = [VT_STRING, VT_USTR];\n}\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n\t0x01: { n: 'CodePage', t: VT_I2 },\n\t0x02: { n: 'Category', t: VT_STRING },\n\t0x03: { n: 'PresentationFormat', t: VT_STRING },\n\t0x04: { n: 'ByteCount', t: VT_I4 },\n\t0x05: { n: 'LineCount', t: VT_I4 },\n\t0x06: { n: 'ParagraphCount', t: VT_I4 },\n\t0x07: { n: 'SlideCount', t: VT_I4 },\n\t0x08: { n: 'NoteCount', t: VT_I4 },\n\t0x09: { n: 'HiddenCount', t: VT_I4 },\n\t0x0a: { n: 'MultimediaClipCount', t: VT_I4 },\n\t0x0b: { n: 'Scale', t: VT_BOOL },\n\t0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT },\n\t0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR },\n\t0x0e: { n: 'Manager', t: VT_STRING },\n\t0x0f: { n: 'Company', t: VT_STRING },\n\t0x10: { n: 'LinksDirty', t: VT_BOOL },\n\t0x11: { n: 'CharacterCount', t: VT_I4 },\n\t0x13: { n: 'SharedDoc', t: VT_BOOL },\n\t0x16: { n: 'HLinksChanged', t: VT_BOOL },\n\t0x17: { n: 'AppVersion', t: VT_I4, p: 'version' },\n\t0x1A: { n: 'ContentType', t: VT_STRING },\n\t0x1B: { n: 'ContentStatus', t: VT_STRING },\n\t0x1C: { n: 'Language', t: VT_STRING },\n\t0x1D: { n: 'Version', t: VT_STRING },\n\t0xFF: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n\t0x01: { n: 'CodePage', t: VT_I2 },\n\t0x02: { n: 'Title', t: VT_STRING },\n\t0x03: { n: 'Subject', t: VT_STRING },\n\t0x04: { n: 'Author', t: VT_STRING },\n\t0x05: { n: 'Keywords', t: VT_STRING },\n\t0x06: { n: 'Comments', t: VT_STRING },\n\t0x07: { n: 'Template', t: VT_STRING },\n\t0x08: { n: 'LastAuthor', t: VT_STRING },\n\t0x09: { n: 'RevNumber', t: VT_STRING },\n\t0x0A: { n: 'EditTime', t: VT_FILETIME },\n\t0x0B: { n: 'LastPrinted', t: VT_FILETIME },\n\t0x0C: { n: 'CreatedDate', t: VT_FILETIME },\n\t0x0D: { n: 'ModifiedDate', t: VT_FILETIME },\n\t0x0E: { n: 'PageCount', t: VT_I4 },\n\t0x0F: { n: 'WordCount', t: VT_I4 },\n\t0x10: { n: 'CharCount', t: VT_I4 },\n\t0x11: { n: 'Thumbnail', t: VT_CF },\n\t0x12: { n: 'ApplicationName', t: VT_LPSTR },\n\t0x13: { n: 'DocumentSecurity', t: VT_I4 },\n\t0xFF: {}\n};\n\n/* [MS-OLEPS] 2.18 */\nvar SpecialProperties = {\n\t0x80000000: { n: 'Locale', t: VT_UI4 },\n\t0x80000003: { n: 'Behavior', t: VT_UI4 },\n\t0x72627262: {}\n};\n\n(function() {\n\tfor(var y in SpecialProperties) if(SpecialProperties.hasOwnProperty(y))\n\tDocSummaryPIDDSI[y] = SummaryPIDSI[y] = SpecialProperties[y];\n})();\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n\t0x0001: \"US\", // United States\n\t0x0002: \"CA\", // Canada\n\t0x0003: \"\", // Latin America (except Brazil)\n\t0x0007: \"RU\", // Russia\n\t0x0014: \"EG\", // Egypt\n\t0x001E: \"GR\", // Greece\n\t0x001F: \"NL\", // Netherlands\n\t0x0020: \"BE\", // Belgium\n\t0x0021: \"FR\", // France\n\t0x0022: \"ES\", // Spain\n\t0x0024: \"HU\", // Hungary\n\t0x0027: \"IT\", // Italy\n\t0x0029: \"CH\", // Switzerland\n\t0x002B: \"AT\", // Austria\n\t0x002C: \"GB\", // United Kingdom\n\t0x002D: \"DK\", // Denmark\n\t0x002E: \"SE\", // Sweden\n\t0x002F: \"NO\", // Norway\n\t0x0030: \"PL\", // Poland\n\t0x0031: \"DE\", // Germany\n\t0x0034: \"MX\", // Mexico\n\t0x0037: \"BR\", // Brazil\n\t0x003d: \"AU\", // Australia\n\t0x0040: \"NZ\", // New Zealand\n\t0x0042: \"TH\", // Thailand\n\t0x0051: \"JP\", // Japan\n\t0x0052: \"KR\", // Korea\n\t0x0054: \"VN\", // Viet Nam\n\t0x0056: \"CN\", // China\n\t0x005A: \"TR\", // Turkey\n\t0x0069: \"JS\", // Ramastan\n\t0x00D5: \"DZ\", // Algeria\n\t0x00D8: \"MA\", // Morocco\n\t0x00DA: \"LY\", // Libya\n\t0x015F: \"PT\", // Portugal\n\t0x0162: \"IS\", // Iceland\n\t0x0166: \"FI\", // Finland\n\t0x01A4: \"CZ\", // Czech Republic\n\t0x0376: \"TW\", // Taiwan\n\t0x03C1: \"LB\", // Lebanon\n\t0x03C2: \"JO\", // Jordan\n\t0x03C3: \"SY\", // Syria\n\t0x03C4: \"IQ\", // Iraq\n\t0x03C5: \"KW\", // Kuwait\n\t0x03C6: \"SA\", // Saudi Arabia\n\t0x03CB: \"AE\", // United Arab Emirates\n\t0x03CC: \"IL\", // Israel\n\t0x03CE: \"QA\", // Qatar\n\t0x03D5: \"IR\", // Iran\n\t0xFFFF: \"US\"  // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\nvar XLSIcv = rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Sheet */\n\t0xFFFFFF,\n\t0x000000\n]);\n\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary <SpreadsheetML> */\n/* 14.2 Part Summary <DrawingML> */\n/* [MS-XLSX] 2.1 Part Enumerations */\n/* [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type = {\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Chartsheet */\n\t\"application/vnd.ms-excel.chartsheet\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": \"TODO\",\n\n\t/* Dialogsheet */\n\t\"application/vnd.ms-excel.dialogsheet\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": \"TODO\",\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.macrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.macrosheet+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\n\t/* Comments */\n\t\"application/vnd.ms-excel.comments\": \"comments\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": \"comments\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"TODO\",\n\n\t/* Metadata */\n\t\"application/vnd.ms-excel.sheetMetadata\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"TODO\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"vba\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t\"sheet\": \"js\"\n};\n\nvar CT_LIST = (function(){\n\tvar o = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tsheets: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tstyles: {/* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n\t};\n\tkeys(o).forEach(function(k) { if(!o[k].xlsm) o[k].xlsm = o[k].xlsx; });\n\tkeys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); });\n\treturn o;\n})();\n\nvar type2ct = evert_arr(ct2type);\n\nXMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types';\n\nfunction parse_ct(data, opts) {\n\tvar ctext = {};\n\tif(!data || !data.match) return data;\n\tvar ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [],\n\t\tcoreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [],\n\t\tTODO:[], rels:[], xmlns: \"\" };\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase '<?xml': break;\n\t\t\tcase '<Types': ct.xmlns = y['xmlns' + (y[0].match(/<(\\w+):/)||[\"\",\"\"])[1] ]; break;\n\t\t\tcase '<Default': ctext[y.Extension] = y.ContentType; break;\n\t\t\tcase '<Override':\n\t\t\t\tif(ct[ct2type[y.ContentType]] !== undefined) ct[ct2type[y.ContentType]].push(y.PartName);\n\t\t\t\telse if(opts.WTF) console.error(y);\n\t\t\t\tbreak;\n\t\t}\n\t});\n\tif(ct.xmlns !== XMLNS.CT) throw new Error(\"Unknown Namespace: \" + ct.xmlns);\n\tct.calcchain = ct.calcchains.length > 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nvar CTYPE_XML_ROOT = writextag('Types', null, {\n\t'xmlns': XMLNS.CT,\n\t'xmlns:xsd': XMLNS.xsd,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nvar CTYPE_DEFAULTS = [\n\t['xml', 'application/xml'],\n\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t['rels', type2ct.rels[0]]\n].map(function(x) {\n\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n});\n\nfunction write_ct(ct, opts) {\n\tvar o = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (CTYPE_XML_ROOT);\n\to = o.concat(CTYPE_DEFAULTS);\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\tvar f2 = function(w) {\n\t\tct[w].forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\tf1('workbooks');\n\tf2('sheets');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tif(o.length>2){ o[o.length] = ('</Types>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3.2 OPC Relationships Markup */\nvar RELS = {\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\"\n};\n\nfunction parse_rels(data, currentFilePath) {\n\tif (!data) return data;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar rels = {};\n\tvar hash = {};\n\tvar resolveRelativePathIntoAbsolute = function (to) {\n\t\tvar toksFrom = currentFilePath.split('/');\n\t\ttoksFrom.pop(); // folder path\n\t\tvar toksTo = to.split('/');\n\t\tvar reversed = [];\n\t\twhile (toksTo.length !== 0) {\n\t\t\tvar tokTo = toksTo.shift();\n\t\t\tif (tokTo === '..') {\n\t\t\t\ttoksFrom.pop();\n\t\t\t} else if (tokTo !== '.') {\n\t\t\t\ttoksFrom.push(tokTo);\n\t\t\t}\n\t\t}\n\t\treturn toksFrom.join('/');\n\t};\n\n\tdata.match(tagregex).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '<Relationship') {\n\t\t\tvar rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; rel.TargetMode = y.TargetMode;\n\t\t\tvar canonictarget = y.TargetMode === 'External' ? y.Target : resolveRelativePathIntoAbsolute(y.Target);\n\t\t\trels[canonictarget] = rel;\n\t\t\thash[y.Id] = rel;\n\t\t}\n\t});\n\trels[\"!id\"] = hash;\n\treturn rels;\n}\n\nXMLNS.RELS = 'http://schemas.openxmlformats.org/package/2006/relationships';\n\nvar RELS_ROOT = writextag('Relationships', null, {\n\t//'xmlns:ns0': XMLNS.RELS,\n\t'xmlns': XMLNS.RELS\n});\n\n/* TODO */\nfunction write_rels(rels) {\n\tvar o = [];\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (RELS_ROOT);\n\tkeys(rels['!id']).forEach(function(rid) { var rel = rels['!id'][rid];\n\t\to[o.length] = (writextag('Relationship', null, rel));\n\t});\n\tif(o.length>2){ o[o.length] = ('</Relationships>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nXMLNS.CORE_PROPS = \"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\";\nRELS.CORE_PROPS  = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties';\n\nvar CORE_PROPS_REGEX = (function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].substr(0,f[0].indexOf(\":\")) +\":)\"+ f[0].substr(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>(.*)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = cur[1];\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = new Date(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nvar CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, {\n\t//'xmlns': XMLNS.CORE_PROPS,\n\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t'xmlns:dc': XMLNS.dc,\n\t'xmlns:dcterms': XMLNS.dcterms,\n\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, opts) {\n\tvar o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {};\n\tif(!cp) return o.join(\"\");\n\n\n\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) { var f = CORE_PROPS[i]; cp_doit(f[0], cp[f[1]], null, o, p); }\n\tif(o.length>2){ o[o.length] = ('</cp:coreProperties>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nXMLNS.EXT_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\";\nRELS.EXT_PROPS  = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties';\n\nfunction parse_ext_props(data, p) {\n\tvar q = {}; if(!p) p = {};\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": p[f[1]] = (data.match(matchtag(f[0]))||[])[1]; break;\n\t\t\tcase \"bool\": p[f[1]] = (data.match(matchtag(f[0]))||[])[1] === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>(.*)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) {\n\t\tvar v = parseVector(q.HeadingPairs);\n\t\tvar j = 0, widx = 0;\n\t\tfor(var i = 0; i !== v.length; ++i) {\n\t\t\tswitch(v[i].v) {\n\t\t\t\tcase \"Worksheets\": widx = j; p.Worksheets = +(v[++i].v); break;\n\t\t\t\tcase \"Named Ranges\": ++i; break; // TODO: Handle Named Ranges\n\t\t\t}\n\t\t}\n\t\tvar parts = parseVector(q.TitlesOfParts).map(function(x) { return utf8read(x.v); });\n\t\tp.SheetNames = parts.slice(widx, widx + p.Worksheets);\n\t}\n\treturn p;\n}\n\nvar EXT_PROPS_XML_ROOT = writextag('Properties', null, {\n\t'xmlns': XMLNS.EXT_PROPS,\n\t'xmlns:vt': XMLNS.vt\n});\n\nfunction write_ext_props(cp, opts) {\n\tvar o = [], p = {}, W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (EXT_PROPS_XML_ROOT);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = cp[f[1]]; break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', '<vt:lpstr>Worksheets</vt:lpstr>')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"<vt:lpstr>\" + s + \"</vt:lpstr>\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = ('</Properties>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nXMLNS.CUST_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\";\nRELS.CUST_PROPS  = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties';\n\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data, opts) {\n\tvar p = {}, name;\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '<?xml': break;\n\t\t\tcase '<Properties':\n\t\t\t\tif(y.xmlns !== XMLNS.CUST_PROPS) throw \"unrecognized xmlns \" + y.xmlns;\n\t\t\t\tif(y.xmlnsvt && y.xmlnsvt !== XMLNS.vt) throw \"unrecognized vt \" + y.xmlnsvt;\n\t\t\t\tbreak;\n\t\t\tcase '<property': name = y.name; break;\n\t\t\tcase '</property>': name = null; break;\n\t\t\tdefault: if (x.indexOf('<vt:') === 0) {\n\t\t\t\tvar toks = x.split('>');\n\t\t\t\tvar type = toks[0].substring(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'lpwstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text, '<vt:bool>');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = new Date(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.substr(0,2) === \"</\") {\n\t\t\t} else if(opts.WTF) throw new Error(x);\n\t\t}\n\t}\n\treturn p;\n}\n\nvar CUST_PROPS_XML_ROOT = writextag('Properties', null, {\n\t'xmlns': XMLNS.CUST_PROPS,\n\t'xmlns:vt': XMLNS.vt\n});\n\nfunction write_cust_props(cp, opts) {\n\tvar o = [XML_HEADER, CUST_PROPS_XML_ROOT];\n\tif(!cp) return o.join(\"\");\n\tvar pid = 1;\n\tkeys(cp).forEach(function custprop(k) { ++pid;\n\t\to[o.length] = (writextag('property', write_vt(cp[k]), {\n\t\t\t'fmtid': '{D5CDD505-2E9C-101B-9397-08002B2CF9AE}',\n\t\t\t'pid': pid,\n\t\t\t'name': k\n\t\t}));\n\t});\n\tif(o.length>2){ o[o.length] = '</Properties>'; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\nfunction xlml_set_prop(Props, tag, val) {\n\t/* TODO: Normalize the properties */\n\tswitch(tag) {\n\t\tcase 'Description': tag = 'Comments'; break;\n\t}\n\tProps[tag] = val;\n}\n\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t, pad) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t) { if(!t) throw new Error(\"dafuq?\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob) {\n\tvar length = blob.read_shift(4);\n\tvar ret = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr');\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.10 VtVecUnalignedLpstr */\nfunction parse_VtVecUnalignedLpstr(blob) {\n\treturn parse_VtVecUnalignedLpstrValue(blob);\n}\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i != cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OSHARED] 2.3.3.1.15 VtVecHeadingPair */\nfunction parse_VtVecHeadingPair(blob) {\n\t// NOTE: When invoked, wType & padding were already consumed\n\treturn parse_VtVecHeadingPairValue(blob);\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict = {};\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tif(size & 3 > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.14 Vector and Array Property Types */\nfunction parse_VtVector(blob, cb) {\n\t/* [MS-OLEPS] 2.14.2 VectorHeader */\n/*\tvar Length = blob.read_shift(4);\n\tvar o = [];\n\tfor(var i = 0; i != Length; ++i) {\n\t\to.push(cb(blob));\n\t}\n\treturn o;*/\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type, _opts) {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw && 4).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t, 4).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPair(blob);\n\t\tcase 0x101E /*VT_LPSTR*/: return parse_VtVecUnalignedLpstr(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\n/* [MS-OLEPS] 2.14.2 VectorHeader */\n/*function parse_VTVectorVariant(blob) {\n\tvar Length = blob.read_shift(4);\n\n\tif(Length & 1 !== 0) throw new Error(\"VectorHeader Length=\" + Length + \" must be even\");\n\tvar o = [];\n\tfor(var i = 0; i != Length; ++i) {\n\t\to.push(parse_TypedPropertyValue(blob, VT_VARIANT));\n\t}\n\treturn o;\n}*/\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj;\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l +2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif(!PIDSI && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + String(PropH[piddsi.n] & 0xFFFF);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 10000: // OSX Roman\n\t\t\t\tcase 1252: // Windows Latin\n\n\t\t\t\tcase 874: // SB Windows Thai\n\t\t\t\tcase 1250: // SB Windows Central Europe\n\t\t\t\tcase 1251: // SB Windows Cyrillic\n\t\t\t\tcase 1253: // SB Windows Greek\n\t\t\t\tcase 1254: // SB Windows Turkish\n\t\t\t\tcase 1255: // SB Windows Hebrew\n\t\t\t\tcase 1256: // SB Windows Arabic\n\t\t\t\tcase 1257: // SB Windows Baltic\n\t\t\t\tcase 1258: // SB Windows Vietnam\n\n\t\t\t\tcase 932: // DB Windows Japanese Shift-JIS\n\t\t\t\tcase 936: // DB Windows Simplified Chinese GBK\n\t\t\t\tcase 949: // DB Windows Korean\n\t\t\t\tcase 950: // DB Windows Traditional Chinese Big5\n\n\t\t\t\tcase 1200: // UTF16LE\n\t\t\t\tcase 1201: // UTF16BE\n\t\t\t\tcase 65000: case -536: // UTF-7\n\t\t\t\tcase 65001: case -535: // UTF-8\n\t\t\t\t\tset_cp(CodePage = PropH[piddsi.n]); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = parse_TypedPropertyValue(blob, VT_I2);\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = new Date(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI) {\n\tvar blob = file.content;\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1;\n\tblob.chk('feff', 'Byte Order: ');\n\n\tvar vers = blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tblob.chk(CFB.utils.consts.HEADER_CLSID, 'CLSID: ');\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw \"Unrecognized #Sets: \" + NumSets;\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw \"Length mismatch\";\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = { SystemIdentifier: SystemIdentifier };\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(blob.l !== Offset1) throw \"Length mismatch 2: \" + blob.l + \" !== \" + Offset1;\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) { }\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\n\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\n\nfunction parslurp(blob, length, cb) {\n\tvar arr = [], target = blob.l + length;\n\twhile(blob.l < target) arr.push(cb(blob, target - blob.l));\n\tif(target !== blob.l) throw new Error(\"Slurp error\");\n\treturn arr;\n}\n\nfunction parslurp2(blob, length, cb) {\n\tvar arr = [], target = blob.l + length, len = blob.read_shift(2);\n\twhile(len-- !== 0) arr.push(cb(blob, target - blob.l));\n\tif(target !== blob.l) throw new Error(\"Slurp error\");\n\treturn arr;\n}\n\nfunction parsebool(blob, length) { return blob.read_shift(length) === 0x1; }\n\nfunction parseuint16(blob) { return blob.read_shift(2, 'u'); }\nfunction parseuint16a(blob, length) { return parslurp(blob,length,parseuint16);}\n\n/* --- 2.5 Structures --- */\n\n/* [MS-XLS] 2.5.14 Boolean */\nvar parse_Boolean = parsebool;\n\n/* [MS-XLS] 2.5.10 Bes (boolean or error) */\nfunction parse_Bes(blob) {\n\tvar v = blob.read_shift(1), t = blob.read_shift(1);\n\treturn t === 0x01 ? v : v === 0x01;\n}\n\n/* [MS-XLS] 2.5.240 ShortXLUnicodeString */\nfunction parse_ShortXLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(1);\n\tvar width = 1, encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(opts === undefined || opts.biff !== 5) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { width = 2; encoding = 'dbcs-cont'; }\n\t}\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar fHighByte = flags & 0x1, fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = (flags & 0x1) ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"<t>\" + z.t + \"</t>\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts !== undefined && opts.biff > 0 && opts.biff < 8 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff !== 5 && opts.biff !== 2) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nvar parse_ControlInfo = parsenoop;\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nvar parse_URLMoniker = function(blob, length) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n};\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nvar parse_FileMoniker = function(blob, length) {\n\tvar cAnti = blob.read_shift(2);\n\tvar ansiLength = blob.read_shift(4);\n\tvar ansiPath = blob.read_shift(ansiLength, 'cstr');\n\tvar endServer = blob.read_shift(2);\n\tvar versionNumber = blob.read_shift(2);\n\tvar cbUnicodePathSize = blob.read_shift(4);\n\tif(cbUnicodePathSize === 0) return ansiPath.replace(/\\\\/g,\"/\");\n\tvar cbUnicodePathBytes = blob.read_shift(4);\n\tvar usKeyValue = blob.read_shift(2);\n\tvar unicodePath = blob.read_shift(cbUnicodePathBytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn unicodePath;\n};\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nvar parse_HyperlinkMoniker = function(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw \"unsupported moniker \" + clsid;\n\t}\n};\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nvar parse_HyperlinkString = function(blob, length) {\n\tvar len = blob.read_shift(4);\n\tvar o = blob.read_shift(len, 'utf16le').replace(chr0, \"\");\n\treturn o;\n};\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object TODO: unify params with XLSX */\nvar parse_Hyperlink = function(blob, length) {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, location, guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) location = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob, 8);\n\tblob.l = end;\n\tvar target = (targetFrameName||moniker||oleMoniker);\n\tif(location) target+=\"#\"+location;\n\treturn {Target: target};\n};\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob, length) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* --- MS-XLS --- */\n\n/* 2.5.19 */\nfunction parse_XLSCell(blob, length) {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn {r:rw, c:col, ixfe:ixfe};\n}\n\n/* 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* 2.5.158 */\nvar HIDEOBJENUM = ['SHOWALL', 'SHOWPLACEHOLDER', 'HIDEALL'];\nvar parse_HideObjEnum = parseuint16;\n\n/* 2.5.344 */\nfunction parse_XTI(blob, length) {\n\tvar iSupBook = blob.read_shift(2), itabFirst = blob.read_shift(2,'i'), itabLast = blob.read_shift(2,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* 2.5.218 */\nfunction parse_RkRec(blob, length) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\t//console.log(\"::\", ixfe, RK,\";;\");\n\treturn [ixfe, RK];\n}\n\n/* 2.5.1 */\nfunction parse_AddinUdf(blob, length) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw \"Malformed AddinUdf: padding = \" + l + \" != \" + cb;\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob, length) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* 2.5.211 */\nfunction parse_RefU(blob, length) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* 2.5.143 */\nfunction parse_FtCmo(blob, length) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* 2.5.149 */\nfunction parse_FtNts(blob, length) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* 2.5.142 */\nfunction parse_FtCf(blob, length) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* 2.5.140 - 2.5.154 and friends */\nvar FtTab = {\n\t0x15: parse_FtCmo,\n\t0x13: parsenoop,                                /* FtLbsData */\n\t0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */\n\t0x11: function(blob, length) { blob.l += 8; },  /* FtRboData */\n\t0x10: parsenoop,                                /* FtEdoData */\n\t0x0F: parsenoop,                                /* FtGboData */\n\t0x0D: parse_FtNts,                              /* FtNts */\n\t0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */\n\t0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */\n\t0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */\n\t0x09: parsenoop,                                /* FtPictFmla */\n\t0x08: function(blob, length) { blob.l += 6; },  /* FtPioGrbit */\n\t0x07: parse_FtCf,                               /* FtCf */\n\t0x06: function(blob, length) { blob.l += 6; },  /* FtGmo */\n\t0x04: parsenoop,                                /* FtMacro */\n\t0x00: function(blob, length) { blob.l += 4; }   /* FtEnding */\n};\nfunction parse_FtArray(blob, length, ot) {\n\tvar s = blob.l;\n\tvar fts = [];\n\twhile(blob.l < s + length) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, s + length - blob.l));\n\t\t} catch(e) { blob.l = s + length; return fts; }\n\t}\n\tif(blob.l != s + length) blob.l = s + length; //throw \"bad Object Ft-sequence\";\n\treturn fts;\n}\n\n/* 2.5.129 */\nvar parse_FontIndex = parseuint16;\n\n/* --- 2.4 Records --- */\n\n/* 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: throw \"Unexpected BIFF Ver \" + o.BIFFVer;\n\t}\n\tblob.read_shift(length);\n\treturn o;\n}\n\n\n/* 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tvar q;\n\tif((q=blob.read_shift(2))!==0x04b0) throw 'InterfaceHdr codePage ' + q;\n\treturn 0x04b0;\n}\n\n\n/* 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\n\n/* 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) >> 6;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\n\n/* 2.4.265 TODO */\nfunction parse_SST(blob, length) {\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs = [];\n\tfor(var i = 0; i != ucnt; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\n\n/* 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* 2.4.221 TODO*/\nfunction parse_Row(blob, length) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2), Col = blob.read_shift(2), rht = blob.read_shift(2);\n\tblob.read_shift(4); // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.read_shift(1); // reserved\n\tblob.read_shift(2); //ixfe, other flags\n\treturn {r:rw, c:col, cnt:Col-col};\n}\n\n\n/* 2.4.125 */\nfunction parse_ForceFullCalculation(blob, length) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw \"Invalid Future Record \" + header.type;\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\nvar parse_CompressPictures = parsenoop2; /* 2.4.55 Not interesting */\n\n\n\n/* 2.4.215 rt */\nfunction parse_RecalcId(blob, length) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* 2.4.87 */\nfunction parse_DefaultRowHeight (blob, length) {\n\tvar f = blob.read_shift(2), miyRw;\n\tmiyRw = blob.read_shift(2); // flags & 0x02 -> hidden, else empty\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* 2.4.345 TODO */\nfunction parse_Window1(blob, length) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\n\n/* 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tblob.l += 14;\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn name;\n}\n\n/* 2.4.149 */\nfunction parse_LabelSst(blob, length) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\n\n/* 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar str = parse_XLUnicodeString(blob, length-6, opts);\n\tcell.val = str;\n\treturn cell;\n}\n\n/* 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar ifmt = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [ifmt, fmtstr];\n}\n\n/* 2.4.90 */\nfunction parse_Dimensions(blob, length) {\n\tvar w = length === 10 ? 2 : 4;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w),\n\t    c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l += 2;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\n\n/* 2.4.220 */\nfunction parse_RK(blob, length) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw \"MulRK read error\";\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw \"MulRK length mismatch\";\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n\n/* 2.5.20 2.5.249 TODO */\nfunction parse_CellStyleXF(blob, length, style) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\treturn o;\n}\nfunction parse_CellXF(blob, length) {return parse_CellStyleXF(blob,length,0);}\nfunction parse_StyleXF(blob, length) {return parse_CellStyleXF(blob,length,1);}\n\n/* 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.ifmt = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle);\n\treturn o;\n}\n\n/* 2.4.134 */\nfunction parse_Guts(blob, length) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw \"Bad Gutters: \" + out;\n\treturn out;\n}\n\n/* 2.4.24 */\nfunction parse_BoolErr(blob, length) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\n\n/* 2.4.180 Number */\nfunction parse_Number(blob, length) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\tvar virtPath;\n\tif(cch >=0x01 && cch <=0xff) virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\tvar rgst = blob.read_shift(end - blob.l);\n\topts.sbcch = cch;\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = {\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t};\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\treturn o;\n}\n\n/* 2.4.150 TODO */\nfunction parse_Lbl(blob, length, opts) {\n\tif(opts.biff < 8) return parse_Label(blob, length, opts);\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(2);\n\tblob.l += 2;\n\tvar itab = blob.read_shift(2);\n\tblob.l += 4;\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tvar rgce = parse_NameParsedFormula(blob, target - blob.l, opts, cce);\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\trgce: rgce\n\t};\n}\n\n/* 2.4.106 TODO: verify supbook manipulation */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_ShortXLUnicodeString(blob, length, opts);\n\tvar o = parslurp2(blob,length,parse_XTI);\n\tvar oo = [];\n\tif(opts.sbcch === 0x0401) {\n\t\tfor(var i = 0; i != o.length; ++i) oo.push(opts.snames[o[i][1]]);\n\t\treturn oo;\n\t}\n\telse return o;\n}\n\n/* 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse];\n}\n\n/* 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\tblob.l += 6; length -= 12; /* TODO: fAlwaysCalc */\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* 2.4.173 */\nfunction parse_MTRSettings(blob, length) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* 2.4.168 */\nfunction parse_MergeCells(blob, length) {\n\tvar merges = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\n\n/* 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length) {\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n\n/* 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo;\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts);\n\tvar cchText = blob.read_shift(2);\n\tvar cbRuns = blob.read_shift(2);\n\tvar ifntEmpty = parse_FontIndex(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tvar texts = \"\";\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw \"TxO: bad continue record\";\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow \"cchText: \" + cchText + \" != \" + texts.length;\n\t}\n\n\tblob.l = s + length;\n\t/* 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw \"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText;\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw \"TxO \" + (s + length) + \", at \" + blob.l;\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts||\"\" }; }\n}\n\n/* 2.4.140 */\nvar parse_HLink = function(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n};\n\n/* 2.4.141 */\nvar parse_HLinkTooltip = function(blob, length) {\n\tvar end = blob.l + length;\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n};\n\n/* 2.4.63 */\nfunction parse_Country(blob, length) {\n\tvar o = [], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\n\n/* 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob, length) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* 2.4.188 */\nfunction parse_Palette(blob, length) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* 2.4.354 */\nfunction parse_XFCRC(blob, length) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n\nvar parse_Style = parsenoop;\nvar parse_StyleExt = parsenoop;\n\nvar parse_ColInfo = parsenoop;\n\nvar parse_Window2 = parsenoop;\n\n\nvar parse_Backup = parsebool; /* 2.4.14 */\nvar parse_Blank = parse_XLSCell; /* 2.4.20 Just the cell */\nvar parse_BottomMargin = parse_Xnum; /* 2.4.27 */\nvar parse_BuiltInFnGroupCount = parseuint16; /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */\nvar parse_CalcCount = parseuint16; /* 2.4.31 #Iterations */\nvar parse_CalcDelta = parse_Xnum; /* 2.4.32 */\nvar parse_CalcIter = parsebool;  /* 2.4.33 1=iterative calc */\nvar parse_CalcMode = parseuint16; /* 2.4.34 0=manual, 1=auto (def), 2=table */\nvar parse_CalcPrecision = parsebool; /* 2.4.35 */\nvar parse_CalcRefMode = parsenoop2; /* 2.4.36 */\nvar parse_CalcSaveRecalc = parsebool; /* 2.4.37 */\nvar parse_CodePage = parseuint16; /* 2.4.52 */\nvar parse_Compat12 = parsebool; /* 2.4.54 true = no compatibility check */\nvar parse_Date1904 = parsebool; /* 2.4.77 - 1=1904,0=1900 */\nvar parse_DefColWidth = parseuint16; /* 2.4.89 */\nvar parse_DSF = parsenoop2; /* 2.4.94 -- MUST be ignored */\nvar parse_EntExU2 = parsenoop2; /* 2.4.102 -- Explicitly says to ignore */\nvar parse_EOF = parsenoop2; /* 2.4.103 */\nvar parse_Excel9File = parsenoop2; /* 2.4.104 -- Optional and unused */\nvar parse_FeatHdr = parsenoop2; /* 2.4.112 */\nvar parse_FontX = parseuint16; /* 2.4.123 */\nvar parse_Footer = parse_XLHeaderFooter; /* 2.4.124 */\nvar parse_GridSet = parseuint16; /* 2.4.132, =1 */\nvar parse_HCenter = parsebool; /* 2.4.135 sheet centered horizontal on print */\nvar parse_Header = parse_XLHeaderFooter; /* 2.4.136 */\nvar parse_HideObj = parse_HideObjEnum; /* 2.4.139 */\nvar parse_InterfaceEnd = parsenoop2; /* 2.4.145 -- noop */\nvar parse_LeftMargin = parse_Xnum; /* 2.4.151 */\nvar parse_Mms = parsenoop2; /* 2.4.169 -- Explicitly says to ignore */\nvar parse_ObjProtect = parsebool; /* 2.4.183 -- must be 1 if present */\nvar parse_Password = parseuint16; /* 2.4.191 */\nvar parse_PrintGrid = parsebool; /* 2.4.202 */\nvar parse_PrintRowCol = parsebool; /* 2.4.203 */\nvar parse_PrintSize = parseuint16; /* 2.4.204 0:3 */\nvar parse_Prot4Rev = parsebool; /* 2.4.205 */\nvar parse_Prot4RevPass = parseuint16; /* 2.4.206 */\nvar parse_Protect = parsebool; /* 2.4.207 */\nvar parse_RefreshAll = parsebool; /* 2.4.217 -- must be 0 if not template */\nvar parse_RightMargin = parse_Xnum; /* 2.4.219 */\nvar parse_RRTabId = parseuint16a; /* 2.4.241 */\nvar parse_ScenarioProtect = parsebool; /* 2.4.245 */\nvar parse_Scl = parseuint16a; /* 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* 2.4.268 */\nvar parse_SxBool = parsebool; /* 2.4.274 */\nvar parse_TopMargin = parse_Xnum; /* 2.4.328 */\nvar parse_UsesELFs = parsebool; /* 2.4.337 -- should be 0 */\nvar parse_VCenter = parsebool; /* 2.4.342 */\nvar parse_WinProtect = parsebool; /* 2.4.347 */\nvar parse_WriteProtect = parsenoop; /* 2.4.350 empty record */\n\n\n/* ---- */\nvar parse_VerticalPageBreaks = parsenoop;\nvar parse_HorizontalPageBreaks = parsenoop;\nvar parse_Selection = parsenoop;\nvar parse_Continue = parsenoop;\nvar parse_Pane = parsenoop;\nvar parse_Pls = parsenoop;\nvar parse_DCon = parsenoop;\nvar parse_DConRef = parsenoop;\nvar parse_DConName = parsenoop;\nvar parse_XCT = parsenoop;\nvar parse_CRN = parsenoop;\nvar parse_FileSharing = parsenoop;\nvar parse_Uncalced = parsenoop;\nvar parse_Template = parsenoop;\nvar parse_Intl = parsenoop;\nvar parse_WsBool = parsenoop;\nvar parse_Sort = parsenoop;\nvar parse_Sync = parsenoop;\nvar parse_LPr = parsenoop;\nvar parse_DxGCol = parsenoop;\nvar parse_FnGroupName = parsenoop;\nvar parse_FilterMode = parsenoop;\nvar parse_AutoFilterInfo = parsenoop;\nvar parse_AutoFilter = parsenoop;\nvar parse_Setup = parsenoop;\nvar parse_ScenMan = parsenoop;\nvar parse_SCENARIO = parsenoop;\nvar parse_SxView = parsenoop;\nvar parse_Sxvd = parsenoop;\nvar parse_SXVI = parsenoop;\nvar parse_SxIvd = parsenoop;\nvar parse_SXLI = parsenoop;\nvar parse_SXPI = parsenoop;\nvar parse_DocRoute = parsenoop;\nvar parse_RecipName = parsenoop;\nvar parse_MulBlank = parsenoop;\nvar parse_SXDI = parsenoop;\nvar parse_SXDB = parsenoop;\nvar parse_SXFDB = parsenoop;\nvar parse_SXDBB = parsenoop;\nvar parse_SXNum = parsenoop;\nvar parse_SxErr = parsenoop;\nvar parse_SXInt = parsenoop;\nvar parse_SXString = parsenoop;\nvar parse_SXDtr = parsenoop;\nvar parse_SxNil = parsenoop;\nvar parse_SXTbl = parsenoop;\nvar parse_SXTBRGIITM = parsenoop;\nvar parse_SxTbpg = parsenoop;\nvar parse_ObProj = parsenoop;\nvar parse_SXStreamID = parsenoop;\nvar parse_DBCell = parsenoop;\nvar parse_SXRng = parsenoop;\nvar parse_SxIsxoper = parsenoop;\nvar parse_BookBool = parsenoop;\nvar parse_DbOrParamQry = parsenoop;\nvar parse_OleObjectSize = parsenoop;\nvar parse_SXVS = parsenoop;\nvar parse_BkHim = parsenoop;\nvar parse_MsoDrawingGroup = parsenoop;\nvar parse_MsoDrawing = parsenoop;\nvar parse_MsoDrawingSelection = parsenoop;\nvar parse_PhoneticInfo = parsenoop;\nvar parse_SxRule = parsenoop;\nvar parse_SXEx = parsenoop;\nvar parse_SxFilt = parsenoop;\nvar parse_SxDXF = parsenoop;\nvar parse_SxItm = parsenoop;\nvar parse_SxName = parsenoop;\nvar parse_SxSelect = parsenoop;\nvar parse_SXPair = parsenoop;\nvar parse_SxFmla = parsenoop;\nvar parse_SxFormat = parsenoop;\nvar parse_SXVDEx = parsenoop;\nvar parse_SXFormula = parsenoop;\nvar parse_SXDBEx = parsenoop;\nvar parse_RRDInsDel = parsenoop;\nvar parse_RRDHead = parsenoop;\nvar parse_RRDChgCell = parsenoop;\nvar parse_RRDRenSheet = parsenoop;\nvar parse_RRSort = parsenoop;\nvar parse_RRDMove = parsenoop;\nvar parse_RRFormat = parsenoop;\nvar parse_RRAutoFmt = parsenoop;\nvar parse_RRInsertSh = parsenoop;\nvar parse_RRDMoveBegin = parsenoop;\nvar parse_RRDMoveEnd = parsenoop;\nvar parse_RRDInsDelBegin = parsenoop;\nvar parse_RRDInsDelEnd = parsenoop;\nvar parse_RRDConflict = parsenoop;\nvar parse_RRDDefName = parsenoop;\nvar parse_RRDRstEtxp = parsenoop;\nvar parse_LRng = parsenoop;\nvar parse_CUsr = parsenoop;\nvar parse_CbUsr = parsenoop;\nvar parse_UsrInfo = parsenoop;\nvar parse_UsrExcl = parsenoop;\nvar parse_FileLock = parsenoop;\nvar parse_RRDInfo = parsenoop;\nvar parse_BCUsrs = parsenoop;\nvar parse_UsrChk = parsenoop;\nvar parse_UserBView = parsenoop;\nvar parse_UserSViewBegin = parsenoop; // overloaded\nvar parse_UserSViewEnd = parsenoop;\nvar parse_RRDUserView = parsenoop;\nvar parse_Qsi = parsenoop;\nvar parse_CondFmt = parsenoop;\nvar parse_CF = parsenoop;\nvar parse_DVal = parsenoop;\nvar parse_DConBin = parsenoop;\nvar parse_Lel = parsenoop;\nvar parse_XLSCodeName = parse_XLUnicodeString;\nvar parse_SXFDBType = parsenoop;\nvar parse_ObNoMacros = parsenoop;\nvar parse_Dv = parsenoop;\nvar parse_Index = parsenoop;\nvar parse_Table = parsenoop;\nvar parse_BigName = parsenoop;\nvar parse_ContinueBigName = parsenoop;\nvar parse_WebPub = parsenoop;\nvar parse_QsiSXTag = parsenoop;\nvar parse_DBQueryExt = parsenoop;\nvar parse_ExtString = parsenoop;\nvar parse_TxtQry = parsenoop;\nvar parse_Qsir = parsenoop;\nvar parse_Qsif = parsenoop;\nvar parse_RRDTQSIF = parsenoop;\nvar parse_OleDbConn = parsenoop;\nvar parse_WOpt = parsenoop;\nvar parse_SXViewEx = parsenoop;\nvar parse_SXTH = parsenoop;\nvar parse_SXPIEx = parsenoop;\nvar parse_SXVDTEx = parsenoop;\nvar parse_SXViewEx9 = parsenoop;\nvar parse_ContinueFrt = parsenoop;\nvar parse_RealTimeData = parsenoop;\nvar parse_ChartFrtInfo = parsenoop;\nvar parse_FrtWrapper = parsenoop;\nvar parse_StartBlock = parsenoop;\nvar parse_EndBlock = parsenoop;\nvar parse_StartObject = parsenoop;\nvar parse_EndObject = parsenoop;\nvar parse_CatLab = parsenoop;\nvar parse_YMult = parsenoop;\nvar parse_SXViewLink = parsenoop;\nvar parse_PivotChartBits = parsenoop;\nvar parse_FrtFontList = parsenoop;\nvar parse_SheetExt = parsenoop;\nvar parse_BookExt = parsenoop;\nvar parse_SXAddl = parsenoop;\nvar parse_CrErr = parsenoop;\nvar parse_HFPicture = parsenoop;\nvar parse_Feat = parsenoop;\nvar parse_DataLabExt = parsenoop;\nvar parse_DataLabExtContents = parsenoop;\nvar parse_CellWatch = parsenoop;\nvar parse_FeatHdr11 = parsenoop;\nvar parse_Feature11 = parsenoop;\nvar parse_DropDownObjIds = parsenoop;\nvar parse_ContinueFrt11 = parsenoop;\nvar parse_DConn = parsenoop;\nvar parse_List12 = parsenoop;\nvar parse_Feature12 = parsenoop;\nvar parse_CondFmt12 = parsenoop;\nvar parse_CF12 = parsenoop;\nvar parse_CFEx = parsenoop;\nvar parse_AutoFilter12 = parsenoop;\nvar parse_ContinueFrt12 = parsenoop;\nvar parse_MDTInfo = parsenoop;\nvar parse_MDXStr = parsenoop;\nvar parse_MDXTuple = parsenoop;\nvar parse_MDXSet = parsenoop;\nvar parse_MDXProp = parsenoop;\nvar parse_MDXKPI = parsenoop;\nvar parse_MDB = parsenoop;\nvar parse_PLV = parsenoop;\nvar parse_DXF = parsenoop;\nvar parse_TableStyles = parsenoop;\nvar parse_TableStyle = parsenoop;\nvar parse_TableStyleElement = parsenoop;\nvar parse_NamePublish = parsenoop;\nvar parse_NameCmt = parsenoop;\nvar parse_SortData = parsenoop;\nvar parse_GUIDTypeLib = parsenoop;\nvar parse_FnGrp12 = parsenoop;\nvar parse_NameFnGrp12 = parsenoop;\nvar parse_HeaderFooter = parsenoop;\nvar parse_CrtLayout12 = parsenoop;\nvar parse_CrtMlFrt = parsenoop;\nvar parse_CrtMlFrtContinue = parsenoop;\nvar parse_ShapePropsStream = parsenoop;\nvar parse_TextPropsStream = parsenoop;\nvar parse_RichTextStream = parsenoop;\nvar parse_CrtLayout12A = parsenoop;\nvar parse_Units = parsenoop;\nvar parse_Chart = parsenoop;\nvar parse_Series = parsenoop;\nvar parse_DataFormat = parsenoop;\nvar parse_LineFormat = parsenoop;\nvar parse_MarkerFormat = parsenoop;\nvar parse_AreaFormat = parsenoop;\nvar parse_PieFormat = parsenoop;\nvar parse_AttachedLabel = parsenoop;\nvar parse_SeriesText = parsenoop;\nvar parse_ChartFormat = parsenoop;\nvar parse_Legend = parsenoop;\nvar parse_SeriesList = parsenoop;\nvar parse_Bar = parsenoop;\nvar parse_Line = parsenoop;\nvar parse_Pie = parsenoop;\nvar parse_Area = parsenoop;\nvar parse_Scatter = parsenoop;\nvar parse_CrtLine = parsenoop;\nvar parse_Axis = parsenoop;\nvar parse_Tick = parsenoop;\nvar parse_ValueRange = parsenoop;\nvar parse_CatSerRange = parsenoop;\nvar parse_AxisLine = parsenoop;\nvar parse_CrtLink = parsenoop;\nvar parse_DefaultText = parsenoop;\nvar parse_Text = parsenoop;\nvar parse_ObjectLink = parsenoop;\nvar parse_Frame = parsenoop;\nvar parse_Begin = parsenoop;\nvar parse_End = parsenoop;\nvar parse_PlotArea = parsenoop;\nvar parse_Chart3d = parsenoop;\nvar parse_PicF = parsenoop;\nvar parse_DropBar = parsenoop;\nvar parse_Radar = parsenoop;\nvar parse_Surf = parsenoop;\nvar parse_RadarArea = parsenoop;\nvar parse_AxisParent = parsenoop;\nvar parse_LegendException = parsenoop;\nvar parse_ShtProps = parsenoop;\nvar parse_SerToCrt = parsenoop;\nvar parse_AxesUsed = parsenoop;\nvar parse_SBaseRef = parsenoop;\nvar parse_SerParent = parsenoop;\nvar parse_SerAuxTrend = parsenoop;\nvar parse_IFmtRecord = parsenoop;\nvar parse_Pos = parsenoop;\nvar parse_AlRuns = parsenoop;\nvar parse_BRAI = parsenoop;\nvar parse_SerAuxErrBar = parsenoop;\nvar parse_SerFmt = parsenoop;\nvar parse_Chart3DBarShape = parsenoop;\nvar parse_Fbi = parsenoop;\nvar parse_BopPop = parsenoop;\nvar parse_AxcExt = parsenoop;\nvar parse_Dat = parsenoop;\nvar parse_PlotGrowth = parsenoop;\nvar parse_SIIndex = parsenoop;\nvar parse_GelFrame = parsenoop;\nvar parse_BopPopCustom = parsenoop;\nvar parse_Fbi2 = parsenoop;\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_BIFF5String(blob) {\n\tvar len = blob.read_shift(1);\n\treturn blob.read_shift(len, 'sbcs-cont');\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.val = num;\n\treturn cell;\n}\n\n/* 18.4.1 charset to codepage mapping */\nvar CS2CP = {\n\t0:    1252, /* ANSI */\n\t1:   65001, /* DEFAULT */\n\t2:   65001, /* SYMBOL */\n\t77:  10000, /* MAC */\n\t128:   932, /* SHIFTJIS */\n\t129:   949, /* HANGUL */\n\t130:  1361, /* JOHAB */\n\t134:   936, /* GB2312 */\n\t136:   950, /* CHINESEBIG5 */\n\t161:  1253, /* GREEK */\n\t162:  1254, /* TURKISH */\n\t163:  1258, /* VIETNAMESE */\n\t177:  1255, /* HEBREW */\n\t178:  1256, /* ARABIC */\n\t186:  1257, /* BALTIC */\n\t204:  1251, /* RUSSIAN */\n\t222:   874, /* THAI */\n\t238:  1250, /* EASTEUROPE */\n\t255:  1252, /* OEM */\n\t69:   6969  /* MISC */\n};\n\n/* Parse a list of <r> tags */\nvar parse_rs = (function parse_rs_factory() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\"), rregex = /<r>/g, rend = /<\\/r>/, nlregex = /\\r\\n/g;\n\t/* 18.4.7 rPr CT_RPrElt */\n\tvar parse_rpr = function parse_rpr(rpr, intro, outro) {\n\t\tvar font = {}, cp = 65001;\n\t\tvar m = rpr.match(tagregex), i = 0;\n\t\tif(m) for(;i!=m.length; ++i) {\n\t\t\tvar y = parsexmltag(m[i]);\n\t\t\tswitch(y[0]) {\n\t\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t\t/* ** not required . */\n\t\t\t\tcase '<condense': break;\n\t\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\t\t/* ** not required . */\n\t\t\t\tcase '<extend': break;\n\t\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\t\t/* ** not required . */\n\t\t\t\tcase '<shadow':\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase '<shadow/>': break;\n\n\t\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\t\tcase '<charset':\n\t\t\t\t\tif(y.val == '1') break;\n\t\t\t\t\tcp = CS2CP[parseInt(y.val, 10)];\n\t\t\t\t\tbreak;\n\n\t\t\t\t/* 18.4.2 outline CT_BooleanProperty TODO */\n\t\t\t\tcase '<outline':\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase '<outline/>': break;\n\n\t\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\t\tcase '<rFont': font.name = y.val; break;\n\n\t\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\t\tcase '<sz': font.sz = y.val; break;\n\n\t\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\t\tcase '<strike':\n\t\t\t\t\tif(!y.val) break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase '<strike/>': font.strike = 1; break;\n\t\t\t\tcase '</strike>': break;\n\n\t\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\t\tcase '<u':\n\t\t\t\t\tif(!y.val) break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase '<u/>': font.u = 1; break;\n\t\t\t\tcase '</u>': break;\n\n\t\t\t\t/* 18.8.2 b */\n\t\t\t\tcase '<b':\n\t\t\t\t\tif(!y.val) break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase '<b/>': font.b = 1; break;\n\t\t\t\tcase '</b>': break;\n\n\t\t\t\t/* 18.8.26 i */\n\t\t\t\tcase '<i':\n\t\t\t\t\tif(!y.val) break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase '<i/>': font.i = 1; break;\n\t\t\t\tcase '</i>': break;\n\n\t\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\t\tcase '<color':\n\t\t\t\t\tif(y.rgb) font.color = y.rgb.substr(2,6);\n\t\t\t\t\tbreak;\n\n\t\t\t\t/* 18.8.18 family ST_FontFamily */\n\t\t\t\tcase '<family': font.family = y.val; break;\n\n\t\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */\n\t\t\t\tcase '<vertAlign': break;\n\n\t\t\t\t/* 18.8.35 scheme CT_FontScheme TODO */\n\t\t\t\tcase '<scheme': break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif(y[0].charCodeAt(1) !== 47) throw 'Unrecognized rich format ' + y[0];\n\t\t\t}\n\t\t}\n\t\t/* TODO: These should be generated styles, not inline */\n\t\tvar style = [];\n\t\tif(font.b) style.push(\"font-weight: bold;\");\n\t\tif(font.i) style.push(\"font-style: italic;\");\n\t\tintro.push('<span style=\"' + style.join(\"\") + '\">');\n\t\toutro.push(\"</span>\");\n\t\treturn cp;\n\t};\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\tvar terms = [[],\"\",[]];\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex), cp = 65001;\n\t\tif(!isval(t)) return \"\";\n\t\tterms[1] = t[1];\n\n\t\tvar rpr = r.match(rpregex);\n\t\tif(isval(rpr)) cp = parse_rpr(rpr[1], terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'<br/>') + terms[2].join(\"\");\n\t}\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<t[^>]*>([^<]*)<\\/t>/g, sirregex = /<r>/;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return null;\n\tvar y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\tif(x.charCodeAt(1) === 116) {\n\t\tz.t = utf8read(unescapexml(x.substr(x.indexOf(\">\")+1).split(/<\\/t>/)[0]));\n\t\tz.r = x;\n\t\tif(html) z.h = z.t;\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((y = x.match(sirregex))) {\n\t\tz.r = x;\n\t\tz.t = utf8read(unescapexml(x.match(sitregex).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = parse_rs(x);\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<sst([^>]*)>([\\s\\S]*)<\\/sst>/;\nvar sstr1 = /<(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:si|sstItem)>/;\nfunction parse_sst_xml(data, opts) {\n\tvar s = [], ss;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(isval(sst)) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i], opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nRELS.SST = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\";\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst, opts) {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS.main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s = sst[i];\n\t\tvar sitag = \"<si>\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"<t\";\n\t\t\tif(s.t.match(straywsregex)) sitag += ' xml:space=\"preserve\"';\n\t\t\tsitag += \">\" + escapexml(s.t) + \"</t>\";\n\t\t}\n\t\tsitag += \"</si>\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = ('</sst>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.219 BrtBeginSst */\nfunction parse_BrtBeginSst(data, length) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts) {\n\tvar s = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R, RT) {\n\t\tswitch(R.n) {\n\t\t\tcase 'BrtBeginSst': s.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 'BrtSSTItem': s.push(val); break;\n\t\t\tcase 'BrtEndSst': return true;\n\t\t\t/* TODO: produce a test case with a future record */\n\t\t\tcase 'BrtFRTBegin': pass = true; break;\n\t\t\tcase 'BrtFRTEnd': pass = false; break;\n\t\t\tdefault: if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R.n);\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSst\", write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, \"BrtSSTItem\", write_BrtSSTItem(sst[i]));\n\twrite_record(ba, \"BrtEndSst\");\n\treturn ba.end();\n}\nfunction _JS2ANSI(str) { if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); return str.split(\"\").map(function(x) { return x.charCodeAt(0); }); }\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_Version(blob, length) {\n\tvar o = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length) {\n\tvar o = {};\n\to.Flags = blob.read_shift(4);\n\n\t// Check if SizeExtra is 0x00000000\n\tvar tmp = blob.read_shift(4);\n\tif(tmp !== 0) throw 'Unrecognized SizeExtra: ' + tmp;\n\n\to.AlgID = blob.read_shift(4);\n\tswitch(o.AlgID) {\n\t\tcase 0: case 0x6801: case 0x660E: case 0x660F: case 0x6610: break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tparsenoop(blob, length-12);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length) {\n\treturn parsenoop(blob, length);\n}\n/* [MS-OFFCRYPTO] 2.3.5.1 RC4 CryptoAPI Encryption Header */\nfunction parse_RC4CryptoHeader(blob, length) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_Version(blob, 4); length -= 4;\n\tif(vers.Minor != 2) throw 'unrecognized minor version code: ' + vers.Minor;\n\tif(vers.Major > 4 || vers.Major < 2) throw 'unrecognized major version code: ' + vers.Major;\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob, length) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_Version(blob, 4); length -= 4;\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = (function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(null, Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = { key: parseuint16(blob), verificationBytes: parseuint16(blob) };\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu_decrypt = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length, opts) {\n\tvar o = { Type: blob.read_shift(2) }; /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, length-2, opts, o);\n\treturn o;\n}\n\n\nfunction hex2RGB(h) {\n\tvar o = h.substr(h[0]===\"#\"?1:0,6);\n\treturn [parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().substr(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6);   rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2);   rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6);   rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4);   rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6);   rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\nvar DEF_MDW = 7, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return (( width + ((128/MDW)|0)/256 )* MDW )|0; }\nfunction px2char(px) { return (((px - 5)/MDW * 100 + 0.5)|0)/100; }\nfunction char2width(chr) { return (((chr * MDW + 5)/MDW*256)|0)/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\nfunction find_mdw(collw, coll) {\n\tif(cycle_width(collw) != collw) {\n\t\tfor(MDW=DEF_MDW; MDW>MIN_MDW; --MDW) if(cycle_width(collw) === collw) break;\n\t\tif(MDW === MIN_MDW) for(MDW=DEF_MDW+1; MDW<MAX_MDW; ++MDW) if(cycle_width(collw) === collw) break;\n\t\tif(MDW === MAX_MDW) MDW = DEF_MDW;\n\t}\n}\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\nvar styles = {}; // shared styles\n\nvar themes = {}; // shared themes\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tt[0].match(tagregex).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '<fills': case '<fills>': case '</fills>': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '<fill>': break;\n\t\t\tcase '</fill>': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '<patternFill':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '<patternFill/>': case '</patternFill>': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '<bgColor':\n\t\t\t\tif(!fill.bgColor) fill.bgColor = {};\n\t\t\t\tif(y.indexed) fill.bgColor.indexed = parseInt(y.indexed, 10);\n\t\t\t\tif(y.theme) fill.bgColor.theme = parseInt(y.theme, 10);\n\t\t\t\tif(y.tint) fill.bgColor.tint = parseFloat(y.tint);\n\t\t\t\t/* Excel uses ARGB strings */\n\t\t\t\tif(y.rgb) fill.bgColor.rgb = y.rgb.substring(y.rgb.length - 6);\n\t\t\t\tbreak;\n\t\t\tcase '<bgColor/>': case '</bgColor>': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '<fgColor':\n\t\t\t\tif(!fill.fgColor) fill.fgColor = {};\n\t\t\t\tif(y.theme) fill.fgColor.theme = parseInt(y.theme, 10);\n\t\t\t\tif(y.tint) fill.fgColor.tint = parseFloat(y.tint);\n\t\t\t\t/* Excel uses ARGB strings */\n\t\t\t\tif(y.rgb) fill.fgColor.rgb = y.rgb.substring(y.rgb.length - 6);\n\t\t\t\tbreak;\n\t\t\tcase '<fgColor/>': case '</fgColor>': break;\n\n\t\t\tdefault: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in fills';\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, opts) {\n\tstyles.NumberFmt = [];\n\tvar k = keys(SSF._table);\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]];\n\tvar m = t[0].match(tagregex);\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0]) {\n\t\t\tcase '<numFmts': case '</numFmts>': case '<numFmts/>': case '<numFmts>': break;\n\t\t\tcase '<numFmt': {\n\t\t\t\tvar f=unescapexml(utf8read(y.formatCode)), j=parseInt(y.numFmtId,10);\n\t\t\t\tstyles.NumberFmt[j] = f; if(j>0) SSF.load(f,j);\n\t\t\t} break;\n\t\t\tdefault: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in numFmts';\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF, opts) {\n\tvar o = [\"<numFmts>\"];\n\t[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] !== undefined) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"</numFmts>\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nfunction parse_cellXfs(t, opts) {\n\tstyles.CellXf = [];\n\tt[0].match(tagregex).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '<cellXfs': case '<cellXfs>': case '<cellXfs/>': case '</cellXfs>': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '<xf': delete y[0];\n\t\t\t\tif(y.numFmtId) y.numFmtId = parseInt(y.numFmtId, 10);\n\t\t\t\tif(y.fillId) y.fillId = parseInt(y.fillId, 10);\n\t\t\t\tstyles.CellXf.push(y); break;\n\t\t\tcase '</xf>': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '<alignment': case '<alignment/>': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '<protection': case '</protection>': case '<protection/>': break;\n\n\t\t\tcase '<extLst': case '</extLst>': break;\n\t\t\tcase '<ext': break;\n\t\t\tdefault: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in cellXfs';\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs) {\n\tvar o = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) { o[o.length] = (writextag('xf', null, c)); });\n\to[o.length] = (\"</cellXfs>\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= (function make_pstyx() {\nvar numFmtRegex = /<numFmts([^>]*)>.*<\\/numFmts>/;\nvar cellXfRegex = /<cellXfs([^>]*)>.*<\\/cellXfs>/;\nvar fillsRegex = /<fills([^>]*)>.*<\\/fills>/;\n\nreturn function parse_sty_xml(data, opts) {\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, opts);\n\n\t/* fonts CT_Fonts ? */\n\t/*if((t=data.match(/<fonts([^>]*)>.*<\\/fonts>/))) parse_fonts(t, opts);*/\n\n\t/* fills CT_Fills */\n\tif((t=data.match(fillsRegex))) parse_fills(t, opts);\n\n\t/* borders CT_Borders ? */\n\t/* cellStyleXfs CT_CellStyleXfs ? */\n\n\t/* cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, opts);\n\n\t/* dxfs CT_Dxfs ? */\n\t/* tableStyles CT_TableStyles ? */\n\t/* colors CT_Colors ? */\n\t/* extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nvar STYLES_XML_ROOT = writextag('styleSheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:vt': XMLNS.vt\n});\n\nRELS.STY = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\";\n\nfunction write_sty_xml(wb, opts) {\n\tvar o = [XML_HEADER, STYLES_XML_ROOT], w;\n\tif((w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('<fonts count=\"1\"><font><sz val=\"12\"/><color theme=\"1\"/><name val=\"Calibri\"/><family val=\"2\"/><scheme val=\"minor\"/></font></fonts>');\n\to[o.length] = ('<fills count=\"2\"><fill><patternFill patternType=\"none\"/></fill><fill><patternFill patternType=\"gray125\"/></fill></fills>');\n\to[o.length] = ('<borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders>');\n\to[o.length] = ('<cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs>');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('<cellStyles count=\"1\"><cellStyle name=\"Normal\" xfId=\"0\" builtinId=\"0\"/></cellStyles>');\n\to[o.length] = ('<dxfs count=\"0\"/>');\n\to[o.length] = ('<tableStyles count=\"0\" defaultTableStyle=\"TableStyleMedium9\" defaultPivotStyle=\"PivotStyleMedium4\"/>');\n\n\tif(o.length>2){ o[o.length] = ('</styleSheet>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.651 BrtFmt */\nfunction parse_BrtFmt(data, length) {\n\tvar ifmt = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [ifmt, stFmtCode];\n}\n\n/* [MS-XLSB] 2.4.653 BrtFont TODO */\nfunction parse_BrtFont(data, length) {\n\tvar out = {flags:{}};\n\tout.dyHeight = data.read_shift(2);\n\tout.grbit = parse_FontFlags(data, 2);\n\tout.bls = data.read_shift(2);\n\tout.sss = data.read_shift(2);\n\tout.uls = data.read_shift(1);\n\tout.bFamily = data.read_shift(1);\n\tout.bCharSet = data.read_shift(1);\n\tdata.l++;\n\tout.brtColor = parse_BrtColor(data, 8);\n\tout.bFontScheme = data.read_shift(1);\n\tout.name = parse_XLWideString(data, length - 21);\n\n\tout.flags.Bold = out.bls === 0x02BC;\n\tout.flags.Italic = out.grbit.fItalic;\n\tout.flags.Strikeout = out.grbit.fStrikeout;\n\tout.flags.Outline = out.grbit.fOutline;\n\tout.flags.Shadow = out.grbit.fShadow;\n\tout.flags.Condense = out.grbit.fCondense;\n\tout.flags.Extend = out.grbit.fExtend;\n\tout.flags.Sub = out.sss & 0x2;\n\tout.flags.Sup = out.sss & 0x1;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.816 BrtXF */\nfunction parse_BrtXF(data, length) {\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tparsenoop(data, length-4);\n\treturn {ixfe:ixfeParent, ifmt:ifmt };\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, opts) {\n\tstyles.NumberFmt = [];\n\tfor(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y];\n\n\tstyles.CellXf = [];\n\tvar state = \"\"; /* TODO: this should be a stack */\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R, RT) {\n\t\tswitch(R.n) {\n\t\t\tcase 'BrtFmt':\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF.load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 'BrtFont': break; /* TODO */\n\t\t\tcase 'BrtKnownFonts': break; /* TODO */\n\t\t\tcase 'BrtFill': break; /* TODO */\n\t\t\tcase 'BrtBorder': break; /* TODO */\n\t\t\tcase 'BrtXF':\n\t\t\t\tif(state === \"CELLXFS\") {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak; /* TODO */\n\t\t\tcase 'BrtStyle': break; /* TODO */\n\t\t\tcase 'BrtDXF': break; /* TODO */\n\t\t\tcase 'BrtMRUColor': break; /* TODO */\n\t\t\tcase 'BrtIndexedColor': break; /* TODO */\n\t\t\tcase 'BrtBeginStyleSheet': break;\n\t\t\tcase 'BrtEndStyleSheet': break;\n\t\t\tcase 'BrtBeginTableStyle': break;\n\t\t\tcase 'BrtTableStyleElement': break;\n\t\t\tcase 'BrtEndTableStyle': break;\n\t\t\tcase 'BrtBeginFmts': state = \"FMTS\"; break;\n\t\t\tcase 'BrtEndFmts': state = \"\"; break;\n\t\t\tcase 'BrtBeginFonts': state = \"FONTS\"; break;\n\t\t\tcase 'BrtEndFonts': state = \"\"; break;\n\t\t\tcase 'BrtACBegin': state = \"ACFONTS\"; break;\n\t\t\tcase 'BrtACEnd': state = \"\"; break;\n\t\t\tcase 'BrtBeginFills': state = \"FILLS\"; break;\n\t\t\tcase 'BrtEndFills': state = \"\"; break;\n\t\t\tcase 'BrtBeginBorders': state = \"BORDERS\"; break;\n\t\t\tcase 'BrtEndBorders': state = \"\"; break;\n\t\t\tcase 'BrtBeginCellStyleXFs': state = \"CELLSTYLEXFS\"; break;\n\t\t\tcase 'BrtEndCellStyleXFs': state = \"\"; break;\n\t\t\tcase 'BrtBeginCellXFs': state = \"CELLXFS\"; break;\n\t\t\tcase 'BrtEndCellXFs': state = \"\"; break;\n\t\t\tcase 'BrtBeginStyles': state = \"STYLES\"; break;\n\t\t\tcase 'BrtEndStyles': state = \"\"; break;\n\t\t\tcase 'BrtBeginDXFs': state = \"DXFS\"; break;\n\t\t\tcase 'BrtEndDXFs': state = \"\"; break;\n\t\t\tcase 'BrtBeginTableStyles': state = \"TABLESTYLES\"; break;\n\t\t\tcase 'BrtEndTableStyles': state = \"\"; break;\n\t\t\tcase 'BrtBeginColorPalette': state = \"COLORPALETTE\"; break;\n\t\t\tcase 'BrtEndColorPalette': state = \"\"; break;\n\t\t\tcase 'BrtBeginIndexedColors': state = \"INDEXEDCOLORS\"; break;\n\t\t\tcase 'BrtEndIndexedColors': state = \"\"; break;\n\t\t\tcase 'BrtBeginMRUColors': state = \"MRUCOLORS\"; break;\n\t\t\tcase 'BrtEndMRUColors': state = \"\"; break;\n\t\t\tcase 'BrtFRTBegin': pass = true; break;\n\t\t\tcase 'BrtFRTEnd': pass = false; break;\n\t\t\tcase 'BrtBeginStyleSheetExt14': break;\n\t\t\tcase 'BrtBeginSlicerStyles': break;\n\t\t\tcase 'BrtEndSlicerStyles': break;\n\t\t\tcase 'BrtBeginTimelineStylesheetExt15': break;\n\t\t\tcase 'BrtEndTimelineStylesheetExt15': break;\n\t\t\tcase 'BrtBeginTimelineStyles': break;\n\t\t\tcase 'BrtEndTimelineStyles': break;\n\t\t\tcase 'BrtEndStyleSheetExt14': break;\n\t\t\tdefault: if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R.n);\n\t\t}\n\t});\n\treturn styles;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(data, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginStyleSheet\");\n\t/* [FMTS] */\n\t/* [FONTS] */\n\t/* [FILLS] */\n\t/* [BORDERS] */\n\t/* CELLSTYLEXFS */\n\t/* CELLXFS*/\n\t/* STYLES */\n\t/* DXFS */\n\t/* TABLESTYLES */\n\t/* [COLORPALETTE] */\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, \"BrtEndStyleSheet\");\n\treturn ba.end();\n}\nRELS.THEME = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\";\n\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\tt[0].match(tagregex).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '<a:clrScheme': case '</a:clrScheme>': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '<a:srgbClr': color.rgb = y.val; break;\n\n\t\t\t/* 20.1.2.3.33 sysClr CT_SystemColor */\n\t\t\tcase '<a:sysClr': color.rgb = y.lastClr; break;\n\n\t\t\t/* 20.1.4.1.9 dk1 (Dark 1) */\n\t\t\tcase '<a:dk1>':\n\t\t\tcase '</a:dk1>':\n\t\t\t/* 20.1.4.1.10 dk2 (Dark 2) */\n\t\t\tcase '<a:dk2>':\n\t\t\tcase '</a:dk2>':\n\t\t\t/* 20.1.4.1.22 lt1 (Light 1) */\n\t\t\tcase '<a:lt1>':\n\t\t\tcase '</a:lt1>':\n\t\t\t/* 20.1.4.1.23 lt2 (Light 2) */\n\t\t\tcase '<a:lt2>':\n\t\t\tcase '</a:lt2>':\n\t\t\t/* 20.1.4.1.1 accent1 (Accent 1) */\n\t\t\tcase '<a:accent1>':\n\t\t\tcase '</a:accent1>':\n\t\t\t/* 20.1.4.1.2 accent2 (Accent 2) */\n\t\t\tcase '<a:accent2>':\n\t\t\tcase '</a:accent2>':\n\t\t\t/* 20.1.4.1.3 accent3 (Accent 3) */\n\t\t\tcase '<a:accent3>':\n\t\t\tcase '</a:accent3>':\n\t\t\t/* 20.1.4.1.4 accent4 (Accent 4) */\n\t\t\tcase '<a:accent4>':\n\t\t\tcase '</a:accent4>':\n\t\t\t/* 20.1.4.1.5 accent5 (Accent 5) */\n\t\t\tcase '<a:accent5>':\n\t\t\tcase '</a:accent5>':\n\t\t\t/* 20.1.4.1.6 accent6 (Accent 6) */\n\t\t\tcase '<a:accent6>':\n\t\t\tcase '</a:accent6>':\n\t\t\t/* 20.1.4.1.19 hlink (Hyperlink) */\n\t\t\tcase '<a:hlink>':\n\t\t\tcase '</a:hlink>':\n\t\t\t/* 20.1.4.1.15 folHlink (Followed Hyperlink) */\n\t\t\tcase '<a:folHlink>':\n\t\t\tcase '</a:folHlink>':\n\t\t\t\tif (y[0][1] === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme.push(color);\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].substring(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in clrScheme';\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme(t, opts) { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme(t, opts) { }\n\nvar clrsregex = /<a:clrScheme([^>]*)>[^\\u2603]*<\\/a:clrScheme>/;\nvar fntsregex = /<a:fontScheme([^>]*)>[^\\u2603]*<\\/a:fontScheme>/;\nvar fmtsregex = /<a:fmtScheme([^>]*)>[^\\u2603]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw m[0] + ' not found in themeElements';\n\t\tm[2](t, opts);\n\t});\n}\n\nvar themeltregex = /<a:themeElements([^>]*)>[^\\u2603]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) return themes;\n\n\tvar t;\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw 'themeElements not found in theme';\n\tparse_themeElements(t[0], opts);\n\n\treturn themes;\n}\n\nfunction write_theme() { return '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\"><a:themeElements><a:clrScheme name=\"Office\"><a:dk1><a:sysClr val=\"windowText\" lastClr=\"000000\"/></a:dk1><a:lt1><a:sysClr val=\"window\" lastClr=\"FFFFFF\"/></a:lt1><a:dk2><a:srgbClr val=\"1F497D\"/></a:dk2><a:lt2><a:srgbClr val=\"EEECE1\"/></a:lt2><a:accent1><a:srgbClr val=\"4F81BD\"/></a:accent1><a:accent2><a:srgbClr val=\"C0504D\"/></a:accent2><a:accent3><a:srgbClr val=\"9BBB59\"/></a:accent3><a:accent4><a:srgbClr val=\"8064A2\"/></a:accent4><a:accent5><a:srgbClr val=\"4BACC6\"/></a:accent5><a:accent6><a:srgbClr val=\"F79646\"/></a:accent6><a:hlink><a:srgbClr val=\"0000FF\"/></a:hlink><a:folHlink><a:srgbClr val=\"800080\"/></a:folHlink></a:clrScheme><a:fontScheme name=\"Office\"><a:majorFont><a:latin typeface=\"Cambria\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/><a:font script=\"Jpan\" typeface=\"MS Pゴシック\"/><a:font script=\"Hang\" typeface=\"맑은 고딕\"/><a:font script=\"Hans\" typeface=\"宋体\"/><a:font script=\"Hant\" typeface=\"新細明體\"/><a:font script=\"Arab\" typeface=\"Times New Roman\"/><a:font script=\"Hebr\" typeface=\"Times New Roman\"/><a:font script=\"Thai\" typeface=\"Tahoma\"/><a:font script=\"Ethi\" typeface=\"Nyala\"/><a:font script=\"Beng\" typeface=\"Vrinda\"/><a:font script=\"Gujr\" typeface=\"Shruti\"/><a:font script=\"Khmr\" typeface=\"MoolBoran\"/><a:font script=\"Knda\" typeface=\"Tunga\"/><a:font script=\"Guru\" typeface=\"Raavi\"/><a:font script=\"Cans\" typeface=\"Euphemia\"/><a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/><a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/><a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/><a:font script=\"Thaa\" typeface=\"MV Boli\"/><a:font script=\"Deva\" typeface=\"Mangal\"/><a:font script=\"Telu\" typeface=\"Gautami\"/><a:font script=\"Taml\" typeface=\"Latha\"/><a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Orya\" typeface=\"Kalinga\"/><a:font script=\"Mlym\" typeface=\"Kartika\"/><a:font script=\"Laoo\" typeface=\"DokChampa\"/><a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/><a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/><a:font script=\"Viet\" typeface=\"Times New Roman\"/><a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/><a:font script=\"Geor\" typeface=\"Sylfaen\"/></a:majorFont><a:minorFont><a:latin typeface=\"Calibri\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/><a:font script=\"Jpan\" typeface=\"MS Pゴシック\"/><a:font script=\"Hang\" typeface=\"맑은 고딕\"/><a:font script=\"Hans\" typeface=\"宋体\"/><a:font script=\"Hant\" typeface=\"新細明體\"/><a:font script=\"Arab\" typeface=\"Arial\"/><a:font script=\"Hebr\" typeface=\"Arial\"/><a:font script=\"Thai\" typeface=\"Tahoma\"/><a:font script=\"Ethi\" typeface=\"Nyala\"/><a:font script=\"Beng\" typeface=\"Vrinda\"/><a:font script=\"Gujr\" typeface=\"Shruti\"/><a:font script=\"Khmr\" typeface=\"DaunPenh\"/><a:font script=\"Knda\" typeface=\"Tunga\"/><a:font script=\"Guru\" typeface=\"Raavi\"/><a:font script=\"Cans\" typeface=\"Euphemia\"/><a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/><a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/><a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/><a:font script=\"Thaa\" typeface=\"MV Boli\"/><a:font script=\"Deva\" typeface=\"Mangal\"/><a:font script=\"Telu\" typeface=\"Gautami\"/><a:font script=\"Taml\" typeface=\"Latha\"/><a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Orya\" typeface=\"Kalinga\"/><a:font script=\"Mlym\" typeface=\"Kartika\"/><a:font script=\"Laoo\" typeface=\"DokChampa\"/><a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/><a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/><a:font script=\"Viet\" typeface=\"Arial\"/><a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/><a:font script=\"Geor\" typeface=\"Sylfaen\"/></a:minorFont></a:fontScheme><a:fmtScheme name=\"Office\"><a:fillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs><a:gs pos=\"35000\"><a:schemeClr val=\"phClr\"><a:tint val=\"37000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"15000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"16200000\" scaled=\"1\"/></a:gradFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"100000\"/><a:shade val=\"100000\"/><a:satMod val=\"130000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:shade val=\"100000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"16200000\" scaled=\"0\"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"><a:shade val=\"95000\"/><a:satMod val=\"105000\"/></a:schemeClr></a:solidFill><a:prstDash val=\"solid\"/></a:ln><a:ln w=\"25400\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln><a:ln w=\"38100\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst><a:outerShdw blurRad=\"40000\" dist=\"20000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"38000\"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw></a:effectLst><a:scene3d><a:camera prst=\"orthographicFront\"><a:rot lat=\"0\" lon=\"0\" rev=\"0\"/></a:camera><a:lightRig rig=\"threePt\" dir=\"t\"><a:rot lat=\"0\" lon=\"0\" rev=\"1200000\"/></a:lightRig></a:scene3d><a:sp3d><a:bevelT w=\"63500\" h=\"25400\"/></a:sp3d></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"40000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs><a:gs pos=\"40000\"><a:schemeClr val=\"phClr\"><a:tint val=\"45000\"/><a:shade val=\"99000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"20000\"/><a:satMod val=\"255000\"/></a:schemeClr></a:gs></a:gsLst><a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"-80000\" r=\"50000\" b=\"180000\"/></a:path></a:gradFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"80000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"30000\"/><a:satMod val=\"200000\"/></a:schemeClr></a:gs></a:gsLst><a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/></a:path></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults><a:spDef><a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"3\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></a:style></a:spDef><a:lnDef><a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"0\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"tx1\"/></a:fontRef></a:style></a:lnDef></a:objectDefaults><a:extraClrSchemeLst/></a:theme>'; }\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length) {\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tblob.l += length-4;\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob, length) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob, length) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.108 */\nfunction parse_ExtProp(blob, length) {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2);\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 5 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x07: case 0x08: case 0x09: case 0x0a: break;\n\t\t\tcase 0x0d: break; /* text color */\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tdefault: throw \"bafuq\" + xfe[0].toString(16);\n\t\t}\n\t});\n}\n\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data, opts) {\n\tvar d = [];\n\tvar l = 0, i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '<?xml': break;\n\t\t\t/* 18.6.2  calcChain CT_CalcChain 1 */\n\t\t\tcase '<calcChain': case '<calcChain>': case '</calcChain>': break;\n\t\t\t/* 18.6.1  c CT_CalcCell 1 */\n\t\t\tcase '<c': delete y[0]; if(y.i) i = y.i; else y.i = i; d.push(y); break;\n\t\t}\n\t});\n\treturn d;\n}\n\nfunction write_cc_xml(data, opts) { }\n/* [MS-XLSB] 2.6.4.1 */\nfunction parse_BrtCalcChainItem$(data, length) {\n\tvar out = {};\n\tout.i = data.read_shift(4);\n\tvar cell = {};\n\tcell.r = data.read_shift(4);\n\tcell.c = data.read_shift(4);\n\tout.r = encode_cell(cell);\n\tvar flags = data.read_shift(1);\n\tif(flags & 0x2) out.l = '1';\n\tif(flags & 0x8) out.a = '1';\n\treturn out;\n}\n\n/* 18.6 Calculation Chain */\nfunction parse_cc_bin(data, opts) {\n\tvar out = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_cc(val, R, RT) {\n\t\tswitch(R.n) {\n\t\t\tcase 'BrtCalcChainItem$': out.push(val); break;\n\t\t\tcase 'BrtBeginCalcChain$': break;\n\t\t\tcase 'BrtEndCalcChain$': break;\n\t\t\tdefault: if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R.n);\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_cc_bin(data, opts) { }\n\nfunction parse_comments(zip, dirComments, sheets, sheetRels, opts) {\n\tfor(var i = 0; i != dirComments.length; ++i) {\n\t\tvar canonicalpath=dirComments[i];\n\t\tvar comments=parse_cmnt(getzipdata(zip, canonicalpath.replace(/^\\//,''), true), canonicalpath, opts);\n\t\tif(!comments || !comments.length) continue;\n\t\t// find the sheets targeted by these comments\n\t\tvar sheetNames = keys(sheets);\n\t\tfor(var j = 0; j != sheetNames.length; ++j) {\n\t\t\tvar sheetName = sheetNames[j];\n\t\t\tvar rels = sheetRels[sheetName];\n\t\t\tif(rels) {\n\t\t\t\tvar rel = rels[canonicalpath];\n\t\t\t\tif(rel) insertCommentsIntoSheet(sheetName, sheets[sheetName], comments);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction insertCommentsIntoSheet(sheetName, sheet, comments) {\n\tcomments.forEach(function(comment) {\n\t\tvar cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = {};\n\t\t\tsheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tvar thisCell = decode_cell(comment.ref);\n\t\t\tif(range.s.r > thisCell.r) range.s.r = thisCell.r;\n\t\t\tif(range.e.r < thisCell.r) range.e.r = thisCell.r;\n\t\t\tif(range.s.c > thisCell.c) range.s.c = thisCell.c;\n\t\t\tif(range.e.c < thisCell.c) range.e.c = thisCell.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o = {a: comment.author, t: comment.t, r: comment.r};\n\t\tif(comment.h) o.h = comment.h;\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7.3 CT_Comment */\nfunction parse_comments_xml(data, opts) {\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors = [];\n\tvar commentList = [];\n\tdata.match(/<(?:\\w+:)?authors>([^\\u2603]*)<\\/(?:\\w+:)?authors>/)[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tauthors.push(x.match(/<(?:\\w+:)?author[^>]*>(.*)/)[1]);\n\t});\n\t(data.match(/<(?:\\w+:)?commentList>([^\\u2603]*)<\\/(?:\\w+:)?commentList>/)||[\"\",\"\"])[1].split(/<\\/\\w*:?comment>/).forEach(function(x, index) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar y = parsexmltag(x.match(/<(?:\\w+:)?comment[^>]*>/)[0]);\n\t\tvar comment = { author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid };\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<text>([^\\u2603]*)<\\/text>/);\n\t\tif (!textMatch || !textMatch[1]) return; // a comment may contain an empty text tag.\n\t\tvar rt = parse_si(textMatch[1]);\n\t\tcomment.r = rt.r;\n\t\tcomment.t = rt.t;\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nfunction write_comments_xml(data, opts) { }\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data, length) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.324 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\n\n/* [MS-XLSB] 2.4.325 BrtCommentText */\nvar parse_BrtCommentText = parse_RichStr;\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts) {\n\tvar out = [];\n\tvar authors = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R, RT) {\n\t\tswitch(R.n) {\n\t\t\tcase 'BrtCommentAuthor': authors.push(val); break;\n\t\t\tcase 'BrtBeginComment': c = val; break;\n\t\t\tcase 'BrtCommentText': c.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 'BrtEndComment':\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete c.iauthor;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\t\t\tcase 'BrtBeginComments': break;\n\t\t\tcase 'BrtEndComments': break;\n\t\t\tcase 'BrtBeginCommentAuthors': break;\n\t\t\tcase 'BrtEndCommentAuthors': break;\n\t\t\tcase 'BrtBeginCommentList': break;\n\t\t\tcase 'BrtEndCommentList': break;\n\t\t\tdefault: if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R.n);\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data, opts) { }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = (function(){\n\tvar rcregex = /(^|[^A-Za-z])R(\\[?)(-?\\d+|)\\]?C(\\[?)(-?\\d+|)\\]?/g;\n\tvar rcbase;\n\tfunction rcfunc($$,$1,$2,$3,$4,$5) {\n\t\tvar R = $3.length>0?parseInt($3,10)|0:0, C = $5.length>0?parseInt($5,10)|0:0;\n\t\tif(C<0 && $4.length === 0) C=0;\n\t\tif($4.length > 0) C += rcbase.c;\n\t\tif($2.length > 0) R += rcbase.r;\n\t\treturn $1 + encode_col(C) + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr, base) {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\n/* --- formula references point to MS-XLS --- */\n/* Small helpers */\nfunction parseread(l) { return function(blob, length) { blob.l+=l; return; }; }\nfunction parseread1(blob, length) { blob.l+=1; return; }\n\n/* Rgce Helpers */\n\n/* 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* 2.5.198.105 */\nfunction parse_RgceArea(blob, length) {\n\tvar r=blob.read_shift(2), R=blob.read_shift(2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* 2.5.198.105 TODO */\nfunction parse_RgceAreaRel(blob, length) {\n\tvar r=blob.read_shift(2), R=blob.read_shift(2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* 2.5.198.109 */\nfunction parse_RgceLoc(blob, length) {\n\tvar r = blob.read_shift(2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\n\n/* 2.5.198.111 */\nfunction parse_RgceLocRel(blob, length) {\n\tvar r = blob.read_shift(2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x8000) >> 15, rRel = (cl & 0x4000) >> 14;\n\tcl &= 0x3FFF;\n\tif(cRel !== 0) while(cl >= 0x100) cl -= 0x100;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\n\n/* Ptg Tokens */\n\n/* 2.5.198.27 */\nfunction parse_PtgArea(blob, length) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, 8);\n\treturn [type, area];\n}\n\n/* 2.5.198.28 */\nfunction parse_PtgArea3d(blob, length) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar area = parse_RgceArea(blob, 8);\n\treturn [type, ixti, area];\n}\n\n/* 2.5.198.29 */\nfunction parse_PtgAreaErr(blob, length) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += 8;\n\treturn [type];\n}\n/* 2.5.198.30 */\nfunction parse_PtgAreaErr3d(blob, length) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tblob.l += 8;\n\treturn [type, ixti];\n}\n\n/* 2.5.198.31 */\nfunction parse_PtgAreaN(blob, length) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, 8);\n\treturn [type, area];\n}\n\n/* 2.5.198.32 -- ignore this and look in PtgExtraArray for shape + values */\nfunction parse_PtgArray(blob, length) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += 7;\n\treturn [type];\n}\n\n/* 2.5.198.33 */\nfunction parse_PtgAttrBaxcel(blob, length) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* 2.5.198.34 */\nfunction parse_PtgAttrChoose(blob, length) {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(2);\n\tvar o = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(2));\n\treturn o;\n}\n\n/* 2.5.198.35 */\nfunction parse_PtgAttrGoto(blob, length) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(2)];\n}\n\n/* 2.5.198.36 */\nfunction parse_PtgAttrIf(blob, length) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* 2.5.198.37 */\nfunction parse_PtgAttrSemi(blob, length) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 4;\n\treturn [bitSemi];\n}\n\n/* 2.5.198.40 (used by PtgAttrSpace and PtgAttrSpaceSemi) */\nfunction parse_PtgAttrSpaceType(blob, length) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* 2.5.198.38 */\nfunction parse_PtgAttrSpace(blob, length) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* 2.5.198.39 */\nfunction parse_PtgAttrSpaceSemi(blob, length) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* 2.5.198.84 TODO */\nfunction parse_PtgRef(blob, length) {\n\tvar ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob,4);\n\treturn [type, loc];\n}\n\n/* 2.5.198.88 TODO */\nfunction parse_PtgRefN(blob, length) {\n\tvar ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob,4);\n\treturn [type, loc];\n}\n\n/* 2.5.198.85 TODO */\nfunction parse_PtgRef3d(blob, length) {\n\tvar ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar loc = parse_RgceLoc(blob,4);\n\treturn [type, ixti, loc];\n}\n\n\n/* 2.5.198.62 TODO */\nfunction parse_PtgFunc(blob, length) {\n\tvar ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(2);\n\treturn [FtabArgc[iftab], Ftab[iftab]];\n}\n/* 2.5.198.63 TODO */\nfunction parse_PtgFuncVar(blob, length) {\n\tblob.l++;\n\tvar cparams = blob.read_shift(1), tab = parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob, length) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* 2.5.198.41 */\nvar parse_PtgAttrSum = parseread(4);\n/* 2.5.198.43 */\nvar parse_PtgConcat = parseread1;\n\n/* 2.5.198.58 */\nfunction parse_PtgExp(blob, length) {\n\tblob.l++;\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(2);\n\treturn [row, col];\n}\n\n/* 2.5.198.57 */\nfunction parse_PtgErr(blob, length) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* 2.5.198.66 TODO */\nfunction parse_PtgInt(blob, length) { blob.l++; return blob.read_shift(2); }\n\n/* 2.5.198.42 */\nfunction parse_PtgBool(blob, length) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* 2.5.198.79 */\nfunction parse_PtgNum(blob, length) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* 2.5.198.89 */\nfunction parse_PtgStr(blob, length) { blob.l++; return parse_ShortXLUnicodeString(blob); }\n\n/* 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\nfunction parse_SerAr(blob) {\n\tvar val = [];\n\tswitch((val[0] = blob.read_shift(1))) {\n\t\t/* 2.5.192.113 */\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tblob.l += 7; break;\n\t\t/* 2.5.192.114 */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += 8; break;\n\t\t/* 2.5.192.115 */\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\t/* 2.5.192.116 */\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\t/* 2.5.192.117 */\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString(blob); break;\n\t\t// default: throw \"Bad SerAr: \" + val[0]; /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* 2.5.198.61 */\nfunction parse_PtgExtraMem(blob, cce) {\n\tvar count = blob.read_shift(2);\n\tvar out = [];\n\tfor(var i = 0; i != count; ++i) out.push(parse_Ref8U(blob, 8));\n\treturn out;\n}\n\n/* 2.5.198.59 */\nfunction parse_PtgExtraArray(blob) {\n\tvar cols = 1 + blob.read_shift(1); //DColByteU\n\tvar rows = 1 + blob.read_shift(2); //DRw\n\tfor(var i = 0, o=[]; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob);\n\treturn o;\n}\n\n/* 2.5.198.76 */\nfunction parse_PtgName(blob, length) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, 0, nameindex];\n}\n\n/* 2.5.198.77 */\nfunction parse_PtgNameX(blob, length) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\n\n/* 2.5.198.70 */\nfunction parse_PtgMemArea(blob, length) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\n\n/* 2.5.198.72 */\nfunction parse_PtgMemFunc(blob, length) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\n\n\n/* 2.5.198.86 */\nfunction parse_PtgRefErr(blob, length) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\treturn [type];\n}\n\n/* 2.5.198.26 */\nvar parse_PtgAdd = parseread1;\n/* 2.5.198.45 */\nvar parse_PtgDiv = parseread1;\n/* 2.5.198.56 */\nvar parse_PtgEq = parseread1;\n/* 2.5.198.64 */\nvar parse_PtgGe = parseread1;\n/* 2.5.198.65 */\nvar parse_PtgGt = parseread1;\n/* 2.5.198.67 */\nvar parse_PtgIsect = parseread1;\n/* 2.5.198.68 */\nvar parse_PtgLe = parseread1;\n/* 2.5.198.69 */\nvar parse_PtgLt = parseread1;\n/* 2.5.198.74 */\nvar parse_PtgMissArg = parseread1;\n/* 2.5.198.75 */\nvar parse_PtgMul = parseread1;\n/* 2.5.198.78 */\nvar parse_PtgNe = parseread1;\n/* 2.5.198.80 */\nvar parse_PtgParen = parseread1;\n/* 2.5.198.81 */\nvar parse_PtgPercent = parseread1;\n/* 2.5.198.82 */\nvar parse_PtgPower = parseread1;\n/* 2.5.198.83 */\nvar parse_PtgRange = parseread1;\n/* 2.5.198.90 */\nvar parse_PtgSub = parseread1;\n/* 2.5.198.93 */\nvar parse_PtgUminus = parseread1;\n/* 2.5.198.94 */\nvar parse_PtgUnion = parseread1;\n/* 2.5.198.95 */\nvar parse_PtgUplus = parseread1;\n\n/* 2.5.198.71 */\nvar parse_PtgMemErr = parsenoop;\n/* 2.5.198.73 */\nvar parse_PtgMemNoMem = parsenoop;\n/* 2.5.198.87 */\nvar parse_PtgRefErr3d = parsenoop;\n/* 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\n/* 2.5.198.25 */\nvar PtgTypes = {\n\t0x01: { n:'PtgExp', f:parse_PtgExp },\n\t0x02: { n:'PtgTbl', f:parse_PtgTbl },\n\t0x03: { n:'PtgAdd', f:parse_PtgAdd },\n\t0x04: { n:'PtgSub', f:parse_PtgSub },\n\t0x05: { n:'PtgMul', f:parse_PtgMul },\n\t0x06: { n:'PtgDiv', f:parse_PtgDiv },\n\t0x07: { n:'PtgPower', f:parse_PtgPower },\n\t0x08: { n:'PtgConcat', f:parse_PtgConcat },\n\t0x09: { n:'PtgLt', f:parse_PtgLt },\n\t0x0A: { n:'PtgLe', f:parse_PtgLe },\n\t0x0B: { n:'PtgEq', f:parse_PtgEq },\n\t0x0C: { n:'PtgGe', f:parse_PtgGe },\n\t0x0D: { n:'PtgGt', f:parse_PtgGt },\n\t0x0E: { n:'PtgNe', f:parse_PtgNe },\n\t0x0F: { n:'PtgIsect', f:parse_PtgIsect },\n\t0x10: { n:'PtgUnion', f:parse_PtgUnion },\n\t0x11: { n:'PtgRange', f:parse_PtgRange },\n\t0x12: { n:'PtgUplus', f:parse_PtgUplus },\n\t0x13: { n:'PtgUminus', f:parse_PtgUminus },\n\t0x14: { n:'PtgPercent', f:parse_PtgPercent },\n\t0x15: { n:'PtgParen', f:parse_PtgParen },\n\t0x16: { n:'PtgMissArg', f:parse_PtgMissArg },\n\t0x17: { n:'PtgStr', f:parse_PtgStr },\n\t0x1C: { n:'PtgErr', f:parse_PtgErr },\n\t0x1D: { n:'PtgBool', f:parse_PtgBool },\n\t0x1E: { n:'PtgInt', f:parse_PtgInt },\n\t0x1F: { n:'PtgNum', f:parse_PtgNum },\n\t0x20: { n:'PtgArray', f:parse_PtgArray },\n\t0x21: { n:'PtgFunc', f:parse_PtgFunc },\n\t0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n\t0x23: { n:'PtgName', f:parse_PtgName },\n\t0x24: { n:'PtgRef', f:parse_PtgRef },\n\t0x25: { n:'PtgArea', f:parse_PtgArea },\n\t0x26: { n:'PtgMemArea', f:parse_PtgMemArea },\n\t0x27: { n:'PtgMemErr', f:parse_PtgMemErr },\n\t0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n\t0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n\t0x2A: { n:'PtgRefErr', f:parse_PtgRefErr },\n\t0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n\t0x2C: { n:'PtgRefN', f:parse_PtgRefN },\n\t0x2D: { n:'PtgAreaN', f:parse_PtgAreaN },\n\t0x39: { n:'PtgNameX', f:parse_PtgNameX },\n\t0x3A: { n:'PtgRef3d', f:parse_PtgRef3d },\n\t0x3B: { n:'PtgArea3d', f:parse_PtgArea3d },\n\t0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n\t0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n\t0xFF: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n\t0x40: 0x20, 0x60: 0x20,\n\t0x41: 0x21, 0x61: 0x21,\n\t0x42: 0x22, 0x62: 0x22,\n\t0x43: 0x23, 0x63: 0x23,\n\t0x44: 0x24, 0x64: 0x24,\n\t0x45: 0x25, 0x65: 0x25,\n\t0x46: 0x26, 0x66: 0x26,\n\t0x47: 0x27, 0x67: 0x27,\n\t0x48: 0x28, 0x68: 0x28,\n\t0x49: 0x29, 0x69: 0x29,\n\t0x4A: 0x2A, 0x6A: 0x2A,\n\t0x4B: 0x2B, 0x6B: 0x2B,\n\t0x4C: 0x2C, 0x6C: 0x2C,\n\t0x4D: 0x2D, 0x6D: 0x2D,\n\t0x59: 0x39, 0x79: 0x39,\n\t0x5A: 0x3A, 0x7A: 0x3A,\n\t0x5B: 0x3B, 0x7B: 0x3B,\n\t0x5C: 0x3C, 0x7C: 0x3C,\n\t0x5D: 0x3D, 0x7D: 0x3D\n};\n(function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})();\n\nvar Ptg18 = {};\nvar Ptg19 = {\n\t0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n\t0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n\t0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n\t0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n\t0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n\t0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n\t0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n\t0xFF: {}\n};\n\n/* 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tblob.read_shift(1);\n\tvar chn = blob.read_shift(4);\n\tvar cbf = \"\";\n\tif(opts.biff === 5) blob.l += length-20;\n\telse cbf = parse_XLSCellParsedFormula(blob, length-20, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\n\n/* 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n}\n\n/* 2.5.198.103 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1]);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce);\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, length - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts, ref) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce);\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* 2.5.198.104 */\nfunction parse_Rgce(blob, length) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id];\n\t\t//console.log(\"ptg\", id, R)\n\t\tif(id === 0x18 || id === 0x19) {\n\t\t\tid = blob[blob.l + 1];\n\t\t\tR = (id === 0x18 ? Ptg18 : Ptg19)[id];\n\t\t}\n\t\tif(!R || !R.f) { ptgs.push(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction mapper(x) { return x.map(function f2(y) { return y[1];}).join(\",\");}\n\n/* 2.2.2 + Magic TODO */\nfunction stringify_formula(formula, range, cell, supbooks, opts) {\n\tif(opts !== undefined && opts.biff === 5) return \"BIFF5??\";\n\tvar _range = range !== undefined ? range : {s:{c:0, r:0}};\n\tvar stack = [], e1, e2, type, c, ixti, nameidx, r;\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\t//console.log(\"--\",cell,formula[0])\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\t//console.log(\"++\",f, stack)\n\t\tswitch(f[0]) {\n\t\t/* 2.2.2.1 Unary Operator Tokens */\n\t\t\t/* 2.5.198.93 */\n\t\t\tcase 'PtgUminus': stack.push(\"-\" + stack.pop()); break;\n\t\t\t/* 2.5.198.95 */\n\t\t\tcase 'PtgUplus': stack.push(\"+\" + stack.pop()); break;\n\t\t\t/* 2.5.198.81 */\n\t\t\tcase 'PtgPercent': stack.push(stack.pop() + \"%\"); break;\n\n\t\t/* 2.2.2.1 Binary Value Operator Token */\n\t\t\t/* 2.5.198.26 */\n\t\t\tcase 'PtgAdd':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"+\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.90 */\n\t\t\tcase 'PtgSub':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"-\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.75 */\n\t\t\tcase 'PtgMul':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"*\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.45 */\n\t\t\tcase 'PtgDiv':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"/\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.82 */\n\t\t\tcase 'PtgPower':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"^\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.43 */\n\t\t\tcase 'PtgConcat':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"&\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.69 */\n\t\t\tcase 'PtgLt':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"<\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.68 */\n\t\t\tcase 'PtgLe':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"<=\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.56 */\n\t\t\tcase 'PtgEq':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"=\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.64 */\n\t\t\tcase 'PtgGe':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\">=\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.65 */\n\t\t\tcase 'PtgGt':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\">\"+e1);\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.78 */\n\t\t\tcase 'PtgNe':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\"<>\"+e1);\n\t\t\t\tbreak;\n\n\t\t/* 2.2.2.1 Binary Reference Operator Token */\n\t\t\t/* 2.5.198.67 */\n\t\t\tcase 'PtgIsect':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion':\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': break;\n\n\t\t/* 2.2.2.3 Control Tokens \"can be ignored\" */\n\t\t\t/* 2.5.198.34 */\n\t\t\tcase 'PtgAttrChoose': break;\n\t\t\t/* 2.5.198.35 */\n\t\t\tcase 'PtgAttrGoto': break;\n\t\t\t/* 2.5.198.36 */\n\t\t\tcase 'PtgAttrIf': break;\n\n\n\t\t\t/* 2.5.198.84 */\n\t\t\tcase 'PtgRef':\n\t\t\t\ttype = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), _range);\n\t\t\t\tstack.push(encode_cell(c));\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.88 */\n\t\t\tcase 'PtgRefN':\n\t\t\t\ttype = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), cell);\n\t\t\t\tstack.push(encode_cell(c));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': // TODO: lots of stuff\n\t\t\t\ttype = f[1][0]; ixti = f[1][1]; c = shift_cell_xls(f[1][2], _range);\n\t\t\t\tstack.push(supbooks[1][ixti+1]+\"!\"+encode_cell(c));\n\t\t\t\tbreak;\n\n\t\t/* Function Call */\n\t\t\t/* 2.5.198.62 */\n\t\t\tcase 'PtgFunc':\n\t\t\t/* 2.5.198.63 */\n\t\t\tcase 'PtgFuncVar':\n\t\t\t\t/* f[1] = [argc, func] */\n\t\t\t\tvar argc = f[1][0], func = f[1][1];\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\tvar args = stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\t/* 2.5.198.42 */\n\t\t\tcase 'PtgBool': stack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\t/* 2.5.198.66 */\n\t\t\tcase 'PtgInt': stack.push(f[1]); break;\n\t\t\t/* 2.5.198.79 TODO: precision? */\n\t\t\tcase 'PtgNum': stack.push(String(f[1])); break;\n\t\t\t/* 2.5.198.89 */\n\t\t\tcase 'PtgStr': stack.push('\"' + f[1] + '\"'); break;\n\t\t\t/* 2.5.198.57 */\n\t\t\tcase 'PtgErr': stack.push(f[1]); break;\n\t\t\t/* 2.5.198.27 TODO: fixed points */\n\t\t\tcase 'PtgArea':\n\t\t\t\ttype = f[1][0]; r = shift_range_xls(f[1][1], _range);\n\t\t\t\tstack.push(encode_range(r));\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.28 */\n\t\t\tcase 'PtgArea3d': // TODO: lots of stuff\n\t\t\t\ttype = f[1][0]; ixti = f[1][1]; r = f[1][2];\n\t\t\t\tstack.push(supbooks[1][ixti+1]+\"!\"+encode_range(r));\n\t\t\t\tbreak;\n\t\t\t/* 2.5.198.41 */\n\t\t\tcase 'PtgAttrSum':\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t/* Expression Prefixes */\n\t\t\t/* 2.5.198.37 */\n\t\t\tcase 'PtgAttrSemi': break;\n\n\t\t\t/* 2.5.97.60 TODO: do something different for revisions */\n\t\t\tcase 'PtgName':\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = f[1][2];\n\t\t\t\tvar lbl = supbooks[0][nameidx];\n\t\t\t\tvar name = lbl.Name;\n\t\t\t\tif(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name];\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\t/* 2.5.97.61 TODO: do something different for revisions */\n\t\t\tcase 'PtgNameX':\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx = f[1][1]; nameidx = f[1][2]; var externbook;\n\t\t\t\t/* TODO: Properly handle missing values */\n\t\t\t\tif(supbooks[bookidx+1]) externbook = supbooks[bookidx+1][nameidx];\n\t\t\t\telse if(supbooks[bookidx-1]) externbook = supbooks[bookidx-1][nameidx];\n\t\t\t\tif(!externbook) externbook = {body: \"??NAMEX??\"};\n\t\t\t\tstack.push(externbook.body);\n\t\t\t\tbreak;\n\n\t\t/* 2.2.2.4 Display Tokens */\n\t\t\t/* 2.5.198.80 */\n\t\t\tcase 'PtgParen': stack.push('(' + stack.pop() + ')'); break;\n\n\t\t\t/* 2.5.198.86 */\n\t\t\tcase 'PtgRefErr': stack.push('#REF!'); break;\n\n\t\t/* */\n\t\t\t/* 2.5.198.58 TODO */\n\t\t\tcase 'PtgExp':\n\t\t\t\tc = {c:f[1][1],r:f[1][0]};\n\t\t\t\tvar q = {c: cell.c, r:cell.r};\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(f[1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* 2.5.198.32 TODO */\n\t\t\tcase 'PtgArray':\n\t\t\t\tstack.push(\"{\" + f[1].map(mapper).join(\";\") + \"}\");\n\t\t\t\tbreak;\n\n\t\t/* 2.2.2.5 Mem Tokens */\n\t\t\t/* 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\tcase 'PtgMemArea':\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\t/* 2.5.198.38 TODO */\n\t\t\tcase 'PtgAttrSpace': break;\n\n\t\t\t/* 2.5.198.92 TODO */\n\t\t\tcase 'PtgTbl': break;\n\n\t\t\t/* 2.5.198.71 */\n\t\t\tcase 'PtgMemErr': break;\n\n\t\t\t/* 2.5.198.74 */\n\t\t\tcase 'PtgMissArg':\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\t/* 2.5.198.29 TODO */\n\t\t\tcase 'PtgAreaErr': break;\n\n\t\t\t/* 2.5.198.31 TODO */\n\t\t\tcase 'PtgAreaN': stack.push(\"\"); break;\n\n\t\t\t/* 2.5.198.87 TODO */\n\t\t\tcase 'PtgRefErr3d': break;\n\n\t\t\t/* 2.5.198.72 TODO */\n\t\t\tcase 'PtgMemFunc': break;\n\n\t\t\tdefault: throw 'Unrecognized Formula Token: ' + f;\n\t\t}\n\t\t//console.log(\"::\",f, stack)\n\t}\n\t//console.log(\"--\",stack);\n\treturn stack[0];\n}\n\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula TODO: use similar logic to js-xls */\nfunction parse_XLSBCellParsedFormula(data, length) {\n\tvar cce = data.read_shift(4);\n\treturn parsenoop(data, length-4);\n}\n/* [MS-XLS] 2.5.198.44 */\nvar PtgDataType = {\n\t0x1: \"REFERENCE\", // reference to range\n\t0x2: \"VALUE\", // single value\n\t0x3: \"ARRAY\" // array of values\n};\n\n/* [MS-XLS] 2.5.198.4 */\nvar Cetab = {\n\t0x0000: 'BEEP',\n\t0x0001: 'OPEN',\n\t0x0002: 'OPEN.LINKS',\n\t0x0003: 'CLOSE.ALL',\n\t0x0004: 'SAVE',\n\t0x0005: 'SAVE.AS',\n\t0x0006: 'FILE.DELETE',\n\t0x0007: 'PAGE.SETUP',\n\t0x0008: 'PRINT',\n\t0x0009: 'PRINTER.SETUP',\n\t0x000A: 'QUIT',\n\t0x000B: 'NEW.WINDOW',\n\t0x000C: 'ARRANGE.ALL',\n\t0x000D: 'WINDOW.SIZE',\n\t0x000E: 'WINDOW.MOVE',\n\t0x000F: 'FULL',\n\t0x0010: 'CLOSE',\n\t0x0011: 'RUN',\n\t0x0016: 'SET.PRINT.AREA',\n\t0x0017: 'SET.PRINT.TITLES',\n\t0x0018: 'SET.PAGE.BREAK',\n\t0x0019: 'REMOVE.PAGE.BREAK',\n\t0x001A: 'FONT',\n\t0x001B: 'DISPLAY',\n\t0x001C: 'PROTECT.DOCUMENT',\n\t0x001D: 'PRECISION',\n\t0x001E: 'A1.R1C1',\n\t0x001F: 'CALCULATE.NOW',\n\t0x0020: 'CALCULATION',\n\t0x0022: 'DATA.FIND',\n\t0x0023: 'EXTRACT',\n\t0x0024: 'DATA.DELETE',\n\t0x0025: 'SET.DATABASE',\n\t0x0026: 'SET.CRITERIA',\n\t0x0027: 'SORT',\n\t0x0028: 'DATA.SERIES',\n\t0x0029: 'TABLE',\n\t0x002A: 'FORMAT.NUMBER',\n\t0x002B: 'ALIGNMENT',\n\t0x002C: 'STYLE',\n\t0x002D: 'BORDER',\n\t0x002E: 'CELL.PROTECTION',\n\t0x002F: 'COLUMN.WIDTH',\n\t0x0030: 'UNDO',\n\t0x0031: 'CUT',\n\t0x0032: 'COPY',\n\t0x0033: 'PASTE',\n\t0x0034: 'CLEAR',\n\t0x0035: 'PASTE.SPECIAL',\n\t0x0036: 'EDIT.DELETE',\n\t0x0037: 'INSERT',\n\t0x0038: 'FILL.RIGHT',\n\t0x0039: 'FILL.DOWN',\n\t0x003D: 'DEFINE.NAME',\n\t0x003E: 'CREATE.NAMES',\n\t0x003F: 'FORMULA.GOTO',\n\t0x0040: 'FORMULA.FIND',\n\t0x0041: 'SELECT.LAST.CELL',\n\t0x0042: 'SHOW.ACTIVE.CELL',\n\t0x0043: 'GALLERY.AREA',\n\t0x0044: 'GALLERY.BAR',\n\t0x0045: 'GALLERY.COLUMN',\n\t0x0046: 'GALLERY.LINE',\n\t0x0047: 'GALLERY.PIE',\n\t0x0048: 'GALLERY.SCATTER',\n\t0x0049: 'COMBINATION',\n\t0x004A: 'PREFERRED',\n\t0x004B: 'ADD.OVERLAY',\n\t0x004C: 'GRIDLINES',\n\t0x004D: 'SET.PREFERRED',\n\t0x004E: 'AXES',\n\t0x004F: 'LEGEND',\n\t0x0050: 'ATTACH.TEXT',\n\t0x0051: 'ADD.ARROW',\n\t0x0052: 'SELECT.CHART',\n\t0x0053: 'SELECT.PLOT.AREA',\n\t0x0054: 'PATTERNS',\n\t0x0055: 'MAIN.CHART',\n\t0x0056: 'OVERLAY',\n\t0x0057: 'SCALE',\n\t0x0058: 'FORMAT.LEGEND',\n\t0x0059: 'FORMAT.TEXT',\n\t0x005A: 'EDIT.REPEAT',\n\t0x005B: 'PARSE',\n\t0x005C: 'JUSTIFY',\n\t0x005D: 'HIDE',\n\t0x005E: 'UNHIDE',\n\t0x005F: 'WORKSPACE',\n\t0x0060: 'FORMULA',\n\t0x0061: 'FORMULA.FILL',\n\t0x0062: 'FORMULA.ARRAY',\n\t0x0063: 'DATA.FIND.NEXT',\n\t0x0064: 'DATA.FIND.PREV',\n\t0x0065: 'FORMULA.FIND.NEXT',\n\t0x0066: 'FORMULA.FIND.PREV',\n\t0x0067: 'ACTIVATE',\n\t0x0068: 'ACTIVATE.NEXT',\n\t0x0069: 'ACTIVATE.PREV',\n\t0x006A: 'UNLOCKED.NEXT',\n\t0x006B: 'UNLOCKED.PREV',\n\t0x006C: 'COPY.PICTURE',\n\t0x006D: 'SELECT',\n\t0x006E: 'DELETE.NAME',\n\t0x006F: 'DELETE.FORMAT',\n\t0x0070: 'VLINE',\n\t0x0071: 'HLINE',\n\t0x0072: 'VPAGE',\n\t0x0073: 'HPAGE',\n\t0x0074: 'VSCROLL',\n\t0x0075: 'HSCROLL',\n\t0x0076: 'ALERT',\n\t0x0077: 'NEW',\n\t0x0078: 'CANCEL.COPY',\n\t0x0079: 'SHOW.CLIPBOARD',\n\t0x007A: 'MESSAGE',\n\t0x007C: 'PASTE.LINK',\n\t0x007D: 'APP.ACTIVATE',\n\t0x007E: 'DELETE.ARROW',\n\t0x007F: 'ROW.HEIGHT',\n\t0x0080: 'FORMAT.MOVE',\n\t0x0081: 'FORMAT.SIZE',\n\t0x0082: 'FORMULA.REPLACE',\n\t0x0083: 'SEND.KEYS',\n\t0x0084: 'SELECT.SPECIAL',\n\t0x0085: 'APPLY.NAMES',\n\t0x0086: 'REPLACE.FONT',\n\t0x0087: 'FREEZE.PANES',\n\t0x0088: 'SHOW.INFO',\n\t0x0089: 'SPLIT',\n\t0x008A: 'ON.WINDOW',\n\t0x008B: 'ON.DATA',\n\t0x008C: 'DISABLE.INPUT',\n\t0x008E: 'OUTLINE',\n\t0x008F: 'LIST.NAMES',\n\t0x0090: 'FILE.CLOSE',\n\t0x0091: 'SAVE.WORKBOOK',\n\t0x0092: 'DATA.FORM',\n\t0x0093: 'COPY.CHART',\n\t0x0094: 'ON.TIME',\n\t0x0095: 'WAIT',\n\t0x0096: 'FORMAT.FONT',\n\t0x0097: 'FILL.UP',\n\t0x0098: 'FILL.LEFT',\n\t0x0099: 'DELETE.OVERLAY',\n\t0x009B: 'SHORT.MENUS',\n\t0x009F: 'SET.UPDATE.STATUS',\n\t0x00A1: 'COLOR.PALETTE',\n\t0x00A2: 'DELETE.STYLE',\n\t0x00A3: 'WINDOW.RESTORE',\n\t0x00A4: 'WINDOW.MAXIMIZE',\n\t0x00A6: 'CHANGE.LINK',\n\t0x00A7: 'CALCULATE.DOCUMENT',\n\t0x00A8: 'ON.KEY',\n\t0x00A9: 'APP.RESTORE',\n\t0x00AA: 'APP.MOVE',\n\t0x00AB: 'APP.SIZE',\n\t0x00AC: 'APP.MINIMIZE',\n\t0x00AD: 'APP.MAXIMIZE',\n\t0x00AE: 'BRING.TO.FRONT',\n\t0x00AF: 'SEND.TO.BACK',\n\t0x00B9: 'MAIN.CHART.TYPE',\n\t0x00BA: 'OVERLAY.CHART.TYPE',\n\t0x00BB: 'SELECT.END',\n\t0x00BC: 'OPEN.MAIL',\n\t0x00BD: 'SEND.MAIL',\n\t0x00BE: 'STANDARD.FONT',\n\t0x00BF: 'CONSOLIDATE',\n\t0x00C0: 'SORT.SPECIAL',\n\t0x00C1: 'GALLERY.3D.AREA',\n\t0x00C2: 'GALLERY.3D.COLUMN',\n\t0x00C3: 'GALLERY.3D.LINE',\n\t0x00C4: 'GALLERY.3D.PIE',\n\t0x00C5: 'VIEW.3D',\n\t0x00C6: 'GOAL.SEEK',\n\t0x00C7: 'WORKGROUP',\n\t0x00C8: 'FILL.GROUP',\n\t0x00C9: 'UPDATE.LINK',\n\t0x00CA: 'PROMOTE',\n\t0x00CB: 'DEMOTE',\n\t0x00CC: 'SHOW.DETAIL',\n\t0x00CE: 'UNGROUP',\n\t0x00CF: 'OBJECT.PROPERTIES',\n\t0x00D0: 'SAVE.NEW.OBJECT',\n\t0x00D1: 'SHARE',\n\t0x00D2: 'SHARE.NAME',\n\t0x00D3: 'DUPLICATE',\n\t0x00D4: 'APPLY.STYLE',\n\t0x00D5: 'ASSIGN.TO.OBJECT',\n\t0x00D6: 'OBJECT.PROTECTION',\n\t0x00D7: 'HIDE.OBJECT',\n\t0x00D8: 'SET.EXTRACT',\n\t0x00D9: 'CREATE.PUBLISHER',\n\t0x00DA: 'SUBSCRIBE.TO',\n\t0x00DB: 'ATTRIBUTES',\n\t0x00DC: 'SHOW.TOOLBAR',\n\t0x00DE: 'PRINT.PREVIEW',\n\t0x00DF: 'EDIT.COLOR',\n\t0x00E0: 'SHOW.LEVELS',\n\t0x00E1: 'FORMAT.MAIN',\n\t0x00E2: 'FORMAT.OVERLAY',\n\t0x00E3: 'ON.RECALC',\n\t0x00E4: 'EDIT.SERIES',\n\t0x00E5: 'DEFINE.STYLE',\n\t0x00F0: 'LINE.PRINT',\n\t0x00F3: 'ENTER.DATA',\n\t0x00F9: 'GALLERY.RADAR',\n\t0x00FA: 'MERGE.STYLES',\n\t0x00FB: 'EDITION.OPTIONS',\n\t0x00FC: 'PASTE.PICTURE',\n\t0x00FD: 'PASTE.PICTURE.LINK',\n\t0x00FE: 'SPELLING',\n\t0x0100: 'ZOOM',\n\t0x0103: 'INSERT.OBJECT',\n\t0x0104: 'WINDOW.MINIMIZE',\n\t0x0109: 'SOUND.NOTE',\n\t0x010A: 'SOUND.PLAY',\n\t0x010B: 'FORMAT.SHAPE',\n\t0x010C: 'EXTEND.POLYGON',\n\t0x010D: 'FORMAT.AUTO',\n\t0x0110: 'GALLERY.3D.BAR',\n\t0x0111: 'GALLERY.3D.SURFACE',\n\t0x0112: 'FILL.AUTO',\n\t0x0114: 'CUSTOMIZE.TOOLBAR',\n\t0x0115: 'ADD.TOOL',\n\t0x0116: 'EDIT.OBJECT',\n\t0x0117: 'ON.DOUBLECLICK',\n\t0x0118: 'ON.ENTRY',\n\t0x0119: 'WORKBOOK.ADD',\n\t0x011A: 'WORKBOOK.MOVE',\n\t0x011B: 'WORKBOOK.COPY',\n\t0x011C: 'WORKBOOK.OPTIONS',\n\t0x011D: 'SAVE.WORKSPACE',\n\t0x0120: 'CHART.WIZARD',\n\t0x0121: 'DELETE.TOOL',\n\t0x0122: 'MOVE.TOOL',\n\t0x0123: 'WORKBOOK.SELECT',\n\t0x0124: 'WORKBOOK.ACTIVATE',\n\t0x0125: 'ASSIGN.TO.TOOL',\n\t0x0127: 'COPY.TOOL',\n\t0x0128: 'RESET.TOOL',\n\t0x0129: 'CONSTRAIN.NUMERIC',\n\t0x012A: 'PASTE.TOOL',\n\t0x012E: 'WORKBOOK.NEW',\n\t0x0131: 'SCENARIO.CELLS',\n\t0x0132: 'SCENARIO.DELETE',\n\t0x0133: 'SCENARIO.ADD',\n\t0x0134: 'SCENARIO.EDIT',\n\t0x0135: 'SCENARIO.SHOW',\n\t0x0136: 'SCENARIO.SHOW.NEXT',\n\t0x0137: 'SCENARIO.SUMMARY',\n\t0x0138: 'PIVOT.TABLE.WIZARD',\n\t0x0139: 'PIVOT.FIELD.PROPERTIES',\n\t0x013A: 'PIVOT.FIELD',\n\t0x013B: 'PIVOT.ITEM',\n\t0x013C: 'PIVOT.ADD.FIELDS',\n\t0x013E: 'OPTIONS.CALCULATION',\n\t0x013F: 'OPTIONS.EDIT',\n\t0x0140: 'OPTIONS.VIEW',\n\t0x0141: 'ADDIN.MANAGER',\n\t0x0142: 'MENU.EDITOR',\n\t0x0143: 'ATTACH.TOOLBARS',\n\t0x0144: 'VBAActivate',\n\t0x0145: 'OPTIONS.CHART',\n\t0x0148: 'VBA.INSERT.FILE',\n\t0x014A: 'VBA.PROCEDURE.DEFINITION',\n\t0x0150: 'ROUTING.SLIP',\n\t0x0152: 'ROUTE.DOCUMENT',\n\t0x0153: 'MAIL.LOGON',\n\t0x0156: 'INSERT.PICTURE',\n\t0x0157: 'EDIT.TOOL',\n\t0x0158: 'GALLERY.DOUGHNUT',\n\t0x015E: 'CHART.TREND',\n\t0x0160: 'PIVOT.ITEM.PROPERTIES',\n\t0x0162: 'WORKBOOK.INSERT',\n\t0x0163: 'OPTIONS.TRANSITION',\n\t0x0164: 'OPTIONS.GENERAL',\n\t0x0172: 'FILTER.ADVANCED',\n\t0x0175: 'MAIL.ADD.MAILER',\n\t0x0176: 'MAIL.DELETE.MAILER',\n\t0x0177: 'MAIL.REPLY',\n\t0x0178: 'MAIL.REPLY.ALL',\n\t0x0179: 'MAIL.FORWARD',\n\t0x017A: 'MAIL.NEXT.LETTER',\n\t0x017B: 'DATA.LABEL',\n\t0x017C: 'INSERT.TITLE',\n\t0x017D: 'FONT.PROPERTIES',\n\t0x017E: 'MACRO.OPTIONS',\n\t0x017F: 'WORKBOOK.HIDE',\n\t0x0180: 'WORKBOOK.UNHIDE',\n\t0x0181: 'WORKBOOK.DELETE',\n\t0x0182: 'WORKBOOK.NAME',\n\t0x0184: 'GALLERY.CUSTOM',\n\t0x0186: 'ADD.CHART.AUTOFORMAT',\n\t0x0187: 'DELETE.CHART.AUTOFORMAT',\n\t0x0188: 'CHART.ADD.DATA',\n\t0x0189: 'AUTO.OUTLINE',\n\t0x018A: 'TAB.ORDER',\n\t0x018B: 'SHOW.DIALOG',\n\t0x018C: 'SELECT.ALL',\n\t0x018D: 'UNGROUP.SHEETS',\n\t0x018E: 'SUBTOTAL.CREATE',\n\t0x018F: 'SUBTOTAL.REMOVE',\n\t0x0190: 'RENAME.OBJECT',\n\t0x019C: 'WORKBOOK.SCROLL',\n\t0x019D: 'WORKBOOK.NEXT',\n\t0x019E: 'WORKBOOK.PREV',\n\t0x019F: 'WORKBOOK.TAB.SPLIT',\n\t0x01A0: 'FULL.SCREEN',\n\t0x01A1: 'WORKBOOK.PROTECT',\n\t0x01A4: 'SCROLLBAR.PROPERTIES',\n\t0x01A5: 'PIVOT.SHOW.PAGES',\n\t0x01A6: 'TEXT.TO.COLUMNS',\n\t0x01A7: 'FORMAT.CHARTTYPE',\n\t0x01A8: 'LINK.FORMAT',\n\t0x01A9: 'TRACER.DISPLAY',\n\t0x01AE: 'TRACER.NAVIGATE',\n\t0x01AF: 'TRACER.CLEAR',\n\t0x01B0: 'TRACER.ERROR',\n\t0x01B1: 'PIVOT.FIELD.GROUP',\n\t0x01B2: 'PIVOT.FIELD.UNGROUP',\n\t0x01B3: 'CHECKBOX.PROPERTIES',\n\t0x01B4: 'LABEL.PROPERTIES',\n\t0x01B5: 'LISTBOX.PROPERTIES',\n\t0x01B6: 'EDITBOX.PROPERTIES',\n\t0x01B7: 'PIVOT.REFRESH',\n\t0x01B8: 'LINK.COMBO',\n\t0x01B9: 'OPEN.TEXT',\n\t0x01BA: 'HIDE.DIALOG',\n\t0x01BB: 'SET.DIALOG.FOCUS',\n\t0x01BC: 'ENABLE.OBJECT',\n\t0x01BD: 'PUSHBUTTON.PROPERTIES',\n\t0x01BE: 'SET.DIALOG.DEFAULT',\n\t0x01BF: 'FILTER',\n\t0x01C0: 'FILTER.SHOW.ALL',\n\t0x01C1: 'CLEAR.OUTLINE',\n\t0x01C2: 'FUNCTION.WIZARD',\n\t0x01C3: 'ADD.LIST.ITEM',\n\t0x01C4: 'SET.LIST.ITEM',\n\t0x01C5: 'REMOVE.LIST.ITEM',\n\t0x01C6: 'SELECT.LIST.ITEM',\n\t0x01C7: 'SET.CONTROL.VALUE',\n\t0x01C8: 'SAVE.COPY.AS',\n\t0x01CA: 'OPTIONS.LISTS.ADD',\n\t0x01CB: 'OPTIONS.LISTS.DELETE',\n\t0x01CC: 'SERIES.AXES',\n\t0x01CD: 'SERIES.X',\n\t0x01CE: 'SERIES.Y',\n\t0x01CF: 'ERRORBAR.X',\n\t0x01D0: 'ERRORBAR.Y',\n\t0x01D1: 'FORMAT.CHART',\n\t0x01D2: 'SERIES.ORDER',\n\t0x01D3: 'MAIL.LOGOFF',\n\t0x01D4: 'CLEAR.ROUTING.SLIP',\n\t0x01D5: 'APP.ACTIVATE.MICROSOFT',\n\t0x01D6: 'MAIL.EDIT.MAILER',\n\t0x01D7: 'ON.SHEET',\n\t0x01D8: 'STANDARD.WIDTH',\n\t0x01D9: 'SCENARIO.MERGE',\n\t0x01DA: 'SUMMARY.INFO',\n\t0x01DB: 'FIND.FILE',\n\t0x01DC: 'ACTIVE.CELL.FONT',\n\t0x01DD: 'ENABLE.TIPWIZARD',\n\t0x01DE: 'VBA.MAKE.ADDIN',\n\t0x01E0: 'INSERTDATATABLE',\n\t0x01E1: 'WORKGROUP.OPTIONS',\n\t0x01E2: 'MAIL.SEND.MAILER',\n\t0x01E5: 'AUTOCORRECT',\n\t0x01E9: 'POST.DOCUMENT',\n\t0x01EB: 'PICKLIST',\n\t0x01ED: 'VIEW.SHOW',\n\t0x01EE: 'VIEW.DEFINE',\n\t0x01EF: 'VIEW.DELETE',\n\t0x01FD: 'SHEET.BACKGROUND',\n\t0x01FE: 'INSERT.MAP.OBJECT',\n\t0x01FF: 'OPTIONS.MENONO',\n\t0x0205: 'MSOCHECKS',\n\t0x0206: 'NORMAL',\n\t0x0207: 'LAYOUT',\n\t0x0208: 'RM.PRINT.AREA',\n\t0x0209: 'CLEAR.PRINT.AREA',\n\t0x020A: 'ADD.PRINT.AREA',\n\t0x020B: 'MOVE.BRK',\n\t0x0221: 'HIDECURR.NOTE',\n\t0x0222: 'HIDEALL.NOTES',\n\t0x0223: 'DELETE.NOTE',\n\t0x0224: 'TRAVERSE.NOTES',\n\t0x0225: 'ACTIVATE.NOTES',\n\t0x026C: 'PROTECT.REVISIONS',\n\t0x026D: 'UNPROTECT.REVISIONS',\n\t0x0287: 'OPTIONS.ME',\n\t0x028D: 'WEB.PUBLISH',\n\t0x029B: 'NEWWEBQUERY',\n\t0x02A1: 'PIVOT.TABLE.CHART',\n\t0x02F1: 'OPTIONS.SAVE',\n\t0x02F3: 'OPTIONS.SPELL',\n\t0x0328: 'HIDEALL.INKANNOTS'\n};\n\n/* [MS-XLS] 2.5.198.17 */\nvar Ftab = {\n\t0x0000: 'COUNT',\n\t0x0001: 'IF',\n\t0x0002: 'ISNA',\n\t0x0003: 'ISERROR',\n\t0x0004: 'SUM',\n\t0x0005: 'AVERAGE',\n\t0x0006: 'MIN',\n\t0x0007: 'MAX',\n\t0x0008: 'ROW',\n\t0x0009: 'COLUMN',\n\t0x000A: 'NA',\n\t0x000B: 'NPV',\n\t0x000C: 'STDEV',\n\t0x000D: 'DOLLAR',\n\t0x000E: 'FIXED',\n\t0x000F: 'SIN',\n\t0x0010: 'COS',\n\t0x0011: 'TAN',\n\t0x0012: 'ATAN',\n\t0x0013: 'PI',\n\t0x0014: 'SQRT',\n\t0x0015: 'EXP',\n\t0x0016: 'LN',\n\t0x0017: 'LOG10',\n\t0x0018: 'ABS',\n\t0x0019: 'INT',\n\t0x001A: 'SIGN',\n\t0x001B: 'ROUND',\n\t0x001C: 'LOOKUP',\n\t0x001D: 'INDEX',\n\t0x001E: 'REPT',\n\t0x001F: 'MID',\n\t0x0020: 'LEN',\n\t0x0021: 'VALUE',\n\t0x0022: 'TRUE',\n\t0x0023: 'FALSE',\n\t0x0024: 'AND',\n\t0x0025: 'OR',\n\t0x0026: 'NOT',\n\t0x0027: 'MOD',\n\t0x0028: 'DCOUNT',\n\t0x0029: 'DSUM',\n\t0x002A: 'DAVERAGE',\n\t0x002B: 'DMIN',\n\t0x002C: 'DMAX',\n\t0x002D: 'DSTDEV',\n\t0x002E: 'VAR',\n\t0x002F: 'DVAR',\n\t0x0030: 'TEXT',\n\t0x0031: 'LINEST',\n\t0x0032: 'TREND',\n\t0x0033: 'LOGEST',\n\t0x0034: 'GROWTH',\n\t0x0035: 'GOTO',\n\t0x0036: 'HALT',\n\t0x0037: 'RETURN',\n\t0x0038: 'PV',\n\t0x0039: 'FV',\n\t0x003A: 'NPER',\n\t0x003B: 'PMT',\n\t0x003C: 'RATE',\n\t0x003D: 'MIRR',\n\t0x003E: 'IRR',\n\t0x003F: 'RAND',\n\t0x0040: 'MATCH',\n\t0x0041: 'DATE',\n\t0x0042: 'TIME',\n\t0x0043: 'DAY',\n\t0x0044: 'MONTH',\n\t0x0045: 'YEAR',\n\t0x0046: 'WEEKDAY',\n\t0x0047: 'HOUR',\n\t0x0048: 'MINUTE',\n\t0x0049: 'SECOND',\n\t0x004A: 'NOW',\n\t0x004B: 'AREAS',\n\t0x004C: 'ROWS',\n\t0x004D: 'COLUMNS',\n\t0x004E: 'OFFSET',\n\t0x004F: 'ABSREF',\n\t0x0050: 'RELREF',\n\t0x0051: 'ARGUMENT',\n\t0x0052: 'SEARCH',\n\t0x0053: 'TRANSPOSE',\n\t0x0054: 'ERROR',\n\t0x0055: 'STEP',\n\t0x0056: 'TYPE',\n\t0x0057: 'ECHO',\n\t0x0058: 'SET.NAME',\n\t0x0059: 'CALLER',\n\t0x005A: 'DEREF',\n\t0x005B: 'WINDOWS',\n\t0x005C: 'SERIES',\n\t0x005D: 'DOCUMENTS',\n\t0x005E: 'ACTIVE.CELL',\n\t0x005F: 'SELECTION',\n\t0x0060: 'RESULT',\n\t0x0061: 'ATAN2',\n\t0x0062: 'ASIN',\n\t0x0063: 'ACOS',\n\t0x0064: 'CHOOSE',\n\t0x0065: 'HLOOKUP',\n\t0x0066: 'VLOOKUP',\n\t0x0067: 'LINKS',\n\t0x0068: 'INPUT',\n\t0x0069: 'ISREF',\n\t0x006A: 'GET.FORMULA',\n\t0x006B: 'GET.NAME',\n\t0x006C: 'SET.VALUE',\n\t0x006D: 'LOG',\n\t0x006E: 'EXEC',\n\t0x006F: 'CHAR',\n\t0x0070: 'LOWER',\n\t0x0071: 'UPPER',\n\t0x0072: 'PROPER',\n\t0x0073: 'LEFT',\n\t0x0074: 'RIGHT',\n\t0x0075: 'EXACT',\n\t0x0076: 'TRIM',\n\t0x0077: 'REPLACE',\n\t0x0078: 'SUBSTITUTE',\n\t0x0079: 'CODE',\n\t0x007A: 'NAMES',\n\t0x007B: 'DIRECTORY',\n\t0x007C: 'FIND',\n\t0x007D: 'CELL',\n\t0x007E: 'ISERR',\n\t0x007F: 'ISTEXT',\n\t0x0080: 'ISNUMBER',\n\t0x0081: 'ISBLANK',\n\t0x0082: 'T',\n\t0x0083: 'N',\n\t0x0084: 'FOPEN',\n\t0x0085: 'FCLOSE',\n\t0x0086: 'FSIZE',\n\t0x0087: 'FREADLN',\n\t0x0088: 'FREAD',\n\t0x0089: 'FWRITELN',\n\t0x008A: 'FWRITE',\n\t0x008B: 'FPOS',\n\t0x008C: 'DATEVALUE',\n\t0x008D: 'TIMEVALUE',\n\t0x008E: 'SLN',\n\t0x008F: 'SYD',\n\t0x0090: 'DDB',\n\t0x0091: 'GET.DEF',\n\t0x0092: 'REFTEXT',\n\t0x0093: 'TEXTREF',\n\t0x0094: 'INDIRECT',\n\t0x0095: 'REGISTER',\n\t0x0096: 'CALL',\n\t0x0097: 'ADD.BAR',\n\t0x0098: 'ADD.MENU',\n\t0x0099: 'ADD.COMMAND',\n\t0x009A: 'ENABLE.COMMAND',\n\t0x009B: 'CHECK.COMMAND',\n\t0x009C: 'RENAME.COMMAND',\n\t0x009D: 'SHOW.BAR',\n\t0x009E: 'DELETE.MENU',\n\t0x009F: 'DELETE.COMMAND',\n\t0x00A0: 'GET.CHART.ITEM',\n\t0x00A1: 'DIALOG.BOX',\n\t0x00A2: 'CLEAN',\n\t0x00A3: 'MDETERM',\n\t0x00A4: 'MINVERSE',\n\t0x00A5: 'MMULT',\n\t0x00A6: 'FILES',\n\t0x00A7: 'IPMT',\n\t0x00A8: 'PPMT',\n\t0x00A9: 'COUNTA',\n\t0x00AA: 'CANCEL.KEY',\n\t0x00AB: 'FOR',\n\t0x00AC: 'WHILE',\n\t0x00AD: 'BREAK',\n\t0x00AE: 'NEXT',\n\t0x00AF: 'INITIATE',\n\t0x00B0: 'REQUEST',\n\t0x00B1: 'POKE',\n\t0x00B2: 'EXECUTE',\n\t0x00B3: 'TERMINATE',\n\t0x00B4: 'RESTART',\n\t0x00B5: 'HELP',\n\t0x00B6: 'GET.BAR',\n\t0x00B7: 'PRODUCT',\n\t0x00B8: 'FACT',\n\t0x00B9: 'GET.CELL',\n\t0x00BA: 'GET.WORKSPACE',\n\t0x00BB: 'GET.WINDOW',\n\t0x00BC: 'GET.DOCUMENT',\n\t0x00BD: 'DPRODUCT',\n\t0x00BE: 'ISNONTEXT',\n\t0x00BF: 'GET.NOTE',\n\t0x00C0: 'NOTE',\n\t0x00C1: 'STDEVP',\n\t0x00C2: 'VARP',\n\t0x00C3: 'DSTDEVP',\n\t0x00C4: 'DVARP',\n\t0x00C5: 'TRUNC',\n\t0x00C6: 'ISLOGICAL',\n\t0x00C7: 'DCOUNTA',\n\t0x00C8: 'DELETE.BAR',\n\t0x00C9: 'UNREGISTER',\n\t0x00CC: 'USDOLLAR',\n\t0x00CD: 'FINDB',\n\t0x00CE: 'SEARCHB',\n\t0x00CF: 'REPLACEB',\n\t0x00D0: 'LEFTB',\n\t0x00D1: 'RIGHTB',\n\t0x00D2: 'MIDB',\n\t0x00D3: 'LENB',\n\t0x00D4: 'ROUNDUP',\n\t0x00D5: 'ROUNDDOWN',\n\t0x00D6: 'ASC',\n\t0x00D7: 'DBCS',\n\t0x00D8: 'RANK',\n\t0x00DB: 'ADDRESS',\n\t0x00DC: 'DAYS360',\n\t0x00DD: 'TODAY',\n\t0x00DE: 'VDB',\n\t0x00DF: 'ELSE',\n\t0x00E0: 'ELSE.IF',\n\t0x00E1: 'END.IF',\n\t0x00E2: 'FOR.CELL',\n\t0x00E3: 'MEDIAN',\n\t0x00E4: 'SUMPRODUCT',\n\t0x00E5: 'SINH',\n\t0x00E6: 'COSH',\n\t0x00E7: 'TANH',\n\t0x00E8: 'ASINH',\n\t0x00E9: 'ACOSH',\n\t0x00EA: 'ATANH',\n\t0x00EB: 'DGET',\n\t0x00EC: 'CREATE.OBJECT',\n\t0x00ED: 'VOLATILE',\n\t0x00EE: 'LAST.ERROR',\n\t0x00EF: 'CUSTOM.UNDO',\n\t0x00F0: 'CUSTOM.REPEAT',\n\t0x00F1: 'FORMULA.CONVERT',\n\t0x00F2: 'GET.LINK.INFO',\n\t0x00F3: 'TEXT.BOX',\n\t0x00F4: 'INFO',\n\t0x00F5: 'GROUP',\n\t0x00F6: 'GET.OBJECT',\n\t0x00F7: 'DB',\n\t0x00F8: 'PAUSE',\n\t0x00FB: 'RESUME',\n\t0x00FC: 'FREQUENCY',\n\t0x00FD: 'ADD.TOOLBAR',\n\t0x00FE: 'DELETE.TOOLBAR',\n\t0x00FF: 'User',\n\t0x0100: 'RESET.TOOLBAR',\n\t0x0101: 'EVALUATE',\n\t0x0102: 'GET.TOOLBAR',\n\t0x0103: 'GET.TOOL',\n\t0x0104: 'SPELLING.CHECK',\n\t0x0105: 'ERROR.TYPE',\n\t0x0106: 'APP.TITLE',\n\t0x0107: 'WINDOW.TITLE',\n\t0x0108: 'SAVE.TOOLBAR',\n\t0x0109: 'ENABLE.TOOL',\n\t0x010A: 'PRESS.TOOL',\n\t0x010B: 'REGISTER.ID',\n\t0x010C: 'GET.WORKBOOK',\n\t0x010D: 'AVEDEV',\n\t0x010E: 'BETADIST',\n\t0x010F: 'GAMMALN',\n\t0x0110: 'BETAINV',\n\t0x0111: 'BINOMDIST',\n\t0x0112: 'CHIDIST',\n\t0x0113: 'CHIINV',\n\t0x0114: 'COMBIN',\n\t0x0115: 'CONFIDENCE',\n\t0x0116: 'CRITBINOM',\n\t0x0117: 'EVEN',\n\t0x0118: 'EXPONDIST',\n\t0x0119: 'FDIST',\n\t0x011A: 'FINV',\n\t0x011B: 'FISHER',\n\t0x011C: 'FISHERINV',\n\t0x011D: 'FLOOR',\n\t0x011E: 'GAMMADIST',\n\t0x011F: 'GAMMAINV',\n\t0x0120: 'CEILING',\n\t0x0121: 'HYPGEOMDIST',\n\t0x0122: 'LOGNORMDIST',\n\t0x0123: 'LOGINV',\n\t0x0124: 'NEGBINOMDIST',\n\t0x0125: 'NORMDIST',\n\t0x0126: 'NORMSDIST',\n\t0x0127: 'NORMINV',\n\t0x0128: 'NORMSINV',\n\t0x0129: 'STANDARDIZE',\n\t0x012A: 'ODD',\n\t0x012B: 'PERMUT',\n\t0x012C: 'POISSON',\n\t0x012D: 'TDIST',\n\t0x012E: 'WEIBULL',\n\t0x012F: 'SUMXMY2',\n\t0x0130: 'SUMX2MY2',\n\t0x0131: 'SUMX2PY2',\n\t0x0132: 'CHITEST',\n\t0x0133: 'CORREL',\n\t0x0134: 'COVAR',\n\t0x0135: 'FORECAST',\n\t0x0136: 'FTEST',\n\t0x0137: 'INTERCEPT',\n\t0x0138: 'PEARSON',\n\t0x0139: 'RSQ',\n\t0x013A: 'STEYX',\n\t0x013B: 'SLOPE',\n\t0x013C: 'TTEST',\n\t0x013D: 'PROB',\n\t0x013E: 'DEVSQ',\n\t0x013F: 'GEOMEAN',\n\t0x0140: 'HARMEAN',\n\t0x0141: 'SUMSQ',\n\t0x0142: 'KURT',\n\t0x0143: 'SKEW',\n\t0x0144: 'ZTEST',\n\t0x0145: 'LARGE',\n\t0x0146: 'SMALL',\n\t0x0147: 'QUARTILE',\n\t0x0148: 'PERCENTILE',\n\t0x0149: 'PERCENTRANK',\n\t0x014A: 'MODE',\n\t0x014B: 'TRIMMEAN',\n\t0x014C: 'TINV',\n\t0x014E: 'MOVIE.COMMAND',\n\t0x014F: 'GET.MOVIE',\n\t0x0150: 'CONCATENATE',\n\t0x0151: 'POWER',\n\t0x0152: 'PIVOT.ADD.DATA',\n\t0x0153: 'GET.PIVOT.TABLE',\n\t0x0154: 'GET.PIVOT.FIELD',\n\t0x0155: 'GET.PIVOT.ITEM',\n\t0x0156: 'RADIANS',\n\t0x0157: 'DEGREES',\n\t0x0158: 'SUBTOTAL',\n\t0x0159: 'SUMIF',\n\t0x015A: 'COUNTIF',\n\t0x015B: 'COUNTBLANK',\n\t0x015C: 'SCENARIO.GET',\n\t0x015D: 'OPTIONS.LISTS.GET',\n\t0x015E: 'ISPMT',\n\t0x015F: 'DATEDIF',\n\t0x0160: 'DATESTRING',\n\t0x0161: 'NUMBERSTRING',\n\t0x0162: 'ROMAN',\n\t0x0163: 'OPEN.DIALOG',\n\t0x0164: 'SAVE.DIALOG',\n\t0x0165: 'VIEW.GET',\n\t0x0166: 'GETPIVOTDATA',\n\t0x0167: 'HYPERLINK',\n\t0x0168: 'PHONETIC',\n\t0x0169: 'AVERAGEA',\n\t0x016A: 'MAXA',\n\t0x016B: 'MINA',\n\t0x016C: 'STDEVPA',\n\t0x016D: 'VARPA',\n\t0x016E: 'STDEVA',\n\t0x016F: 'VARA',\n\t0x0170: 'BAHTTEXT',\n\t0x0171: 'THAIDAYOFWEEK',\n\t0x0172: 'THAIDIGIT',\n\t0x0173: 'THAIMONTHOFYEAR',\n\t0x0174: 'THAINUMSOUND',\n\t0x0175: 'THAINUMSTRING',\n\t0x0176: 'THAISTRINGLENGTH',\n\t0x0177: 'ISTHAIDIGIT',\n\t0x0178: 'ROUNDBAHTDOWN',\n\t0x0179: 'ROUNDBAHTUP',\n\t0x017A: 'THAIYEAR',\n\t0x017B: 'RTD'\n};\nvar FtabArgc = {\n\t0x0002: 1, /* ISNA */\n\t0x0003: 1, /* ISERROR */\n\t0x000F: 1, /* SIN */\n\t0x0010: 1, /* COS */\n\t0x0011: 1, /* TAN */\n\t0x0012: 1, /* ATAN */\n\t0x0014: 1, /* SQRT */\n\t0x0015: 1, /* EXP */\n\t0x0016: 1, /* LN */\n\t0x0017: 1, /* LOG10 */\n\t0x0018: 1, /* ABS */\n\t0x0019: 1, /* INT */\n\t0x001A: 1, /* SIGN */\n\t0x001B: 2, /* ROUND */\n\t0x001E: 2, /* REPT */\n\t0x001F: 3, /* MID */\n\t0x0020: 1, /* LEN */\n\t0x0021: 1, /* VALUE */\n\t0x0026: 1, /* NOT */\n\t0x0027: 2, /* MOD */\n\t0x0028: 3, /* DCOUNT */\n\t0x0029: 3, /* DSUM */\n\t0x002A: 3, /* DAVERAGE */\n\t0x002B: 3, /* DMIN */\n\t0x002C: 3, /* DMAX */\n\t0x002D: 3, /* DSTDEV */\n\t0x002F: 3, /* DVAR */\n\t0x0030: 2, /* TEXT */\n\t0x0035: 1, /* GOTO */\n\t0x003D: 3, /* MIRR */\n\t0x0041: 3, /* DATE */\n\t0x0042: 3, /* TIME */\n\t0x0043: 1, /* DAY */\n\t0x0044: 1, /* MONTH */\n\t0x0045: 1, /* YEAR */\n\t0x0047: 1, /* HOUR */\n\t0x0048: 1, /* MINUTE */\n\t0x0049: 1, /* SECOND */\n\t0x004B: 1, /* AREAS */\n\t0x004C: 1, /* ROWS */\n\t0x004D: 1, /* COLUMNS */\n\t0x004F: 2, /* ABSREF */\n\t0x0050: 2, /* RELREF */\n\t0x0053: 1, /* TRANSPOSE */\n\t0x0056: 1, /* TYPE */\n\t0x005A: 1, /* DEREF */\n\t0x0061: 2, /* ATAN2 */\n\t0x0062: 1, /* ASIN */\n\t0x0063: 1, /* ACOS */\n\t0x0069: 1, /* ISREF */\n\t0x006F: 1, /* CHAR */\n\t0x0070: 1, /* LOWER */\n\t0x0071: 1, /* UPPER */\n\t0x0072: 1, /* PROPER */\n\t0x0075: 2, /* EXACT */\n\t0x0076: 1, /* TRIM */\n\t0x0077: 4, /* REPLACE */\n\t0x0079: 1, /* CODE */\n\t0x007E: 1, /* ISERR */\n\t0x007F: 1, /* ISTEXT */\n\t0x0080: 1, /* ISNUMBER */\n\t0x0081: 1, /* ISBLANK */\n\t0x0082: 1, /* T */\n\t0x0083: 1, /* N */\n\t0x0085: 1, /* FCLOSE */\n\t0x0086: 1, /* FSIZE */\n\t0x0087: 1, /* FREADLN */\n\t0x0088: 2, /* FREAD */\n\t0x0089: 2, /* FWRITELN */\n\t0x008A: 2, /* FWRITE */\n\t0x008C: 1, /* DATEVALUE */\n\t0x008D: 1, /* TIMEVALUE */\n\t0x008E: 3, /* SLN */\n\t0x008F: 4, /* SYD */\n\t0x00A2: 1, /* CLEAN */\n\t0x00A3: 1, /* MDETERM */\n\t0x00A4: 1, /* MINVERSE */\n\t0x00A5: 2, /* MMULT */\n\t0x00AC: 1, /* WHILE */\n\t0x00AF: 2, /* INITIATE */\n\t0x00B0: 2, /* REQUEST */\n\t0x00B1: 3, /* POKE */\n\t0x00B2: 2, /* EXECUTE */\n\t0x00B3: 1, /* TERMINATE */\n\t0x00B8: 1, /* FACT */\n\t0x00BD: 3, /* DPRODUCT */\n\t0x00BE: 1, /* ISNONTEXT */\n\t0x00C3: 3, /* DSTDEVP */\n\t0x00C4: 3, /* DVARP */\n\t0x00C6: 1, /* ISLOGICAL */\n\t0x00C7: 3, /* DCOUNTA */\n\t0x00C9: 1, /* UNREGISTER */\n\t0x00CF: 4, /* REPLACEB */\n\t0x00D2: 3, /* MIDB */\n\t0x00D3: 1, /* LENB */\n\t0x00D4: 2, /* ROUNDUP */\n\t0x00D5: 2, /* ROUNDDOWN */\n\t0x00D6: 1, /* ASC */\n\t0x00D7: 1, /* DBCS */\n\t0x00E5: 1, /* SINH */\n\t0x00E6: 1, /* COSH */\n\t0x00E7: 1, /* TANH */\n\t0x00E8: 1, /* ASINH */\n\t0x00E9: 1, /* ACOSH */\n\t0x00EA: 1, /* ATANH */\n\t0x00EB: 3, /* DGET */\n\t0x00F4: 1, /* INFO */\n\t0x00FC: 2, /* FREQUENCY */\n\t0x0101: 1, /* EVALUATE */\n\t0x0105: 1, /* ERROR.TYPE */\n\t0x010F: 1, /* GAMMALN */\n\t0x0111: 4, /* BINOMDIST */\n\t0x0112: 2, /* CHIDIST */\n\t0x0113: 2, /* CHIINV */\n\t0x0114: 2, /* COMBIN */\n\t0x0115: 3, /* CONFIDENCE */\n\t0x0116: 3, /* CRITBINOM */\n\t0x0117: 1, /* EVEN */\n\t0x0118: 3, /* EXPONDIST */\n\t0x0119: 3, /* FDIST */\n\t0x011A: 3, /* FINV */\n\t0x011B: 1, /* FISHER */\n\t0x011C: 1, /* FISHERINV */\n\t0x011D: 2, /* FLOOR */\n\t0x011E: 4, /* GAMMADIST */\n\t0x011F: 3, /* GAMMAINV */\n\t0x0120: 2, /* CEILING */\n\t0x0121: 4, /* HYPGEOMDIST */\n\t0x0122: 3, /* LOGNORMDIST */\n\t0x0123: 3, /* LOGINV */\n\t0x0124: 3, /* NEGBINOMDIST */\n\t0x0125: 4, /* NORMDIST */\n\t0x0126: 1, /* NORMSDIST */\n\t0x0127: 3, /* NORMINV */\n\t0x0128: 1, /* NORMSINV */\n\t0x0129: 3, /* STANDARDIZE */\n\t0x012A: 1, /* ODD */\n\t0x012B: 2, /* PERMUT */\n\t0x012C: 3, /* POISSON */\n\t0x012D: 3, /* TDIST */\n\t0x012E: 4, /* WEIBULL */\n\t0x012F: 2, /* SUMXMY2 */\n\t0x0130: 2, /* SUMX2MY2 */\n\t0x0131: 2, /* SUMX2PY2 */\n\t0x0132: 2, /* CHITEST */\n\t0x0133: 2, /* CORREL */\n\t0x0134: 2, /* COVAR */\n\t0x0135: 3, /* FORECAST */\n\t0x0136: 2, /* FTEST */\n\t0x0137: 2, /* INTERCEPT */\n\t0x0138: 2, /* PEARSON */\n\t0x0139: 2, /* RSQ */\n\t0x013A: 2, /* STEYX */\n\t0x013B: 2, /* SLOPE */\n\t0x013C: 4, /* TTEST */\n\t0x0145: 2, /* LARGE */\n\t0x0146: 2, /* SMALL */\n\t0x0147: 2, /* QUARTILE */\n\t0x0148: 2, /* PERCENTILE */\n\t0x014B: 2, /* TRIMMEAN */\n\t0x014C: 2, /* TINV */\n\t0x0151: 2, /* POWER */\n\t0x0156: 1, /* RADIANS */\n\t0x0157: 1, /* DEGREES */\n\t0x015A: 2, /* COUNTIF */\n\t0x015B: 1, /* COUNTBLANK */\n\t0x015E: 4, /* ISPMT */\n\t0x015F: 3, /* DATEDIF */\n\t0x0160: 1, /* DATESTRING */\n\t0x0161: 2, /* NUMBERSTRING */\n\t0x0168: 1, /* PHONETIC */\n\t0x0170: 1, /* BAHTTEXT */\n\t0x0171: 1, /* THAIDAYOFWEEK */\n\t0x0172: 1, /* THAIDIGIT */\n\t0x0173: 1, /* THAIMONTHOFYEAR */\n\t0x0174: 1, /* THAINUMSOUND */\n\t0x0175: 1, /* THAINUMSTRING */\n\t0x0176: 1, /* THAISTRINGLENGTH */\n\t0x0177: 1, /* ISTHAIDIGIT */\n\t0x0178: 1, /* ROUNDBAHTDOWN */\n\t0x0179: 1, /* ROUNDBAHTUP */\n\t0x017A: 1, /* THAIYEAR */\n\t0xFFFF: 0\n};\n/* [MS-XLSX] 2.2.3 Functions */\nvar XLSXFutureFunctions = {\n\t\"_xlfn.ACOT\": \"ACOT\",\n\t\"_xlfn.ACOTH\": \"ACOTH\",\n\t\"_xlfn.AGGREGATE\": \"AGGREGATE\",\n\t\"_xlfn.ARABIC\": \"ARABIC\",\n\t\"_xlfn.AVERAGEIF\": \"AVERAGEIF\",\n\t\"_xlfn.AVERAGEIFS\": \"AVERAGEIFS\",\n\t\"_xlfn.BASE\": \"BASE\",\n\t\"_xlfn.BETA.DIST\": \"BETA.DIST\",\n\t\"_xlfn.BETA.INV\": \"BETA.INV\",\n\t\"_xlfn.BINOM.DIST\": \"BINOM.DIST\",\n\t\"_xlfn.BINOM.DIST.RANGE\": \"BINOM.DIST.RANGE\",\n\t\"_xlfn.BINOM.INV\": \"BINOM.INV\",\n\t\"_xlfn.BITAND\": \"BITAND\",\n\t\"_xlfn.BITLSHIFT\": \"BITLSHIFT\",\n\t\"_xlfn.BITOR\": \"BITOR\",\n\t\"_xlfn.BITRSHIFT\": \"BITRSHIFT\",\n\t\"_xlfn.BITXOR\": \"BITXOR\",\n\t\"_xlfn.CEILING.MATH\": \"CEILING.MATH\",\n\t\"_xlfn.CEILING.PRECISE\": \"CEILING.PRECISE\",\n\t\"_xlfn.CHISQ.DIST\": \"CHISQ.DIST\",\n\t\"_xlfn.CHISQ.DIST.RT\": \"CHISQ.DIST.RT\",\n\t\"_xlfn.CHISQ.INV\": \"CHISQ.INV\",\n\t\"_xlfn.CHISQ.INV.RT\": \"CHISQ.INV.RT\",\n\t\"_xlfn.CHISQ.TEST\": \"CHISQ.TEST\",\n\t\"_xlfn.COMBINA\": \"COMBINA\",\n\t\"_xlfn.CONFIDENCE.NORM\": \"CONFIDENCE.NORM\",\n\t\"_xlfn.CONFIDENCE.T\": \"CONFIDENCE.T\",\n\t\"_xlfn.COT\": \"COT\",\n\t\"_xlfn.COTH\": \"COTH\",\n\t\"_xlfn.COUNTIFS\": \"COUNTIFS\",\n\t\"_xlfn.COVARIANCE.P\": \"COVARIANCE.P\",\n\t\"_xlfn.COVARIANCE.S\": \"COVARIANCE.S\",\n\t\"_xlfn.CSC\": \"CSC\",\n\t\"_xlfn.CSCH\": \"CSCH\",\n\t\"_xlfn.DAYS\": \"DAYS\",\n\t\"_xlfn.DECIMAL\": \"DECIMAL\",\n\t\"_xlfn.ECMA.CEILING\": \"ECMA.CEILING\",\n\t\"_xlfn.ERF.PRECISE\": \"ERF.PRECISE\",\n\t\"_xlfn.ERFC.PRECISE\": \"ERFC.PRECISE\",\n\t\"_xlfn.EXPON.DIST\": \"EXPON.DIST\",\n\t\"_xlfn.F.DIST\": \"F.DIST\",\n\t\"_xlfn.F.DIST.RT\": \"F.DIST.RT\",\n\t\"_xlfn.F.INV\": \"F.INV\",\n\t\"_xlfn.F.INV.RT\": \"F.INV.RT\",\n\t\"_xlfn.F.TEST\": \"F.TEST\",\n\t\"_xlfn.FILTERXML\": \"FILTERXML\",\n\t\"_xlfn.FLOOR.MATH\": \"FLOOR.MATH\",\n\t\"_xlfn.FLOOR.PRECISE\": \"FLOOR.PRECISE\",\n\t\"_xlfn.FORMULATEXT\": \"FORMULATEXT\",\n\t\"_xlfn.GAMMA\": \"GAMMA\",\n\t\"_xlfn.GAMMA.DIST\": \"GAMMA.DIST\",\n\t\"_xlfn.GAMMA.INV\": \"GAMMA.INV\",\n\t\"_xlfn.GAMMALN.PRECISE\": \"GAMMALN.PRECISE\",\n\t\"_xlfn.GAUSS\": \"GAUSS\",\n\t\"_xlfn.HYPGEOM.DIST\": \"HYPGEOM.DIST\",\n\t\"_xlfn.IFNA\": \"IFNA\",\n\t\"_xlfn.IFERROR\": \"IFERROR\",\n\t\"_xlfn.IMCOSH\": \"IMCOSH\",\n\t\"_xlfn.IMCOT\": \"IMCOT\",\n\t\"_xlfn.IMCSC\": \"IMCSC\",\n\t\"_xlfn.IMCSCH\": \"IMCSCH\",\n\t\"_xlfn.IMSEC\": \"IMSEC\",\n\t\"_xlfn.IMSECH\": \"IMSECH\",\n\t\"_xlfn.IMSINH\": \"IMSINH\",\n\t\"_xlfn.IMTAN\": \"IMTAN\",\n\t\"_xlfn.ISFORMULA\": \"ISFORMULA\",\n\t\"_xlfn.ISO.CEILING\": \"ISO.CEILING\",\n\t\"_xlfn.ISOWEEKNUM\": \"ISOWEEKNUM\",\n\t\"_xlfn.LOGNORM.DIST\": \"LOGNORM.DIST\",\n\t\"_xlfn.LOGNORM.INV\": \"LOGNORM.INV\",\n\t\"_xlfn.MODE.MULT\": \"MODE.MULT\",\n\t\"_xlfn.MODE.SNGL\": \"MODE.SNGL\",\n\t\"_xlfn.MUNIT\": \"MUNIT\",\n\t\"_xlfn.NEGBINOM.DIST\": \"NEGBINOM.DIST\",\n\t\"_xlfn.NETWORKDAYS.INTL\": \"NETWORKDAYS.INTL\",\n\t\"_xlfn.NIGBINOM\": \"NIGBINOM\",\n\t\"_xlfn.NORM.DIST\": \"NORM.DIST\",\n\t\"_xlfn.NORM.INV\": \"NORM.INV\",\n\t\"_xlfn.NORM.S.DIST\": \"NORM.S.DIST\",\n\t\"_xlfn.NORM.S.INV\": \"NORM.S.INV\",\n\t\"_xlfn.NUMBERVALUE\": \"NUMBERVALUE\",\n\t\"_xlfn.PDURATION\": \"PDURATION\",\n\t\"_xlfn.PERCENTILE.EXC\": \"PERCENTILE.EXC\",\n\t\"_xlfn.PERCENTILE.INC\": \"PERCENTILE.INC\",\n\t\"_xlfn.PERCENTRANK.EXC\": \"PERCENTRANK.EXC\",\n\t\"_xlfn.PERCENTRANK.INC\": \"PERCENTRANK.INC\",\n\t\"_xlfn.PERMUTATIONA\": \"PERMUTATIONA\",\n\t\"_xlfn.PHI\": \"PHI\",\n\t\"_xlfn.POISSON.DIST\": \"POISSON.DIST\",\n\t\"_xlfn.QUARTILE.EXC\": \"QUARTILE.EXC\",\n\t\"_xlfn.QUARTILE.INC\": \"QUARTILE.INC\",\n\t\"_xlfn.QUERYSTRING\": \"QUERYSTRING\",\n\t\"_xlfn.RANK.AVG\": \"RANK.AVG\",\n\t\"_xlfn.RANK.EQ\": \"RANK.EQ\",\n\t\"_xlfn.RRI\": \"RRI\",\n\t\"_xlfn.SEC\": \"SEC\",\n\t\"_xlfn.SECH\": \"SECH\",\n\t\"_xlfn.SHEET\": \"SHEET\",\n\t\"_xlfn.SHEETS\": \"SHEETS\",\n\t\"_xlfn.SKEW.P\": \"SKEW.P\",\n\t\"_xlfn.STDEV.P\": \"STDEV.P\",\n\t\"_xlfn.STDEV.S\": \"STDEV.S\",\n\t\"_xlfn.SUMIFS\": \"SUMIFS\",\n\t\"_xlfn.T.DIST\": \"T.DIST\",\n\t\"_xlfn.T.DIST.2T\": \"T.DIST.2T\",\n\t\"_xlfn.T.DIST.RT\": \"T.DIST.RT\",\n\t\"_xlfn.T.INV\": \"T.INV\",\n\t\"_xlfn.T.INV.2T\": \"T.INV.2T\",\n\t\"_xlfn.T.TEST\": \"T.TEST\",\n\t\"_xlfn.UNICHAR\": \"UNICHAR\",\n\t\"_xlfn.UNICODE\": \"UNICODE\",\n\t\"_xlfn.VAR.P\": \"VAR.P\",\n\t\"_xlfn.VAR.S\": \"VAR.S\",\n\t\"_xlfn.WEBSERVICE\": \"WEBSERVICE\",\n\t\"_xlfn.WEIBULL.DIST\": \"WEIBULL.DIST\",\n\t\"_xlfn.WORKDAY.INTL\": \"WORKDAY.INTL\",\n\t\"_xlfn.XOR\": \"XOR\",\n\t\"_xlfn.Z.TEST\": \"Z.TEST\"\n};\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\nRELS.WS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\";\n\nfunction get_sst_id(sst, str) {\n\tfor(var i = 0, len = sst.length; i < len; ++i) if(sst[i].t === str) { sst.Count ++; return i; }\n\tsst[len] = {t:str}; sst.Count ++; sst.Unique ++; return len;\n}\n\nfunction get_cell_style(styles, cell, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tfor(var i = 0, len = styles.length; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p, fmtid, fillid, opts) {\n\ttry {\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v,_ssfopts);\n\t\t\t\telse p.w = SSF._general_num(p.v,_ssfopts);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = SSF._general_int(dd,_ssfopts);\n\t\t\t\telse p.w = SSF._general_num(dd,_ssfopts);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF._general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF.format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF.format(fmtid,p.v,_ssfopts);\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(fillid) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF) throw e; }\n}\nfunction parse_ws_xml_dim(ws, s) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<mergeCell ref=\"[A-Z0-9:]+\"\\s*\\/>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData>([^\\u2603]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<hyperlink[^>]*\\/>/g;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<col[^>]*\\/>/g;\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data, opts, rels) {\n\tif(!data) return data;\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = {};\n\n\t/* 18.3.1.35 dimension CT_SheetDimension ? */\n\tvar ridx = data.indexOf(\"<dimension\");\n\tif(ridx > 0) {\n\t\tvar ref = data.substr(ridx,50).match(dimregex);\n\t\tif(ref != null) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar mergecells = [];\n\tif(data.indexOf(\"</mergeCells>\")!==-1) {\n\t\tvar merges = data.match(mergecregex);\n\t\tfor(ridx = 0; ridx != merges.length; ++ridx)\n\t\t\tmergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf(\"\\\"\")+1));\n\t}\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns = [];\n\tif(opts.cellStyles && data.indexOf(\"</cols>\")!==-1) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data.match(colregex);\n\t\tparse_ws_xml_cols(columns, cols);\n\t}\n\n\tvar refguess = {s: {r:1000000, c:1000000}, e: {r:0, c:0} };\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tvar mtch=data.match(sheetdataregex);\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess);\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tif(data.indexOf(\"</hyperlinks>\")!==-1) parse_ws_xml_hlinks(s, data.match(hlinkregex), rels);\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows < +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(mergecells.length > 0) s[\"!merges\"] = mergecells;\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges) {\n\tif(merges.length == 0) return \"\";\n\tvar o = '<mergeCells count=\"' + merges.length + '\">';\n\tfor(var i = 0; i != merges.length; ++i) o += '<mergeCell ref=\"' + encode_range(merges[i]) + '\"/>';\n\treturn o + '</mergeCells>';\n}\n\nfunction parse_ws_xml_hlinks(s, data, rels) {\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(data[i], true);\n\t\tif(!val.ref) return;\n\t\tvar rel = rels ? rels['!id'][val.id] : null;\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+val.location;\n\t\t\tval.Rel = rel;\n\t\t} else {\n\t\t\tval.Target = val.location;\n\t\t\trel = {Target: val.location, TargetMode: 'Internal'};\n\t\t\tval.Rel = rel;\n\t\t}\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(!s[addr]) s[addr] = {t:\"stub\",v:undefined};\n\t\t\ts[addr].l = val;\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tdelete coll.min; delete coll.max;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw(+coll.width, coll); }\n\t\tif(coll.width) {\n\t\t\tcoll.wpx = width2px(+coll.width);\n\t\t\tcoll.wch = px2char(coll.wpx);\n\t\t\tcoll.MDW = MDW;\n\t\t}\n\t\twhile(colm <= colM) columns[colm++] = coll;\n\t}\n}\n\nfunction write_ws_xml_cols(ws, cols) {\n\tvar o = [\"<cols>\"], col, width;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\tvar p = {min:i+1,max:i+1};\n\t\t/* wch (chars), wpx (pixels) */\n\t\twidth = -1;\n\t\tif(col.wpx) width = px2char(col.wpx);\n\t\telse if(col.wch) width = col.wch;\n\t\tif(width > -1) { p.width = char2width(width); p.customWidth= 1; }\n\t\to[o.length] = (writextag('col', null, p));\n\t}\n\to[o.length] = \"</cols>\";\n\treturn o.join(\"\");\n}\n\nfunction write_ws_xml_cell(cell, ref, ws, opts, idx, wb) {\n\tif(cell.v === undefined) return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts.cellDates) vv = new Date(cell.v).toISOString();\n\t\t\telse {\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(cell.v));\n\t\t\t\tif(typeof cell.z === 'undefined') cell.z = SSF._table[14];\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = {r:ref};\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tdefault:\n\t\t\tif(opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = (function parse_ws_xml_data_factory() {\n\tvar cellregex = /<(?:\\w+:)?c[ >]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<is>([\\S\\s]*?)<\\/is>/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata, s, opts, guess) {\n\tvar ri = 0, x = \"\", cells = [], cref = [], idx = 0, i=0, cc=0, d=\"\", p;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr;\n\tvar fmtid = 0, fillid = 0, do_format = Array.isArray(styles.CellXf), cf;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tfor(ri = 0; ri < xlen; ++ri) if(x.charCodeAt(ri) === 62) break; ++ri;\n\t\ttag = parsexmltag(x.substr(0,ri), true);\n\t\t/* SpreadSheetGear uses implicit r/c */\n\t\ttagr = typeof tag.r !== 'undefined' ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.substr(ri).split(cellregex);\n\t\tfor(ri = typeof tag.r === 'undefined' ? 0 : 1; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"<c \" + (x.substr(0,1)==\"<\"?\">\":\"\") + x;\n\t\t\tif(cref !== null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.substr(0,i), true);\n\t\t\tif(!tag.r) tag.r = utils.encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.substr(i);\n\t\t\tp = {t:\"\"};\n\n\t\t\tif((cref=d.match(match_v))!== null && cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula && (cref=d.match(match_f))!== null) p.f=unescapexml(cref[1]);\n\n\t\t\t/* SCHEMA IS ACTUALLY INCORRECT HERE.  IF A CELL HAS NO T, EMIT \"\" */\n\t\t\tif(tag.t === undefined && p.v === undefined) {\n\t\t\t\tif(!opts.sheetStubs) continue;\n\t\t\t\tp.t = \"stub\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > idx) guess.s.c = idx;\n\t\t\tif(guess.e.c < idx) guess.e.c = idx;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n': p.v = parseFloat(p.v); break;\n\t\t\t\tcase 's':\n\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = p.v;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref !== null) { sstr = parse_si(cref[1]); p.v = sstr.t; } else p.v = \"\";\n\t\t\t\t\tbreak; // inline string\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(!opts.cellDates) { p.v = datenum(p.v); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .v, number in .v */\n\t\t\t\tcase 'e': p.w = p.v; p.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles && cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts);\n\t\t\ts[tag.r] = p;\n\t\t}\n\t}\n}; })();\n\nfunction write_ws_xml_data(ws, opts, idx, wb) {\n\tvar o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = \"\", cols = [], R, C;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tif(ws[ref] === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(ws[ref], ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0) o[o.length] = (writextag('row', r.join(\"\"), {r:rr}));\n\t}\n\treturn o.join(\"\");\n}\n\nvar WS_XML_ROOT = writextag('worksheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\nfunction write_ws_xml(idx, opts, wb) {\n\tvar o = [XML_HEADER, WS_XML_ROOT];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws === undefined) ws = {};\n\tvar ref = ws['!ref']; if(ref === undefined) ref = 'A1';\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\tif(ws['!cols'] !== undefined && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\to[sidx = o.length] = '<sheetData/>';\n\tif(ws['!ref'] !== undefined) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = ('</sheetData>'); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\tif(ws['!merges'] !== undefined && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\tif(o.length>2) { o[o.length] = ('</worksheet>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.718 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = [];\n\tz.r = data.read_shift(4);\n\tdata.l += length-4;\n\treturn z;\n}\n\n/* [MS-XLSB] 2.4.812 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.815 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\t/* TODO: pull flags */\n\tdata.l += 19;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\n\n/* [MS-XLSB] 2.4.303 BrtCellBlank */\nfunction parse_BrtCellBlank(data, length) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, val, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(val, o);\n}\n\n\n/* [MS-XLSB] 2.4.304 BrtCellBool */\nfunction parse_BrtCellBool(data, length) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\n\n/* [MS-XLSB] 2.4.305 BrtCellError */\nfunction parse_BrtCellError(data, length) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'e'];\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellIsst */\nfunction parse_BrtCellIsst(data, length) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\n\n/* [MS-XLSB] 2.4.310 BrtCellReal */\nfunction parse_BrtCellReal(data, length) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\n\n/* [MS-XLSB] 2.4.311 BrtCellRk */\nfunction parse_BrtCellRk(data, length) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellSt */\nfunction parse_BrtCellSt(data, length) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\n\n/* [MS-XLSB] 2.4.647 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBCellParsedFormula(data, length-9);\n\t\to[3] = \"\"; /* TODO */\n\t}\n\telse data.l += length-9;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.648 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBCellParsedFormula(data, length-9);\n\t\to[3] = \"\"; /* TODO */\n\t}\n\telse data.l += length-9;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.649 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBCellParsedFormula(data, length - 16);\n\t\to[3] = \"\"; /* TODO */\n\t}\n\telse data.l += length-16;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar start = data.l;\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBCellParsedFormula(data, start + length - data.l);\n\t}\n\telse data.l = start + length;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.676 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.656 BrtHLink */\nfunction parse_BrtHLink(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\treturn {rfx:rfx, relId:relId, loc:loc, tooltip:tooltip, display:display};\n}\n\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, opts, rels) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {};\n\n\tvar ref;\n\tvar refguess = {s: {r:1000000, c:1000000}, e: {r:0, c:0} };\n\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr;\n\tvar mergecells = [];\n\trecordhopper(data, function ws_parse(val, R) {\n\t\tif(end) return;\n\t\tswitch(R.n) {\n\t\t\tcase 'BrtWsDim': ref = val; break;\n\t\t\tcase 'BrtRowHdr':\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(row.r);\n\t\t\t\tbreak;\n\n\t\t\tcase 'BrtFmlaBool':\n\t\t\tcase 'BrtFmlaError':\n\t\t\tcase 'BrtFmlaNum':\n\t\t\tcase 'BrtFmlaString':\n\t\t\tcase 'BrtCellBool':\n\t\t\tcase 'BrtCellError':\n\t\t\tcase 'BrtCellIsst':\n\t\t\tcase 'BrtCellReal':\n\t\t\tcase 'BrtCellRk':\n\t\t\tcase 'BrtCellSt':\n\t\t\t\tp = {t:val[2]};\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = utf8read(val[1]); break;\n\t\t\t\t}\n\t\t\t\tif(opts.cellFormula && val.length > 3) p.f = val[3];\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.ifmt,null,opts);\n\t\t\t\ts[encode_col(C=val[0].c) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tbreak;\n\n\t\t\tcase 'BrtCellBlank': if(!opts.sheetStubs) break;\n\t\t\t\tp = {t:'s',v:undefined};\n\t\t\t\ts[encode_col(C=val[0].c) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tbreak;\n\n\t\t\t/* Merge Cells */\n\t\t\tcase 'BrtBeginMergeCells': break;\n\t\t\tcase 'BrtEndMergeCells': break;\n\t\t\tcase 'BrtMergeCell': mergecells.push(val); break;\n\n\t\t\tcase 'BrtHLink':\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\tif(!s[addr]) s[addr] = {t:'s',v:undefined};\n\t\t\t\t\ts[addr].l = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'BrtArrFmla': break; // TODO\n\t\t\tcase 'BrtShrFmla': break; // TODO\n\t\t\tcase 'BrtBeginSheet': break;\n\t\t\tcase 'BrtWsProp': break; // TODO\n\t\t\tcase 'BrtSheetCalcProp': break; // TODO\n\t\t\tcase 'BrtBeginWsViews': break; // TODO\n\t\t\tcase 'BrtBeginWsView': break; // TODO\n\t\t\tcase 'BrtPane': break; // TODO\n\t\t\tcase 'BrtSel': break; // TODO\n\t\t\tcase 'BrtEndWsView': break; // TODO\n\t\t\tcase 'BrtEndWsViews': break; // TODO\n\t\t\tcase 'BrtACBegin': break; // TODO\n\t\t\tcase 'BrtRwDescent': break; // TODO\n\t\t\tcase 'BrtACEnd': break; // TODO\n\t\t\tcase 'BrtWsFmtInfoEx14': break; // TODO\n\t\t\tcase 'BrtWsFmtInfo': break; // TODO\n\t\t\tcase 'BrtBeginColInfos': break; // TODO\n\t\t\tcase 'BrtColInfo': break; // TODO\n\t\t\tcase 'BrtEndColInfos': break; // TODO\n\t\t\tcase 'BrtBeginSheetData': break; // TODO\n\t\t\tcase 'BrtEndSheetData': break; // TODO\n\t\t\tcase 'BrtSheetProtection': break; // TODO\n\t\t\tcase 'BrtPrintOptions': break; // TODO\n\t\t\tcase 'BrtMargins': break; // TODO\n\t\t\tcase 'BrtPageSetup': break; // TODO\n\t\t\tcase 'BrtFRTBegin': pass = true; break;\n\t\t\tcase 'BrtFRTEnd': pass = false; break;\n\t\t\tcase 'BrtEndSheet': break; // TODO\n\t\t\tcase 'BrtDrawing': break; // TODO\n\t\t\tcase 'BrtLegacyDrawing': break; // TODO\n\t\t\tcase 'BrtLegacyDrawingHF': break; // TODO\n\t\t\tcase 'BrtPhoneticInfo': break; // TODO\n\t\t\tcase 'BrtBeginHeaderFooter': break; // TODO\n\t\t\tcase 'BrtEndHeaderFooter': break; // TODO\n\t\t\tcase 'BrtBrk': break; // TODO\n\t\t\tcase 'BrtBeginRwBrk': break; // TODO\n\t\t\tcase 'BrtEndRwBrk': break; // TODO\n\t\t\tcase 'BrtBeginColBrk': break; // TODO\n\t\t\tcase 'BrtEndColBrk': break; // TODO\n\t\t\tcase 'BrtBeginUserShViews': break; // TODO\n\t\t\tcase 'BrtBeginUserShView': break; // TODO\n\t\t\tcase 'BrtEndUserShView': break; // TODO\n\t\t\tcase 'BrtEndUserShViews': break; // TODO\n\t\t\tcase 'BrtBkHim': break; // TODO\n\t\t\tcase 'BrtBeginOleObjects': break; // TODO\n\t\t\tcase 'BrtOleObject': break; // TODO\n\t\t\tcase 'BrtEndOleObjects': break; // TODO\n\t\t\tcase 'BrtBeginListParts': break; // TODO\n\t\t\tcase 'BrtListPart': break; // TODO\n\t\t\tcase 'BrtEndListParts': break; // TODO\n\t\t\tcase 'BrtBeginSortState': break; // TODO\n\t\t\tcase 'BrtBeginSortCond': break; // TODO\n\t\t\tcase 'BrtEndSortCond': break; // TODO\n\t\t\tcase 'BrtEndSortState': break; // TODO\n\t\t\tcase 'BrtBeginConditionalFormatting': break; // TODO\n\t\t\tcase 'BrtEndConditionalFormatting': break; // TODO\n\t\t\tcase 'BrtBeginCFRule': break; // TODO\n\t\t\tcase 'BrtEndCFRule': break; // TODO\n\t\t\tcase 'BrtBeginDVals': break; // TODO\n\t\t\tcase 'BrtDVal': break; // TODO\n\t\t\tcase 'BrtEndDVals': break; // TODO\n\t\t\tcase 'BrtRangeProtection': break; // TODO\n\t\t\tcase 'BrtBeginDCon': break; // TODO\n\t\t\tcase 'BrtEndDCon': break; // TODO\n\t\t\tcase 'BrtBeginDRefs': break;\n\t\t\tcase 'BrtDRef': break;\n\t\t\tcase 'BrtEndDRefs': break;\n\n\t\t\t/* ActiveX */\n\t\t\tcase 'BrtBeginActiveXControls': break;\n\t\t\tcase 'BrtActiveX': break;\n\t\t\tcase 'BrtEndActiveXControls': break;\n\n\t\t\t/* AutoFilter */\n\t\t\tcase 'BrtBeginAFilter': break;\n\t\t\tcase 'BrtEndAFilter': break;\n\t\t\tcase 'BrtBeginFilterColumn': break;\n\t\t\tcase 'BrtBeginFilters': break;\n\t\t\tcase 'BrtFilter': break;\n\t\t\tcase 'BrtEndFilters': break;\n\t\t\tcase 'BrtEndFilterColumn': break;\n\t\t\tcase 'BrtDynamicFilter': break;\n\t\t\tcase 'BrtTop10Filter': break;\n\t\t\tcase 'BrtBeginCustomFilters': break;\n\t\t\tcase 'BrtCustomFilter': break;\n\t\t\tcase 'BrtEndCustomFilters': break;\n\n\t\t\t/* Smart Tags */\n\t\t\tcase 'BrtBeginSmartTags': break;\n\t\t\tcase 'BrtBeginCellSmartTags': break;\n\t\t\tcase 'BrtBeginCellSmartTag': break;\n\t\t\tcase 'BrtCellSmartTagProperty': break;\n\t\t\tcase 'BrtEndCellSmartTag': break;\n\t\t\tcase 'BrtEndCellSmartTags': break;\n\t\t\tcase 'BrtEndSmartTags': break;\n\n\t\t\t/* Cell Watch */\n\t\t\tcase 'BrtBeginCellWatches': break;\n\t\t\tcase 'BrtCellWatch': break;\n\t\t\tcase 'BrtEndCellWatches': break;\n\n\t\t\t/* Table */\n\t\t\tcase 'BrtTable': break;\n\n\t\t\t/* Ignore Cell Errors */\n\t\t\tcase 'BrtBeginCellIgnoreECs': break;\n\t\t\tcase 'BrtCellIgnoreEC': break;\n\t\t\tcase 'BrtEndCellIgnoreECs': break;\n\n\t\t\tdefault: if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + R.n);\n\t\t}\n\t}, opts);\n\tif(!s[\"!ref\"] && (refguess.s.r < 1000000 || ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0)) s[\"!ref\"] = encode_range(ref);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows < +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(mergecells.length > 0) s[\"!merges\"] = mergecells;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba, cell, R, C, opts) {\n\tif(cell.v === undefined) return \"\";\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o = {r:R, c:C};\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, cell.v);\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t\tcase 'n': break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t}\n\twrite_record(ba, \"BrtCellBlank\", write_BrtCellBlank(cell, o));\n}\n\nfunction write_CELLTABLE(ba, ws, idx, opts, wb) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\twrite_record(ba, 'BrtBeginSheetData');\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tif(!ws[ref]) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_bin_cell(ba, ws[ref], R, C, opts);\n\t\t}\n\t}\n\twrite_record(ba, 'BrtEndSheetData');\n}\n\nfunction write_ws_bin(idx, opts, wb) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\twrite_record(ba, \"BrtBeginSheet\");\n\t/* [BrtWsProp] */\n\twrite_record(ba, \"BrtWsDim\", write_BrtWsDim(r));\n\t/* [WSVIEWS2] */\n\t/* [WSFMTINFO] */\n\t/* *COLINFOS */\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\t/* [[BrtSheetProtectionIso] BrtSheetProtection] */\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\t/* [AUTOFILTER] */\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\t/* [MERGECELLS] */\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\t/* *BrtHLink */\n\t/* [BrtPrintOptions] */\n\t/* [BrtMargins] */\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\t/* [IGNOREECS] */\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', '0'],\n\t['autoCompressPictures', '1'],\n\t['backupFile', '0'],\n\t['checkCompatibility', '0'],\n\t['codeName', ''],\n\t['date1904', '0'],\n\t['dateCompatibility', '1'],\n\t//['defaultThemeVersion', '0'],\n\t['filterPrivacy', '0'],\n\t['hidePivotFieldList', '0'],\n\t['promptedSolutions', '0'],\n\t['publishItems', '0'],\n\t['refreshAllConnections', false],\n\t['saveExternalLinkValues', '1'],\n\t['showBorderUnselectedTables', '1'],\n\t['showInkAnnotation', '1'],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', '0']\n\t//['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', '0'],\n\t['autoFilterDateGrouping', '1'],\n\t['firstSheet', '0'],\n\t['minimized', '0'],\n\t['showHorizontalScroll', '1'],\n\t['showSheetTabs', '1'],\n\t['showVerticalScroll', '1'],\n\t['tabRatio', '600'],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t['state', 'visible']\n];\n\n/* 18.2.2  (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\nvar CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904, 'date1904');\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts) {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar pass = false, xmlns = \"xmlns\";\n\tdata.match(tagregex).forEach(function xml_wb(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '<?xml': break;\n\n\t\t\t/* 18.2.27 workbook CT_Workbook 1 */\n\t\t\tcase '<workbook':\n\t\t\t\tif(x.match(wbnsregex)) xmlns = \"xmlns\" + x.match(/<(\\w+):/)[1];\n\t\t\t\twb.xmlns = y[xmlns];\n\t\t\t\tbreak;\n\t\t\tcase '</workbook>': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '<fileVersion': delete y[0]; wb.AppVersion = y; break;\n\t\t\tcase '<fileVersion/>': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '<fileSharing': case '<fileSharing/>': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '<workbookPr': delete y[0]; wb.WBProps = y; break;\n\t\t\tcase '<workbookPr/>': delete y[0]; wb.WBProps = y; break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '<workbookProtection': break;\n\t\t\tcase '<workbookProtection/>': break;\n\n\t\t\t/* 18.2.1  bookViews CT_BookViews ? */\n\t\t\tcase '<bookViews>': case '</bookViews>': break;\n\t\t\t/* 18.2.30   workbookView CT_BookView + */\n\t\t\tcase '<workbookView': delete y[0]; wb.WBView.push(y); break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '<sheets>': case '</sheets>': break; // aggregate sheet\n\t\t\t/* 18.2.19   sheet CT_Sheet + */\n\t\t\tcase '<sheet': delete y[0]; y.name = utf8read(y.name); wb.Sheets.push(y); break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '<functionGroups': case '<functionGroups/>': break;\n\t\t\t/* 18.2.14   functionGroup CT_FunctionGroup + */\n\t\t\tcase '<functionGroup': break;\n\n\t\t\t/* 18.2.9  externalReferences CT_ExternalReferences ? */\n\t\t\tcase '<externalReferences': case '</externalReferences>': case '<externalReferences>': break;\n\t\t\t/* 18.2.8    externalReference CT_ExternalReference + */\n\t\t\tcase '<externalReference': break;\n\n\t\t\t/* 18.2.6  definedNames CT_DefinedNames ? */\n\t\t\tcase '<definedNames/>': break;\n\t\t\tcase '<definedNames>': case '<definedNames': pass=true; break;\n\t\t\tcase '</definedNames>': pass=false; break;\n\t\t\t/* 18.2.5    definedName CT_DefinedName + */\n\t\t\tcase '<definedName': case '<definedName/>': case '</definedName>': break;\n\n\t\t\t/* 18.2.2  calcPr CT_CalcPr ? */\n\t\t\tcase '<calcPr': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '<calcPr/>': delete y[0]; wb.CalcPr = y; break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '<oleSize': break;\n\n\t\t\t/* 18.2.4  customWorkbookViews CT_CustomWorkbookViews ? */\n\t\t\tcase '<customWorkbookViews>': case '</customWorkbookViews>': case '<customWorkbookViews': break;\n\t\t\t/* 18.2.3    customWorkbookView CT_CustomWorkbookView + */\n\t\t\tcase '<customWorkbookView': case '</customWorkbookView>': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '<pivotCaches>': case '</pivotCaches>': case '<pivotCaches': break;\n\t\t\t/* 18.2.17 pivotCache CT_PivotCache ? */\n\t\t\tcase '<pivotCache': break;\n\n\t\t\t/* 18.2.21 smartTagPr CT_SmartTagPr ? */\n\t\t\tcase '<smartTagPr': case '<smartTagPr/>': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '<smartTagTypes': case '<smartTagTypes>': case '</smartTagTypes>': break;\n\t\t\t/* 18.2.22   smartTagType CT_SmartTagType ? */\n\t\t\tcase '<smartTagType': break;\n\n\t\t\t/* 18.2.24 webPublishing CT_WebPublishing ? */\n\t\t\tcase '<webPublishing': case '<webPublishing/>': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '<fileRecoveryPr': case '<fileRecoveryPr/>': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '<webPublishObjects>': case '<webPublishObjects': case '</webPublishObjects>': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '<webPublishObject': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '<extLst>': case '</extLst>': case '<extLst/>': break;\n\t\t\t/* 18.2.7    ext CT_Extension + */\n\t\t\tcase '<ext': pass=true; break; //TODO: check with versions of excel\n\t\t\tcase '</ext>': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '<ArchID': break;\n\t\t\tcase '<AlternateContent': pass=true; break;\n\t\t\tcase '</AlternateContent>': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw 'unrecognized ' + y[0] + ' in workbook';\n\t\t}\n\t});\n\tif(XMLNS.main.indexOf(wb.xmlns) === -1) throw new Error(\"Unknown Namespace: \" + wb.xmlns);\n\n\tparse_wb_defaults(wb);\n\n\treturn wb;\n}\n\nvar WB_XML_ROOT = writextag('workbook', null, {\n\t'xmlns': XMLNS.main[0],\n\t//'xmlns:mx': XMLNS.mx,\n\t//'xmlns:s': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\nfunction safe1904(wb) {\n\t/* TODO: store date1904 somewhere else */\n\ttry { return parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\"; } catch(e) { return \"false\"; }\n}\n\nfunction write_wb_xml(wb, opts) {\n\tvar o = [XML_HEADER];\n\to[o.length] = WB_XML_ROOT;\n\to[o.length] = (writextag('workbookPr', null, {date1904:safe1904(wb)}));\n\to[o.length] = \"<sheets>\";\n\tfor(var i = 0; i != wb.SheetNames.length; ++i)\n\t\to[o.length] = (writextag('sheet',null,{name:wb.SheetNames[i].substr(0,31), sheetId:\"\"+(i+1), \"r:id\":\"rId\"+(i+1)}));\n\to[o.length] = \"</sheets>\";\n\tif(o.length>2){ o[o.length] = '</workbook>'; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.301 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length) {\n\tvar z = {};\n\tz.hsState = data.read_shift(4); //ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.hsState);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.substr(0,31), o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.807 BrtWbProp */\nfunction parse_BrtWbProp(data, length) {\n\tdata.read_shift(4);\n\tvar dwThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\treturn [dwThemeVersion, strName];\n}\nfunction write_BrtWbProp(data, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.7.60 Workbook */\nfunction parse_wb_bin(data, opts) {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar pass = false, z;\n\n\trecordhopper(data, function hopper_wb(val, R) {\n\t\tswitch(R.n) {\n\t\t\tcase 'BrtBundleSh': wb.Sheets.push(val); break;\n\n\t\t\tcase 'BrtBeginBook': break;\n\t\t\tcase 'BrtFileVersion': break;\n\t\t\tcase 'BrtWbProp': break;\n\t\t\tcase 'BrtACBegin': break;\n\t\t\tcase 'BrtAbsPath15': break;\n\t\t\tcase 'BrtACEnd': break;\n\t\t\tcase 'BrtWbFactoid': break;\n\t\t\t/*case 'BrtBookProtectionIso': break;*/\n\t\t\tcase 'BrtBookProtection': break;\n\t\t\tcase 'BrtBeginBookViews': break;\n\t\t\tcase 'BrtBookView': break;\n\t\t\tcase 'BrtEndBookViews': break;\n\t\t\tcase 'BrtBeginBundleShs': break;\n\t\t\tcase 'BrtEndBundleShs': break;\n\t\t\tcase 'BrtBeginFnGroup': break;\n\t\t\tcase 'BrtEndFnGroup': break;\n\t\t\tcase 'BrtBeginExternals': break;\n\t\t\tcase 'BrtSupSelf': break;\n\t\t\tcase 'BrtSupBookSrc': break;\n\t\t\tcase 'BrtExternSheet': break;\n\t\t\tcase 'BrtEndExternals': break;\n\t\t\tcase 'BrtName': break;\n\t\t\tcase 'BrtCalcProp': break;\n\t\t\tcase 'BrtUserBookView': break;\n\t\t\tcase 'BrtBeginPivotCacheIDs': break;\n\t\t\tcase 'BrtBeginPivotCacheID': break;\n\t\t\tcase 'BrtEndPivotCacheID': break;\n\t\t\tcase 'BrtEndPivotCacheIDs': break;\n\t\t\tcase 'BrtWebOpt': break;\n\t\t\tcase 'BrtFileRecover': break;\n\t\t\tcase 'BrtFileSharing': break;\n\t\t\t/*case 'BrtBeginWebPubItems': break;\n\t\t\tcase 'BrtBeginWebPubItem': break;\n\t\t\tcase 'BrtEndWebPubItem': break;\n\t\t\tcase 'BrtEndWebPubItems': break;*/\n\n\t\t\t/* Smart Tags */\n\t\t\tcase 'BrtBeginSmartTagTypes': break;\n\t\t\tcase 'BrtSmartTagType': break;\n\t\t\tcase 'BrtEndSmartTagTypes': break;\n\n\t\t\tcase 'BrtFRTBegin': pass = true; break;\n\t\t\tcase 'BrtFRTArchID$': break;\n\t\t\tcase 'BrtWorkBookPr15': break;\n\t\t\tcase 'BrtFRTEnd': pass = false; break;\n\t\t\tcase 'BrtEndBook': break;\n\t\t\tdefault: if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + R.n);\n\t\t}\n\t});\n\n\tparse_wb_defaults(wb);\n\n\treturn wb;\n}\n\n/* [MS-XLSB] 2.1.7.60 Workbook */\nfunction write_BUNDLESHS(ba, wb, opts) {\n\twrite_record(ba, \"BrtBeginBundleShs\");\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar d = { hsState: 0, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, \"BrtBundleSh\", write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, \"BrtEndBundleShs\");\n}\n\n/* [MS-XLSB] 2.4.643 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\to.length = o.l;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.7.60 Workbook */\nfunction write_BOOKVIEWS(ba, wb, opts) {\n\twrite_record(ba, \"BrtBeginBookViews\");\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, \"BrtEndBookViews\");\n}\n\n/* [MS-XLSB] 2.4.302 BrtCalcProp */\nfunction write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); /* force recalc */\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}\n\nfunction write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.7.60 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginBook\");\n\twrite_record(ba, \"BrtFileVersion\", write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, \"BrtWbProp\", write_BrtWbProp());\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\twrite_record(ba, \"BrtCalcProp\", write_BrtCalcProp());\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\twrite_record(ba, \"BrtFileRecover\", write_BrtFileRecover());\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, \"BrtEndBook\");\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? parse_wb_bin : parse_wb_xml)(data, opts);\n}\n\nfunction parse_ws(data, name, opts, rels) {\n\treturn (name.substr(-4)===\".bin\" ? parse_ws_bin : parse_ws_xml)(data, opts, rels);\n}\n\nfunction parse_sty(data, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? parse_sty_bin : parse_sty_xml)(data, opts);\n}\n\nfunction parse_theme(data, name, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? parse_sst_bin : parse_sst_xml)(data, opts);\n}\n\nfunction parse_cmnt(data, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? parse_comments_bin : parse_comments_xml)(data, opts);\n}\n\nfunction parse_cc(data, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? parse_cc_bin : parse_cc_xml)(data, opts);\n}\n\nfunction write_wb(wb, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data, name, opts, wb) {\n\treturn (name.substr(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb);\n}\n\nfunction write_sty(data, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n/*\nfunction write_cmnt(data, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n\nfunction write_cc(data, name, opts) {\n\treturn (name.substr(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nvar _chr = function(c) { return String.fromCharCode(c); };\nfunction xlml_parsexmltag(tag, skip_root) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = []; if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].substr(1,y[2].length-2);\n\t\telse {\n\t\t\tif(y[1].substr(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].substr(6);\n\t\t\telse w = y[1].substr(j+1);\n\t\t\tz[w] = y[2].substr(1,y[2].length-2);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].substr(1,y[2].length-2);\n\t\telse {\n\t\t\tif(y[1].substr(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].substr(6);\n\t\t\telse w = y[1].substr(j+1);\n\t\t\tz[w] = y[2].substr(1,y[2].length-2);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\nfunction xlml_format(format, value) {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF._general(value);\n\treturn SSF.format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, Rn, cp, val) {\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": val = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": val = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": val = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": val = new Date(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw \"bad custprop:\" + cp[0];\n\t}\n\tCustprops[unescapexml(Rn[3])] = val;\n}\n\nfunction safe_format_xlml(cell, nf, o) {\n\ttry {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = SSF._general_int(cell.v);\n\t\t\t\telse cell.w = SSF._general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF._general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t\tif(o.cellNF) cell.z = XLMLFormatMap[nf]||nf||\"General\";\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = xml.indexOf(\"<\") > -1 ? ss : cell.r;\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tcell.v = (Date.parse(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v >= 1 && cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; cell.w = xml; break;\n\t\tdefault: cell.t = 's'; cell.v = xlml_fixstr(ss); break;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula != null && cell.Formula) {\n\t\tcell.f = rc_to_a1(unescapexml(cell.Formula), base);\n\t\tcell.Formula = undefined;\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tcell.ixfe = cell.StyleID !== undefined ? cell.StyleID : 'Default';\n}\n\nfunction xlml_clean_comment(comment) {\n\tcomment.t = comment.v;\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\nfunction xlml_normalize(d) {\n\tif(has_buf && Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\tthrow \"badf\";\n}\n\n/* TODO: Everything */\nvar xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\nfunction parse_xlml_xml(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar state = [], tmp;\n\tvar sheets = {}, sheetnames = [], cursheet = {}, sheetname = \"\";\n\tvar table = {}, cell = {}, row = {}, dtag, didx;\n\tvar c = 0, r = 0;\n\tvar refguess = {s: {r:1000000, c:1000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar mergecells = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = {};\n\tvar comments = [], comment = {};\n\tvar cstys = [], csty;\n\txlmlregex.lastIndex = 0;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'Data':\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==\"Comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'Cell':\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = {Target:cell.HRef, tooltip:cell.HRefScreenTip};\n\t\t\t\t\tcell.HRef = cell.HRefScreenTip = undefined;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tvar cc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\tvar rr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\t++c;\n\t\t\t\tif(cell.MergeAcross) c += +cell.MergeAcross;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].substr(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Row':\n\t\t\tif(Rn[1]==='/' || Rn[0].substr(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].substr(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Worksheet': /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) cursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\tif(mergecells.length) cursheet[\"!merges\"] = mergecells;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:1000000, c:1000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = tmp.Name;\n\t\t\t\tcursheet = {};\n\t\t\t\tmergecells = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Table':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\ttable = xlml_parsexmltag(Rn[0]);\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = [];\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'Style':\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'NumberFormat':\n\t\t\tstag.nf = xlml_parsexmltag(Rn[0]).Format || \"General\";\n\t\t\tbreak;\n\n\t\tcase 'Column':\n\t\t\tif(state[state.length-1][0] !== 'Table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = csty;\n\t\t\tbreak;\n\n\t\tcase 'NamedRange': break;\n\t\tcase 'NamedCell': break;\n\t\tcase 'B': break;\n\t\tcase 'I': break;\n\t\tcase 'U': break;\n\t\tcase 'S': break;\n\t\tcase 'Sub': break;\n\t\tcase 'Sup': break;\n\t\tcase 'Span': break;\n\t\tcase 'Border': break;\n\t\tcase 'Alignment': break;\n\t\tcase 'Borders': break;\n\t\tcase 'Font':\n\t\t\tif(Rn[0].substr(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'Interior':\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'Protection': break;\n\n\t\tcase 'Author':\n\t\tcase 'Title':\n\t\tcase 'Description':\n\t\tcase 'Created':\n\t\tcase 'Keywords':\n\t\tcase 'Subject':\n\t\tcase 'Category':\n\t\tcase 'Company':\n\t\tcase 'LastAuthor':\n\t\tcase 'LastSaved':\n\t\tcase 'LastPrinted':\n\t\tcase 'Version':\n\t\tcase 'Revision':\n\t\tcase 'TotalTime':\n\t\tcase 'HyperlinkBase':\n\t\tcase 'Manager':\n\t\t\tif(Rn[0].substr(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, Rn[3], str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'Paragraphs': break;\n\n\t\tcase 'Styles':\n\t\tcase 'Workbook':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'Comment':\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = {a:tmp.Author};\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'Name': break;\n\n\t\tcase 'ComponentOptions':\n\t\tcase 'DocumentProperties':\n\t\tcase 'CustomDocumentProperties':\n\t\tcase 'OfficeDocumentSettings':\n\t\tcase 'PivotTable':\n\t\tcase 'PivotCache':\n\t\tcase 'Names':\n\t\tcase 'MapInfo':\n\t\tcase 'PageBreaks':\n\t\tcase 'QueryTable':\n\t\tcase 'DataValidation':\n\t\tcase 'AutoFilter':\n\t\tcase 'Sorting':\n\t\tcase 'Schema':\n\t\tcase 'data':\n\t\tcase 'ConditionalFormatting':\n\t\tcase 'SmartTagType':\n\t\tcase 'SmartTags':\n\t\tcase 'ExcelWorkbook':\n\t\tcase 'WorkbookOptions':\n\t\tcase 'WorksheetOptions':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'OfficeDocumentSettings': switch(Rn[3]) {\n\t\t\t\t\tcase 'AllowPNG': break;\n\t\t\t\t\tcase 'RemovePersonalInformation': break;\n\t\t\t\t\tcase 'DownloadComponents': break;\n\t\t\t\t\tcase 'LocationOfComponents': break;\n\t\t\t\t\tcase 'Colors': break;\n\t\t\t\t\tcase 'Color': break;\n\t\t\t\t\tcase 'Index': break;\n\t\t\t\t\tcase 'RGB': break;\n\t\t\t\t\tcase 'PixelsPerInch': break;\n\t\t\t\t\tcase 'TargetScreenSize': break;\n\t\t\t\t\tcase 'ReadOnlyRecommended': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'ComponentOptions': switch(Rn[3]) {\n\t\t\t\t\tcase 'Toolbar': break;\n\t\t\t\t\tcase 'HideOfficeLogo': break;\n\t\t\t\t\tcase 'SpreadsheetAutoFit': break;\n\t\t\t\t\tcase 'Label': break;\n\t\t\t\t\tcase 'Caption': break;\n\t\t\t\t\tcase 'MaxHeight': break;\n\t\t\t\t\tcase 'MaxWidth': break;\n\t\t\t\t\tcase 'NextSheetNumber': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'ExcelWorkbook': switch(Rn[3]) {\n\t\t\t\t\tcase 'WindowHeight': break;\n\t\t\t\t\tcase 'WindowWidth': break;\n\t\t\t\t\tcase 'WindowTopX': break;\n\t\t\t\t\tcase 'WindowTopY': break;\n\t\t\t\t\tcase 'TabRatio': break;\n\t\t\t\t\tcase 'ProtectStructure': break;\n\t\t\t\t\tcase 'ProtectWindows': break;\n\t\t\t\t\tcase 'ActiveSheet': break;\n\t\t\t\t\tcase 'DisplayInkNotes': break;\n\t\t\t\t\tcase 'FirstVisibleSheet': break;\n\t\t\t\t\tcase 'SupBook': break;\n\t\t\t\t\tcase 'SheetName': break;\n\t\t\t\t\tcase 'SheetIndex': break;\n\t\t\t\t\tcase 'SheetIndexFirst': break;\n\t\t\t\t\tcase 'SheetIndexLast': break;\n\t\t\t\t\tcase 'Dll': break;\n\t\t\t\t\tcase 'AcceptLabelsInFormulas': break;\n\t\t\t\t\tcase 'DoNotSaveLinkValues': break;\n\t\t\t\t\tcase 'Date1904': break;\n\t\t\t\t\tcase 'Iteration': break;\n\t\t\t\t\tcase 'MaxIterations': break;\n\t\t\t\t\tcase 'MaxChange': break;\n\t\t\t\t\tcase 'Path': break;\n\t\t\t\t\tcase 'Xct': break;\n\t\t\t\t\tcase 'Count': break;\n\t\t\t\t\tcase 'SelectedSheets': break;\n\t\t\t\t\tcase 'Calculation': break;\n\t\t\t\t\tcase 'Uncalced': break;\n\t\t\t\t\tcase 'StartupPrompt': break;\n\t\t\t\t\tcase 'Crn': break;\n\t\t\t\t\tcase 'ExternName': break;\n\t\t\t\t\tcase 'Formula': break;\n\t\t\t\t\tcase 'ColFirst': break;\n\t\t\t\t\tcase 'ColLast': break;\n\t\t\t\t\tcase 'WantAdvise': break;\n\t\t\t\t\tcase 'Boolean': break;\n\t\t\t\t\tcase 'Error': break;\n\t\t\t\t\tcase 'Text': break;\n\t\t\t\t\tcase 'OLE': break;\n\t\t\t\t\tcase 'NoAutoRecover': break;\n\t\t\t\t\tcase 'PublishObjects': break;\n\t\t\t\t\tcase 'DoNotCalculateBeforeSave': break;\n\t\t\t\t\tcase 'Number': break;\n\t\t\t\t\tcase 'RefModeR1C1': break;\n\t\t\t\t\tcase 'EmbedSaveSmartTags': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'WorkbookOptions': switch(Rn[3]) {\n\t\t\t\t\tcase 'OWCVersion': break;\n\t\t\t\t\tcase 'Height': break;\n\t\t\t\t\tcase 'Width': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'WorksheetOptions': switch(Rn[3]) {\n\t\t\t\t\tcase 'Unsynced': break;\n\t\t\t\t\tcase 'Visible': break;\n\t\t\t\t\tcase 'Print': break;\n\t\t\t\t\tcase 'Panes': break;\n\t\t\t\t\tcase 'Scale': break;\n\t\t\t\t\tcase 'Pane': break;\n\t\t\t\t\tcase 'Number': break;\n\t\t\t\t\tcase 'Layout': break;\n\t\t\t\t\tcase 'Header': break;\n\t\t\t\t\tcase 'Footer': break;\n\t\t\t\t\tcase 'PageSetup': break;\n\t\t\t\t\tcase 'PageMargins': break;\n\t\t\t\t\tcase 'Selected': break;\n\t\t\t\t\tcase 'ProtectObjects': break;\n\t\t\t\t\tcase 'EnableSelection': break;\n\t\t\t\t\tcase 'ProtectScenarios': break;\n\t\t\t\t\tcase 'ValidPrinterInfo': break;\n\t\t\t\t\tcase 'HorizontalResolution': break;\n\t\t\t\t\tcase 'VerticalResolution': break;\n\t\t\t\t\tcase 'NumberofCopies': break;\n\t\t\t\t\tcase 'ActiveRow': break;\n\t\t\t\t\tcase 'ActiveCol': break;\n\t\t\t\t\tcase 'ActivePane': break;\n\t\t\t\t\tcase 'TopRowVisible': break;\n\t\t\t\t\tcase 'TopRowBottomPane': break;\n\t\t\t\t\tcase 'LeftColumnVisible': break;\n\t\t\t\t\tcase 'LeftColumnRightPane': break;\n\t\t\t\t\tcase 'FitToPage': break;\n\t\t\t\t\tcase 'RangeSelection': break;\n\t\t\t\t\tcase 'PaperSizeIndex': break;\n\t\t\t\t\tcase 'PageLayoutZoom': break;\n\t\t\t\t\tcase 'PageBreakZoom': break;\n\t\t\t\t\tcase 'FilterOn': break;\n\t\t\t\t\tcase 'DoNotDisplayGridlines': break;\n\t\t\t\t\tcase 'SplitHorizontal': break;\n\t\t\t\t\tcase 'SplitVertical': break;\n\t\t\t\t\tcase 'FreezePanes': break;\n\t\t\t\t\tcase 'FrozenNoSplit': break;\n\t\t\t\t\tcase 'FitWidth': break;\n\t\t\t\t\tcase 'FitHeight': break;\n\t\t\t\t\tcase 'CommentsLayout': break;\n\t\t\t\t\tcase 'Zoom': break;\n\t\t\t\t\tcase 'LeftToRight': break;\n\t\t\t\t\tcase 'Gridlines': break;\n\t\t\t\t\tcase 'AllowSort': break;\n\t\t\t\t\tcase 'AllowFilter': break;\n\t\t\t\t\tcase 'AllowInsertRows': break;\n\t\t\t\t\tcase 'AllowDeleteRows': break;\n\t\t\t\t\tcase 'AllowInsertCols': break;\n\t\t\t\t\tcase 'AllowDeleteCols': break;\n\t\t\t\t\tcase 'AllowInsertHyperlinks': break;\n\t\t\t\t\tcase 'AllowFormatCells': break;\n\t\t\t\t\tcase 'AllowSizeCols': break;\n\t\t\t\t\tcase 'AllowSizeRows': break;\n\t\t\t\t\tcase 'NoSummaryRowsBelowDetail': break;\n\t\t\t\t\tcase 'TabColorIndex': break;\n\t\t\t\t\tcase 'DoNotDisplayHeadings': break;\n\t\t\t\t\tcase 'ShowPageLayoutZoom': break;\n\t\t\t\t\tcase 'NoSummaryColumnsRightDetail': break;\n\t\t\t\t\tcase 'BlackAndWhite': break;\n\t\t\t\t\tcase 'DoNotDisplayZeros': break;\n\t\t\t\t\tcase 'DisplayPageBreak': break;\n\t\t\t\t\tcase 'RowColHeadings': break;\n\t\t\t\t\tcase 'DoNotDisplayOutline': break;\n\t\t\t\t\tcase 'NoOrientation': break;\n\t\t\t\t\tcase 'AllowUsePivotTables': break;\n\t\t\t\t\tcase 'ZeroHeight': break;\n\t\t\t\t\tcase 'ViewableRange': break;\n\t\t\t\t\tcase 'Selection': break;\n\t\t\t\t\tcase 'ProtectContents': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'PivotTable': case 'PivotCache': switch(Rn[3]) {\n\t\t\t\t\tcase 'ImmediateItemsOnDrop': break;\n\t\t\t\t\tcase 'ShowPageMultipleItemLabel': break;\n\t\t\t\t\tcase 'CompactRowIndent': break;\n\t\t\t\t\tcase 'Location': break;\n\t\t\t\t\tcase 'PivotField': break;\n\t\t\t\t\tcase 'Orientation': break;\n\t\t\t\t\tcase 'LayoutForm': break;\n\t\t\t\t\tcase 'LayoutSubtotalLocation': break;\n\t\t\t\t\tcase 'LayoutCompactRow': break;\n\t\t\t\t\tcase 'Position': break;\n\t\t\t\t\tcase 'PivotItem': break;\n\t\t\t\t\tcase 'DataType': break;\n\t\t\t\t\tcase 'DataField': break;\n\t\t\t\t\tcase 'SourceName': break;\n\t\t\t\t\tcase 'ParentField': break;\n\t\t\t\t\tcase 'PTLineItems': break;\n\t\t\t\t\tcase 'PTLineItem': break;\n\t\t\t\t\tcase 'CountOfSameItems': break;\n\t\t\t\t\tcase 'Item': break;\n\t\t\t\t\tcase 'ItemType': break;\n\t\t\t\t\tcase 'PTSource': break;\n\t\t\t\t\tcase 'CacheIndex': break;\n\t\t\t\t\tcase 'ConsolidationReference': break;\n\t\t\t\t\tcase 'FileName': break;\n\t\t\t\t\tcase 'Reference': break;\n\t\t\t\t\tcase 'NoColumnGrand': break;\n\t\t\t\t\tcase 'NoRowGrand': break;\n\t\t\t\t\tcase 'BlankLineAfterItems': break;\n\t\t\t\t\tcase 'Hidden': break;\n\t\t\t\t\tcase 'Subtotal': break;\n\t\t\t\t\tcase 'BaseField': break;\n\t\t\t\t\tcase 'MapChildItems': break;\n\t\t\t\t\tcase 'Function': break;\n\t\t\t\t\tcase 'RefreshOnFileOpen': break;\n\t\t\t\t\tcase 'PrintSetTitles': break;\n\t\t\t\t\tcase 'MergeLabels': break;\n\t\t\t\t\tcase 'DefaultVersion': break;\n\t\t\t\t\tcase 'RefreshName': break;\n\t\t\t\t\tcase 'RefreshDate': break;\n\t\t\t\t\tcase 'RefreshDateCopy': break;\n\t\t\t\t\tcase 'VersionLastRefresh': break;\n\t\t\t\t\tcase 'VersionLastUpdate': break;\n\t\t\t\t\tcase 'VersionUpdateableMin': break;\n\t\t\t\t\tcase 'VersionRefreshableMin': break;\n\t\t\t\t\tcase 'Calculation': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'PageBreaks': switch(Rn[3]) {\n\t\t\t\t\tcase 'ColBreaks': break;\n\t\t\t\t\tcase 'ColBreak': break;\n\t\t\t\t\tcase 'RowBreaks': break;\n\t\t\t\t\tcase 'RowBreak': break;\n\t\t\t\t\tcase 'ColStart': break;\n\t\t\t\t\tcase 'ColEnd': break;\n\t\t\t\t\tcase 'RowEnd': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'AutoFilter': switch(Rn[3]) {\n\t\t\t\t\tcase 'AutoFilterColumn': break;\n\t\t\t\t\tcase 'AutoFilterCondition': break;\n\t\t\t\t\tcase 'AutoFilterAnd': break;\n\t\t\t\t\tcase 'AutoFilterOr': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'QueryTable': switch(Rn[3]) {\n\t\t\t\t\tcase 'Id': break;\n\t\t\t\t\tcase 'AutoFormatFont': break;\n\t\t\t\t\tcase 'AutoFormatPattern': break;\n\t\t\t\t\tcase 'QuerySource': break;\n\t\t\t\t\tcase 'QueryType': break;\n\t\t\t\t\tcase 'EnableRedirections': break;\n\t\t\t\t\tcase 'RefreshedInXl9': break;\n\t\t\t\t\tcase 'URLString': break;\n\t\t\t\t\tcase 'HTMLTables': break;\n\t\t\t\t\tcase 'Connection': break;\n\t\t\t\t\tcase 'CommandText': break;\n\t\t\t\t\tcase 'RefreshInfo': break;\n\t\t\t\t\tcase 'NoTitles': break;\n\t\t\t\t\tcase 'NextId': break;\n\t\t\t\t\tcase 'ColumnInfo': break;\n\t\t\t\t\tcase 'OverwriteCells': break;\n\t\t\t\t\tcase 'DoNotPromptForFile': break;\n\t\t\t\t\tcase 'TextWizardSettings': break;\n\t\t\t\t\tcase 'Source': break;\n\t\t\t\t\tcase 'Number': break;\n\t\t\t\t\tcase 'Decimal': break;\n\t\t\t\t\tcase 'ThousandSeparator': break;\n\t\t\t\t\tcase 'TrailingMinusNumbers': break;\n\t\t\t\t\tcase 'FormatSettings': break;\n\t\t\t\t\tcase 'FieldType': break;\n\t\t\t\t\tcase 'Delimiters': break;\n\t\t\t\t\tcase 'Tab': break;\n\t\t\t\t\tcase 'Comma': break;\n\t\t\t\t\tcase 'AutoFormatName': break;\n\t\t\t\t\tcase 'VersionLastEdit': break;\n\t\t\t\t\tcase 'VersionLastRefresh': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* Sorting */\n\t\t\t\tcase 'Sorting':\n\t\t\t\t/* ConditionalFormatting */\n\t\t\t\tcase 'ConditionalFormatting':\n\t\t\t\t/* DataValidation */\n\t\t\t\tcase 'DataValidation': switch(Rn[3]) {\n\t\t\t\t\tcase 'Range': break;\n\t\t\t\t\tcase 'Type': break;\n\t\t\t\t\tcase 'Min': break;\n\t\t\t\t\tcase 'Max': break;\n\t\t\t\t\tcase 'Sort': break;\n\t\t\t\t\tcase 'Descending': break;\n\t\t\t\t\tcase 'Order': break;\n\t\t\t\t\tcase 'CaseSensitive': break;\n\t\t\t\t\tcase 'Value': break;\n\t\t\t\t\tcase 'ErrorStyle': break;\n\t\t\t\t\tcase 'ErrorMessage': break;\n\t\t\t\t\tcase 'ErrorTitle': break;\n\t\t\t\t\tcase 'CellRangeList': break;\n\t\t\t\t\tcase 'InputMessage': break;\n\t\t\t\t\tcase 'InputTitle': break;\n\t\t\t\t\tcase 'ComboHide': break;\n\t\t\t\t\tcase 'InputHide': break;\n\t\t\t\t\tcase 'Condition': break;\n\t\t\t\t\tcase 'Qualifier': break;\n\t\t\t\t\tcase 'UseBlank': break;\n\t\t\t\t\tcase 'Value1': break;\n\t\t\t\t\tcase 'Value2': break;\n\t\t\t\t\tcase 'Format': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'MapInfo': case 'Schema': case 'data': switch(Rn[3]) {\n\t\t\t\t\tcase 'Map': break;\n\t\t\t\t\tcase 'Entry': break;\n\t\t\t\t\tcase 'Range': break;\n\t\t\t\t\tcase 'XPath': break;\n\t\t\t\t\tcase 'Field': break;\n\t\t\t\t\tcase 'XSDType': break;\n\t\t\t\t\tcase 'FilterOn': break;\n\t\t\t\t\tcase 'Aggregate': break;\n\t\t\t\t\tcase 'ElementType': break;\n\t\t\t\t\tcase 'AttributeType': break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema':\n\t\t\t\t\tcase 'element':\n\t\t\t\t\tcase 'complexType':\n\t\t\t\t\tcase 'datatype':\n\t\t\t\t\tcase 'all':\n\t\t\t\t\tcase 'attribute':\n\t\t\t\t\tcase 'extends': break;\n\n\t\t\t\t\tcase 'row': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'SmartTags': break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]==='CustomDocumentProperties') {\n\t\t\t\tif(Rn[0].substr(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, Rn, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = {};\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.SSF = SSF.get_table();\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data, opts) {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64.decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(data.map(_chr).join(\"\"), opts);\n\t}\n}\n\nfunction write_xlml(wb, opts) { }\n\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj) {\n\tvar v = {};\n\tvar o = obj.content;\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\tvar l = 28, m;\n\tm = __lpstr(o, l);\n\tl += 4 + __readUInt32LE(o,l);\n\tv.UserType = m;\n\n\t/* [MS-OLEDS] 2.3.1 ClipboardFormatOrAnsiString */\n\tm = __readUInt32LE(o,l); l+= 4;\n\tswitch(m) {\n\t\tcase 0x00000000: break;\n\t\tcase 0xffffffff: case 0xfffffffe: l+=4; break;\n\t\tdefault:\n\t\t\tif(m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\t\t\tl += m;\n\t}\n\n\tm = __lpstr(o, l); l += m.length === 0 ? 0 : 5 + m.length; v.Reserved1 = m;\n\n\tif((m = __readUInt32LE(o,l)) !== 0x71b2e9f4) return v;\n\tthrow \"Unsupported Unicode Extension\";\n}\n\n/* 2.4.58 Continue logic */\nfunction slurp(R, blob, length, opts) {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu_decrypt) switch(R.n) {\n\tcase 'BOF': case 'FilePass': case 'FileLock': case 'InterfaceHdr': case 'RRDInfo': case 'RRDHead': case 'UsrExcl': break;\n\tdefault:\n\t\tif(d.length === 0) break;\n\t\topts.enc.insitu_decrypt(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar next = (XLSRecordEnum[__readUInt16LE(blob,blob.l)]);\n\twhile(next != null && next.n === 'Continue') {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tbufs.push(blob.slice(blob.l+4,blob.l+4+l));\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = bconcat(bufs);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p, opts, date1904) {\n\tif(!p.XF) return;\n\ttry {\n\t\tvar fmtid = p.XF.ifmt||0;\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF._general(p.v);\n\t\t}\n\t\telse p.w = SSF.format(fmtid,p.v, {date1904:date1904||false});\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction make_cell(val, ixfe, t) {\n\treturn {v:val, ixfe:ixfe, t:t};\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options) {\n\tvar wb = {opts:{}};\n\tvar Sheets = {};\n\tvar out = {};\n\tvar Directory = {};\n\tvar found_sheet = false;\n\tvar range = {};\n\tvar last_formula = null;\n\tvar sst = [];\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell, cc, cmnt, rng, rngC, rngR;\n\tvar shared_formulae = {};\n\tvar array_formulae = []; /* TODO: something more clever */\n\tvar temp_val;\n\tvar country;\n\tvar cell_valid = true;\n\tvar XFs = []; /* XF records */\n\tvar palette = [];\n\tvar get_rgb = function getrgb(icv) {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType) return;\n\t\tline.s = {};\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell, line, options) {\n\t\tif(!cell_valid) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line);\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(range.s) {\n\t\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\t}\n\t\tif(range.e) {\n\t\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\t}\n\t\tif(options.sheetRows && lastcell.r >= options.sheetRows) cell_valid = false;\n\t\telse out[last_cell] = line;\n\t};\n\tvar opts = {\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: shared_formulae, // shared formulae by address\n\t\tarrayf: array_formulae, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\twtf: false\n\t};\n\tif(options.password) opts.password = options.password;\n\tvar mergecells = [];\n\tvar objects = [];\n\tvar supbooks = [[]]; // 1-indexed, will hold extern names\n\tvar sbc = 0, sbci = 0, sbcli = 0;\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tvar last_Rn = '';\n\tvar file_depth = 0; /* TODO: make a real stack */\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_Rn === 'EOF') break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2)), y;\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break;\n\t\t\t}\n\t\t\tlast_Rn = R.n;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType) throw \"rt mismatch\";\n\t\t\t\tif(R.r == 12){ blob.l += 10; length -= 10; } // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val;\n\t\t\tif(R.n === 'EOF') val = R.f(blob, length, opts);\n\t\t\telse val = slurp(R, blob, length, opts);\n\t\t\tvar Rn = R.n;\n\t\t\t/* BIFF5 overrides */\n\t\t\tif(opts.biff === 5 || opts.biff === 2) switch(Rn) {\n\t\t\t\tcase 'Lbl': Rn = 'Label'; break;\n\t\t\t}\n\t\t\t/* nested switch statements to workaround V8 128 limit */\n\t\t\tswitch(Rn) {\n\t\t\t\t/* Workbook Options */\n\t\t\t\tcase 'Date1904': wb.opts.Date1904 = val; break;\n\t\t\t\tcase 'WriteProtect': wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 'FilePass':\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(opts.WTF) console.error(val);\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.Type !== 0) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'WriteAccess': opts.lastuser = val; break;\n\t\t\t\tcase 'FileSharing': break; //TODO\n\t\t\t\tcase 'CodePage':\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tif(val === 0x5212) val = 1200;\n\t\t\t\t\telse if(val === 0x8001) val = 1252;\n\t\t\t\t\topts.codepage = val;\n\t\t\t\t\tset_cp(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'RRTabId': opts.rrtabid = val; break;\n\t\t\t\tcase 'WinProtect': opts.winlocked = val; break;\n\t\t\t\tcase 'Template': break; // TODO\n\t\t\t\tcase 'RefreshAll': wb.opts.RefreshAll = val; break;\n\t\t\t\tcase 'BookBool': break; // TODO\n\t\t\t\tcase 'UsesELFs': /* if(val) console.error(\"Unsupported ELFs\"); */ break;\n\t\t\t\tcase 'MTRSettings': {\n\t\t\t\t\tif(val[0] && val[1]) throw \"Unsupported threads: \" + val;\n\t\t\t\t} break; // TODO: actually support threads\n\t\t\t\tcase 'CalcCount': wb.opts.CalcCount = val; break;\n\t\t\t\tcase 'CalcDelta': wb.opts.CalcDelta = val; break;\n\t\t\t\tcase 'CalcIter': wb.opts.CalcIter = val; break;\n\t\t\t\tcase 'CalcMode': wb.opts.CalcMode = val; break;\n\t\t\t\tcase 'CalcPrecision': wb.opts.CalcPrecision = val; break;\n\t\t\t\tcase 'CalcSaveRecalc': wb.opts.CalcSaveRecalc = val; break;\n\t\t\t\tcase 'CalcRefMode': opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 'Uncalced': break;\n\t\t\t\tcase 'ForceFullCalculation': wb.opts.FullCalc = val; break;\n\t\t\t\tcase 'WsBool': break; // TODO\n\t\t\t\tcase 'XF': XFs.push(val); break;\n\t\t\t\tcase 'ExtSST': break; // TODO\n\t\t\t\tcase 'BookExt': break; // TODO\n\t\t\t\tcase 'RichTextStream': break;\n\t\t\t\tcase 'BkHim': break;\n\n\t\t\t\tcase 'SupBook': supbooks[++sbc] = [val]; sbci = 0; break;\n\t\t\t\tcase 'ExternName': supbooks[sbc][++sbci] = val; break;\n\t\t\t\tcase 'Index': break; // TODO\n\t\t\t\tcase 'Lbl': supbooks[0][++sbcli] = val; break;\n\t\t\t\tcase 'ExternSheet': supbooks[sbc] = supbooks[sbc].concat(val); sbci += val.length; break;\n\n\t\t\t\tcase 'Protect': out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 'Password': if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 'Prot4Rev': case 'Prot4RevPass': break; /*TODO: Revision Control*/\n\n\t\t\t\tcase 'BoundSheet8': {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 'EOF': {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tout[\"!range\"] = range;\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(mergecells.length > 0) out[\"!merges\"] = mergecells;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = {};\n\t\t\t\t} break;\n\t\t\t\tcase 'BOF': {\n\t\t\t\t\tif(opts.biff !== 8);\n\t\t\t\t\telse if(val.BIFFVer === 0x0500) opts.biff = 5;\n\t\t\t\t\telse if(val.BIFFVer === 0x0002) opts.biff = 2;\n\t\t\t\t\telse if(val.BIFFVer === 0x0007) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tcell_valid = true;\n\t\t\t\t\tout = {};\n\t\t\t\t\tif(opts.biff === 2) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tmergecells = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t} break;\n\t\t\t\tcase 'Number': case 'BIFF2NUM': {\n\t\t\t\t\ttemp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:'n'};\n\t\t\t\t\tif(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'BoolErr': {\n\t\t\t\t\ttemp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t};\n\t\t\t\t\tif(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'RK': {\n\t\t\t\t\ttemp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'};\n\t\t\t\t\tif(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulRk': {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= {ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'};\n\t\t\t\t\t\tif(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Formula': {\n\t\t\t\t\tswitch(val.val) {\n\t\t\t\t\t\tcase 'String': last_formula = val; break;\n\t\t\t\t\t\tcase 'Array Formula': throw \"Array Formula unsupported\";\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\ttemp_val = {v:val.val, ixfe:val.cell.ixfe, t:val.tt};\n\t\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\t\tif(options.cellFormula) temp_val.f = \"=\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\tif(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\t\t\tlast_formula = val;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'String': {\n\t\t\t\t\tif(last_formula) {\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = {v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'};\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) temp_val.f = \"=\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\tif(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Array': {\n\t\t\t\t\tarray_formulae.push(val);\n\t\t\t\t} break;\n\t\t\t\tcase 'ShrFmla': {\n\t\t\t\t\tif(!cell_valid) break;\n\t\t\t\t\t//if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\tshared_formulae[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t} break;\n\t\t\t\tcase 'LabelSst':\n\t\t\t\t\t//temp_val={v:sst[val.isst].t, ixfe:val.ixfe, t:'s'};\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Label': case 'BIFF2STR':\n\t\t\t\t\t/* Some writers erroneously write Label */\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Dimensions': {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 'SST': {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'Format': { /* val = [id, fmt] */\n\t\t\t\t\tSSF.load(val[1], val[0]);\n\t\t\t\t} break;\n\n\t\t\t\tcase 'MergeCells': mergecells = mergecells.concat(val); break;\n\n\t\t\t\tcase 'Obj': objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 'TxO': opts.lastobj.TxO = val; break;\n\n\t\t\t\tcase 'HLink': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC)\n\t\t\t\t\t\t\tif(out[encode_cell({c:rngC,r:rngR})])\n\t\t\t\t\t\t\t\tout[encode_cell({c:rngC,r:rngR})].l = val[1];\n\t\t\t\t} break;\n\t\t\t\tcase 'HLinkTooltip': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC)\n\t\t\t\t\t\t\tif(out[encode_cell({c:rngC,r:rngR})])\n\t\t\t\t\t\t\t\tout[encode_cell({c:rngC,r:rngR})].l.tooltip = val[1];\n\t\t\t\t} break;\n\n\t\t\t\t/* Comments */\n\t\t\t\tcase 'Note': {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) break;\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\tcase 'ClrtClient': break;\n\t\t\t\tcase 'XFExt': update_xfext(XFs[val.ixfe], val.ext); break;\n\n\t\t\t\tcase 'NameCmt': break;\n\t\t\t\tcase 'Header': break; // TODO\n\t\t\t\tcase 'Footer': break; // TODO\n\t\t\t\tcase 'HCenter': break; // TODO\n\t\t\t\tcase 'VCenter': break; // TODO\n\t\t\t\tcase 'Pls': break; // TODO\n\t\t\t\tcase 'Setup': break; // TODO\n\t\t\t\tcase 'DefColWidth': break; // TODO\n\t\t\t\tcase 'GCW': break;\n\t\t\t\tcase 'LHRecord': break;\n\t\t\t\tcase 'ColInfo': break; // TODO\n\t\t\t\tcase 'Row': break; // TODO\n\t\t\t\tcase 'DBCell': break; // TODO\n\t\t\t\tcase 'MulBlank': break; // TODO\n\t\t\t\tcase 'EntExU2': break; // TODO\n\t\t\t\tcase 'SxView': break; // TODO\n\t\t\t\tcase 'Sxvd': break; // TODO\n\t\t\t\tcase 'SXVI': break; // TODO\n\t\t\t\tcase 'SXVDEx': break; // TODO\n\t\t\t\tcase 'SxIvd': break; // TODO\n\t\t\t\tcase 'SXDI': break; // TODO\n\t\t\t\tcase 'SXLI': break; // TODO\n\t\t\t\tcase 'SXEx': break; // TODO\n\t\t\t\tcase 'QsiSXTag': break; // TODO\n\t\t\t\tcase 'Selection': break;\n\t\t\t\tcase 'Feat': break;\n\t\t\t\tcase 'FeatHdr': case 'FeatHdr11': break;\n\t\t\t\tcase 'Feature11': case 'Feature12': case 'List12': break;\n\t\t\t\tcase 'Blank': break;\n\t\t\t\tcase 'Country': country = val; break;\n\t\t\t\tcase 'RecalcId': break;\n\t\t\t\tcase 'DefaultRowHeight': case 'DxGCol': break; // TODO: htmlify\n\t\t\t\tcase 'Fbi': case 'Fbi2': case 'GelFrame': break;\n\t\t\t\tcase 'Font': break; // TODO\n\t\t\t\tcase 'XFCRC': break; // TODO\n\t\t\t\tcase 'Style': break; // TODO\n\t\t\t\tcase 'StyleExt': break; // TODO\n\t\t\t\tcase 'Palette': palette = val; break; // TODO\n\t\t\t\tcase 'Theme': break; // TODO\n\t\t\t\t/* Protection */\n\t\t\t\tcase 'ScenarioProtect': break;\n\t\t\t\tcase 'ObjProtect': break;\n\n\t\t\t\t/* Conditional Formatting */\n\t\t\t\tcase 'CondFmt12': break;\n\n\t\t\t\t/* Table */\n\t\t\t\tcase 'Table': break; // TODO\n\t\t\t\tcase 'TableStyles': break; // TODO\n\t\t\t\tcase 'TableStyle': break; // TODO\n\t\t\t\tcase 'TableStyleElement': break; // TODO\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'SXStreamID': break; // TODO\n\t\t\t\tcase 'SXVS': break; // TODO\n\t\t\t\tcase 'DConRef': break; // TODO\n\t\t\t\tcase 'SXAddl': break; // TODO\n\t\t\t\tcase 'DConBin': break; // TODO\n\t\t\t\tcase 'DConName': break; // TODO\n\t\t\t\tcase 'SXPI': break; // TODO\n\t\t\t\tcase 'SxFormat': break; // TODO\n\t\t\t\tcase 'SxSelect': break; // TODO\n\t\t\t\tcase 'SxRule': break; // TODO\n\t\t\t\tcase 'SxFilt': break; // TODO\n\t\t\t\tcase 'SxItm': break; // TODO\n\t\t\t\tcase 'SxDXF': break; // TODO\n\n\t\t\t\t/* Scenario Manager */\n\t\t\t\tcase 'ScenMan': break;\n\n\t\t\t\t/* Data Consolidation */\n\t\t\t\tcase 'DCon': break;\n\n\t\t\t\t/* Watched Cell */\n\t\t\t\tcase 'CellWatch': break;\n\n\t\t\t\t/* Print Settings */\n\t\t\t\tcase 'PrintRowCol': break;\n\t\t\t\tcase 'PrintGrid': break;\n\t\t\t\tcase 'PrintSize': break;\n\n\t\t\t\tcase 'XCT': break;\n\t\t\t\tcase 'CRN': break;\n\n\t\t\t\tcase 'Scl': {\n\t\t\t\t\t//console.log(\"Zoom Level:\", val[0]/val[1],val);\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExt': {\n\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExtOptional': {\n\n\t\t\t\t} break;\n\n\t\t\t\t/* VBA */\n\t\t\t\tcase 'ObNoMacros': {\n\n\t\t\t\t} break;\n\t\t\t\tcase 'ObProj': {\n\n\t\t\t\t} break;\n\t\t\t\tcase 'CodeName': {\n\n\t\t\t\t} break;\n\t\t\t\tcase 'GUIDTypeLib': {\n\n\t\t\t\t} break;\n\n\t\t\t\tcase 'WOpt': break; // TODO: WTF?\n\t\t\t\tcase 'PhoneticInfo': break;\n\n\t\t\t\tcase 'OleObjectSize': break;\n\n\t\t\t\t/* Differential Formatting */\n\t\t\t\tcase 'DXF': case 'DXFN': case 'DXFN12': case 'DXFN12List': case 'DXFN12NoCB': break;\n\n\t\t\t\t/* Data Validation */\n\t\t\t\tcase 'Dv': case 'DVal': break;\n\n\t\t\t\t/* Data Series */\n\t\t\t\tcase 'BRAI': case 'Series': case 'SeriesText': break;\n\n\t\t\t\t/* Data Connection */\n\t\t\t\tcase 'DConn': break;\n\t\t\t\tcase 'DbOrParamQry': break;\n\t\t\t\tcase 'DBQueryExt': break;\n\n\t\t\t\t/* Formatting */\n\t\t\t\tcase 'IFmtRecord': break;\n\t\t\t\tcase 'CondFmt': case 'CF': case 'CF12': case 'CFEx': break;\n\n\t\t\t\t/* Explicitly Ignored */\n\t\t\t\tcase 'Excel9File': break;\n\t\t\t\tcase 'Units': break;\n\t\t\t\tcase 'InterfaceHdr': case 'Mms': case 'InterfaceEnd': case 'DSF': case 'BuiltInFnGroupCount':\n\t\t\t\t/* View Stuff */\n\t\t\t\tcase 'Window1': case 'Window2': case 'HideObj': case 'GridSet': case 'Guts':\n\t\t\t\tcase 'UserBView': case 'UserSViewBegin': case 'UserSViewEnd':\n\t\t\t\tcase 'Pane': break;\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* Chart */\n\t\t\t\tcase 'Dat':\n\t\t\t\tcase 'Begin': case 'End':\n\t\t\t\tcase 'StartBlock': case 'EndBlock':\n\t\t\t\tcase 'Frame': case 'Area':\n\t\t\t\tcase 'Axis': case 'AxisLine': case 'Tick': break;\n\t\t\t\tcase 'AxesUsed':\n\t\t\t\tcase 'CrtLayout12': case 'CrtLayout12A': case 'CrtLink': case 'CrtLine': case 'CrtMlFrt': case 'CrtMlFrtContinue': break;\n\t\t\t\tcase 'LineFormat': case 'AreaFormat':\n\t\t\t\tcase 'Chart': case 'Chart3d': case 'Chart3DBarShape': case 'ChartFormat': case 'ChartFrtInfo': break;\n\t\t\t\tcase 'PlotArea': case 'PlotGrowth': break;\n\t\t\t\tcase 'SeriesList': case 'SerParent': case 'SerAuxTrend': break;\n\t\t\t\tcase 'DataFormat': case 'SerToCrt': case 'FontX': break;\n\t\t\t\tcase 'CatSerRange': case 'AxcExt': case 'SerFmt': break;\n\t\t\t\tcase 'ShtProps': break;\n\t\t\t\tcase 'DefaultText': case 'Text': case 'CatLab': break;\n\t\t\t\tcase 'DataLabExtContents': break;\n\t\t\t\tcase 'Legend': case 'LegendException': break;\n\t\t\t\tcase 'Pie': case 'Scatter': break;\n\t\t\t\tcase 'PieFormat': case 'MarkerFormat': break;\n\t\t\t\tcase 'StartObject': case 'EndObject': break;\n\t\t\t\tcase 'AlRuns': case 'ObjectLink': break;\n\t\t\t\tcase 'SIIndex': break;\n\t\t\t\tcase 'AttachedLabel': case 'YMult': break;\n\n\t\t\t\t/* Chart Group */\n\t\t\t\tcase 'Line': case 'Bar': break;\n\t\t\t\tcase 'Surf': break;\n\n\t\t\t\t/* Axis Group */\n\t\t\t\tcase 'AxisParent': break;\n\t\t\t\tcase 'Pos': break;\n\t\t\t\tcase 'ValueRange': break;\n\n\t\t\t\t/* Pivot Chart */\n\t\t\t\tcase 'SXViewEx9': break; // TODO\n\t\t\t\tcase 'SXViewLink': break;\n\t\t\t\tcase 'PivotChartBits': break;\n\t\t\t\tcase 'SBaseRef': break;\n\t\t\t\tcase 'TextPropsStream': break;\n\n\t\t\t\t/* Chart Misc */\n\t\t\t\tcase 'LnExt': break;\n\t\t\t\tcase 'MkrExt': break;\n\t\t\t\tcase 'CrtCoopt': break;\n\n\t\t\t\t/* Query Table */\n\t\t\t\tcase 'Qsi': case 'Qsif': case 'Qsir': case 'QsiSXTag': break;\n\t\t\t\tcase 'TxtQry': break;\n\n\t\t\t\t/* Filter */\n\t\t\t\tcase 'FilterMode': break;\n\t\t\t\tcase 'AutoFilter': case 'AutoFilterInfo': break;\n\t\t\t\tcase 'AutoFilter12': break;\n\t\t\t\tcase 'DropDownObjIds': break;\n\t\t\t\tcase 'Sort': break;\n\t\t\t\tcase 'SortData': break;\n\n\t\t\t\t/* Drawing */\n\t\t\t\tcase 'ShapePropsStream': break;\n\t\t\t\tcase 'MsoDrawing': case 'MsoDrawingGroup': case 'MsoDrawingSelection': break;\n\t\t\t\tcase 'ImData': break;\n\t\t\t\t/* Pub Stuff */\n\t\t\t\tcase 'WebPub': case 'AutoWebPub':\n\n\t\t\t\t/* Print Stuff */\n\t\t\t\tcase 'RightMargin': case 'LeftMargin': case 'TopMargin': case 'BottomMargin':\n\t\t\t\tcase 'HeaderFooter': case 'HFPicture': case 'PLV':\n\t\t\t\tcase 'HorizontalPageBreaks': case 'VerticalPageBreaks':\n\t\t\t\t/* Behavioral */\n\t\t\t\tcase 'Backup': case 'CompressPictures': case 'Compat12': break;\n\n\t\t\t\t/* Should not Happen */\n\t\t\t\tcase 'Continue': case 'ContinueFrt12': break;\n\n\t\t\t\t/* Future Records */\n\t\t\t\tcase 'FrtFontList': case 'FrtWrapper': break;\n\n\t\t\t\t/* BIFF5 records */\n\t\t\t\tcase 'ExternCount': break;\n\t\t\t\tcase 'RString': break;\n\t\t\t\tcase 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* Miscellaneous */\n\t\t\t\tcase 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt':\n\t\t\t\tcase 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData':\n\t\t\t\tcase 'Name': break;\n\t\t\t\tdefault: if(options.WTF) throw 'Unrecognized Record ' + R.n;\n\t\t\t}}}}\n\t\t} else blob.l += length;\n\t}\n\tvar sheetnamesraw = opts.biff === 2 ? ['Sheet1'] : Object.keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tvar sheetnames = sheetnamesraw.slice();\n\twb.Directory=sheetnamesraw;\n\twb.SheetNames=sheetnamesraw;\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\twb.Preamble=Preamble;\n\twb.Strings = sst;\n\twb.SSF = SSF.get_table();\n\tif(opts.enc) wb.Encryption = opts.enc;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\treturn wb;\n}\n\nfunction parse_xlscfb(cfb, options) {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nvar CompObj, Summary, Workbook;\nif(cfb.find) {\n\tCompObj = cfb.find('!CompObj');\n\tSummary = cfb.find('!SummaryInformation');\n\tWorkbook = cfb.find('/Workbook');\n} else {\n\tprep_blob(cfb, 0);\n\tWorkbook = {content: cfb};\n}\n\nif(!Workbook) Workbook = cfb.find('/Book');\nvar CompObjP, SummaryP, WorkbookP;\n\nif(CompObj) CompObjP = parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = {};\nelse {\n\tif(Workbook) WorkbookP = parse_workbook(Workbook.content, options, !!Workbook.find);\n\telse throw new Error(\"Cannot find Workbook stream\");\n}\n\nif(cfb.find) parse_props(cfb);\n\nvar props = {};\nfor(var y in cfb.Summary) props[y] = cfb.Summary[y];\nfor(y in cfb.DocSummary) props[y] = cfb.DocSummary[y];\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\nWorkbookP.CompObjP = CompObjP;\nreturn WorkbookP;\n}\n\n/* TODO: WTF */\nfunction parse_props(cfb) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = cfb.find('!DocumentSummaryInformation');\n\tif(DSI) try { cfb.DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI); } catch(e) {}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = cfb.find('!SummaryInformation');\n\tif(SI) try { cfb.Summary = parse_PropertySetStream(SI, SummaryPIDSI); } catch(e) {}\n}\n\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t0x0000: { n:\"BrtRowHdr\", f:parse_BrtRowHdr },\n\t0x0001: { n:\"BrtCellBlank\", f:parse_BrtCellBlank },\n\t0x0002: { n:\"BrtCellRk\", f:parse_BrtCellRk },\n\t0x0003: { n:\"BrtCellError\", f:parse_BrtCellError },\n\t0x0004: { n:\"BrtCellBool\", f:parse_BrtCellBool },\n\t0x0005: { n:\"BrtCellReal\", f:parse_BrtCellReal },\n\t0x0006: { n:\"BrtCellSt\", f:parse_BrtCellSt },\n\t0x0007: { n:\"BrtCellIsst\", f:parse_BrtCellIsst },\n\t0x0008: { n:\"BrtFmlaString\", f:parse_BrtFmlaString },\n\t0x0009: { n:\"BrtFmlaNum\", f:parse_BrtFmlaNum },\n\t0x000A: { n:\"BrtFmlaBool\", f:parse_BrtFmlaBool },\n\t0x000B: { n:\"BrtFmlaError\", f:parse_BrtFmlaError },\n\t0x0010: { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ },\n\t0x0013: { n:\"BrtSSTItem\", f:parse_RichStr },\n\t0x0014: { n:\"BrtPCDIMissing\", f:parsenoop },\n\t0x0015: { n:\"BrtPCDINumber\", f:parsenoop },\n\t0x0016: { n:\"BrtPCDIBoolean\", f:parsenoop },\n\t0x0017: { n:\"BrtPCDIError\", f:parsenoop },\n\t0x0018: { n:\"BrtPCDIString\", f:parsenoop },\n\t0x0019: { n:\"BrtPCDIDatetime\", f:parsenoop },\n\t0x001A: { n:\"BrtPCDIIndex\", f:parsenoop },\n\t0x001B: { n:\"BrtPCDIAMissing\", f:parsenoop },\n\t0x001C: { n:\"BrtPCDIANumber\", f:parsenoop },\n\t0x001D: { n:\"BrtPCDIABoolean\", f:parsenoop },\n\t0x001E: { n:\"BrtPCDIAError\", f:parsenoop },\n\t0x001F: { n:\"BrtPCDIAString\", f:parsenoop },\n\t0x0020: { n:\"BrtPCDIADatetime\", f:parsenoop },\n\t0x0021: { n:\"BrtPCRRecord\", f:parsenoop },\n\t0x0022: { n:\"BrtPCRRecordDt\", f:parsenoop },\n\t0x0023: { n:\"BrtFRTBegin\", f:parsenoop },\n\t0x0024: { n:\"BrtFRTEnd\", f:parsenoop },\n\t0x0025: { n:\"BrtACBegin\", f:parsenoop },\n\t0x0026: { n:\"BrtACEnd\", f:parsenoop },\n\t0x0027: { n:\"BrtName\", f:parsenoop },\n\t0x0028: { n:\"BrtIndexRowBlock\", f:parsenoop },\n\t0x002A: { n:\"BrtIndexBlock\", f:parsenoop },\n\t0x002B: { n:\"BrtFont\", f:parse_BrtFont },\n\t0x002C: { n:\"BrtFmt\", f:parse_BrtFmt },\n\t0x002D: { n:\"BrtFill\", f:parsenoop },\n\t0x002E: { n:\"BrtBorder\", f:parsenoop },\n\t0x002F: { n:\"BrtXF\", f:parse_BrtXF },\n\t0x0030: { n:\"BrtStyle\", f:parsenoop },\n\t0x0031: { n:\"BrtCellMeta\", f:parsenoop },\n\t0x0032: { n:\"BrtValueMeta\", f:parsenoop },\n\t0x0033: { n:\"BrtMdb\", f:parsenoop },\n\t0x0034: { n:\"BrtBeginFmd\", f:parsenoop },\n\t0x0035: { n:\"BrtEndFmd\", f:parsenoop },\n\t0x0036: { n:\"BrtBeginMdx\", f:parsenoop },\n\t0x0037: { n:\"BrtEndMdx\", f:parsenoop },\n\t0x0038: { n:\"BrtBeginMdxTuple\", f:parsenoop },\n\t0x0039: { n:\"BrtEndMdxTuple\", f:parsenoop },\n\t0x003A: { n:\"BrtMdxMbrIstr\", f:parsenoop },\n\t0x003B: { n:\"BrtStr\", f:parsenoop },\n\t0x003C: { n:\"BrtColInfo\", f:parsenoop },\n\t0x003E: { n:\"BrtCellRString\", f:parsenoop },\n\t0x003F: { n:\"BrtCalcChainItem$\", f:parse_BrtCalcChainItem$ },\n\t0x0040: { n:\"BrtDVal\", f:parsenoop },\n\t0x0041: { n:\"BrtSxvcellNum\", f:parsenoop },\n\t0x0042: { n:\"BrtSxvcellStr\", f:parsenoop },\n\t0x0043: { n:\"BrtSxvcellBool\", f:parsenoop },\n\t0x0044: { n:\"BrtSxvcellErr\", f:parsenoop },\n\t0x0045: { n:\"BrtSxvcellDate\", f:parsenoop },\n\t0x0046: { n:\"BrtSxvcellNil\", f:parsenoop },\n\t0x0080: { n:\"BrtFileVersion\", f:parsenoop },\n\t0x0081: { n:\"BrtBeginSheet\", f:parsenoop },\n\t0x0082: { n:\"BrtEndSheet\", f:parsenoop },\n\t0x0083: { n:\"BrtBeginBook\", f:parsenoop, p:0 },\n\t0x0084: { n:\"BrtEndBook\", f:parsenoop },\n\t0x0085: { n:\"BrtBeginWsViews\", f:parsenoop },\n\t0x0086: { n:\"BrtEndWsViews\", f:parsenoop },\n\t0x0087: { n:\"BrtBeginBookViews\", f:parsenoop },\n\t0x0088: { n:\"BrtEndBookViews\", f:parsenoop },\n\t0x0089: { n:\"BrtBeginWsView\", f:parsenoop },\n\t0x008A: { n:\"BrtEndWsView\", f:parsenoop },\n\t0x008B: { n:\"BrtBeginCsViews\", f:parsenoop },\n\t0x008C: { n:\"BrtEndCsViews\", f:parsenoop },\n\t0x008D: { n:\"BrtBeginCsView\", f:parsenoop },\n\t0x008E: { n:\"BrtEndCsView\", f:parsenoop },\n\t0x008F: { n:\"BrtBeginBundleShs\", f:parsenoop },\n\t0x0090: { n:\"BrtEndBundleShs\", f:parsenoop },\n\t0x0091: { n:\"BrtBeginSheetData\", f:parsenoop },\n\t0x0092: { n:\"BrtEndSheetData\", f:parsenoop },\n\t0x0093: { n:\"BrtWsProp\", f:parse_BrtWsProp },\n\t0x0094: { n:\"BrtWsDim\", f:parse_BrtWsDim, p:16 },\n\t0x0097: { n:\"BrtPane\", f:parsenoop },\n\t0x0098: { n:\"BrtSel\", f:parsenoop },\n\t0x0099: { n:\"BrtWbProp\", f:parse_BrtWbProp },\n\t0x009A: { n:\"BrtWbFactoid\", f:parsenoop },\n\t0x009B: { n:\"BrtFileRecover\", f:parsenoop },\n\t0x009C: { n:\"BrtBundleSh\", f:parse_BrtBundleSh },\n\t0x009D: { n:\"BrtCalcProp\", f:parsenoop },\n\t0x009E: { n:\"BrtBookView\", f:parsenoop },\n\t0x009F: { n:\"BrtBeginSst\", f:parse_BrtBeginSst },\n\t0x00A0: { n:\"BrtEndSst\", f:parsenoop },\n\t0x00A1: { n:\"BrtBeginAFilter\", f:parsenoop },\n\t0x00A2: { n:\"BrtEndAFilter\", f:parsenoop },\n\t0x00A3: { n:\"BrtBeginFilterColumn\", f:parsenoop },\n\t0x00A4: { n:\"BrtEndFilterColumn\", f:parsenoop },\n\t0x00A5: { n:\"BrtBeginFilters\", f:parsenoop },\n\t0x00A6: { n:\"BrtEndFilters\", f:parsenoop },\n\t0x00A7: { n:\"BrtFilter\", f:parsenoop },\n\t0x00A8: { n:\"BrtColorFilter\", f:parsenoop },\n\t0x00A9: { n:\"BrtIconFilter\", f:parsenoop },\n\t0x00AA: { n:\"BrtTop10Filter\", f:parsenoop },\n\t0x00AB: { n:\"BrtDynamicFilter\", f:parsenoop },\n\t0x00AC: { n:\"BrtBeginCustomFilters\", f:parsenoop },\n\t0x00AD: { n:\"BrtEndCustomFilters\", f:parsenoop },\n\t0x00AE: { n:\"BrtCustomFilter\", f:parsenoop },\n\t0x00AF: { n:\"BrtAFilterDateGroupItem\", f:parsenoop },\n\t0x00B0: { n:\"BrtMergeCell\", f:parse_BrtMergeCell },\n\t0x00B1: { n:\"BrtBeginMergeCells\", f:parsenoop },\n\t0x00B2: { n:\"BrtEndMergeCells\", f:parsenoop },\n\t0x00B3: { n:\"BrtBeginPivotCacheDef\", f:parsenoop },\n\t0x00B4: { n:\"BrtEndPivotCacheDef\", f:parsenoop },\n\t0x00B5: { n:\"BrtBeginPCDFields\", f:parsenoop },\n\t0x00B6: { n:\"BrtEndPCDFields\", f:parsenoop },\n\t0x00B7: { n:\"BrtBeginPCDField\", f:parsenoop },\n\t0x00B8: { n:\"BrtEndPCDField\", f:parsenoop },\n\t0x00B9: { n:\"BrtBeginPCDSource\", f:parsenoop },\n\t0x00BA: { n:\"BrtEndPCDSource\", f:parsenoop },\n\t0x00BB: { n:\"BrtBeginPCDSRange\", f:parsenoop },\n\t0x00BC: { n:\"BrtEndPCDSRange\", f:parsenoop },\n\t0x00BD: { n:\"BrtBeginPCDFAtbl\", f:parsenoop },\n\t0x00BE: { n:\"BrtEndPCDFAtbl\", f:parsenoop },\n\t0x00BF: { n:\"BrtBeginPCDIRun\", f:parsenoop },\n\t0x00C0: { n:\"BrtEndPCDIRun\", f:parsenoop },\n\t0x00C1: { n:\"BrtBeginPivotCacheRecords\", f:parsenoop },\n\t0x00C2: { n:\"BrtEndPivotCacheRecords\", f:parsenoop },\n\t0x00C3: { n:\"BrtBeginPCDHierarchies\", f:parsenoop },\n\t0x00C4: { n:\"BrtEndPCDHierarchies\", f:parsenoop },\n\t0x00C5: { n:\"BrtBeginPCDHierarchy\", f:parsenoop },\n\t0x00C6: { n:\"BrtEndPCDHierarchy\", f:parsenoop },\n\t0x00C7: { n:\"BrtBeginPCDHFieldsUsage\", f:parsenoop },\n\t0x00C8: { n:\"BrtEndPCDHFieldsUsage\", f:parsenoop },\n\t0x00C9: { n:\"BrtBeginExtConnection\", f:parsenoop },\n\t0x00CA: { n:\"BrtEndExtConnection\", f:parsenoop },\n\t0x00CB: { n:\"BrtBeginECDbProps\", f:parsenoop },\n\t0x00CC: { n:\"BrtEndECDbProps\", f:parsenoop },\n\t0x00CD: { n:\"BrtBeginECOlapProps\", f:parsenoop },\n\t0x00CE: { n:\"BrtEndECOlapProps\", f:parsenoop },\n\t0x00CF: { n:\"BrtBeginPCDSConsol\", f:parsenoop },\n\t0x00D0: { n:\"BrtEndPCDSConsol\", f:parsenoop },\n\t0x00D1: { n:\"BrtBeginPCDSCPages\", f:parsenoop },\n\t0x00D2: { n:\"BrtEndPCDSCPages\", f:parsenoop },\n\t0x00D3: { n:\"BrtBeginPCDSCPage\", f:parsenoop },\n\t0x00D4: { n:\"BrtEndPCDSCPage\", f:parsenoop },\n\t0x00D5: { n:\"BrtBeginPCDSCPItem\", f:parsenoop },\n\t0x00D6: { n:\"BrtEndPCDSCPItem\", f:parsenoop },\n\t0x00D7: { n:\"BrtBeginPCDSCSets\", f:parsenoop },\n\t0x00D8: { n:\"BrtEndPCDSCSets\", f:parsenoop },\n\t0x00D9: { n:\"BrtBeginPCDSCSet\", f:parsenoop },\n\t0x00DA: { n:\"BrtEndPCDSCSet\", f:parsenoop },\n\t0x00DB: { n:\"BrtBeginPCDFGroup\", f:parsenoop },\n\t0x00DC: { n:\"BrtEndPCDFGroup\", f:parsenoop },\n\t0x00DD: { n:\"BrtBeginPCDFGItems\", f:parsenoop },\n\t0x00DE: { n:\"BrtEndPCDFGItems\", f:parsenoop },\n\t0x00DF: { n:\"BrtBeginPCDFGRange\", f:parsenoop },\n\t0x00E0: { n:\"BrtEndPCDFGRange\", f:parsenoop },\n\t0x00E1: { n:\"BrtBeginPCDFGDiscrete\", f:parsenoop },\n\t0x00E2: { n:\"BrtEndPCDFGDiscrete\", f:parsenoop },\n\t0x00E3: { n:\"BrtBeginPCDSDTupleCache\", f:parsenoop },\n\t0x00E4: { n:\"BrtEndPCDSDTupleCache\", f:parsenoop },\n\t0x00E5: { n:\"BrtBeginPCDSDTCEntries\", f:parsenoop },\n\t0x00E6: { n:\"BrtEndPCDSDTCEntries\", f:parsenoop },\n\t0x00E7: { n:\"BrtBeginPCDSDTCEMembers\", f:parsenoop },\n\t0x00E8: { n:\"BrtEndPCDSDTCEMembers\", f:parsenoop },\n\t0x00E9: { n:\"BrtBeginPCDSDTCEMember\", f:parsenoop },\n\t0x00EA: { n:\"BrtEndPCDSDTCEMember\", f:parsenoop },\n\t0x00EB: { n:\"BrtBeginPCDSDTCQueries\", f:parsenoop },\n\t0x00EC: { n:\"BrtEndPCDSDTCQueries\", f:parsenoop },\n\t0x00ED: { n:\"BrtBeginPCDSDTCQuery\", f:parsenoop },\n\t0x00EE: { n:\"BrtEndPCDSDTCQuery\", f:parsenoop },\n\t0x00EF: { n:\"BrtBeginPCDSDTCSets\", f:parsenoop },\n\t0x00F0: { n:\"BrtEndPCDSDTCSets\", f:parsenoop },\n\t0x00F1: { n:\"BrtBeginPCDSDTCSet\", f:parsenoop },\n\t0x00F2: { n:\"BrtEndPCDSDTCSet\", f:parsenoop },\n\t0x00F3: { n:\"BrtBeginPCDCalcItems\", f:parsenoop },\n\t0x00F4: { n:\"BrtEndPCDCalcItems\", f:parsenoop },\n\t0x00F5: { n:\"BrtBeginPCDCalcItem\", f:parsenoop },\n\t0x00F6: { n:\"BrtEndPCDCalcItem\", f:parsenoop },\n\t0x00F7: { n:\"BrtBeginPRule\", f:parsenoop },\n\t0x00F8: { n:\"BrtEndPRule\", f:parsenoop },\n\t0x00F9: { n:\"BrtBeginPRFilters\", f:parsenoop },\n\t0x00FA: { n:\"BrtEndPRFilters\", f:parsenoop },\n\t0x00FB: { n:\"BrtBeginPRFilter\", f:parsenoop },\n\t0x00FC: { n:\"BrtEndPRFilter\", f:parsenoop },\n\t0x00FD: { n:\"BrtBeginPNames\", f:parsenoop },\n\t0x00FE: { n:\"BrtEndPNames\", f:parsenoop },\n\t0x00FF: { n:\"BrtBeginPName\", f:parsenoop },\n\t0x0100: { n:\"BrtEndPName\", f:parsenoop },\n\t0x0101: { n:\"BrtBeginPNPairs\", f:parsenoop },\n\t0x0102: { n:\"BrtEndPNPairs\", f:parsenoop },\n\t0x0103: { n:\"BrtBeginPNPair\", f:parsenoop },\n\t0x0104: { n:\"BrtEndPNPair\", f:parsenoop },\n\t0x0105: { n:\"BrtBeginECWebProps\", f:parsenoop },\n\t0x0106: { n:\"BrtEndECWebProps\", f:parsenoop },\n\t0x0107: { n:\"BrtBeginEcWpTables\", f:parsenoop },\n\t0x0108: { n:\"BrtEndECWPTables\", f:parsenoop },\n\t0x0109: { n:\"BrtBeginECParams\", f:parsenoop },\n\t0x010A: { n:\"BrtEndECParams\", f:parsenoop },\n\t0x010B: { n:\"BrtBeginECParam\", f:parsenoop },\n\t0x010C: { n:\"BrtEndECParam\", f:parsenoop },\n\t0x010D: { n:\"BrtBeginPCDKPIs\", f:parsenoop },\n\t0x010E: { n:\"BrtEndPCDKPIs\", f:parsenoop },\n\t0x010F: { n:\"BrtBeginPCDKPI\", f:parsenoop },\n\t0x0110: { n:\"BrtEndPCDKPI\", f:parsenoop },\n\t0x0111: { n:\"BrtBeginDims\", f:parsenoop },\n\t0x0112: { n:\"BrtEndDims\", f:parsenoop },\n\t0x0113: { n:\"BrtBeginDim\", f:parsenoop },\n\t0x0114: { n:\"BrtEndDim\", f:parsenoop },\n\t0x0115: { n:\"BrtIndexPartEnd\", f:parsenoop },\n\t0x0116: { n:\"BrtBeginStyleSheet\", f:parsenoop },\n\t0x0117: { n:\"BrtEndStyleSheet\", f:parsenoop },\n\t0x0118: { n:\"BrtBeginSXView\", f:parsenoop },\n\t0x0119: { n:\"BrtEndSXVI\", f:parsenoop },\n\t0x011A: { n:\"BrtBeginSXVI\", f:parsenoop },\n\t0x011B: { n:\"BrtBeginSXVIs\", f:parsenoop },\n\t0x011C: { n:\"BrtEndSXVIs\", f:parsenoop },\n\t0x011D: { n:\"BrtBeginSXVD\", f:parsenoop },\n\t0x011E: { n:\"BrtEndSXVD\", f:parsenoop },\n\t0x011F: { n:\"BrtBeginSXVDs\", f:parsenoop },\n\t0x0120: { n:\"BrtEndSXVDs\", f:parsenoop },\n\t0x0121: { n:\"BrtBeginSXPI\", f:parsenoop },\n\t0x0122: { n:\"BrtEndSXPI\", f:parsenoop },\n\t0x0123: { n:\"BrtBeginSXPIs\", f:parsenoop },\n\t0x0124: { n:\"BrtEndSXPIs\", f:parsenoop },\n\t0x0125: { n:\"BrtBeginSXDI\", f:parsenoop },\n\t0x0126: { n:\"BrtEndSXDI\", f:parsenoop },\n\t0x0127: { n:\"BrtBeginSXDIs\", f:parsenoop },\n\t0x0128: { n:\"BrtEndSXDIs\", f:parsenoop },\n\t0x0129: { n:\"BrtBeginSXLI\", f:parsenoop },\n\t0x012A: { n:\"BrtEndSXLI\", f:parsenoop },\n\t0x012B: { n:\"BrtBeginSXLIRws\", f:parsenoop },\n\t0x012C: { n:\"BrtEndSXLIRws\", f:parsenoop },\n\t0x012D: { n:\"BrtBeginSXLICols\", f:parsenoop },\n\t0x012E: { n:\"BrtEndSXLICols\", f:parsenoop },\n\t0x012F: { n:\"BrtBeginSXFormat\", f:parsenoop },\n\t0x0130: { n:\"BrtEndSXFormat\", f:parsenoop },\n\t0x0131: { n:\"BrtBeginSXFormats\", f:parsenoop },\n\t0x0132: { n:\"BrtEndSxFormats\", f:parsenoop },\n\t0x0133: { n:\"BrtBeginSxSelect\", f:parsenoop },\n\t0x0134: { n:\"BrtEndSxSelect\", f:parsenoop },\n\t0x0135: { n:\"BrtBeginISXVDRws\", f:parsenoop },\n\t0x0136: { n:\"BrtEndISXVDRws\", f:parsenoop },\n\t0x0137: { n:\"BrtBeginISXVDCols\", f:parsenoop },\n\t0x0138: { n:\"BrtEndISXVDCols\", f:parsenoop },\n\t0x0139: { n:\"BrtEndSXLocation\", f:parsenoop },\n\t0x013A: { n:\"BrtBeginSXLocation\", f:parsenoop },\n\t0x013B: { n:\"BrtEndSXView\", f:parsenoop },\n\t0x013C: { n:\"BrtBeginSXTHs\", f:parsenoop },\n\t0x013D: { n:\"BrtEndSXTHs\", f:parsenoop },\n\t0x013E: { n:\"BrtBeginSXTH\", f:parsenoop },\n\t0x013F: { n:\"BrtEndSXTH\", f:parsenoop },\n\t0x0140: { n:\"BrtBeginISXTHRws\", f:parsenoop },\n\t0x0141: { n:\"BrtEndISXTHRws\", f:parsenoop },\n\t0x0142: { n:\"BrtBeginISXTHCols\", f:parsenoop },\n\t0x0143: { n:\"BrtEndISXTHCols\", f:parsenoop },\n\t0x0144: { n:\"BrtBeginSXTDMPS\", f:parsenoop },\n\t0x0145: { n:\"BrtEndSXTDMPs\", f:parsenoop },\n\t0x0146: { n:\"BrtBeginSXTDMP\", f:parsenoop },\n\t0x0147: { n:\"BrtEndSXTDMP\", f:parsenoop },\n\t0x0148: { n:\"BrtBeginSXTHItems\", f:parsenoop },\n\t0x0149: { n:\"BrtEndSXTHItems\", f:parsenoop },\n\t0x014A: { n:\"BrtBeginSXTHItem\", f:parsenoop },\n\t0x014B: { n:\"BrtEndSXTHItem\", f:parsenoop },\n\t0x014C: { n:\"BrtBeginMetadata\", f:parsenoop },\n\t0x014D: { n:\"BrtEndMetadata\", f:parsenoop },\n\t0x014E: { n:\"BrtBeginEsmdtinfo\", f:parsenoop },\n\t0x014F: { n:\"BrtMdtinfo\", f:parsenoop },\n\t0x0150: { n:\"BrtEndEsmdtinfo\", f:parsenoop },\n\t0x0151: { n:\"BrtBeginEsmdb\", f:parsenoop },\n\t0x0152: { n:\"BrtEndEsmdb\", f:parsenoop },\n\t0x0153: { n:\"BrtBeginEsfmd\", f:parsenoop },\n\t0x0154: { n:\"BrtEndEsfmd\", f:parsenoop },\n\t0x0155: { n:\"BrtBeginSingleCells\", f:parsenoop },\n\t0x0156: { n:\"BrtEndSingleCells\", f:parsenoop },\n\t0x0157: { n:\"BrtBeginList\", f:parsenoop },\n\t0x0158: { n:\"BrtEndList\", f:parsenoop },\n\t0x0159: { n:\"BrtBeginListCols\", f:parsenoop },\n\t0x015A: { n:\"BrtEndListCols\", f:parsenoop },\n\t0x015B: { n:\"BrtBeginListCol\", f:parsenoop },\n\t0x015C: { n:\"BrtEndListCol\", f:parsenoop },\n\t0x015D: { n:\"BrtBeginListXmlCPr\", f:parsenoop },\n\t0x015E: { n:\"BrtEndListXmlCPr\", f:parsenoop },\n\t0x015F: { n:\"BrtListCCFmla\", f:parsenoop },\n\t0x0160: { n:\"BrtListTrFmla\", f:parsenoop },\n\t0x0161: { n:\"BrtBeginExternals\", f:parsenoop },\n\t0x0162: { n:\"BrtEndExternals\", f:parsenoop },\n\t0x0163: { n:\"BrtSupBookSrc\", f:parsenoop },\n\t0x0165: { n:\"BrtSupSelf\", f:parsenoop },\n\t0x0166: { n:\"BrtSupSame\", f:parsenoop },\n\t0x0167: { n:\"BrtSupTabs\", f:parsenoop },\n\t0x0168: { n:\"BrtBeginSupBook\", f:parsenoop },\n\t0x0169: { n:\"BrtPlaceholderName\", f:parsenoop },\n\t0x016A: { n:\"BrtExternSheet\", f:parsenoop },\n\t0x016B: { n:\"BrtExternTableStart\", f:parsenoop },\n\t0x016C: { n:\"BrtExternTableEnd\", f:parsenoop },\n\t0x016E: { n:\"BrtExternRowHdr\", f:parsenoop },\n\t0x016F: { n:\"BrtExternCellBlank\", f:parsenoop },\n\t0x0170: { n:\"BrtExternCellReal\", f:parsenoop },\n\t0x0171: { n:\"BrtExternCellBool\", f:parsenoop },\n\t0x0172: { n:\"BrtExternCellError\", f:parsenoop },\n\t0x0173: { n:\"BrtExternCellString\", f:parsenoop },\n\t0x0174: { n:\"BrtBeginEsmdx\", f:parsenoop },\n\t0x0175: { n:\"BrtEndEsmdx\", f:parsenoop },\n\t0x0176: { n:\"BrtBeginMdxSet\", f:parsenoop },\n\t0x0177: { n:\"BrtEndMdxSet\", f:parsenoop },\n\t0x0178: { n:\"BrtBeginMdxMbrProp\", f:parsenoop },\n\t0x0179: { n:\"BrtEndMdxMbrProp\", f:parsenoop },\n\t0x017A: { n:\"BrtBeginMdxKPI\", f:parsenoop },\n\t0x017B: { n:\"BrtEndMdxKPI\", f:parsenoop },\n\t0x017C: { n:\"BrtBeginEsstr\", f:parsenoop },\n\t0x017D: { n:\"BrtEndEsstr\", f:parsenoop },\n\t0x017E: { n:\"BrtBeginPRFItem\", f:parsenoop },\n\t0x017F: { n:\"BrtEndPRFItem\", f:parsenoop },\n\t0x0180: { n:\"BrtBeginPivotCacheIDs\", f:parsenoop },\n\t0x0181: { n:\"BrtEndPivotCacheIDs\", f:parsenoop },\n\t0x0182: { n:\"BrtBeginPivotCacheID\", f:parsenoop },\n\t0x0183: { n:\"BrtEndPivotCacheID\", f:parsenoop },\n\t0x0184: { n:\"BrtBeginISXVIs\", f:parsenoop },\n\t0x0185: { n:\"BrtEndISXVIs\", f:parsenoop },\n\t0x0186: { n:\"BrtBeginColInfos\", f:parsenoop },\n\t0x0187: { n:\"BrtEndColInfos\", f:parsenoop },\n\t0x0188: { n:\"BrtBeginRwBrk\", f:parsenoop },\n\t0x0189: { n:\"BrtEndRwBrk\", f:parsenoop },\n\t0x018A: { n:\"BrtBeginColBrk\", f:parsenoop },\n\t0x018B: { n:\"BrtEndColBrk\", f:parsenoop },\n\t0x018C: { n:\"BrtBrk\", f:parsenoop },\n\t0x018D: { n:\"BrtUserBookView\", f:parsenoop },\n\t0x018E: { n:\"BrtInfo\", f:parsenoop },\n\t0x018F: { n:\"BrtCUsr\", f:parsenoop },\n\t0x0190: { n:\"BrtUsr\", f:parsenoop },\n\t0x0191: { n:\"BrtBeginUsers\", f:parsenoop },\n\t0x0193: { n:\"BrtEOF\", f:parsenoop },\n\t0x0194: { n:\"BrtUCR\", f:parsenoop },\n\t0x0195: { n:\"BrtRRInsDel\", f:parsenoop },\n\t0x0196: { n:\"BrtRREndInsDel\", f:parsenoop },\n\t0x0197: { n:\"BrtRRMove\", f:parsenoop },\n\t0x0198: { n:\"BrtRREndMove\", f:parsenoop },\n\t0x0199: { n:\"BrtRRChgCell\", f:parsenoop },\n\t0x019A: { n:\"BrtRREndChgCell\", f:parsenoop },\n\t0x019B: { n:\"BrtRRHeader\", f:parsenoop },\n\t0x019C: { n:\"BrtRRUserView\", f:parsenoop },\n\t0x019D: { n:\"BrtRRRenSheet\", f:parsenoop },\n\t0x019E: { n:\"BrtRRInsertSh\", f:parsenoop },\n\t0x019F: { n:\"BrtRRDefName\", f:parsenoop },\n\t0x01A0: { n:\"BrtRRNote\", f:parsenoop },\n\t0x01A1: { n:\"BrtRRConflict\", f:parsenoop },\n\t0x01A2: { n:\"BrtRRTQSIF\", f:parsenoop },\n\t0x01A3: { n:\"BrtRRFormat\", f:parsenoop },\n\t0x01A4: { n:\"BrtRREndFormat\", f:parsenoop },\n\t0x01A5: { n:\"BrtRRAutoFmt\", f:parsenoop },\n\t0x01A6: { n:\"BrtBeginUserShViews\", f:parsenoop },\n\t0x01A7: { n:\"BrtBeginUserShView\", f:parsenoop },\n\t0x01A8: { n:\"BrtEndUserShView\", f:parsenoop },\n\t0x01A9: { n:\"BrtEndUserShViews\", f:parsenoop },\n\t0x01AA: { n:\"BrtArrFmla\", f:parsenoop },\n\t0x01AB: { n:\"BrtShrFmla\", f:parsenoop },\n\t0x01AC: { n:\"BrtTable\", f:parsenoop },\n\t0x01AD: { n:\"BrtBeginExtConnections\", f:parsenoop },\n\t0x01AE: { n:\"BrtEndExtConnections\", f:parsenoop },\n\t0x01AF: { n:\"BrtBeginPCDCalcMems\", f:parsenoop },\n\t0x01B0: { n:\"BrtEndPCDCalcMems\", f:parsenoop },\n\t0x01B1: { n:\"BrtBeginPCDCalcMem\", f:parsenoop },\n\t0x01B2: { n:\"BrtEndPCDCalcMem\", f:parsenoop },\n\t0x01B3: { n:\"BrtBeginPCDHGLevels\", f:parsenoop },\n\t0x01B4: { n:\"BrtEndPCDHGLevels\", f:parsenoop },\n\t0x01B5: { n:\"BrtBeginPCDHGLevel\", f:parsenoop },\n\t0x01B6: { n:\"BrtEndPCDHGLevel\", f:parsenoop },\n\t0x01B7: { n:\"BrtBeginPCDHGLGroups\", f:parsenoop },\n\t0x01B8: { n:\"BrtEndPCDHGLGroups\", f:parsenoop },\n\t0x01B9: { n:\"BrtBeginPCDHGLGroup\", f:parsenoop },\n\t0x01BA: { n:\"BrtEndPCDHGLGroup\", f:parsenoop },\n\t0x01BB: { n:\"BrtBeginPCDHGLGMembers\", f:parsenoop },\n\t0x01BC: { n:\"BrtEndPCDHGLGMembers\", f:parsenoop },\n\t0x01BD: { n:\"BrtBeginPCDHGLGMember\", f:parsenoop },\n\t0x01BE: { n:\"BrtEndPCDHGLGMember\", f:parsenoop },\n\t0x01BF: { n:\"BrtBeginQSI\", f:parsenoop },\n\t0x01C0: { n:\"BrtEndQSI\", f:parsenoop },\n\t0x01C1: { n:\"BrtBeginQSIR\", f:parsenoop },\n\t0x01C2: { n:\"BrtEndQSIR\", f:parsenoop },\n\t0x01C3: { n:\"BrtBeginDeletedNames\", f:parsenoop },\n\t0x01C4: { n:\"BrtEndDeletedNames\", f:parsenoop },\n\t0x01C5: { n:\"BrtBeginDeletedName\", f:parsenoop },\n\t0x01C6: { n:\"BrtEndDeletedName\", f:parsenoop },\n\t0x01C7: { n:\"BrtBeginQSIFs\", f:parsenoop },\n\t0x01C8: { n:\"BrtEndQSIFs\", f:parsenoop },\n\t0x01C9: { n:\"BrtBeginQSIF\", f:parsenoop },\n\t0x01CA: { n:\"BrtEndQSIF\", f:parsenoop },\n\t0x01CB: { n:\"BrtBeginAutoSortScope\", f:parsenoop },\n\t0x01CC: { n:\"BrtEndAutoSortScope\", f:parsenoop },\n\t0x01CD: { n:\"BrtBeginConditionalFormatting\", f:parsenoop },\n\t0x01CE: { n:\"BrtEndConditionalFormatting\", f:parsenoop },\n\t0x01CF: { n:\"BrtBeginCFRule\", f:parsenoop },\n\t0x01D0: { n:\"BrtEndCFRule\", f:parsenoop },\n\t0x01D1: { n:\"BrtBeginIconSet\", f:parsenoop },\n\t0x01D2: { n:\"BrtEndIconSet\", f:parsenoop },\n\t0x01D3: { n:\"BrtBeginDatabar\", f:parsenoop },\n\t0x01D4: { n:\"BrtEndDatabar\", f:parsenoop },\n\t0x01D5: { n:\"BrtBeginColorScale\", f:parsenoop },\n\t0x01D6: { n:\"BrtEndColorScale\", f:parsenoop },\n\t0x01D7: { n:\"BrtCFVO\", f:parsenoop },\n\t0x01D8: { n:\"BrtExternValueMeta\", f:parsenoop },\n\t0x01D9: { n:\"BrtBeginColorPalette\", f:parsenoop },\n\t0x01DA: { n:\"BrtEndColorPalette\", f:parsenoop },\n\t0x01DB: { n:\"BrtIndexedColor\", f:parsenoop },\n\t0x01DC: { n:\"BrtMargins\", f:parsenoop },\n\t0x01DD: { n:\"BrtPrintOptions\", f:parsenoop },\n\t0x01DE: { n:\"BrtPageSetup\", f:parsenoop },\n\t0x01DF: { n:\"BrtBeginHeaderFooter\", f:parsenoop },\n\t0x01E0: { n:\"BrtEndHeaderFooter\", f:parsenoop },\n\t0x01E1: { n:\"BrtBeginSXCrtFormat\", f:parsenoop },\n\t0x01E2: { n:\"BrtEndSXCrtFormat\", f:parsenoop },\n\t0x01E3: { n:\"BrtBeginSXCrtFormats\", f:parsenoop },\n\t0x01E4: { n:\"BrtEndSXCrtFormats\", f:parsenoop },\n\t0x01E5: { n:\"BrtWsFmtInfo\", f:parsenoop },\n\t0x01E6: { n:\"BrtBeginMgs\", f:parsenoop },\n\t0x01E7: { n:\"BrtEndMGs\", f:parsenoop },\n\t0x01E8: { n:\"BrtBeginMGMaps\", f:parsenoop },\n\t0x01E9: { n:\"BrtEndMGMaps\", f:parsenoop },\n\t0x01EA: { n:\"BrtBeginMG\", f:parsenoop },\n\t0x01EB: { n:\"BrtEndMG\", f:parsenoop },\n\t0x01EC: { n:\"BrtBeginMap\", f:parsenoop },\n\t0x01ED: { n:\"BrtEndMap\", f:parsenoop },\n\t0x01EE: { n:\"BrtHLink\", f:parse_BrtHLink },\n\t0x01EF: { n:\"BrtBeginDCon\", f:parsenoop },\n\t0x01F0: { n:\"BrtEndDCon\", f:parsenoop },\n\t0x01F1: { n:\"BrtBeginDRefs\", f:parsenoop },\n\t0x01F2: { n:\"BrtEndDRefs\", f:parsenoop },\n\t0x01F3: { n:\"BrtDRef\", f:parsenoop },\n\t0x01F4: { n:\"BrtBeginScenMan\", f:parsenoop },\n\t0x01F5: { n:\"BrtEndScenMan\", f:parsenoop },\n\t0x01F6: { n:\"BrtBeginSct\", f:parsenoop },\n\t0x01F7: { n:\"BrtEndSct\", f:parsenoop },\n\t0x01F8: { n:\"BrtSlc\", f:parsenoop },\n\t0x01F9: { n:\"BrtBeginDXFs\", f:parsenoop },\n\t0x01FA: { n:\"BrtEndDXFs\", f:parsenoop },\n\t0x01FB: { n:\"BrtDXF\", f:parsenoop },\n\t0x01FC: { n:\"BrtBeginTableStyles\", f:parsenoop },\n\t0x01FD: { n:\"BrtEndTableStyles\", f:parsenoop },\n\t0x01FE: { n:\"BrtBeginTableStyle\", f:parsenoop },\n\t0x01FF: { n:\"BrtEndTableStyle\", f:parsenoop },\n\t0x0200: { n:\"BrtTableStyleElement\", f:parsenoop },\n\t0x0201: { n:\"BrtTableStyleClient\", f:parsenoop },\n\t0x0202: { n:\"BrtBeginVolDeps\", f:parsenoop },\n\t0x0203: { n:\"BrtEndVolDeps\", f:parsenoop },\n\t0x0204: { n:\"BrtBeginVolType\", f:parsenoop },\n\t0x0205: { n:\"BrtEndVolType\", f:parsenoop },\n\t0x0206: { n:\"BrtBeginVolMain\", f:parsenoop },\n\t0x0207: { n:\"BrtEndVolMain\", f:parsenoop },\n\t0x0208: { n:\"BrtBeginVolTopic\", f:parsenoop },\n\t0x0209: { n:\"BrtEndVolTopic\", f:parsenoop },\n\t0x020A: { n:\"BrtVolSubtopic\", f:parsenoop },\n\t0x020B: { n:\"BrtVolRef\", f:parsenoop },\n\t0x020C: { n:\"BrtVolNum\", f:parsenoop },\n\t0x020D: { n:\"BrtVolErr\", f:parsenoop },\n\t0x020E: { n:\"BrtVolStr\", f:parsenoop },\n\t0x020F: { n:\"BrtVolBool\", f:parsenoop },\n\t0x0210: { n:\"BrtBeginCalcChain$\", f:parsenoop },\n\t0x0211: { n:\"BrtEndCalcChain$\", f:parsenoop },\n\t0x0212: { n:\"BrtBeginSortState\", f:parsenoop },\n\t0x0213: { n:\"BrtEndSortState\", f:parsenoop },\n\t0x0214: { n:\"BrtBeginSortCond\", f:parsenoop },\n\t0x0215: { n:\"BrtEndSortCond\", f:parsenoop },\n\t0x0216: { n:\"BrtBookProtection\", f:parsenoop },\n\t0x0217: { n:\"BrtSheetProtection\", f:parsenoop },\n\t0x0218: { n:\"BrtRangeProtection\", f:parsenoop },\n\t0x0219: { n:\"BrtPhoneticInfo\", f:parsenoop },\n\t0x021A: { n:\"BrtBeginECTxtWiz\", f:parsenoop },\n\t0x021B: { n:\"BrtEndECTxtWiz\", f:parsenoop },\n\t0x021C: { n:\"BrtBeginECTWFldInfoLst\", f:parsenoop },\n\t0x021D: { n:\"BrtEndECTWFldInfoLst\", f:parsenoop },\n\t0x021E: { n:\"BrtBeginECTwFldInfo\", f:parsenoop },\n\t0x0224: { n:\"BrtFileSharing\", f:parsenoop },\n\t0x0225: { n:\"BrtOleSize\", f:parsenoop },\n\t0x0226: { n:\"BrtDrawing\", f:parsenoop },\n\t0x0227: { n:\"BrtLegacyDrawing\", f:parsenoop },\n\t0x0228: { n:\"BrtLegacyDrawingHF\", f:parsenoop },\n\t0x0229: { n:\"BrtWebOpt\", f:parsenoop },\n\t0x022A: { n:\"BrtBeginWebPubItems\", f:parsenoop },\n\t0x022B: { n:\"BrtEndWebPubItems\", f:parsenoop },\n\t0x022C: { n:\"BrtBeginWebPubItem\", f:parsenoop },\n\t0x022D: { n:\"BrtEndWebPubItem\", f:parsenoop },\n\t0x022E: { n:\"BrtBeginSXCondFmt\", f:parsenoop },\n\t0x022F: { n:\"BrtEndSXCondFmt\", f:parsenoop },\n\t0x0230: { n:\"BrtBeginSXCondFmts\", f:parsenoop },\n\t0x0231: { n:\"BrtEndSXCondFmts\", f:parsenoop },\n\t0x0232: { n:\"BrtBkHim\", f:parsenoop },\n\t0x0234: { n:\"BrtColor\", f:parsenoop },\n\t0x0235: { n:\"BrtBeginIndexedColors\", f:parsenoop },\n\t0x0236: { n:\"BrtEndIndexedColors\", f:parsenoop },\n\t0x0239: { n:\"BrtBeginMRUColors\", f:parsenoop },\n\t0x023A: { n:\"BrtEndMRUColors\", f:parsenoop },\n\t0x023C: { n:\"BrtMRUColor\", f:parsenoop },\n\t0x023D: { n:\"BrtBeginDVals\", f:parsenoop },\n\t0x023E: { n:\"BrtEndDVals\", f:parsenoop },\n\t0x0241: { n:\"BrtSupNameStart\", f:parsenoop },\n\t0x0242: { n:\"BrtSupNameValueStart\", f:parsenoop },\n\t0x0243: { n:\"BrtSupNameValueEnd\", f:parsenoop },\n\t0x0244: { n:\"BrtSupNameNum\", f:parsenoop },\n\t0x0245: { n:\"BrtSupNameErr\", f:parsenoop },\n\t0x0246: { n:\"BrtSupNameSt\", f:parsenoop },\n\t0x0247: { n:\"BrtSupNameNil\", f:parsenoop },\n\t0x0248: { n:\"BrtSupNameBool\", f:parsenoop },\n\t0x0249: { n:\"BrtSupNameFmla\", f:parsenoop },\n\t0x024A: { n:\"BrtSupNameBits\", f:parsenoop },\n\t0x024B: { n:\"BrtSupNameEnd\", f:parsenoop },\n\t0x024C: { n:\"BrtEndSupBook\", f:parsenoop },\n\t0x024D: { n:\"BrtCellSmartTagProperty\", f:parsenoop },\n\t0x024E: { n:\"BrtBeginCellSmartTag\", f:parsenoop },\n\t0x024F: { n:\"BrtEndCellSmartTag\", f:parsenoop },\n\t0x0250: { n:\"BrtBeginCellSmartTags\", f:parsenoop },\n\t0x0251: { n:\"BrtEndCellSmartTags\", f:parsenoop },\n\t0x0252: { n:\"BrtBeginSmartTags\", f:parsenoop },\n\t0x0253: { n:\"BrtEndSmartTags\", f:parsenoop },\n\t0x0254: { n:\"BrtSmartTagType\", f:parsenoop },\n\t0x0255: { n:\"BrtBeginSmartTagTypes\", f:parsenoop },\n\t0x0256: { n:\"BrtEndSmartTagTypes\", f:parsenoop },\n\t0x0257: { n:\"BrtBeginSXFilters\", f:parsenoop },\n\t0x0258: { n:\"BrtEndSXFilters\", f:parsenoop },\n\t0x0259: { n:\"BrtBeginSXFILTER\", f:parsenoop },\n\t0x025A: { n:\"BrtEndSXFilter\", f:parsenoop },\n\t0x025B: { n:\"BrtBeginFills\", f:parsenoop },\n\t0x025C: { n:\"BrtEndFills\", f:parsenoop },\n\t0x025D: { n:\"BrtBeginCellWatches\", f:parsenoop },\n\t0x025E: { n:\"BrtEndCellWatches\", f:parsenoop },\n\t0x025F: { n:\"BrtCellWatch\", f:parsenoop },\n\t0x0260: { n:\"BrtBeginCRErrs\", f:parsenoop },\n\t0x0261: { n:\"BrtEndCRErrs\", f:parsenoop },\n\t0x0262: { n:\"BrtCrashRecErr\", f:parsenoop },\n\t0x0263: { n:\"BrtBeginFonts\", f:parsenoop },\n\t0x0264: { n:\"BrtEndFonts\", f:parsenoop },\n\t0x0265: { n:\"BrtBeginBorders\", f:parsenoop },\n\t0x0266: { n:\"BrtEndBorders\", f:parsenoop },\n\t0x0267: { n:\"BrtBeginFmts\", f:parsenoop },\n\t0x0268: { n:\"BrtEndFmts\", f:parsenoop },\n\t0x0269: { n:\"BrtBeginCellXFs\", f:parsenoop },\n\t0x026A: { n:\"BrtEndCellXFs\", f:parsenoop },\n\t0x026B: { n:\"BrtBeginStyles\", f:parsenoop },\n\t0x026C: { n:\"BrtEndStyles\", f:parsenoop },\n\t0x0271: { n:\"BrtBigName\", f:parsenoop },\n\t0x0272: { n:\"BrtBeginCellStyleXFs\", f:parsenoop },\n\t0x0273: { n:\"BrtEndCellStyleXFs\", f:parsenoop },\n\t0x0274: { n:\"BrtBeginComments\", f:parsenoop },\n\t0x0275: { n:\"BrtEndComments\", f:parsenoop },\n\t0x0276: { n:\"BrtBeginCommentAuthors\", f:parsenoop },\n\t0x0277: { n:\"BrtEndCommentAuthors\", f:parsenoop },\n\t0x0278: { n:\"BrtCommentAuthor\", f:parse_BrtCommentAuthor },\n\t0x0279: { n:\"BrtBeginCommentList\", f:parsenoop },\n\t0x027A: { n:\"BrtEndCommentList\", f:parsenoop },\n\t0x027B: { n:\"BrtBeginComment\", f:parse_BrtBeginComment},\n\t0x027C: { n:\"BrtEndComment\", f:parsenoop },\n\t0x027D: { n:\"BrtCommentText\", f:parse_BrtCommentText },\n\t0x027E: { n:\"BrtBeginOleObjects\", f:parsenoop },\n\t0x027F: { n:\"BrtOleObject\", f:parsenoop },\n\t0x0280: { n:\"BrtEndOleObjects\", f:parsenoop },\n\t0x0281: { n:\"BrtBeginSxrules\", f:parsenoop },\n\t0x0282: { n:\"BrtEndSxRules\", f:parsenoop },\n\t0x0283: { n:\"BrtBeginActiveXControls\", f:parsenoop },\n\t0x0284: { n:\"BrtActiveX\", f:parsenoop },\n\t0x0285: { n:\"BrtEndActiveXControls\", f:parsenoop },\n\t0x0286: { n:\"BrtBeginPCDSDTCEMembersSortBy\", f:parsenoop },\n\t0x0288: { n:\"BrtBeginCellIgnoreECs\", f:parsenoop },\n\t0x0289: { n:\"BrtCellIgnoreEC\", f:parsenoop },\n\t0x028A: { n:\"BrtEndCellIgnoreECs\", f:parsenoop },\n\t0x028B: { n:\"BrtCsProp\", f:parsenoop },\n\t0x028C: { n:\"BrtCsPageSetup\", f:parsenoop },\n\t0x028D: { n:\"BrtBeginUserCsViews\", f:parsenoop },\n\t0x028E: { n:\"BrtEndUserCsViews\", f:parsenoop },\n\t0x028F: { n:\"BrtBeginUserCsView\", f:parsenoop },\n\t0x0290: { n:\"BrtEndUserCsView\", f:parsenoop },\n\t0x0291: { n:\"BrtBeginPcdSFCIEntries\", f:parsenoop },\n\t0x0292: { n:\"BrtEndPCDSFCIEntries\", f:parsenoop },\n\t0x0293: { n:\"BrtPCDSFCIEntry\", f:parsenoop },\n\t0x0294: { n:\"BrtBeginListParts\", f:parsenoop },\n\t0x0295: { n:\"BrtListPart\", f:parsenoop },\n\t0x0296: { n:\"BrtEndListParts\", f:parsenoop },\n\t0x0297: { n:\"BrtSheetCalcProp\", f:parsenoop },\n\t0x0298: { n:\"BrtBeginFnGroup\", f:parsenoop },\n\t0x0299: { n:\"BrtFnGroup\", f:parsenoop },\n\t0x029A: { n:\"BrtEndFnGroup\", f:parsenoop },\n\t0x029B: { n:\"BrtSupAddin\", f:parsenoop },\n\t0x029C: { n:\"BrtSXTDMPOrder\", f:parsenoop },\n\t0x029D: { n:\"BrtCsProtection\", f:parsenoop },\n\t0x029F: { n:\"BrtBeginWsSortMap\", f:parsenoop },\n\t0x02A0: { n:\"BrtEndWsSortMap\", f:parsenoop },\n\t0x02A1: { n:\"BrtBeginRRSort\", f:parsenoop },\n\t0x02A2: { n:\"BrtEndRRSort\", f:parsenoop },\n\t0x02A3: { n:\"BrtRRSortItem\", f:parsenoop },\n\t0x02A4: { n:\"BrtFileSharingIso\", f:parsenoop },\n\t0x02A5: { n:\"BrtBookProtectionIso\", f:parsenoop },\n\t0x02A6: { n:\"BrtSheetProtectionIso\", f:parsenoop },\n\t0x02A7: { n:\"BrtCsProtectionIso\", f:parsenoop },\n\t0x02A8: { n:\"BrtRangeProtectionIso\", f:parsenoop },\n\t0x0400: { n:\"BrtRwDescent\", f:parsenoop },\n\t0x0401: { n:\"BrtKnownFonts\", f:parsenoop },\n\t0x0402: { n:\"BrtBeginSXTupleSet\", f:parsenoop },\n\t0x0403: { n:\"BrtEndSXTupleSet\", f:parsenoop },\n\t0x0404: { n:\"BrtBeginSXTupleSetHeader\", f:parsenoop },\n\t0x0405: { n:\"BrtEndSXTupleSetHeader\", f:parsenoop },\n\t0x0406: { n:\"BrtSXTupleSetHeaderItem\", f:parsenoop },\n\t0x0407: { n:\"BrtBeginSXTupleSetData\", f:parsenoop },\n\t0x0408: { n:\"BrtEndSXTupleSetData\", f:parsenoop },\n\t0x0409: { n:\"BrtBeginSXTupleSetRow\", f:parsenoop },\n\t0x040A: { n:\"BrtEndSXTupleSetRow\", f:parsenoop },\n\t0x040B: { n:\"BrtSXTupleSetRowItem\", f:parsenoop },\n\t0x040C: { n:\"BrtNameExt\", f:parsenoop },\n\t0x040D: { n:\"BrtPCDH14\", f:parsenoop },\n\t0x040E: { n:\"BrtBeginPCDCalcMem14\", f:parsenoop },\n\t0x040F: { n:\"BrtEndPCDCalcMem14\", f:parsenoop },\n\t0x0410: { n:\"BrtSXTH14\", f:parsenoop },\n\t0x0411: { n:\"BrtBeginSparklineGroup\", f:parsenoop },\n\t0x0412: { n:\"BrtEndSparklineGroup\", f:parsenoop },\n\t0x0413: { n:\"BrtSparkline\", f:parsenoop },\n\t0x0414: { n:\"BrtSXDI14\", f:parsenoop },\n\t0x0415: { n:\"BrtWsFmtInfoEx14\", f:parsenoop },\n\t0x0416: { n:\"BrtBeginConditionalFormatting14\", f:parsenoop },\n\t0x0417: { n:\"BrtEndConditionalFormatting14\", f:parsenoop },\n\t0x0418: { n:\"BrtBeginCFRule14\", f:parsenoop },\n\t0x0419: { n:\"BrtEndCFRule14\", f:parsenoop },\n\t0x041A: { n:\"BrtCFVO14\", f:parsenoop },\n\t0x041B: { n:\"BrtBeginDatabar14\", f:parsenoop },\n\t0x041C: { n:\"BrtBeginIconSet14\", f:parsenoop },\n\t0x041D: { n:\"BrtDVal14\", f:parsenoop },\n\t0x041E: { n:\"BrtBeginDVals14\", f:parsenoop },\n\t0x041F: { n:\"BrtColor14\", f:parsenoop },\n\t0x0420: { n:\"BrtBeginSparklines\", f:parsenoop },\n\t0x0421: { n:\"BrtEndSparklines\", f:parsenoop },\n\t0x0422: { n:\"BrtBeginSparklineGroups\", f:parsenoop },\n\t0x0423: { n:\"BrtEndSparklineGroups\", f:parsenoop },\n\t0x0425: { n:\"BrtSXVD14\", f:parsenoop },\n\t0x0426: { n:\"BrtBeginSxview14\", f:parsenoop },\n\t0x0427: { n:\"BrtEndSxview14\", f:parsenoop },\n\t0x042A: { n:\"BrtBeginPCD14\", f:parsenoop },\n\t0x042B: { n:\"BrtEndPCD14\", f:parsenoop },\n\t0x042C: { n:\"BrtBeginExtConn14\", f:parsenoop },\n\t0x042D: { n:\"BrtEndExtConn14\", f:parsenoop },\n\t0x042E: { n:\"BrtBeginSlicerCacheIDs\", f:parsenoop },\n\t0x042F: { n:\"BrtEndSlicerCacheIDs\", f:parsenoop },\n\t0x0430: { n:\"BrtBeginSlicerCacheID\", f:parsenoop },\n\t0x0431: { n:\"BrtEndSlicerCacheID\", f:parsenoop },\n\t0x0433: { n:\"BrtBeginSlicerCache\", f:parsenoop },\n\t0x0434: { n:\"BrtEndSlicerCache\", f:parsenoop },\n\t0x0435: { n:\"BrtBeginSlicerCacheDef\", f:parsenoop },\n\t0x0436: { n:\"BrtEndSlicerCacheDef\", f:parsenoop },\n\t0x0437: { n:\"BrtBeginSlicersEx\", f:parsenoop },\n\t0x0438: { n:\"BrtEndSlicersEx\", f:parsenoop },\n\t0x0439: { n:\"BrtBeginSlicerEx\", f:parsenoop },\n\t0x043A: { n:\"BrtEndSlicerEx\", f:parsenoop },\n\t0x043B: { n:\"BrtBeginSlicer\", f:parsenoop },\n\t0x043C: { n:\"BrtEndSlicer\", f:parsenoop },\n\t0x043D: { n:\"BrtSlicerCachePivotTables\", f:parsenoop },\n\t0x043E: { n:\"BrtBeginSlicerCacheOlapImpl\", f:parsenoop },\n\t0x043F: { n:\"BrtEndSlicerCacheOlapImpl\", f:parsenoop },\n\t0x0440: { n:\"BrtBeginSlicerCacheLevelsData\", f:parsenoop },\n\t0x0441: { n:\"BrtEndSlicerCacheLevelsData\", f:parsenoop },\n\t0x0442: { n:\"BrtBeginSlicerCacheLevelData\", f:parsenoop },\n\t0x0443: { n:\"BrtEndSlicerCacheLevelData\", f:parsenoop },\n\t0x0444: { n:\"BrtBeginSlicerCacheSiRanges\", f:parsenoop },\n\t0x0445: { n:\"BrtEndSlicerCacheSiRanges\", f:parsenoop },\n\t0x0446: { n:\"BrtBeginSlicerCacheSiRange\", f:parsenoop },\n\t0x0447: { n:\"BrtEndSlicerCacheSiRange\", f:parsenoop },\n\t0x0448: { n:\"BrtSlicerCacheOlapItem\", f:parsenoop },\n\t0x0449: { n:\"BrtBeginSlicerCacheSelections\", f:parsenoop },\n\t0x044A: { n:\"BrtSlicerCacheSelection\", f:parsenoop },\n\t0x044B: { n:\"BrtEndSlicerCacheSelections\", f:parsenoop },\n\t0x044C: { n:\"BrtBeginSlicerCacheNative\", f:parsenoop },\n\t0x044D: { n:\"BrtEndSlicerCacheNative\", f:parsenoop },\n\t0x044E: { n:\"BrtSlicerCacheNativeItem\", f:parsenoop },\n\t0x044F: { n:\"BrtRangeProtection14\", f:parsenoop },\n\t0x0450: { n:\"BrtRangeProtectionIso14\", f:parsenoop },\n\t0x0451: { n:\"BrtCellIgnoreEC14\", f:parsenoop },\n\t0x0457: { n:\"BrtList14\", f:parsenoop },\n\t0x0458: { n:\"BrtCFIcon\", f:parsenoop },\n\t0x0459: { n:\"BrtBeginSlicerCachesPivotCacheIDs\", f:parsenoop },\n\t0x045A: { n:\"BrtEndSlicerCachesPivotCacheIDs\", f:parsenoop },\n\t0x045B: { n:\"BrtBeginSlicers\", f:parsenoop },\n\t0x045C: { n:\"BrtEndSlicers\", f:parsenoop },\n\t0x045D: { n:\"BrtWbProp14\", f:parsenoop },\n\t0x045E: { n:\"BrtBeginSXEdit\", f:parsenoop },\n\t0x045F: { n:\"BrtEndSXEdit\", f:parsenoop },\n\t0x0460: { n:\"BrtBeginSXEdits\", f:parsenoop },\n\t0x0461: { n:\"BrtEndSXEdits\", f:parsenoop },\n\t0x0462: { n:\"BrtBeginSXChange\", f:parsenoop },\n\t0x0463: { n:\"BrtEndSXChange\", f:parsenoop },\n\t0x0464: { n:\"BrtBeginSXChanges\", f:parsenoop },\n\t0x0465: { n:\"BrtEndSXChanges\", f:parsenoop },\n\t0x0466: { n:\"BrtSXTupleItems\", f:parsenoop },\n\t0x0468: { n:\"BrtBeginSlicerStyle\", f:parsenoop },\n\t0x0469: { n:\"BrtEndSlicerStyle\", f:parsenoop },\n\t0x046A: { n:\"BrtSlicerStyleElement\", f:parsenoop },\n\t0x046B: { n:\"BrtBeginStyleSheetExt14\", f:parsenoop },\n\t0x046C: { n:\"BrtEndStyleSheetExt14\", f:parsenoop },\n\t0x046D: { n:\"BrtBeginSlicerCachesPivotCacheID\", f:parsenoop },\n\t0x046E: { n:\"BrtEndSlicerCachesPivotCacheID\", f:parsenoop },\n\t0x046F: { n:\"BrtBeginConditionalFormattings\", f:parsenoop },\n\t0x0470: { n:\"BrtEndConditionalFormattings\", f:parsenoop },\n\t0x0471: { n:\"BrtBeginPCDCalcMemExt\", f:parsenoop },\n\t0x0472: { n:\"BrtEndPCDCalcMemExt\", f:parsenoop },\n\t0x0473: { n:\"BrtBeginPCDCalcMemsExt\", f:parsenoop },\n\t0x0474: { n:\"BrtEndPCDCalcMemsExt\", f:parsenoop },\n\t0x0475: { n:\"BrtPCDField14\", f:parsenoop },\n\t0x0476: { n:\"BrtBeginSlicerStyles\", f:parsenoop },\n\t0x0477: { n:\"BrtEndSlicerStyles\", f:parsenoop },\n\t0x0478: { n:\"BrtBeginSlicerStyleElements\", f:parsenoop },\n\t0x0479: { n:\"BrtEndSlicerStyleElements\", f:parsenoop },\n\t0x047A: { n:\"BrtCFRuleExt\", f:parsenoop },\n\t0x047B: { n:\"BrtBeginSXCondFmt14\", f:parsenoop },\n\t0x047C: { n:\"BrtEndSXCondFmt14\", f:parsenoop },\n\t0x047D: { n:\"BrtBeginSXCondFmts14\", f:parsenoop },\n\t0x047E: { n:\"BrtEndSXCondFmts14\", f:parsenoop },\n\t0x0480: { n:\"BrtBeginSortCond14\", f:parsenoop },\n\t0x0481: { n:\"BrtEndSortCond14\", f:parsenoop },\n\t0x0482: { n:\"BrtEndDVals14\", f:parsenoop },\n\t0x0483: { n:\"BrtEndIconSet14\", f:parsenoop },\n\t0x0484: { n:\"BrtEndDatabar14\", f:parsenoop },\n\t0x0485: { n:\"BrtBeginColorScale14\", f:parsenoop },\n\t0x0486: { n:\"BrtEndColorScale14\", f:parsenoop },\n\t0x0487: { n:\"BrtBeginSxrules14\", f:parsenoop },\n\t0x0488: { n:\"BrtEndSxrules14\", f:parsenoop },\n\t0x0489: { n:\"BrtBeginPRule14\", f:parsenoop },\n\t0x048A: { n:\"BrtEndPRule14\", f:parsenoop },\n\t0x048B: { n:\"BrtBeginPRFilters14\", f:parsenoop },\n\t0x048C: { n:\"BrtEndPRFilters14\", f:parsenoop },\n\t0x048D: { n:\"BrtBeginPRFilter14\", f:parsenoop },\n\t0x048E: { n:\"BrtEndPRFilter14\", f:parsenoop },\n\t0x048F: { n:\"BrtBeginPRFItem14\", f:parsenoop },\n\t0x0490: { n:\"BrtEndPRFItem14\", f:parsenoop },\n\t0x0491: { n:\"BrtBeginCellIgnoreECs14\", f:parsenoop },\n\t0x0492: { n:\"BrtEndCellIgnoreECs14\", f:parsenoop },\n\t0x0493: { n:\"BrtDxf14\", f:parsenoop },\n\t0x0494: { n:\"BrtBeginDxF14s\", f:parsenoop },\n\t0x0495: { n:\"BrtEndDxf14s\", f:parsenoop },\n\t0x0499: { n:\"BrtFilter14\", f:parsenoop },\n\t0x049A: { n:\"BrtBeginCustomFilters14\", f:parsenoop },\n\t0x049C: { n:\"BrtCustomFilter14\", f:parsenoop },\n\t0x049D: { n:\"BrtIconFilter14\", f:parsenoop },\n\t0x049E: { n:\"BrtPivotCacheConnectionName\", f:parsenoop },\n\t0x0800: { n:\"BrtBeginDecoupledPivotCacheIDs\", f:parsenoop },\n\t0x0801: { n:\"BrtEndDecoupledPivotCacheIDs\", f:parsenoop },\n\t0x0802: { n:\"BrtDecoupledPivotCacheID\", f:parsenoop },\n\t0x0803: { n:\"BrtBeginPivotTableRefs\", f:parsenoop },\n\t0x0804: { n:\"BrtEndPivotTableRefs\", f:parsenoop },\n\t0x0805: { n:\"BrtPivotTableRef\", f:parsenoop },\n\t0x0806: { n:\"BrtSlicerCacheBookPivotTables\", f:parsenoop },\n\t0x0807: { n:\"BrtBeginSxvcells\", f:parsenoop },\n\t0x0808: { n:\"BrtEndSxvcells\", f:parsenoop },\n\t0x0809: { n:\"BrtBeginSxRow\", f:parsenoop },\n\t0x080A: { n:\"BrtEndSxRow\", f:parsenoop },\n\t0x080C: { n:\"BrtPcdCalcMem15\", f:parsenoop },\n\t0x0813: { n:\"BrtQsi15\", f:parsenoop },\n\t0x0814: { n:\"BrtBeginWebExtensions\", f:parsenoop },\n\t0x0815: { n:\"BrtEndWebExtensions\", f:parsenoop },\n\t0x0816: { n:\"BrtWebExtension\", f:parsenoop },\n\t0x0817: { n:\"BrtAbsPath15\", f:parsenoop },\n\t0x0818: { n:\"BrtBeginPivotTableUISettings\", f:parsenoop },\n\t0x0819: { n:\"BrtEndPivotTableUISettings\", f:parsenoop },\n\t0x081B: { n:\"BrtTableSlicerCacheIDs\", f:parsenoop },\n\t0x081C: { n:\"BrtTableSlicerCacheID\", f:parsenoop },\n\t0x081D: { n:\"BrtBeginTableSlicerCache\", f:parsenoop },\n\t0x081E: { n:\"BrtEndTableSlicerCache\", f:parsenoop },\n\t0x081F: { n:\"BrtSxFilter15\", f:parsenoop },\n\t0x0820: { n:\"BrtBeginTimelineCachePivotCacheIDs\", f:parsenoop },\n\t0x0821: { n:\"BrtEndTimelineCachePivotCacheIDs\", f:parsenoop },\n\t0x0822: { n:\"BrtTimelineCachePivotCacheID\", f:parsenoop },\n\t0x0823: { n:\"BrtBeginTimelineCacheIDs\", f:parsenoop },\n\t0x0824: { n:\"BrtEndTimelineCacheIDs\", f:parsenoop },\n\t0x0825: { n:\"BrtBeginTimelineCacheID\", f:parsenoop },\n\t0x0826: { n:\"BrtEndTimelineCacheID\", f:parsenoop },\n\t0x0827: { n:\"BrtBeginTimelinesEx\", f:parsenoop },\n\t0x0828: { n:\"BrtEndTimelinesEx\", f:parsenoop },\n\t0x0829: { n:\"BrtBeginTimelineEx\", f:parsenoop },\n\t0x082A: { n:\"BrtEndTimelineEx\", f:parsenoop },\n\t0x082B: { n:\"BrtWorkBookPr15\", f:parsenoop },\n\t0x082C: { n:\"BrtPCDH15\", f:parsenoop },\n\t0x082D: { n:\"BrtBeginTimelineStyle\", f:parsenoop },\n\t0x082E: { n:\"BrtEndTimelineStyle\", f:parsenoop },\n\t0x082F: { n:\"BrtTimelineStyleElement\", f:parsenoop },\n\t0x0830: { n:\"BrtBeginTimelineStylesheetExt15\", f:parsenoop },\n\t0x0831: { n:\"BrtEndTimelineStylesheetExt15\", f:parsenoop },\n\t0x0832: { n:\"BrtBeginTimelineStyles\", f:parsenoop },\n\t0x0833: { n:\"BrtEndTimelineStyles\", f:parsenoop },\n\t0x0834: { n:\"BrtBeginTimelineStyleElements\", f:parsenoop },\n\t0x0835: { n:\"BrtEndTimelineStyleElements\", f:parsenoop },\n\t0x0836: { n:\"BrtDxf15\", f:parsenoop },\n\t0x0837: { n:\"BrtBeginDxfs15\", f:parsenoop },\n\t0x0838: { n:\"brtEndDxfs15\", f:parsenoop },\n\t0x0839: { n:\"BrtSlicerCacheHideItemsWithNoData\", f:parsenoop },\n\t0x083A: { n:\"BrtBeginItemUniqueNames\", f:parsenoop },\n\t0x083B: { n:\"BrtEndItemUniqueNames\", f:parsenoop },\n\t0x083C: { n:\"BrtItemUniqueName\", f:parsenoop },\n\t0x083D: { n:\"BrtBeginExtConn15\", f:parsenoop },\n\t0x083E: { n:\"BrtEndExtConn15\", f:parsenoop },\n\t0x083F: { n:\"BrtBeginOledbPr15\", f:parsenoop },\n\t0x0840: { n:\"BrtEndOledbPr15\", f:parsenoop },\n\t0x0841: { n:\"BrtBeginDataFeedPr15\", f:parsenoop },\n\t0x0842: { n:\"BrtEndDataFeedPr15\", f:parsenoop },\n\t0x0843: { n:\"BrtTextPr15\", f:parsenoop },\n\t0x0844: { n:\"BrtRangePr15\", f:parsenoop },\n\t0x0845: { n:\"BrtDbCommand15\", f:parsenoop },\n\t0x0846: { n:\"BrtBeginDbTables15\", f:parsenoop },\n\t0x0847: { n:\"BrtEndDbTables15\", f:parsenoop },\n\t0x0848: { n:\"BrtDbTable15\", f:parsenoop },\n\t0x0849: { n:\"BrtBeginDataModel\", f:parsenoop },\n\t0x084A: { n:\"BrtEndDataModel\", f:parsenoop },\n\t0x084B: { n:\"BrtBeginModelTables\", f:parsenoop },\n\t0x084C: { n:\"BrtEndModelTables\", f:parsenoop },\n\t0x084D: { n:\"BrtModelTable\", f:parsenoop },\n\t0x084E: { n:\"BrtBeginModelRelationships\", f:parsenoop },\n\t0x084F: { n:\"BrtEndModelRelationships\", f:parsenoop },\n\t0x0850: { n:\"BrtModelRelationship\", f:parsenoop },\n\t0x0851: { n:\"BrtBeginECTxtWiz15\", f:parsenoop },\n\t0x0852: { n:\"BrtEndECTxtWiz15\", f:parsenoop },\n\t0x0853: { n:\"BrtBeginECTWFldInfoLst15\", f:parsenoop },\n\t0x0854: { n:\"BrtEndECTWFldInfoLst15\", f:parsenoop },\n\t0x0855: { n:\"BrtBeginECTWFldInfo15\", f:parsenoop },\n\t0x0856: { n:\"BrtFieldListActiveItem\", f:parsenoop },\n\t0x0857: { n:\"BrtPivotCacheIdVersion\", f:parsenoop },\n\t0x0858: { n:\"BrtSXDI15\", f:parsenoop },\n\t0xFFFF: { n:\"\", f:parsenoop }\n};\n\nvar evert_RE = evert_key(XLSBRecordEnum, 'n');\n\n/* [MS-XLS] 2.3 Record Enumeration */\nvar XLSRecordEnum = {\n\t0x0003: { n:\"BIFF2NUM\", f:parse_BIFF2NUM },\n\t0x0004: { n:\"BIFF2STR\", f:parse_BIFF2STR },\n\t0x0006: { n:\"Formula\", f:parse_Formula },\n\t0x0009: { n:'BOF', f:parse_BOF },\n\t0x000a: { n:'EOF', f:parse_EOF },\n\t0x000c: { n:\"CalcCount\", f:parse_CalcCount },\n\t0x000d: { n:\"CalcMode\", f:parse_CalcMode },\n\t0x000e: { n:\"CalcPrecision\", f:parse_CalcPrecision },\n\t0x000f: { n:\"CalcRefMode\", f:parse_CalcRefMode },\n\t0x0010: { n:\"CalcDelta\", f:parse_CalcDelta },\n\t0x0011: { n:\"CalcIter\", f:parse_CalcIter },\n\t0x0012: { n:\"Protect\", f:parse_Protect },\n\t0x0013: { n:\"Password\", f:parse_Password },\n\t0x0014: { n:\"Header\", f:parse_Header },\n\t0x0015: { n:\"Footer\", f:parse_Footer },\n\t0x0017: { n:\"ExternSheet\", f:parse_ExternSheet },\n\t0x0018: { n:\"Lbl\", f:parse_Lbl },\n\t0x0019: { n:\"WinProtect\", f:parse_WinProtect },\n\t0x001a: { n:\"VerticalPageBreaks\", f:parse_VerticalPageBreaks },\n\t0x001b: { n:\"HorizontalPageBreaks\", f:parse_HorizontalPageBreaks },\n\t0x001c: { n:\"Note\", f:parse_Note },\n\t0x001d: { n:\"Selection\", f:parse_Selection },\n\t0x0022: { n:\"Date1904\", f:parse_Date1904 },\n\t0x0023: { n:\"ExternName\", f:parse_ExternName },\n\t0x0026: { n:\"LeftMargin\", f:parse_LeftMargin },\n\t0x0027: { n:\"RightMargin\", f:parse_RightMargin },\n\t0x0028: { n:\"TopMargin\", f:parse_TopMargin },\n\t0x0029: { n:\"BottomMargin\", f:parse_BottomMargin },\n\t0x002a: { n:\"PrintRowCol\", f:parse_PrintRowCol },\n\t0x002b: { n:\"PrintGrid\", f:parse_PrintGrid },\n\t0x002f: { n:\"FilePass\", f:parse_FilePass },\n\t0x0031: { n:\"Font\", f:parse_Font },\n\t0x0033: { n:\"PrintSize\", f:parse_PrintSize },\n\t0x003c: { n:\"Continue\", f:parse_Continue },\n\t0x003d: { n:\"Window1\", f:parse_Window1 },\n\t0x0040: { n:\"Backup\", f:parse_Backup },\n\t0x0041: { n:\"Pane\", f:parse_Pane },\n\t0x0042: { n:'CodePage', f:parse_CodePage },\n\t0x004d: { n:\"Pls\", f:parse_Pls },\n\t0x0050: { n:\"DCon\", f:parse_DCon },\n\t0x0051: { n:\"DConRef\", f:parse_DConRef },\n\t0x0052: { n:\"DConName\", f:parse_DConName },\n\t0x0055: { n:\"DefColWidth\", f:parse_DefColWidth },\n\t0x0059: { n:\"XCT\", f:parse_XCT },\n\t0x005a: { n:\"CRN\", f:parse_CRN },\n\t0x005b: { n:\"FileSharing\", f:parse_FileSharing },\n\t0x005c: { n:'WriteAccess', f:parse_WriteAccess },\n\t0x005d: { n:\"Obj\", f:parse_Obj },\n\t0x005e: { n:\"Uncalced\", f:parse_Uncalced },\n\t0x005f: { n:\"CalcSaveRecalc\", f:parse_CalcSaveRecalc },\n\t0x0060: { n:\"Template\", f:parse_Template },\n\t0x0061: { n:\"Intl\", f:parse_Intl },\n\t0x0063: { n:\"ObjProtect\", f:parse_ObjProtect },\n\t0x007d: { n:\"ColInfo\", f:parse_ColInfo },\n\t0x0080: { n:\"Guts\", f:parse_Guts },\n\t0x0081: { n:\"WsBool\", f:parse_WsBool },\n\t0x0082: { n:\"GridSet\", f:parse_GridSet },\n\t0x0083: { n:\"HCenter\", f:parse_HCenter },\n\t0x0084: { n:\"VCenter\", f:parse_VCenter },\n\t0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 },\n\t0x0086: { n:\"WriteProtect\", f:parse_WriteProtect },\n\t0x008c: { n:\"Country\", f:parse_Country },\n\t0x008d: { n:\"HideObj\", f:parse_HideObj },\n\t0x0090: { n:\"Sort\", f:parse_Sort },\n\t0x0092: { n:\"Palette\", f:parse_Palette },\n\t0x0097: { n:\"Sync\", f:parse_Sync },\n\t0x0098: { n:\"LPr\", f:parse_LPr },\n\t0x0099: { n:\"DxGCol\", f:parse_DxGCol },\n\t0x009a: { n:\"FnGroupName\", f:parse_FnGroupName },\n\t0x009b: { n:\"FilterMode\", f:parse_FilterMode },\n\t0x009c: { n:\"BuiltInFnGroupCount\", f:parse_BuiltInFnGroupCount },\n\t0x009d: { n:\"AutoFilterInfo\", f:parse_AutoFilterInfo },\n\t0x009e: { n:\"AutoFilter\", f:parse_AutoFilter },\n\t0x00a0: { n:\"Scl\", f:parse_Scl },\n\t0x00a1: { n:\"Setup\", f:parse_Setup },\n\t0x00ae: { n:\"ScenMan\", f:parse_ScenMan },\n\t0x00af: { n:\"SCENARIO\", f:parse_SCENARIO },\n\t0x00b0: { n:\"SxView\", f:parse_SxView },\n\t0x00b1: { n:\"Sxvd\", f:parse_Sxvd },\n\t0x00b2: { n:\"SXVI\", f:parse_SXVI },\n\t0x00b4: { n:\"SxIvd\", f:parse_SxIvd },\n\t0x00b5: { n:\"SXLI\", f:parse_SXLI },\n\t0x00b6: { n:\"SXPI\", f:parse_SXPI },\n\t0x00b8: { n:\"DocRoute\", f:parse_DocRoute },\n\t0x00b9: { n:\"RecipName\", f:parse_RecipName },\n\t0x00bd: { n:\"MulRk\", f:parse_MulRk },\n\t0x00be: { n:\"MulBlank\", f:parse_MulBlank },\n\t0x00c1: { n:'Mms', f:parse_Mms },\n\t0x00c5: { n:\"SXDI\", f:parse_SXDI },\n\t0x00c6: { n:\"SXDB\", f:parse_SXDB },\n\t0x00c7: { n:\"SXFDB\", f:parse_SXFDB },\n\t0x00c8: { n:\"SXDBB\", f:parse_SXDBB },\n\t0x00c9: { n:\"SXNum\", f:parse_SXNum },\n\t0x00ca: { n:\"SxBool\", f:parse_SxBool },\n\t0x00cb: { n:\"SxErr\", f:parse_SxErr },\n\t0x00cc: { n:\"SXInt\", f:parse_SXInt },\n\t0x00cd: { n:\"SXString\", f:parse_SXString },\n\t0x00ce: { n:\"SXDtr\", f:parse_SXDtr },\n\t0x00cf: { n:\"SxNil\", f:parse_SxNil },\n\t0x00d0: { n:\"SXTbl\", f:parse_SXTbl },\n\t0x00d1: { n:\"SXTBRGIITM\", f:parse_SXTBRGIITM },\n\t0x00d2: { n:\"SxTbpg\", f:parse_SxTbpg },\n\t0x00d3: { n:\"ObProj\", f:parse_ObProj },\n\t0x00d5: { n:\"SXStreamID\", f:parse_SXStreamID },\n\t0x00d7: { n:\"DBCell\", f:parse_DBCell },\n\t0x00d8: { n:\"SXRng\", f:parse_SXRng },\n\t0x00d9: { n:\"SxIsxoper\", f:parse_SxIsxoper },\n\t0x00da: { n:\"BookBool\", f:parse_BookBool },\n\t0x00dc: { n:\"DbOrParamQry\", f:parse_DbOrParamQry },\n\t0x00dd: { n:\"ScenarioProtect\", f:parse_ScenarioProtect },\n\t0x00de: { n:\"OleObjectSize\", f:parse_OleObjectSize },\n\t0x00e0: { n:\"XF\", f:parse_XF },\n\t0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr },\n\t0x00e2: { n:'InterfaceEnd', f:parse_InterfaceEnd },\n\t0x00e3: { n:\"SXVS\", f:parse_SXVS },\n\t0x00e5: { n:\"MergeCells\", f:parse_MergeCells },\n\t0x00e9: { n:\"BkHim\", f:parse_BkHim },\n\t0x00eb: { n:\"MsoDrawingGroup\", f:parse_MsoDrawingGroup },\n\t0x00ec: { n:\"MsoDrawing\", f:parse_MsoDrawing },\n\t0x00ed: { n:\"MsoDrawingSelection\", f:parse_MsoDrawingSelection },\n\t0x00ef: { n:\"PhoneticInfo\", f:parse_PhoneticInfo },\n\t0x00f0: { n:\"SxRule\", f:parse_SxRule },\n\t0x00f1: { n:\"SXEx\", f:parse_SXEx },\n\t0x00f2: { n:\"SxFilt\", f:parse_SxFilt },\n\t0x00f4: { n:\"SxDXF\", f:parse_SxDXF },\n\t0x00f5: { n:\"SxItm\", f:parse_SxItm },\n\t0x00f6: { n:\"SxName\", f:parse_SxName },\n\t0x00f7: { n:\"SxSelect\", f:parse_SxSelect },\n\t0x00f8: { n:\"SXPair\", f:parse_SXPair },\n\t0x00f9: { n:\"SxFmla\", f:parse_SxFmla },\n\t0x00fb: { n:\"SxFormat\", f:parse_SxFormat },\n\t0x00fc: { n:\"SST\", f:parse_SST },\n\t0x00fd: { n:\"LabelSst\", f:parse_LabelSst },\n\t0x00ff: { n:\"ExtSST\", f:parse_ExtSST },\n\t0x0100: { n:\"SXVDEx\", f:parse_SXVDEx },\n\t0x0103: { n:\"SXFormula\", f:parse_SXFormula },\n\t0x0122: { n:\"SXDBEx\", f:parse_SXDBEx },\n\t0x0137: { n:\"RRDInsDel\", f:parse_RRDInsDel },\n\t0x0138: { n:\"RRDHead\", f:parse_RRDHead },\n\t0x013b: { n:\"RRDChgCell\", f:parse_RRDChgCell },\n\t0x013d: { n:\"RRTabId\", f:parse_RRTabId },\n\t0x013e: { n:\"RRDRenSheet\", f:parse_RRDRenSheet },\n\t0x013f: { n:\"RRSort\", f:parse_RRSort },\n\t0x0140: { n:\"RRDMove\", f:parse_RRDMove },\n\t0x014a: { n:\"RRFormat\", f:parse_RRFormat },\n\t0x014b: { n:\"RRAutoFmt\", f:parse_RRAutoFmt },\n\t0x014d: { n:\"RRInsertSh\", f:parse_RRInsertSh },\n\t0x014e: { n:\"RRDMoveBegin\", f:parse_RRDMoveBegin },\n\t0x014f: { n:\"RRDMoveEnd\", f:parse_RRDMoveEnd },\n\t0x0150: { n:\"RRDInsDelBegin\", f:parse_RRDInsDelBegin },\n\t0x0151: { n:\"RRDInsDelEnd\", f:parse_RRDInsDelEnd },\n\t0x0152: { n:\"RRDConflict\", f:parse_RRDConflict },\n\t0x0153: { n:\"RRDDefName\", f:parse_RRDDefName },\n\t0x0154: { n:\"RRDRstEtxp\", f:parse_RRDRstEtxp },\n\t0x015f: { n:\"LRng\", f:parse_LRng },\n\t0x0160: { n:\"UsesELFs\", f:parse_UsesELFs },\n\t0x0161: { n:\"DSF\", f:parse_DSF },\n\t0x0191: { n:\"CUsr\", f:parse_CUsr },\n\t0x0192: { n:\"CbUsr\", f:parse_CbUsr },\n\t0x0193: { n:\"UsrInfo\", f:parse_UsrInfo },\n\t0x0194: { n:\"UsrExcl\", f:parse_UsrExcl },\n\t0x0195: { n:\"FileLock\", f:parse_FileLock },\n\t0x0196: { n:\"RRDInfo\", f:parse_RRDInfo },\n\t0x0197: { n:\"BCUsrs\", f:parse_BCUsrs },\n\t0x0198: { n:\"UsrChk\", f:parse_UsrChk },\n\t0x01a9: { n:\"UserBView\", f:parse_UserBView },\n\t0x01aa: { n:\"UserSViewBegin\", f:parse_UserSViewBegin },\n\t0x01ab: { n:\"UserSViewEnd\", f:parse_UserSViewEnd },\n\t0x01ac: { n:\"RRDUserView\", f:parse_RRDUserView },\n\t0x01ad: { n:\"Qsi\", f:parse_Qsi },\n\t0x01ae: { n:\"SupBook\", f:parse_SupBook },\n\t0x01af: { n:\"Prot4Rev\", f:parse_Prot4Rev },\n\t0x01b0: { n:\"CondFmt\", f:parse_CondFmt },\n\t0x01b1: { n:\"CF\", f:parse_CF },\n\t0x01b2: { n:\"DVal\", f:parse_DVal },\n\t0x01b5: { n:\"DConBin\", f:parse_DConBin },\n\t0x01b6: { n:\"TxO\", f:parse_TxO },\n\t0x01b7: { n:\"RefreshAll\", f:parse_RefreshAll },\n\t0x01b8: { n:\"HLink\", f:parse_HLink },\n\t0x01b9: { n:\"Lel\", f:parse_Lel },\n\t0x01ba: { n:\"CodeName\", f:parse_XLSCodeName },\n\t0x01bb: { n:\"SXFDBType\", f:parse_SXFDBType },\n\t0x01bc: { n:\"Prot4RevPass\", f:parse_Prot4RevPass },\n\t0x01bd: { n:\"ObNoMacros\", f:parse_ObNoMacros },\n\t0x01be: { n:\"Dv\", f:parse_Dv },\n\t0x01c0: { n:\"Excel9File\", f:parse_Excel9File },\n\t0x01c1: { n:\"RecalcId\", f:parse_RecalcId, r:2},\n\t0x01c2: { n:\"EntExU2\", f:parse_EntExU2 },\n\t0x0200: { n:\"Dimensions\", f:parse_Dimensions },\n\t0x0201: { n:\"Blank\", f:parse_Blank },\n\t0x0203: { n:\"Number\", f:parse_Number },\n\t0x0204: { n:\"Label\", f:parse_Label },\n\t0x0205: { n:\"BoolErr\", f:parse_BoolErr },\n\t0x0207: { n:\"String\", f:parse_String },\n\t0x0208: { n:'Row', f:parse_Row },\n\t0x020b: { n:\"Index\", f:parse_Index },\n\t0x0221: { n:\"Array\", f:parse_Array },\n\t0x0225: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n\t0x0236: { n:\"Table\", f:parse_Table },\n\t0x023e: { n:\"Window2\", f:parse_Window2 },\n\t0x027e: { n:\"RK\", f:parse_RK },\n\t0x0293: { n:\"Style\", f:parse_Style },\n\t0x0418: { n:\"BigName\", f:parse_BigName },\n\t0x041e: { n:\"Format\", f:parse_Format },\n\t0x043c: { n:\"ContinueBigName\", f:parse_ContinueBigName },\n\t0x04bc: { n:\"ShrFmla\", f:parse_ShrFmla },\n\t0x0800: { n:\"HLinkTooltip\", f:parse_HLinkTooltip },\n\t0x0801: { n:\"WebPub\", f:parse_WebPub },\n\t0x0802: { n:\"QsiSXTag\", f:parse_QsiSXTag },\n\t0x0803: { n:\"DBQueryExt\", f:parse_DBQueryExt },\n\t0x0804: { n:\"ExtString\", f:parse_ExtString },\n\t0x0805: { n:\"TxtQry\", f:parse_TxtQry },\n\t0x0806: { n:\"Qsir\", f:parse_Qsir },\n\t0x0807: { n:\"Qsif\", f:parse_Qsif },\n\t0x0808: { n:\"RRDTQSIF\", f:parse_RRDTQSIF },\n\t0x0809: { n:'BOF', f:parse_BOF },\n\t0x080a: { n:\"OleDbConn\", f:parse_OleDbConn },\n\t0x080b: { n:\"WOpt\", f:parse_WOpt },\n\t0x080c: { n:\"SXViewEx\", f:parse_SXViewEx },\n\t0x080d: { n:\"SXTH\", f:parse_SXTH },\n\t0x080e: { n:\"SXPIEx\", f:parse_SXPIEx },\n\t0x080f: { n:\"SXVDTEx\", f:parse_SXVDTEx },\n\t0x0810: { n:\"SXViewEx9\", f:parse_SXViewEx9 },\n\t0x0812: { n:\"ContinueFrt\", f:parse_ContinueFrt },\n\t0x0813: { n:\"RealTimeData\", f:parse_RealTimeData },\n\t0x0850: { n:\"ChartFrtInfo\", f:parse_ChartFrtInfo },\n\t0x0851: { n:\"FrtWrapper\", f:parse_FrtWrapper },\n\t0x0852: { n:\"StartBlock\", f:parse_StartBlock },\n\t0x0853: { n:\"EndBlock\", f:parse_EndBlock },\n\t0x0854: { n:\"StartObject\", f:parse_StartObject },\n\t0x0855: { n:\"EndObject\", f:parse_EndObject },\n\t0x0856: { n:\"CatLab\", f:parse_CatLab },\n\t0x0857: { n:\"YMult\", f:parse_YMult },\n\t0x0858: { n:\"SXViewLink\", f:parse_SXViewLink },\n\t0x0859: { n:\"PivotChartBits\", f:parse_PivotChartBits },\n\t0x085a: { n:\"FrtFontList\", f:parse_FrtFontList },\n\t0x0862: { n:\"SheetExt\", f:parse_SheetExt },\n\t0x0863: { n:\"BookExt\", f:parse_BookExt, r:12},\n\t0x0864: { n:\"SXAddl\", f:parse_SXAddl },\n\t0x0865: { n:\"CrErr\", f:parse_CrErr },\n\t0x0866: { n:\"HFPicture\", f:parse_HFPicture },\n\t0x0867: { n:'FeatHdr', f:parse_FeatHdr },\n\t0x0868: { n:\"Feat\", f:parse_Feat },\n\t0x086a: { n:\"DataLabExt\", f:parse_DataLabExt },\n\t0x086b: { n:\"DataLabExtContents\", f:parse_DataLabExtContents },\n\t0x086c: { n:\"CellWatch\", f:parse_CellWatch },\n\t0x0871: { n:\"FeatHdr11\", f:parse_FeatHdr11 },\n\t0x0872: { n:\"Feature11\", f:parse_Feature11 },\n\t0x0874: { n:\"DropDownObjIds\", f:parse_DropDownObjIds },\n\t0x0875: { n:\"ContinueFrt11\", f:parse_ContinueFrt11 },\n\t0x0876: { n:\"DConn\", f:parse_DConn },\n\t0x0877: { n:\"List12\", f:parse_List12 },\n\t0x0878: { n:\"Feature12\", f:parse_Feature12 },\n\t0x0879: { n:\"CondFmt12\", f:parse_CondFmt12 },\n\t0x087a: { n:\"CF12\", f:parse_CF12 },\n\t0x087b: { n:\"CFEx\", f:parse_CFEx },\n\t0x087c: { n:\"XFCRC\", f:parse_XFCRC, r:12 },\n\t0x087d: { n:\"XFExt\", f:parse_XFExt, r:12 },\n\t0x087e: { n:\"AutoFilter12\", f:parse_AutoFilter12 },\n\t0x087f: { n:\"ContinueFrt12\", f:parse_ContinueFrt12 },\n\t0x0884: { n:\"MDTInfo\", f:parse_MDTInfo },\n\t0x0885: { n:\"MDXStr\", f:parse_MDXStr },\n\t0x0886: { n:\"MDXTuple\", f:parse_MDXTuple },\n\t0x0887: { n:\"MDXSet\", f:parse_MDXSet },\n\t0x0888: { n:\"MDXProp\", f:parse_MDXProp },\n\t0x0889: { n:\"MDXKPI\", f:parse_MDXKPI },\n\t0x088a: { n:\"MDB\", f:parse_MDB },\n\t0x088b: { n:\"PLV\", f:parse_PLV },\n\t0x088c: { n:\"Compat12\", f:parse_Compat12, r:12 },\n\t0x088d: { n:\"DXF\", f:parse_DXF },\n\t0x088e: { n:\"TableStyles\", f:parse_TableStyles, r:12 },\n\t0x088f: { n:\"TableStyle\", f:parse_TableStyle },\n\t0x0890: { n:\"TableStyleElement\", f:parse_TableStyleElement },\n\t0x0892: { n:\"StyleExt\", f:parse_StyleExt },\n\t0x0893: { n:\"NamePublish\", f:parse_NamePublish },\n\t0x0894: { n:\"NameCmt\", f:parse_NameCmt },\n\t0x0895: { n:\"SortData\", f:parse_SortData },\n\t0x0896: { n:\"Theme\", f:parse_Theme, r:12 },\n\t0x0897: { n:\"GUIDTypeLib\", f:parse_GUIDTypeLib },\n\t0x0898: { n:\"FnGrp12\", f:parse_FnGrp12 },\n\t0x0899: { n:\"NameFnGrp12\", f:parse_NameFnGrp12 },\n\t0x089a: { n:\"MTRSettings\", f:parse_MTRSettings, r:12 },\n\t0x089b: { n:\"CompressPictures\", f:parse_CompressPictures },\n\t0x089c: { n:\"HeaderFooter\", f:parse_HeaderFooter },\n\t0x089d: { n:\"CrtLayout12\", f:parse_CrtLayout12 },\n\t0x089e: { n:\"CrtMlFrt\", f:parse_CrtMlFrt },\n\t0x089f: { n:\"CrtMlFrtContinue\", f:parse_CrtMlFrtContinue },\n\t0x08a3: { n:\"ForceFullCalculation\", f:parse_ForceFullCalculation },\n\t0x08a4: { n:\"ShapePropsStream\", f:parse_ShapePropsStream },\n\t0x08a5: { n:\"TextPropsStream\", f:parse_TextPropsStream },\n\t0x08a6: { n:\"RichTextStream\", f:parse_RichTextStream },\n\t0x08a7: { n:\"CrtLayout12A\", f:parse_CrtLayout12A },\n\t0x1001: { n:\"Units\", f:parse_Units },\n\t0x1002: { n:\"Chart\", f:parse_Chart },\n\t0x1003: { n:\"Series\", f:parse_Series },\n\t0x1006: { n:\"DataFormat\", f:parse_DataFormat },\n\t0x1007: { n:\"LineFormat\", f:parse_LineFormat },\n\t0x1009: { n:\"MarkerFormat\", f:parse_MarkerFormat },\n\t0x100a: { n:\"AreaFormat\", f:parse_AreaFormat },\n\t0x100b: { n:\"PieFormat\", f:parse_PieFormat },\n\t0x100c: { n:\"AttachedLabel\", f:parse_AttachedLabel },\n\t0x100d: { n:\"SeriesText\", f:parse_SeriesText },\n\t0x1014: { n:\"ChartFormat\", f:parse_ChartFormat },\n\t0x1015: { n:\"Legend\", f:parse_Legend },\n\t0x1016: { n:\"SeriesList\", f:parse_SeriesList },\n\t0x1017: { n:\"Bar\", f:parse_Bar },\n\t0x1018: { n:\"Line\", f:parse_Line },\n\t0x1019: { n:\"Pie\", f:parse_Pie },\n\t0x101a: { n:\"Area\", f:parse_Area },\n\t0x101b: { n:\"Scatter\", f:parse_Scatter },\n\t0x101c: { n:\"CrtLine\", f:parse_CrtLine },\n\t0x101d: { n:\"Axis\", f:parse_Axis },\n\t0x101e: { n:\"Tick\", f:parse_Tick },\n\t0x101f: { n:\"ValueRange\", f:parse_ValueRange },\n\t0x1020: { n:\"CatSerRange\", f:parse_CatSerRange },\n\t0x1021: { n:\"AxisLine\", f:parse_AxisLine },\n\t0x1022: { n:\"CrtLink\", f:parse_CrtLink },\n\t0x1024: { n:\"DefaultText\", f:parse_DefaultText },\n\t0x1025: { n:\"Text\", f:parse_Text },\n\t0x1026: { n:\"FontX\", f:parse_FontX },\n\t0x1027: { n:\"ObjectLink\", f:parse_ObjectLink },\n\t0x1032: { n:\"Frame\", f:parse_Frame },\n\t0x1033: { n:\"Begin\", f:parse_Begin },\n\t0x1034: { n:\"End\", f:parse_End },\n\t0x1035: { n:\"PlotArea\", f:parse_PlotArea },\n\t0x103a: { n:\"Chart3d\", f:parse_Chart3d },\n\t0x103c: { n:\"PicF\", f:parse_PicF },\n\t0x103d: { n:\"DropBar\", f:parse_DropBar },\n\t0x103e: { n:\"Radar\", f:parse_Radar },\n\t0x103f: { n:\"Surf\", f:parse_Surf },\n\t0x1040: { n:\"RadarArea\", f:parse_RadarArea },\n\t0x1041: { n:\"AxisParent\", f:parse_AxisParent },\n\t0x1043: { n:\"LegendException\", f:parse_LegendException },\n\t0x1044: { n:\"ShtProps\", f:parse_ShtProps },\n\t0x1045: { n:\"SerToCrt\", f:parse_SerToCrt },\n\t0x1046: { n:\"AxesUsed\", f:parse_AxesUsed },\n\t0x1048: { n:\"SBaseRef\", f:parse_SBaseRef },\n\t0x104a: { n:\"SerParent\", f:parse_SerParent },\n\t0x104b: { n:\"SerAuxTrend\", f:parse_SerAuxTrend },\n\t0x104e: { n:\"IFmtRecord\", f:parse_IFmtRecord },\n\t0x104f: { n:\"Pos\", f:parse_Pos },\n\t0x1050: { n:\"AlRuns\", f:parse_AlRuns },\n\t0x1051: { n:\"BRAI\", f:parse_BRAI },\n\t0x105b: { n:\"SerAuxErrBar\", f:parse_SerAuxErrBar },\n\t0x105c: { n:\"ClrtClient\", f:parse_ClrtClient },\n\t0x105d: { n:\"SerFmt\", f:parse_SerFmt },\n\t0x105f: { n:\"Chart3DBarShape\", f:parse_Chart3DBarShape },\n\t0x1060: { n:\"Fbi\", f:parse_Fbi },\n\t0x1061: { n:\"BopPop\", f:parse_BopPop },\n\t0x1062: { n:\"AxcExt\", f:parse_AxcExt },\n\t0x1063: { n:\"Dat\", f:parse_Dat },\n\t0x1064: { n:\"PlotGrowth\", f:parse_PlotGrowth },\n\t0x1065: { n:\"SIIndex\", f:parse_SIIndex },\n\t0x1066: { n:\"GelFrame\", f:parse_GelFrame },\n\t0x1067: { n:\"BopPopCustom\", f:parse_BopPopCustom },\n\t0x1068: { n:\"Fbi2\", f:parse_Fbi2 },\n\n\t/* These are specified in an older version of the spec */\n\t0x0016: { n:\"ExternCount\", f:parsenoop },\n\t0x007e: { n:\"RK\", f:parsenoop }, /* Not necessarily same as 0x027e */\n\t0x007f: { n:\"ImData\", f:parsenoop },\n\t0x0087: { n:\"Addin\", f:parsenoop },\n\t0x0088: { n:\"Edg\", f:parsenoop },\n\t0x0089: { n:\"Pub\", f:parsenoop },\n\t0x0091: { n:\"Sub\", f:parsenoop },\n\t0x0094: { n:\"LHRecord\", f:parsenoop },\n\t0x0095: { n:\"LHNGraph\", f:parsenoop },\n\t0x0096: { n:\"Sound\", f:parsenoop },\n\t0x00a9: { n:\"CoordList\", f:parsenoop },\n\t0x00ab: { n:\"GCW\", f:parsenoop },\n\t0x00bc: { n:\"ShrFmla\", f:parsenoop }, /* Not necessarily same as 0x04bc */\n\t0x00c2: { n:\"AddMenu\", f:parsenoop },\n\t0x00c3: { n:\"DelMenu\", f:parsenoop },\n\t0x00d6: { n:\"RString\", f:parsenoop },\n\t0x00df: { n:\"UDDesc\", f:parsenoop },\n\t0x00ea: { n:\"TabIdConf\", f:parsenoop },\n\t0x0162: { n:\"XL5Modify\", f:parsenoop },\n\t0x01a5: { n:\"FileSharing2\", f:parsenoop },\n\t0x0218: { n:\"Name\", f:parsenoop },\n\t0x0223: { n:\"ExternName\", f:parse_ExternName },\n\t0x0231: { n:\"Font\", f:parsenoop },\n\t0x0406: { n:\"Formula\", f:parse_Formula },\n\t0x086d: { n:\"FeatInfo\", f:parsenoop },\n\t0x0873: { n:\"FeatInfo11\", f:parsenoop },\n\t0x0881: { n:\"SXAddl12\", f:parsenoop },\n\t0x08c0: { n:\"AutoWebPub\", f:parsenoop },\n\t0x08c1: { n:\"ListObj\", f:parsenoop },\n\t0x08c2: { n:\"ListField\", f:parsenoop },\n\t0x08c3: { n:\"ListDV\", f:parsenoop },\n\t0x08c4: { n:\"ListCondFmt\", f:parsenoop },\n\t0x08c5: { n:\"ListCF\", f:parsenoop },\n\t0x08c6: { n:\"FMQry\", f:parsenoop },\n\t0x08c7: { n:\"FMSQry\", f:parsenoop },\n\t0x08c8: { n:\"PLV\", f:parsenoop }, /* supposedly PLV for Excel 11 */\n\t0x08c9: { n:\"LnExt\", f:parsenoop },\n\t0x08ca: { n:\"MkrExt\", f:parsenoop },\n\t0x08cb: { n:\"CrtCoopt\", f:parsenoop },\n\n\t0x0000: {}\n};\n\n\n/* Helper function to call out to ODS parser */\nfunction parse_ods(zip, opts) {\n\tif(typeof module !== \"undefined\" && typeof require !== 'undefined' && typeof ODS === 'undefined') ODS = require('./od' + 's');\n\tif(typeof ODS === 'undefined' || !ODS.parse_ods) throw new Error(\"Unsupported ODS\");\n\treturn ODS.parse_ods(zip, opts);\n}\nfunction fix_opts_func(defaults) {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nvar fix_read_opts = fix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n]);\n\n\nvar fix_write_opts = fix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n]);\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { return [w.name, wbrels['!id'][w.id].Target]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_ws(zip, path, relsPath, sheet, sheetRels, sheets, opts) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipdata(zip, relsPath, true), path);\n\t\tsheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet]);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nvar nodirs = function nodirs(x){return x.substr(-1) != '/';};\nfunction parse_zip(zip, opts) {\n\tmake_ssf(SSF);\n\topts = opts || {};\n\tfix_read_opts(opts);\n\treset_cp();\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\n\tvar entries = keys(zip.files).filter(nodirs).sort();\n\tvar dir = parse_ct(getzipdata(zip, '[Content_Types].xml'), opts);\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipfile(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].substr(-3) == \"bin\") xlsb = true;\n\tif(xlsb) set_cp(1200);\n\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) strs=parse_sst(getzipdata(zip, dir.sst.replace(/^\\//,'')), dir.sst, opts);\n\n\t\tstyles = {};\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, dir.style.replace(/^\\//,'')),dir.style, opts);\n\n\t\tthemes = {};\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipdata(zip, dir.themes[0].replace(/^\\//,''), true),dir.themes[0], opts);\n\t}\n\n\tvar wb = parse_wb(getzipdata(zip, dir.workbooks[0].replace(/^\\//,'')), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length !== 0) {\n\t\tpropdata = getzipdata(zip, dir.coreprops[0].replace(/^\\//,''), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, dir.extprops[0].replace(/^\\//,''), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, dir.custprops[0].replace(/^\\//,''), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = {};\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\telse if(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, dir.calcchain.replace(/^\\//,'')),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = {};\n\tvar path, relsPath;\n\tif(!props.Worksheets) {\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipdata(zip, wbrelsfile, true), wbrelsfile);\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\tfor(i = 0; i != props.Worksheets; ++i) {\n\t\tif(wbrels) path = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\telse {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tsafe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts);\n\t}\n\n\tif(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts);\n\n\tout = {\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: SSF.get_table()\n\t};\n\tif(opts.bookFiles) {\n\t\tout.keys = entries;\n\t\tout.files = zip.files;\n\t}\n\tif(opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,dir.vba[0],true);\n\t\telse if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\nfunction add_rels(rels, rId, f, type, relobj) {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n}\n\nfunction write_zip(wb, opts) {\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = []; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [],\n\t\tcoreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [],\n\t\tTODO:[], rels:[], xmlns: \"\" };\n\tfix_write_opts(opts = opts || {});\n\tvar zip = new jszip();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tf = \"docProps/core.xml\";\n\tzip.file(f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\tf = \"docProps/app.xml\";\n\tif(!wb.Props) wb.Props = {};\n\twb.Props.SheetNames = wb.SheetNames;\n\twb.Props.Worksheets = wb.SheetNames.length;\n\tzip.file(f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip.file(f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip.file(f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\tzip.file(f, write_ws(rId-1, f, opts, wb));\n\t\tct.sheets.push(f);\n\t\tadd_rels(opts.wbrels, rId, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS);\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip.file(f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, ++rId, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip.file(f, write_theme());\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, ++rId, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip.file(f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, ++rId, \"styles.\" + wbext, RELS.STY);\n\n\tzip.file(\"[Content_Types].xml\", write_ct(ct, opts));\n\tzip.file('_rels/.rels', write_rels(opts.rels));\n\tzip.file('xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\treturn zip;\n}\nfunction firstbyte(f,o) {\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return f[0];\n\t\tcase 'base64': return Base64.decode(f.substr(0,12)).charCodeAt(0);\n\t\tcase 'binary': return f.charCodeAt(0);\n\t\tcase 'array': return f[0];\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n}\n\nfunction read_zip(data, opts) {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tswitch(o.type) {\n\t\tcase \"base64\": zip = new jszip(d, { base64:true }); break;\n\t\tcase \"binary\": case \"array\": zip = new jszip(d, { base64:false }); break;\n\t\tcase \"buffer\": zip = new jszip(d); break;\n\t\tcase \"file\": zip=new jszip(d=_fs.readFileSync(data)); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn parse_zip(zip, o);\n}\n\nfunction readSync(data, opts) {\n\tvar zip, d = data, isfile = false, n;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { isfile = true; o.type = \"buffer\"; d = _fs.readFileSync(data); }\n\tswitch((n = firstbyte(d, o))) {\n\t\tcase 0xD0:\n\t\t\tif(isfile) o.type = \"file\";\n\t\t\treturn parse_xlscfb(CFB.read(data, o), o);\n\t\tcase 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(data) : data), o);\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x50:\n\t\t\tif(isfile) o.type = \"file\";\n\t\t\treturn read_zip(data, opts);\n\t\tdefault: throw new Error(\"Unsupported file \" + n);\n\t}\n}\n\nfunction readFileSync(data, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(data, o);\n}\nfunction write_zip_type(wb, opts) {\n\tvar o = opts||{};\n\tvar z = write_zip(wb, o);\n\tswitch(o.type) {\n\t\tcase \"base64\": return z.generate({type:\"base64\"});\n\t\tcase \"binary\": return z.generate({type:\"string\"});\n\t\tcase \"buffer\": return z.generate({type:\"nodebuffer\"});\n\t\tcase \"file\": return _fs.writeFileSync(o.file, z.generate({type:\"nodebuffer\"}));\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n}\n\nfunction writeSync(wb, opts) {\n\tvar o = opts||{};\n\tswitch(o.bookType) {\n\t\tcase 'xml': return write_xlml(wb, o);\n\t\tdefault: return write_zip_type(wb, o);\n\t}\n}\n\nfunction writeFileSync(wb, filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tswitch(o.file.substr(-5).toLowerCase()) {\n\t\tcase '.xlsx': o.bookType = 'xlsx'; break;\n\t\tcase '.xlsm': o.bookType = 'xlsm'; break;\n\t\tcase '.xlsb': o.bookType = 'xlsb'; break;\n\tdefault: switch(o.file.substr(-4).toLowerCase()) {\n\t\tcase '.xls': o.bookType = 'xls'; break;\n\t\tcase '.xml': o.bookType = 'xml'; break;\n\t}}\n\treturn writeSync(wb, o);\n}\n\nfunction decode_row(rowstr) { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row) { return \"\" + (row + 1); }\nfunction fix_row(cstr) { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr) { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr) { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col) { var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr) { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr) { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr) { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\nfunction decode_cell(cstr) { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction encode_cell(cell) { return encode_col(cell.c) + encode_row(cell.r); }\nfunction fix_cell(cstr) { return fix_col(fix_row(cstr)); }\nfunction unfix_cell(cstr) { return unfix_col(unfix_row(cstr)); }\nfunction decode_range(range) { var x =range.split(\":\").map(decode_cell); return {s:x[0],e:x[x.length-1]}; }\nfunction encode_range(cs,ce) {\n\tif(ce === undefined || typeof ce === 'number') return encode_range(cs.s, cs.e);\n\tif(typeof cs !== 'string') cs = encode_cell(cs); if(typeof ce !== 'string') ce = encode_cell(ce);\n\treturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range) {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || range.charCodeAt(++i) === 58) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell, v) {\n\tif(cell.z !== undefined) try { return (cell.w = SSF.format(cell.z, v)); } catch(e) { }\n\tif(!cell.XF) return v;\n\ttry { return (cell.w = SSF.format(cell.XF.ifmt||0, v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell, v) {\n\tif(cell == null || cell.t == null) return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(v === undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_json(sheet, opts){\n\tvar val, row, range, header = 0, offset = 1, r, hdr = [], isempty, R, C, v;\n\tvar o = opts != null ? opts : {};\n\tvar raw = o.raw;\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\trange = o.range !== undefined ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols = new Array(r.e.c-r.s.c+1);\n\tvar out = new Array(r.e.r-r.s.r-offset+1);\n\tvar outi = 0;\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tcols[C] = encode_col(C);\n\t\tval = sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val === undefined) continue;\n\t\t\t\thdr[C] = format_cell(val);\n\t\t}\n\t}\n\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tisempty = true;\n\t\tif(header === 1) row = [];\n\t\telse {\n\t\t\trow = {};\n\t\t\tif(Object.defineProperty) Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false});\n\t\t\telse row.__rowNum__ = R;\n\t\t}\n\t\tfor (C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tval = sheet[cols[C] + rr];\n\t\t\tif(val === undefined || val.t === undefined) continue;\n\t\t\tv = val.v;\n\t\t\tswitch(val.t){\n\t\t\t\tcase 'e': continue;\n\t\t\t\tcase 's': break;\n\t\t\t\tcase 'b': case 'n': break;\n\t\t\t\tdefault: throw 'unrecognized type ' + val.t;\n\t\t\t}\n\t\t\tif(v !== undefined) {\n\t\t\t\trow[hdr[C]] = raw ? v : format_cell(val,v);\n\t\t\t\tisempty = false;\n\t\t\t}\n\t\t}\n\t\tif(isempty === false || header === 1) out[outi++] = row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nfunction sheet_to_row_object_array(sheet, opts) { return sheet_to_json(sheet, opts != null ? opts : {}); }\n\nfunction sheet_to_csv(sheet, opts) {\n\tvar out = \"\", txt = \"\", qreg = /\"/g;\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar row = \"\", rr = \"\", cols = [];\n\tvar i = 0, cc = 0, val;\n\tvar R = 0, C = 0;\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = r.s.r; R <= r.e.r; ++R) {\n\t\trow = \"\";\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tval = sheet[cols[C] + rr];\n\t\t\ttxt = val !== undefined ? ''+format_cell(val) : \"\";\n\t\t\tfor(i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34) {\n\t\t\t\ttxt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\trow += (C === r.s.c ? \"\" : FS) + txt;\n\t\t}\n\t\tout += row + RS;\n\t}\n\treturn out;\n}\nvar make_csv = sheet_to_csv;\n\nfunction sheet_to_formulae(sheet) {\n\tvar cmds, y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols = [], C;\n\tcmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));\n\tvar i = 0;\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[i++] = y + \"=\" + val;\n\t\t}\n\t}\n\tcmds.length = i;\n\treturn cmds;\n}\n\nvar utils = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tget_formulae: sheet_to_formulae,\n\tmake_csv: sheet_to_csv,\n\tmake_json: sheet_to_json,\n\tmake_formulae: sheet_to_formulae,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_row_object_array\n};\nXLSX.parse_xlscfb = parse_xlscfb;\nXLSX.parse_zip = parse_zip;\nXLSX.read = readSync; //xlsread\nXLSX.readFile = readFileSync; //readFile\nXLSX.readFileSync = readFileSync;\nXLSX.write = writeSync;\nXLSX.writeFile = writeFileSync;\nXLSX.writeFileSync = writeFileSync;\nXLSX.utils = utils;\nXLSX.CFB = CFB;\nXLSX.SSF = SSF;\n})(typeof exports !== 'undefined' ? exports : XLSX);\nvar XLS = XLSX;\n$tw.utils.extend(old_exports,exports);exports = old_exports;module.exports=exports;",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/xlsx-utils/xlsx.js",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/dist/cpexcel.js": {
            "text": "if($tw.browser){Buffer = undefined;};/* cpexcel.js (C) 2013-2014 SheetJS -- http://sheetjs.com */\n/*jshint -W100 */\nvar cptable = {version:\"1.3.7\"};\ncptable[874] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[932] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[135] = \"����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[224] = \"����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[237] = \"����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[250] = \"����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[936] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nD[254] = \"����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[254].length; ++j) if(D[254][j].charCodeAt(0) !== 0xFFFD) { e[D[254][j]] = 65024 + j; d[65024 + j] = D[254][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[949] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆÐªĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[950] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[201] = \"����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[1250] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1251] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1252] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1253] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1254] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1255] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1256] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1257] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1258] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10000] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10006] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10007] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10029] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10079] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10081] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d[i]] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\nif (typeof module !== 'undefined' && module.exports) module.exports = cptable;\n/* cputils.js (C) 2013-2014 SheetJS -- http://sheetjs.com */\n/*jshint newcap: false */\n(function(root, factory){\n  \"use strict\";\n  if(typeof cptable === \"undefined\") {\n    if(typeof require !== \"undefined\"){\n      var cpt = require('./cpt' + 'able');\n      if (typeof module !== 'undefined' && module.exports) module.exports = factory(cpt);\n      else root.cptable = factory(cpt);\n    } else throw new Error(\"cptable not found\");\n  } else cptable = factory(cptable);\n}(this, function(cpt){\n  \"use strict\";\n  var magic = {\n    \"1200\":\"utf16le\",\n    \"1201\":\"utf16be\",\n    \"12000\":\"utf32le\",\n    \"12001\":\"utf32be\",\n    \"16969\":\"utf64le\",\n    \"20127\":\"ascii\",\n    \"65000\":\"utf7\",\n    \"65001\":\"utf8\"\n  };\n\n  var sbcs_cache = [874,1250,1251,1252,1253,1254,1255,1256,10000];\n  var dbcs_cache = [932,936,949,950];\n  var magic_cache = [65001];\n  var magic_decode = {};\n  var magic_encode = {};\n  var cpecache = {};\n  var cpdcache = {};\n\n  var sfcc = function sfcc(x) { return String.fromCharCode(x); };\n  var cca = function cca(x){ return x.charCodeAt(0); };\n\n  var has_buf = (typeof Buffer !== 'undefined');\n  if(has_buf) {\n    var mdl = 1024, mdb = new Buffer(mdl);\n    var make_EE = function make_EE(E){\n      var EE = new Buffer(65536);\n      for(var i = 0; i < 65536;++i) EE[i] = 0;\n      var keys = Object.keys(E), len = keys.length;\n      for(var ee = 0, e = keys[ee]; ee < len; ++ee) {\n        if(!(e = keys[ee])) continue;\n        EE[e.charCodeAt(0)] = E[e];\n      }\n      return EE;\n    };\n    var sbcs_encode = function make_sbcs_encode(cp) {\n      var EE = make_EE(cpt[cp].enc);\n      return function sbcs_e(data, ofmt) {\n        var len = data.length;\n        var out, i, j, D, w;\n        if(typeof data === 'string') {\n          out = Buffer(len);\n          for(i = 0; i < len; ++i) out[i] = EE[data.charCodeAt(i)];\n        } else if(Buffer.isBuffer(data)) {\n          out = Buffer(2*len);\n          j = 0;\n          for(i = 0; i < len; ++i) {\n            D = data[i];\n            if(D < 128) out[j++] = EE[D];\n            else if(D < 224) { out[j++] = EE[((D&31)<<6)+(data[i+1]&63)]; ++i; }\n            else if(D < 240) { out[j++] = EE[((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63)]; i+=2; }\n            else {\n              w = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3;\n              if(w < 65536) out[j++] = EE[w];\n              else { w -= 65536; out[j++] = EE[0xD800 + ((w>>10)&1023)]; out[j++] = EE[0xDC00 + (w&1023)]; }\n            }\n          }\n          out.length = j;\n          out = out.slice(0,j);\n        } else {\n          out = Buffer(len);\n          for(i = 0; i < len; ++i) out[i] = EE[data[i].charCodeAt(0)];\n        }\n        if(ofmt === undefined || ofmt === 'buf') return out;\n        if(ofmt !== 'arr') return out.toString('binary');\n        return [].slice.call(out);\n      };\n    };\n    var sbcs_decode = function make_sbcs_decode(cp) {\n      var D = cpt[cp].dec;\n      var DD = new Buffer(131072), d=0, c;\n      for(d=0;d<D.length;++d) {\n        if(!(c=D[d])) continue;\n        var w = c.charCodeAt(0);\n        DD[2*d] = w&255; DD[2*d+1] = w>>8;\n      }\n      return function sbcs_d(data) {\n        var len = data.length, i=0, j;\n        if(2 * len > mdl) { mdl = 2 * len; mdb = new Buffer(mdl); }\n        if(Buffer.isBuffer(data)) {\n          for(i = 0; i < len; i++) {\n            j = 2*data[i];\n            mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n          }\n        } else if(typeof data === \"string\") {\n          for(i = 0; i < len; i++) {\n            j = 2*data.charCodeAt(i);\n            mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n          }\n        } else {\n          for(i = 0; i < len; i++) {\n            j = 2*data[i];\n            mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n          }\n        }\n        mdb.length = 2 * len;\n        return mdb.toString('ucs2');\n      };\n    };\n    var dbcs_encode = function make_dbcs_encode(cp) {\n      var E = cpt[cp].enc;\n      var EE = new Buffer(131072);\n      for(var i = 0; i < 131072; ++i) EE[i] = 0;\n      var keys = Object.keys(E);\n      for(var ee = 0, e = keys[ee]; ee < keys.length; ++ee) {\n        if(!(e = keys[ee])) continue;\n        var f = e.charCodeAt(0);\n        EE[2*f] = E[e] & 255; EE[2*f+1] = E[e]>>8;\n      }\n      return function dbcs_e(data, ofmt) {\n        var len = data.length, out = new Buffer(2*len), i, j, jj, k, D;\n        if(typeof data === 'string') {\n          for(i = k = 0; i < len; ++i) {\n            j = data.charCodeAt(i)*2;\n            out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n          }\n          out.length = k;\n          out = out.slice(0,k);\n        } else if(Buffer.isBuffer(data)) {\n          for(i = k = 0; i < len; ++i) {\n            D = data[i];\n            if(D < 128) j = D;\n            else if(D < 224) { j = ((D&31)<<6)+(data[i+1]&63); ++i; }\n            else if(D < 240) { j = ((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63); i+=2; }\n            else { j = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3; }\n            if(j<65536) { j*=2; out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; }\n            else { jj = j-65536;\n              j=2*(0xD800 + ((jj>>10)&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n              j=2*(0xDC00 + (jj&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n            }\n          }\n          out.length = k;\n          out = out.slice(0,k);\n        } else {\n          for(i = k = 0; i < len; i++) {\n            j = data[i].charCodeAt(0)*2;\n            out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n          }\n        }\n        if(ofmt === undefined || ofmt === 'buf') return out;\n        if(ofmt !== 'arr') return out.toString('binary');\n        return [].slice.call(out);\n      };\n    };\n    var dbcs_decode = function make_dbcs_decode(cp) {\n      var D = cpt[cp].dec;\n      var DD = new Buffer(131072), d=0, c, w=0, j=0, i=0;\n      for(i = 0; i < 65536; ++i) { DD[2*i] = 0xFF; DD[2*i+1] = 0xFD;}\n      for(d = 0; d < D.length; ++d) {\n        if(!(c=D[d])) continue;\n        w = c.charCodeAt(0);\n        j = 2*d;\n        DD[j] = w&255; DD[j+1] = w>>8;\n      }\n      return function dbcs_d(data) {\n        var len = data.length, out = new Buffer(2*len), i, j, k=0;\n        if(Buffer.isBuffer(data)) {\n          for(i = 0; i < len; i++) {\n            j = 2*data[i];\n            if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n            out[k++] = DD[j]; out[k++] = DD[j+1];\n          }\n        } else if(typeof data === \"string\") {\n          for(i = 0; i < len; i++) {\n            j = 2*data.charCodeAt(i);\n            if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data.charCodeAt(i)<<8)+data.charCodeAt(i+1)); ++i; }\n            out[k++] = DD[j]; out[k++] = DD[j+1];\n          }\n        } else {\n          for(i = 0; i < len; i++) {\n            j = 2*data[i];\n            if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n            out[k++] = DD[j]; out[k++] = DD[j+1];\n          }\n        }\n        out.length = k;\n        return out.toString('ucs2');\n      };\n    };\n    magic_decode[65001] = function utf8_d(data) {\n      var len = data.length, w = 0, ww = 0;\n      if(4 * len > mdl) { mdl = 4 * len; mdb = new Buffer(mdl); }\n      mdb.length = 0;\n      var i = 0;\n      if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n      for(var j = 1, k = 0, D = 0; i < len; i+=j) {\n        j = 1; D = data[i];\n        if(D < 128) w = D;\n        else if(D < 224) { w=(D&31)*64+(data[i+1]&63); j=2; }\n        else if(D < 240) { w=((D&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n        else { w=(D&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n        if(w < 65536) { mdb[k++] = w&255; mdb[k++] = w>>8; }\n        else {\n          w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n          mdb[k++] = ww&255; mdb[k++] = ww>>>8; mdb[k++] = w&255; mdb[k++] = (w>>>8)&255;\n        }\n      }\n      mdb.length = k;\n      return mdb.toString('ucs2');\n    };\n    magic_encode[65001] = function utf8_e(data, ofmt) {\n      var len = data.length, w = 0, ww = 0, j = 0;\n      var direct = typeof data === \"string\";\n      if(4 * len > mdl) { mdl = 4 * len; mdb = new Buffer(mdl); }\n      for(var i = 0; i < len; ++i) {\n        w = direct ? data.charCodeAt(i) : data[i].charCodeAt(0);\n        if(w <= 0x007F) mdb[j++] = w;\n        else if(w <= 0x07FF) {\n          mdb[j++] = 192 + (w >> 6);\n          mdb[j++] = 128 + (w&63);\n        } else if(w >= 0xD800 && w <= 0xDFFF) {\n          w -= 0xD800; ++i;\n          ww = (direct ? data.charCodeAt(i) : data[i].charCodeAt(0)) - 0xDC00 + (w << 10);\n          mdb[j++] = 240 + ((ww>>>18) & 0x07);\n          mdb[j++] = 144 + ((ww>>>12) & 0x3F);\n          mdb[j++] = 128 + ((ww>>>6) & 0x3F);\n          mdb[j++] = 128 + (ww & 0x3F);\n        } else {\n          mdb[j++] = 224 + (w >> 12);\n          mdb[j++] = 128 + ((w >> 6)&63);\n          mdb[j++] = 128 + (w&63);\n        }\n      }\n      mdb.length = j;\n      if(ofmt === undefined || ofmt === 'buf') return mdb;\n      if(ofmt !== 'arr') return mdb.toString('binary');\n      return [].slice.call(mdb);\n    };\n  }\n\n  var encache = function encache() {\n    if(has_buf) {\n      if(cpdcache[sbcs_cache[0]]) return;\n      var i, s;\n      for(i = 0; i < sbcs_cache.length; ++i) {\n        s = sbcs_cache[i];\n        if(cpt[s]) {\n          cpdcache[s] = sbcs_decode(s);\n          cpecache[s] = sbcs_encode(s);\n        }\n      }\n      for(i = 0; i < dbcs_cache.length; ++i) {\n        s = dbcs_cache[i];\n        if(cpt[s]) {\n          cpdcache[s] = dbcs_decode(s);\n          cpecache[s] = dbcs_encode(s);\n        }\n      }\n      for(i = 0; i < magic_cache.length; ++i) {\n        s = magic_cache[i];\n        if(magic_decode[s]) cpdcache[s] = magic_decode[s];\n        if(magic_encode[s]) cpecache[s] = magic_encode[s];\n      }\n    }\n  };\n  var cp_decache = function cp_decache(cp) { cpdcache[cp] = cpecache[cp] = undefined; };\n  var decache = function decache() {\n    if(has_buf) {\n      if(!cpdcache[sbcs_cache[0]]) return;\n      sbcs_cache.forEach(cp_decache);\n      dbcs_cache.forEach(cp_decache);\n      magic_cache.forEach(cp_decache);\n    }\n    last_enc = last_cp = undefined;\n  };\n  var cache = {\n    encache: encache,\n    decache: decache,\n    sbcs: sbcs_cache,\n    dbcs: dbcs_cache\n  };\n\n  encache();\n\n  var BM = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n  var SetD = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?\";\n  var last_enc, last_cp;\n  var encode = function encode(cp, data, ofmt) {\n    if(cp === last_cp) { return last_enc(data, ofmt); }\n    if(cpecache[cp] !== undefined) { last_enc = cpecache[last_cp=cp]; return last_enc(data, ofmt); }\n    if(has_buf && Buffer.isBuffer(data)) data = data.toString('utf8');\n    var len = data.length;\n    var out = has_buf ? new Buffer(4*len) : [], w, i, j = 0, c, tt, ww;\n    var C = cpt[cp], E, M;\n    if(C && (E=C.enc)) for(i = 0; i < len; ++i, ++j) {\n      w = E[data[i]];\n      out[j] = w&255;\n      if(w > 255) {\n        out[j] = w>>8;\n        out[++j] = w&255;\n      }\n    }\n    else if((M=magic[cp])) switch(M) {\n      case \"utf8\":\n        if(has_buf && typeof data === \"string\") { out = new Buffer(data, M); j = out.length; break; }\n        for(i = 0; i < len; ++i, ++j) {\n          w = data[i].charCodeAt(0);\n          if(w <= 0x007F) out[j] = w;\n          else if(w <= 0x07FF) {\n            out[j]   = 192 + (w >> 6);\n            out[++j] = 128 + (w&63);\n          } else if(w >= 0xD800 && w <= 0xDFFF) {\n            w -= 0xD800;\n            ww = data[++i].charCodeAt(0) - 0xDC00 + (w << 10);\n            out[j]   = 240 + ((ww>>>18) & 0x07);\n            out[++j] = 144 + ((ww>>>12) & 0x3F);\n            out[++j] = 128 + ((ww>>>6) & 0x3F);\n            out[++j] = 128 + (ww & 0x3F);\n          } else {\n            out[j]   = 224 + (w >> 12);\n            out[++j] = 128 + ((w >> 6)&63);\n            out[++j] = 128 + (w&63);\n          }\n        }\n        break;\n      case \"ascii\":\n        if(has_buf && typeof data === \"string\") { out = new Buffer(data, M); j = out.length; break; }\n        for(i = 0; i < len; ++i, ++j) {\n          w = data[i].charCodeAt(0);\n          if(w <= 0x007F) out[j] = w;\n          else throw new Error(\"bad ascii \" + w);\n        }\n        break;\n      case \"utf16le\":\n        if(has_buf && typeof data === \"string\") { out = new Buffer(data, M); j = out.length; break; }\n        for(i = 0; i < len; ++i) {\n          w = data[i].charCodeAt(0);\n          out[j++] = w&255;\n          out[j++] = w>>8;\n        }\n        break;\n      case \"utf16be\":\n        for(i = 0; i < len; ++i) {\n          w = data[i].charCodeAt(0);\n          out[j++] = w>>8;\n          out[j++] = w&255;\n        }\n        break;\n      case \"utf32le\":\n        for(i = 0; i < len; ++i) {\n          w = data[i].charCodeAt(0);\n          if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n          out[j++] = w&255; w >>= 8;\n          out[j++] = w&255; w >>= 8;\n          out[j++] = w&255; w >>= 8;\n          out[j++] = w&255;\n        }\n        break;\n      case \"utf32be\":\n        for(i = 0; i < len; ++i) {\n          w = data[i].charCodeAt(0);\n          if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n          out[j+3] = w&255; w >>= 8;\n          out[j+2] = w&255; w >>= 8;\n          out[j+1] = w&255; w >>= 8;\n          out[j] = w&255; w >>= 8;\n          j+=4;\n        }\n        break;\n      case \"utf7\":\n        for(i = 0; i < len; i++) {\n          c = data[i];\n          if(c === \"+\") { out[j++] = 0x2b; out[j++] = 0x2d; continue; }\n          if(SetD.indexOf(c) > -1) { out[j++] = c.charCodeAt(0); continue; }\n          tt = encode(1201, c);\n          out[j++] = 0x2b;\n          out[j++] = BM.charCodeAt(tt[0]>>2);\n          out[j++] = BM.charCodeAt(((tt[0]&0x03)<<4) + ((tt[1]||0)>>4));\n          out[j++] = BM.charCodeAt(((tt[1]&0x0F)<<2) + ((tt[2]||0)>>6));\n          out[j++] = 0x2d;\n        }\n        break;\n      default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n    }\n    else throw new Error(\"Unrecognized CP: \" + cp);\n    out.length = j;\n    out = out.slice(0,j);\n    if(typeof Buffer === 'undefined') return (ofmt == 'str') ? out.map(sfcc).join(\"\") : out;\n    if(ofmt === undefined || ofmt === 'buf') return out;\n    if(ofmt !== 'arr') return out.toString('binary');\n    return [].slice.call(out);\n  };\n  var decode = function decode(cp, data) {\n    var F; if((F=cpdcache[cp])) return F(data);\n    var len = data.length, out = new Array(len), w, i, j = 1, k = 0, ww;\n    var C = cpt[cp], D, M;\n    if(C && (D=C.dec)) {\n      if(typeof data === \"string\") data = data.split(\"\").map(cca);\n      for(i = 0; i < len; i+=j) {\n        j = 2;\n        w = D[(data[i]<<8)+ data[i+1]];\n        if(!w) {\n          j = 1;\n          w = D[data[i]];\n        }\n        if(!w) throw new Error('Unrecognized code: ' + data[i] + ' ' + data[i+j-1] + ' ' + i + ' ' + j + ' ' + D[data[i]]);\n        out[k++] = w;\n      }\n    }\n    else if((M=magic[cp])) switch(M) {\n      case \"utf8\":\n        i = 0;\n        if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n        for(; i < len; i+=j) {\n          j = 1;\n          if(data[i] < 128) w = data[i];\n          else if(data[i] < 224) { w=(data[i]&31)*64+(data[i+1]&63); j=2; }\n          else if(data[i] < 240) { w=((data[i]&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n          else { w=(data[i]&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n          if(w < 65536) { out[k++] = String.fromCharCode(w); }\n          else {\n            w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n            out[k++] = String.fromCharCode(ww); out[k++] = String.fromCharCode(w);\n          }\n        }\n        break;\n      case \"ascii\":\n        if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n        for(i = 0; i < len; i++) out[i] = String.fromCharCode(data[i]);\n        k = len; break;\n      case \"utf16le\":\n        i = 0;\n        if(len >= 2 && data[0] == 0xFF) if(data[1] == 0xFE) i = 2;\n        if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n        j = 2;\n        for(; i < len; i+=j) {\n          out[k++] = String.fromCharCode((data[i+1]<<8) + data[i]);\n        }\n        break;\n      case \"utf16be\":\n        i = 0;\n        if(len >= 2 && data[0] == 0xFE) if(data[1] == 0xFF) i = 2;\n        j = 2;\n        for(; i < len; i+=j) {\n          out[k++] = String.fromCharCode((data[i]<<8) + data[i+1]);\n        }\n        break;\n      case \"utf32le\":\n        i = 0;\n        if(len >= 4 && data[0] == 0xFF) if(data[1] == 0xFE && data[2] == 0 && data[3] == 0) i = 4;\n        j = 4;\n        for(; i < len; i+=j) {\n          w = (data[i+3]<<24) + (data[i+2]<<16) + (data[i+1]<<8) + (data[i]);\n          if(w > 0xFFFF) {\n            w -= 0x10000;\n            out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n            out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n          }\n          else out[k++] = String.fromCharCode(w);\n        }\n        break;\n      case \"utf32be\":\n        i = 0;\n        if(len >= 4 && data[3] == 0xFF) if(data[2] == 0xFE && data[1] == 0 && data[0] == 0) i = 4;\n        j = 4;\n        for(; i < len; i+=j) {\n          w = (data[i]<<24) + (data[i+1]<<16) + (data[i+2]<<8) + (data[i+3]);\n          if(w > 0xFFFF) {\n            w -= 0x10000;\n            out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n            out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n          }\n          else out[k++] = String.fromCharCode(w);\n        }\n        break;\n      case \"utf7\":\n        i = 0;\n        if(len >= 4 && data[0] == 0x2B && data[1] == 0x2F && data[2] == 0x76) {\n          if(len >= 5 && data[3] == 0x38 && data[4] == 0x2D) i = 5;\n          else if(data[3] == 0x38 || data[3] == 0x39 || data[3] == 0x2B || data[3] == 0x2F) i = 4;\n        }\n        for(; i < len; i+=j) {\n          if(data[i] !== 0x2b) { j=1; out[k++] = String.fromCharCode(data[i]); continue; }\n          j=1;\n          if(data[i+1] === 0x2d) { j = 2; out[k++] = \"+\"; continue; }\n          while(String.fromCharCode(data[i+j]).match(/[A-Za-z0-9+\\/]/)) j++;\n          var dash = 0;\n          if(data[i+j] === 0x2d) { ++j; dash=1; }\n          var tt = [];\n          var o64;\n          var c1, c2, c3;\n          var e1, e2, e3, e4;\n          for(var l = 1; l < j - dash;) {\n            e1 = BM.indexOf(String.fromCharCode(data[i+l++]));\n            e2 = BM.indexOf(String.fromCharCode(data[i+l++]));\n            c1 = e1 << 2 | e2 >> 4;\n            tt.push(c1);\n            e3 = BM.indexOf(String.fromCharCode(data[i+l++]));\n            if(e3 === -1) break;\n            c2 = (e2 & 15) << 4 | e3 >> 2;\n            tt.push(c2);\n            e4 = BM.indexOf(String.fromCharCode(data[i+l++]));\n            if(e4 === -1) break;\n            c3 = (e3 & 3) << 6 | e4;\n            if(e4 < 64) tt.push(c3);\n          }\n          if((tt.length & 1) === 1) tt.length--;\n          o64 = decode(1201, tt);\n          for(l = 0; l < o64.length; ++l) out[k++] = o64[l];\n        }\n        break;\n      default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n    }\n    else throw new Error(\"Unrecognized CP: \" + cp);\n    out.length = k;\n    return out.join(\"\");\n  };\n  var hascp = function hascp(cp) { return cpt[cp] || magic[cp]; };\n  cpt.utils = { decode: decode, encode: encode, hascp: hascp, magic: magic, cache:cache };\n  return cpt;\n}));\n",
            "type": "application/javascript",
            "title": "$:/plugins/tiddlywiki/xlsx-utils/dist/cpexcel.js",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/license": {
            "text": "Copyright (C) 2012-2015  SheetJS\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\nExcept where noted, this license applies to any and all software programs and associated documentation files created by the Original Author and distributed with the Software:\n\n'jszip.js' is a modified version of JSZip, Copyright (c) Stuart Knightley, David Duponchel, Franz Buchinger, Ant'onio Afonso.  JSZip is dual licensed and is used according to the terms of the MIT License.\n",
            "type": "text/plain",
            "title": "$:/plugins/tiddlywiki/xlsx-utils/license"
        },
        "$:/language/Help/xlsx-import": {
            "title": "$:/language/Help/xlsx-import",
            "description": "Import tiddlers from an XLSX spreadsheet file",
            "text": "Imports tiddlers from an XLSX spreadsheet file\n\n```\n--xlsx-import <filename> <importSpec>\n```\n\n* ''filename'': filename of the `.xlsx` file\n* ''title'': title of the import specification tiddler to be used for the import"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/importer.js": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/importer.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/xlsx-utils/importer.js\ntype: application/javascript\nmodule-type: library\n\nClass to import an Excel file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_IMPORT_SPEC_TITLE = \"$:/config/plugins/tiddlywiki/xlsx-utils/default-import-spec\";\n\nvar XLSX = require(\"$:/plugins/tiddlywiki/xlsx-utils/xlsx.js\"),\n\tJSZip = require(\"$:/plugins/tiddlywiki/jszip/jszip.js\");\n\nvar XLSXImporter = function(options) {\n\tthis.filename = options.filename;\n\tthis.text = options.text;\n\tthis.importSpec = options.importSpec || $tw.wiki.getTiddlerText(DEFAULT_IMPORT_SPEC_TITLE);\n\tthis.logger = new $tw.utils.Logger(\"xlsx-utils\");\n\tthis.results = [];\n\tif(JSZip) {\n\t\tthis.processWorkbook();\t\t\n\t}\n};\n\nXLSXImporter.prototype.getResults = function() {\n\treturn this.results;\n};\n\nXLSXImporter.prototype.processWorkbook = function() {\n\t// Read the workbook\n\tif(this.filename) {\n\t\tthis.workbook = XLSX.readFile(this.filename);\t\n\t} else if(this.text) {\n\t\tthis.workbook = XLSX.read(this.text,{type:\"base64\"});\n\t}\n\t// Read the root import specification\n\tthis.rootImportSpec = $tw.wiki.getTiddler(this.importSpec);\n\tif(this.rootImportSpec) {\n\t\t// Iterate through the sheets specified in the list field\n\t\t$tw.utils.each(this.rootImportSpec.fields.list || [],this.processSheet.bind(this));\n\t}\n};\n\nXLSXImporter.prototype.processSheet = function(sheetImportSpecTitle) {\n\t// Get the sheet import specifier\n\tthis.sheetImportSpec = $tw.wiki.getTiddler(sheetImportSpecTitle);\n\tif(this.sheetImportSpec) {\n\t\tthis.sheetName = this.sheetImportSpec.fields[\"import-sheet-name\"];\n\t\tthis.sheet = this.workbook.Sheets[this.sheetName];\n\t\tif(!this.sheet) {\n\t\t\tthis.logger.alert(\"Missing sheet '\" + this.sheetName + \"'\");\n\t\t} else {\n\t\t\t// Get the size of the sheet\n\t\t\tthis.sheetSize = this.measureSheet(this.sheet);\n\t\t\t// Read the column names from the first row\n\t\t\tthis.columnsByName = this.findColumns(this.sheet,this.sheetSize);\n\t\t\t// Iterate through the rows\n\t\t\tfor(this.row=this.sheetSize.startRow+1; this.row<=this.sheetSize.endRow; this.row++) {\n\t\t\t\t// Iterate through the row import specifiers\n\t\t\t\t$tw.utils.each(this.sheetImportSpec.fields.list || [],this.processRow.bind(this));\t\t\t\t\t\n\t\t\t}\n\t\t}\n\t}\n};\n\nXLSXImporter.prototype.processRow = function(rowImportSpecTitle) {\n\tthis.rowImportSpec = $tw.wiki.getTiddler(rowImportSpecTitle);\n\tif(this.rowImportSpec) {\n\t\tthis.tiddlerFields = {};\n\t\tthis.skipTiddler = false;\n\t\t// Determine the type of row\n\t\tthis.rowType = this.rowImportSpec.fields[\"import-row-type\"] || \"by-field\";\n\t\tswitch(this.rowType) {\n\t\t\tcase \"by-column\":\n\t\t\t\tthis.processRowByColumn();\n\t\t\t\tbreak;\n\t\t\tcase \"by-field\":\n\t\t\t\tthis.processRowByField();\n\t\t\t\tbreak;\n\t\t}\n\t\t// Save the tiddler if not skipped\n\t\tif(!this.skipTiddler) {\n\t\t\tif(!this.tiddlerFields.title) {\n\t\t\t\tthis.logger.alert(\"Missing title field for \" + JSON.stringify(this.tiddlerFields));\n\t\t\t}\n\t\t\tthis.results.push(this.tiddlerFields);\t\t\t\t\t\t\t\t\n\t\t}\n\t}\n};\n\nXLSXImporter.prototype.processRowByColumn = function() {\n\tvar self = this;\n\t// Iterate through the columns for the row\n\t$tw.utils.each(this.columnsByName,function(index,name) {\n\t\tvar cell = self.sheet[XLSX.utils.encode_cell({c: self.columnsByName[name], r: self.row})];\n\t\tname = name.toLowerCase();\n\t\tif(cell && cell.w && $tw.utils.isValidFieldName(name)) {\n\t\t\tself.tiddlerFields[name] = cell.w;\t\t\n\t\t}\n\t});\n\t// Skip the tiddler entirely if it doesn't have a title\n\tif(!this.tiddlerFields.title) {\n\t\tthis.skipTiddler = true;\n\t}\n};\n\nXLSXImporter.prototype.processRowByField = function() {\n\t// Iterate through the fields for the row\n\t$tw.utils.each(this.rowImportSpec.fields.list || [],this.processField.bind(this));\n};\n\nXLSXImporter.prototype.processField = function(fieldImportSpecTitle) {\n\tvar fieldImportSpec = $tw.wiki.getTiddler(fieldImportSpecTitle);\n\tif(fieldImportSpec) {\n\t\tvar fieldName = fieldImportSpec.fields[\"import-field-name\"],\n\t\t\tvalue;\n\t\tswitch(fieldImportSpec.fields[\"import-field-source\"]) {\n\t\t\tcase \"column\":\n\t\t\t\tvar columnName = fieldImportSpec.fields[\"import-field-column\"],\n\t\t\t\t\tcell = this.sheet[XLSX.utils.encode_cell({c: this.columnsByName[columnName], r: this.row})];\n\t\t\t\tif(cell) {\n\t\t\t\t\tswitch(fieldImportSpec.fields[\"import-field-type\"] || \"string\") {\n\t\t\t\t\t\tcase \"date\":\n\t\t\t\t\t\t\tif(cell.t === \"n\") {\n\t\t\t\t\t\t\t\tvalue = $tw.utils.stringifyDate(new Date((cell.v - (25567 + 2)) * 86400 * 1000));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"string\":\n\t\t\t\t\t\t\t// Intentional fall-through\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tvalue = cell.w;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"constant\":\n\t\t\t\tvalue = fieldImportSpec.fields[\"import-field-value\"]\n\t\t\t\tbreak;\n\t\t}\n\t\tvalue = (value || \"\").trim();\n\t\tif(value === \"\") {\n\t\t\tif((fieldImportSpec.fields[\"import-field-skip-tiddler-if-blank\"] || \"\").trim().toLowerCase() === \"yes\") {\n\t\t\t\tthis.skipTiddler = true;\n\t\t\t}\n\t\t\tif(fieldImportSpec.fields[\"import-field-replace-blank\"]) {\n\t\t\t\tvalue = fieldImportSpec.fields[\"import-field-replace-blank\"];\n\t\t\t}\n\t\t}\n\t\tif(fieldImportSpec.fields[\"import-field-prefix\"]) {\n\t\t\tvalue = fieldImportSpec.fields[\"import-field-prefix\"] + value;\n\t\t}\n\t\tif(fieldImportSpec.fields[\"import-field-suffix\"]) {\n\t\t\tvalue = value + fieldImportSpec.fields[\"import-field-suffix\"];\n\t\t}\n\t\tswitch(fieldImportSpec.fields[\"import-field-list-op\"] || \"none\") {\n\t\t\tcase \"none\":\n\t\t\t\tthis.tiddlerFields[fieldName] = value;\n\t\t\t\tbreak;\n\t\t\tcase \"append\":\n\t\t\t\tvar list = $tw.utils.parseStringArray(this.tiddlerFields[fieldName] || \"\");\n\t\t\t\t$tw.utils.pushTop(list,value)\n\t\t\t\tthis.tiddlerFields[fieldName] = list;\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n\nXLSXImporter.prototype.measureSheet = function(sheet) {\n\tvar sheetRange = XLSX.utils.decode_range(sheet[\"!ref\"]);\n\treturn {\n\t\tstartRow: Math.min(sheetRange.s.r,sheetRange.e.r),\n\t\tendRow: Math.max(sheetRange.s.r,sheetRange.e.r),\n\t\tstartCol: Math.min(sheetRange.s.c,sheetRange.e.c),\n\t\tendCol: Math.max(sheetRange.s.c,sheetRange.e.c)\n\t}\n};\n\nXLSXImporter.prototype.findColumns = function(sheet,sheetSize) {\n\tvar columnsByName = {};\n\tfor(var col=sheetSize.startCol; col<=sheetSize.endCol; col++) {\n\t\tvar cell = sheet[XLSX.utils.encode_cell({c: col, r: sheetSize.startRow})],\n\t\t\tcolumnName;\n\t\tif(cell) {\n\t\t\tcolumnName = cell.w;\n\t\t\tif(columnName) {\n\t\t\t\tcolumnsByName[columnName] = col;\t\t\t\t\t\t\t\n\t\t\t}\n\t\t}\n\t}\n\treturn columnsByName;\n};\n\nexports.XLSXImporter = XLSXImporter;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/readme": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/readme",
            "text": "This plugin provides a flexible way to import tiddlers from Excel files. It is based on the library [[js-xlsx|https://github.com/SheetJS/js-xlsx]].\n\nThe plugin uses //import specifications// to determine how incoming spreadsheets are processed. You can view, create and edit import specifications in the control panel \"XLSX Utilities\" tab, or directly in the [[plugin controls|$:/plugins/tiddlywiki/xlsx-utils]]. This is also where you select which import specification is selected for use during the next import operation.\n\nEach sheet is expected to consist of a single header row followed by multiple content rows, each consisting of an independent record. The plugin automatically detects the extent of each sheet by looking for the bottom right cell that contains a value. This can lead to unexpected results if a cell is accidentally created with an invisible, blank value.\n\nImport specifications describe how tiddlers are created from a particular row of a sheet; multiple tiddlers can be generated from a single row. (Conversely, if different rows yield tiddlers with the same title then they will overwrite one another).\n\nEach field of each tiddler can be assigned a constant value, or a value taken from a named column of the sheet, optionally with a prefix and/or suffix added. There is special support for handling list fields (like the tags field), with the ability to append new items to the list.\n\nInternally, each import specifier is actually modelled as a hierarchy of connected tiddlers with the field ''import-spec-role'' indicating the following roles:\n\n* ''workbook'': describes the sheets to be imported from the workbook\n* ''sheet'': describes each sheet to be processed\n* ''row'': describes the tiddlers to be imported from each row of each sheet\n* ''field'': describes the fields to be assigned to each tiddler from each row of each sheet\n\nThe easiest way to understand the structure is to explore the example import specifications, and the corresponding spreadsheets they are designed to handle.\n\nNote that there are many possible different ways of importing a particular spreadsheet, depending on whether the structures are modelled with fields, tags, prefixes or other mechanisms. The plugin is designed to support a wide range of applications.\n\nThis plugin also requires the JSZip plugin ([[$:/plugins/tiddlywiki/jszip]]) to be installed.\n"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/startup.js": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/startup.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/xlsx-utils/startup.js\ntype: application/javascript\nmodule-type: startup\n\nInitialisation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"xlsx-startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Check JSZip is installed\n\tif(!$tw.utils.hop($tw.modules.titles,\"$:/plugins/tiddlywiki/jszip/jszip.js\")) {\n\t\t// Make a logger\n\t\tvar logger = new $tw.utils.Logger(\"xlsx-utils\");\n\t\tlogger.alert(\"The plugin 'xlsx-utils' requires the 'jszip' plugin to be installed\");\n\t}\n};\n\n})();\n",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/styles": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/styles",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\define quick-colour-selector-background() #bac0f1\n\\define quick-colour-selector-border() #9196c1\n\n\\define quick-colour-editor-background() #bae3f1\n\\define quick-colour-editor-controls() #d2ffff\n\\define quick-colour-editor-border() #97b8c3\n\n\\define quick-colour-workbook-background() #baf1db\n\\define quick-colour-workbook-controls() #d3fff6\n\\define quick-colour-workbook-border() #98c3b2\n\n\\define quick-colour-sheet-background() #f1ebba\n\\define quick-colour-sheet-controls() #fffed3\n\\define quick-colour-sheet-border() #c4be98\n\n\\define quick-colour-row-background() #f1baba\n\\define quick-colour-row-controls() #fed1d2\n\\define quick-colour-row-border() #c39697\n\n\\define quick-colour-field-background() #e0d4fb\n\\define quick-colour-field-controls() #fcefff\n\\define quick-colour-field-border() #b6adcb\n\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-import-spec-selector {\n\tborder: 1px solid <<quick-colour-selector-border>>;\n\tbackground-color: <<quick-colour-selector-background>>;\n\tpadding: 0.25em;\n}\n\n.tc-import-spec-editor-wrapper {\n\tborder: 1px solid <<quick-colour-editor-border>>;\n\tbackground-color: <<quick-colour-editor-background>>;\n\tpadding: 0.25em;\n}\n\n.tc-import-spec-editor {\n\tborder: 1px solid <<quick-colour-editor-border>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.25em;\n}\n\n.tc-import-spec-editor-controls {\n\tdisplay: block;\n\tbackground-color: <<quick-colour-editor-controls>>;\n\tborder-bottom: 1px solid <<quick-colour-editor-background>>;\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n}\n\n.tc-import-spec-editor-controls li {\n\tpadding: 0.25em 0.5em;\n}\n\n.tc-import-spec-editor-controls li:not(:last-child) {\n\tborder-bottom: 1px solid <<quick-colour-editor-background>>;\n}\n\n.tc-import-spec-editor-list {\n}\n\n.tc-import-spec-workbook-wrapper {\n\tborder: 1px solid <<quick-colour-workbook-border>>;\n\tbackground-color: <<quick-colour-workbook-background>>;\n\tpadding: 0.25em;\n\tmargin: 0.5em;\n}\n\n.tc-import-spec-workbook {\n\tborder: 1px solid <<quick-colour-workbook-border>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.25em;\n}\n\n.tc-import-spec-workbook-controls {\n\tdisplay: block;\n\tbackground-color: <<quick-colour-workbook-controls>>;\n\tborder-bottom: 1px solid <<quick-colour-workbook-background>>;\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n}\n\n.tc-import-spec-workbook-controls li {\n\tpadding: 0.25em 0.5em;\n}\n\n.tc-import-spec-workbook-controls li:not(:last-child) {\n\tborder-bottom: 1px solid <<quick-colour-workbook-background>>;\n}\n\n.tc-import-spec-workbook-list {\n}\n\n.tc-import-spec-sheet-wrapper {\n\tborder: 1px solid <<quick-colour-sheet-border>>;\n\tbackground-color: <<quick-colour-sheet-background>>;\n\tpadding: 0.25em;\n\tmargin: 0.5em;\n}\n\n.tc-import-spec-sheet {\n\tborder: 1px solid <<quick-colour-sheet-border>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.25em;\n}\n\n.tc-import-spec-sheet-controls {\n\tdisplay: block;\n\tbackground-color: <<quick-colour-sheet-controls>>;\n\tborder-bottom: 1px solid <<quick-colour-sheet-background>>;\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n}\n\n.tc-import-spec-sheet-controls li {\n\tpadding: 0.25em 0.5em;\n}\n\n.tc-import-spec-sheet-controls li:not(:last-child) {\n\tborder-bottom: 1px solid <<quick-colour-sheet-background>>;\n}\n\n.tc-import-spec-sheet-list {\n}\n\n.tc-import-spec-row-wrapper {\n\tborder: 1px solid <<quick-colour-row-border>>;\n\tbackground-color: <<quick-colour-row-background>>;\n\tpadding: 0.25em;\n\tmargin: 0.5em;\n}\n\n.tc-import-spec-row {\n\tborder: 1px solid <<quick-colour-row-border>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.25em;\n}\n\n.tc-import-spec-row-controls {\n\tdisplay: block;\n\tbackground-color: <<quick-colour-row-controls>>;\n\tborder-bottom: 1px solid <<quick-colour-row-background>>;\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n}\n\n.tc-import-spec-row-controls li {\n\tpadding: 0.25em 0.5em;\n}\n\n.tc-import-spec-row-controls li:not(:last-child) {\n\tborder-bottom: 1px solid <<quick-colour-row-background>>;\n}\n\n.tc-import-spec-row-list {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-import-spec-field-wrapper {\n\tfont-size: 0.9em;\n\tborder: 1px solid <<quick-colour-field-border>>;\n\tbackground-color: <<quick-colour-field-background>>;\n\tpadding: 0.25em;\n\tmargin: 0.5em;\n}\n"
        },
        "$:/plugins/tiddlywiki/xlsx-utils/xlsx-import-command.js": {
            "title": "$:/plugins/tiddlywiki/xlsx-utils/xlsx-import-command.js",
            "text": "/*\\\ntitle: $:/plugins/tiddlywiki/xlsx-utils/xlsx-import-command.js\ntype: application/javascript\nmodule-type: command\n\nCommand to import an xlsx file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"xlsx-import\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilename = this.params[0],\n\t\timportSpec = this.params[1],\n\t\tXLSXImporter = require(\"$:/plugins/tiddlywiki/xlsx-utils/importer.js\").XLSXImporter,\n\t\timporter = new XLSXImporter({\n\t\t\tfilename: filename,\n\t\t\timportSpec: importSpec\n\t\t});\n\t$tw.wiki.addTiddlers(importer.getResults());\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "type": "application/javascript",
            "module-type": "command"
        }
    }
}
/*\
	title: $:/plugins/tobibeer/letfilter/let.js
	type: application/javascript
	module-type: filteroperator
	version: 0.6.1 BETA

	a filter to compare and calculate dates, numbers and booleans
\*/

(function(){

/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";

/*
Export our filter function
*/
exports.let = function(source,operator,options) {
	var blanks,date,fieldAt,op,rand,
		operation,type,func,field,
		isOp,isType,isFunc,
		exact = false,
		YMDhms = '',
		add = 0,
		operand = operator.operand,
		result,resCount=0,results = [],
		options = (operator.suffix || '').split(' '),
		isTrue = function (val){
			var result;
			if(val === ''){
				if(blanks){
					result = false;					
				} else {
					return;
				}
			} else {
				if(exact) {
					if(val === '1' || val.toLowerCase() === 'true') {
						result = true;
					} else if(val === '0' || val.toLowerCase() === 'false') {
						result = false;
					} else {
						return;
					}
				} else {
					result = 
						val != '0' &&
						val.toLowerCase() != "false";
				}
			}
			return result;
		};

	$tw.utils.each(options, function(o,index){
		o = $tw.utils.trim(o);
		if(!o){
			return;
		}

		if (o === '!') {
			exact = true;

		} else if (o.charAt(0) === '-' || o.charAt(0) === '+') {
			add = parseInt(o.substr(1,o.length-2));
			if(!isNaN(add)){
				add = o.charAt(0) === '+' ? add : -add;
				YMDhms = o.substr(o.length-1);
			}

		} else if(o === 'BLANKS') {
			blanks = true;

		} else {
			isOp = 0;
			isType = 0;
			isFunc = 0;

			if(!operation){
				$tw.utils.each(['EQ','NEQ','LE','LT','GE','GT'], function(comp,index) {
					if(o === comp) {
						isOp = 1;
						operation = comp;
						return;
					}
				});
			}

			if(!isOp && !type){
				$tw.utils.each(['DATE','INT','NUM','BOOL'], function(t,index) {
					if(o === t) {
						isType = 1;
						type = t;
						return;
					}
				});
			}

			if(!isOp && !isType && !func){
				$tw.utils.each(['SUM','AVG','MIN','MAX','AND','OR','NOR','RANDOM'], function(f,index) {
					if(o === f) {
						isFunc = 1;
						func = f;
						return;
					}
				});
			}

			if(!isOp && !isType && !isFunc){
				field = o; 
			}
		}
	});

	if(func && !type){
		switch(func) {
			case "AND":
			case "OR":
			case "NOR":
				type = "BOOL";
				break;
			case "AVG":
			case "SUM":
			case "MIN":
			case "MAX":
				type = "NUM";
				break;
			case "RANDOM":
				type = "INT";
		}
	}


	if(!type){
		type = 'DATE';
	}

	if(!operation){
		operation = 'EQ';
	}

	if(!field && func != 'RANDOM'){
		field = 'modified';
	}

	if(type === 'DATE'){
		operand = $tw.utils.parseDate(operand);
		if (operand == 'Invalid Date') {
			operand = new Date();
		}
	}

	if(type === 'NUM' || type === 'INT') {
		if(type === 'NUM') {
			op = parseFloat(operand);					
		} else {
			op = parseInt(operand);			
		}

		if(isNaN(op) && !func) {
			console.log("letfilter: operand is not a number!");
			return;
		}
	}

	if(type === 'BOOL') {
		op = operand ? isTrue(operand) : false;
	}

	// Function to convert a date/time to a date integer
	var ok = function(val,title) {

			var res = false;

			if(type == 'DATE'){

				val = $tw.utils.parseDate(val);
				op = new Date(operand);

				if(val == 'Invalid Date') {
					return;
				}

				if(!exact) {
					val.setHours(0,0,0,0);
					op.setHours(0,0,0,0);
				}

				if(YMDhms){
					switch(YMDhms){
						case 'Y':
						case 'y':
							op.setFullYear(op.getFullYear() + add);
							break;
						case 'M':
							op.setFullYear(op.getFullYear(), op.getMonth() + add);

							break;
						case 'D':
						case 'd':
							op.setDate(op.getDate() + add);
							break;
						case 'h':
							op.setHours(op.getHours() + add);
							break;
						case 'm':
							op.setMinutes(op.getMinutes() + add);
							break;
						case 's':
							op.setSeconds(op.setSeconds() + add);
							break;
						default:
							console.log("letfilter error: Don't know how to calculate with: " + YMDhms);
							return;
					}
				}

				val = val.getTime();
				op = op.getTime();

			} else if(type === 'INT' || type === 'NUM') {


				if(val === ''){
					if(blanks){
						val = 0;
					} else {
						return;
					}
				} else {
					if(type === 'INT') {
						val = parseInt(val);
					} else {
						val = parseFloat(val);
					}
				}

				if(isNaN(val)) {
					return;
				}

			//BOOL
			} else {
				val = isTrue(val);
				if(val == undefined) return;
			}

			if(func) {
				res = val;
			} else {

				switch(operation) {
					case 'EQ':
						res = val === op;
						break;
					case 'NEQ':
						res = val !== op;
						break;
					case 'LT':
						res = val < op;
						break;
					case 'LE':
						res = val <= op;
						break;
					case 'GT':
						res = val > op;
						break;
					case 'GE':
						res = val >= op;
						break;
					default:
						return;
				}
			}

			return res;
		};

	source(function(tiddler,title) {

		if(func === "RANDOM"){
			if(!tiddler && title || tiddler && (!field || field && tiddler.fields[field])){
				results.push(title);
			}
		} else {
			if(tiddler && tiddler.fields[field] != undefined) {
				var res = ok(tiddler.fields[field],title);

				if(func && res != undefined) {
					if(undefined == result) {
						switch(func) {
							case "NOR":
								result = !res;
								break;
							case "OR":
							case "AND":
								result = res;
								break;
							case "MIN":
								result = res;
								break;
							default:
								result = 0;
						}
					}

					switch(func) {
						case "AND":
							result = result && res;
							break;
						case "OR":
							result = result || res;
							break;
						case "NOR":
							result = result && !res;
							break;
						case "AVG":
							resCount++;
						case "SUM":
							result += res;	
							break;					
						case "MIN":
							result = Math.min(result,res);
							break;
						case "MAX":
							result = Math.max(result,res);
					}

				} else if(res) {
					results.push(title);
				}
			}
		}
	});

	if(func === "RANDOM") {
		op = isNaN(op) ? 1 : op;
		while(results.length > op) {
			results.splice(Math.floor(Math.random()*results.length),1);
		}
	} else {
		if(func && result != undefined) {
			if(func === "AVG") {
				result = result / resCount;
			}
			if(type === 'NUM'){
				result = parseFloat(result.toFixed(4));
			}
			if(type === "BOOL"){
				result = Boolean(result);
			}
			results.push(result.toString());
		}
	}

	return results;
};

})();
{
    "tiddlers": {
        "$:/plugins/tobibeer/random/filter.js": {
            "title": "$:/plugins/tobibeer/random/filter.js",
            "text": "/*\\\ntitle: $:/plugins/tobibeer/random/filter.js\ntype: application/javascript\nmodule-type: filteroperator\n\na filter to...\n\n@preserve\n\\*/\n(function(){\"use strict\";exports.random=function(n,t,r){var e,o=[],a=[],i=parseInt(t.operand||\"1\");if(isNaN(i)){i=1}n(function(n,t){a.push(t)});while(i&&a.length){e=Math.floor(Math.random()*a.length);o.push(a[e]);a.splice(e,1);i--}return o}})();",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/plugins/tobibeer/random/readme": {
            "title": "$:/plugins/tobibeer/random/readme",
            "text": "The plugin $:/plugins/tobibeer/random provides:\n\n; random[]\r\n: a filter retrieving one or more random titles from the input set\r\n: `[tag[Plugins]random[3]]` — returns three titles tagged [[Plugins]]\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#random"
        }
    }
}
{
    "tiddlers": {
        "$:/core/ui/ControlPanel/Settings/field-search": {
            "title": "$:/core/ui/ControlPanel/Settings/field-search",
            "caption": "Field-Search plugin",
            "tags": "$:/tags/ControlPanel/Settings",
            "text": "\\define setDefault()\n<$action-deletetiddler $tiddler=\"$:/plugins/wikilabs/field-search/ui/fieldWrapper\"/>\n<$action-deletetiddler $tiddler=\"$:/plugins/wikilabs/field-search/ui/aliasWrapper\"/>\n<$action-deletetiddler $tiddler=\"$:/plugins/wikilabs/field-search/ui/captionWrapper\"/>\n<$action-deletetiddler $tiddler=\"$:/plugins/wikilabs/field-search/ui/textWrapper\"/>\n<$action-deletetiddler $tiddler=\"$:/plugins/wikilabs/field-search/ui/titleWrapper\"/>\n<$action-deletetiddler $tiddler=\"$:/core/ui/DefaultSearchResultList\"/>\n\\end\n\n!! Field Search Settings\n\n<$checkbox tiddler=\"$:/plugins/wikilabs/field-search/ui/fieldWrapper\" tag=\"$:/tags/SearchResults\" checked=\"$:/tags/SearchResults\" unchecked=\"\" default=\"$:/tags/SearchResults\"> Add \"Fields Search\" tab to the search dropdown!</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/wikilabs/field-search/ui/aliasWrapper\" tag=\"$:/tags/SearchResults\" checked=\"$:/tags/SearchResults\" unchecked=\"\" default=\"\"> Add \"Alias Search\" tab to the search dropdown!</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/wikilabs/field-search/ui/captionWrapper\" tag=\"$:/tags/SearchResults\" checked=\"$:/tags/SearchResults\" unchecked=\"\" default=\"\"> Add \"Caption / Subtitle Search\" tab to the search dropdown!</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/wikilabs/field-search/ui/textWrapper\" tag=\"$:/tags/SearchResults\" checked=\"$:/tags/SearchResults\" unchecked=\"\" default=\"\"> Add \"Text only\" tab to the search dropdown!</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/wikilabs/field-search/ui/titleWrapper\" tag=\"$:/tags/SearchResults\" checked=\"$:/tags/SearchResults\" unchecked=\"\" default=\"\"> Add \"Title\" tab to the search dropdown!</$checkbox>\n\n<$checkbox tiddler=\"$:/core/ui/DefaultSearchResultList\" tag=\"$:/tags/SearchResults\" checked=\"$:/tags/SearchResults\" unchecked=\"\" default=\"$:/tags/SearchResults\"> Add \"Default Search\" tab to the search dropdown!</$checkbox>\n\n!! Tab Order\n\nYou can use drag&drop to sort the list:\n\n><<list-tagged-draggable tag:\"$:/tags/SearchResults\">>\n\n!! Return to Default\n\nThe following shaddow tiddlers have been modified: \n\n<<list-links filter:\"[tag[$:/tags/SearchResults]is[tiddler]is[shadow]sort[title]]\">>\n\n<$button actions=<<setDefault>> >\nReturn to: Default Settings!\n</$button>\n\n"
        },
        "$:/plugins/wikilabs/field-search/history": {
            "title": "$:/plugins/wikilabs/field-search/history",
            "text": "V 0.2.4 - 2020-12-25\n\n* update license\n\nV 0.2.3 - 2020.01.19\n\n* Update license link/text\n\nV 0.2.2 - 2019.02.27\n\n* add \"include system tiddlers\" option per tab\n* work with a single template instead of duplicated code\n* Adjust minimum TW version to V5.1.18 because of \"subfilter\" usage\n\nV 0.1.0 - 2019.02.19\n\n* Make it more \"update-friendly\"\n** wrappers are tagged instead of \"search-list\" tiddlers\n\nV 0.0.1 - 2019.02.19\n\n* Initial release\n* Add \"Field Search\" tab to search results\n* Basic configuration options\n"
        },
        "$:/plugins/wikilabs/field-search/license": {
            "title": "$:/plugins/wikilabs/field-search/license",
            "text": "[[Field Search-Plugin|https://wikilabs.github.io/#field-search]] (c) Mario Pietsch - 2019-2021\n\nhttps://opensource.org/licenses/BSD-3-Clause\n"
        },
        "$:/plugins/wikilabs/field-search/readme": {
            "title": "$:/plugins/wikilabs/field-search/readme",
            "text": "This plugin adds a \"Field Search\" tab to the search results\n\n{{$:/core/ui/ControlPanel/Settings/field-search}}"
        },
        "title: $:/plugins/wikilabs/field-search/styles": {
            "title": "title: $:/plugins/wikilabs/field-search/styles",
            "tags": "$:/tags/Stylesheet",
            "text": ".wltc-show-system {\n  float: right;\n}\n\n.wltc-show-system input {\n  visibility: hidden;\n  margin-left: -1em;\n  width: initial;\n}\n\n.wltc-show-system  input[checked] + span{\n  color: blue;\n}"
        },
        "$:/plugins/wikilabs/field-search/ui/aliasWrapper": {
            "title": "$:/plugins/wikilabs/field-search/ui/aliasWrapper",
            "caption": "Aliases",
            "search-set": "[has[aliases]!is[system]]",
            "search-sort": "[sort[title]limit[250]]",
            "opt-unchecked": "[has[aliases]!is[system]]",
            "opt-checked": "[has[aliases]]",
            "text": "\\define searchTerm() [search:aliases{$(searchTiddler)$}]\n\n{{||$:/plugins/wikilabs/field-search/ui/SearchResultTemplate}}"
        },
        "$:/plugins/wikilabs/field-search/ui/captionWrapper": {
            "title": "$:/plugins/wikilabs/field-search/ui/captionWrapper",
            "caption": "Caption / Subtitle",
            "search-set": "[!is[system]]",
            "search-sort": "[sort[title]limit[250]]",
            "opt-unchecked": "[!is[system]]",
            "opt-checked": "[all[]]",
            "text": "\\define searchTerm() [search:caption,subtitle{$(searchTiddler)$}]\n\n{{||$:/plugins/wikilabs/field-search/ui/SearchResultTemplate}}"
        },
        "$:/plugins/wikilabs/field-search/ui/fieldWrapper": {
            "title": "$:/plugins/wikilabs/field-search/ui/fieldWrapper",
            "tags": "$:/tags/SearchResults",
            "caption": "Fields",
            "search-set": "[!is[system]]",
            "search-sort": "[sort[title]limit[250]]",
            "opt-unchecked": "[!is[system]]",
            "opt-checked": "[all[]]",
            "text": "\\define searchTerm() [search:-title,text{$(searchTiddler)$}]\n\n{{||$:/plugins/wikilabs/field-search/ui/SearchResultTemplate}}"
        },
        "$:/plugins/wikilabs/field-search/ui/SearchResultTemplate": {
            "title": "$:/plugins/wikilabs/field-search/ui/SearchResultTemplate",
            "text": "\\define showAll()\n<small><$checkbox field=\"search-set\" checked={{!!opt-checked}} unchecked={{!!opt-unchecked}} class=\"wltc-show-system\">+ system</$checkbox></small>\n\\end\n<$tiddler tiddler=<<currentTab>>>\n//<small>Search all ''{{!!caption}}'' fields </small> <<showAll>>//\n\n<$list filter=\"[subfilter{!!search-set}] +[subfilter<searchTerm>] +[subfilter{!!search-sort}]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</$tiddler>"
        },
        "$:/plugins/wikilabs/field-search/ui/textWrapper": {
            "title": "$:/plugins/wikilabs/field-search/ui/textWrapper",
            "caption": "Text",
            "search-set": "[!is[system]]",
            "search-sort": "[sort[title]limit[250]]",
            "opt-unchecked": "[!is[system]]",
            "opt-checked": "[all[]]",
            "text": "\\define searchTerm() [search:text{$(searchTiddler)$}]\n\n{{||$:/plugins/wikilabs/field-search/ui/SearchResultTemplate}}"
        },
        "$:/plugins/wikilabs/field-search/ui/titleWrapper": {
            "title": "$:/plugins/wikilabs/field-search/ui/titleWrapper",
            "caption": "Title",
            "search-set": "[!is[system]]",
            "search-sort": "[sort[title]limit[250]]",
            "opt-unchecked": "[!is[system]]",
            "opt-checked": "[all[]]",
            "text": "\\define searchTerm() [search:title{$(searchTiddler)$}]\n\n{{||$:/plugins/wikilabs/field-search/ui/SearchResultTemplate}}"
        }
    }
}
{
    "tiddlers": {
        "$:/core/macros/tabs": {
            "title": "$:/core/macros/tabs",
            "tags": "$:/tags/Macro",
            "text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$transclude tiddler={{!!icon}}/>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$set></$tiddler></$button><span class=\"wltc-link-to-tab\"><$link to=<<currentTiddler>> >{{$:/core/images/link}}</$link></span></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end"
        },
        "$:/core/ui/ControlPanel/Settings/link-to-tabs": {
            "caption": "Link-to-Tabs plugin",
            "tags": "$:/tags/ControlPanel/Settings",
            "title": "$:/core/ui/ControlPanel/Settings/link-to-tabs",
            "text": "<$checkbox tiddler=\"$:/plugins/wikilabs/link-to-tabs/config\" field=\"show-all-links\" checked=\"inline\" unchecked=\"none\" default=\"none\"> Show internal tab link for ''all tabs''</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/wikilabs/link-to-tabs/config\" field=\"show-single-link\" checked=\"inline\" unchecked=\"none\" default=\"inline\"> Show internal tab link for ''selected tabs''</$checkbox>\n"
        },
        "$:/plugins/wikilabs/link-to-tabs/config": {
            "title": "$:/plugins/wikilabs/link-to-tabs/config",
            "show-all-links": "none",
            "show-single-link": "inline",
            "text": "This tiddler is used to configure the \"Link-to-tabs\" plugin behaviour. \n\nThere are 2 fields, which are used by [[$:/plugins/wikilabs/link-to-tabs/styles]] enable and disable the internal links. \n\n* show-all-links: {{!!show-all-links}}\r\n* show-single-link: {{!!show-single-link}}\r\n"
        },
        "$:/plugins/wikilabs/link-to-tabs/license": {
            "title": "$:/plugins/wikilabs/link-to-tabs/license",
            "text": "Link-to-Tabs-Macro (c) Mario Pietsch - 2016\n\nhttps://opensource.org/licenses/BSD-3-Clause"
        },
        "$:/plugins/wikilabs/link-to-tabs/styles": {
            "tags": "$:/tags/Stylesheet",
            "title": "$:/plugins/wikilabs/link-to-tabs/styles",
            "text": "<pre>\n\n.wltc-link-to-tab {\n  display: {{$:/plugins/wikilabs/link-to-tabs/config!!show-all-links}};\n  position: relative;\n  top: -1em;\n  left: -1.3em;\n  font-size: 0.7em;\n  opacity: 0.7;\n  margin-right: -1em;\n}\n\n.wltc-link-to-tab svg{\n  width: 1.4em;\n  height: 1.4em;\n}\n\n.wltc-link-to-tab:hover {\n  opacity: 1;\n}\n\n.tc-tab-selected + .wltc-link-to-tab {\n  display: {{$:/plugins/wikilabs/link-to-tabs/config!!show-single-link}};\n}\n\n.tc-vertical > .wltc-link-to-tab {\n  top: -1.9em;\n  left: 0;\n  height: 0;\n  float: right;\n}\n\n</pre>"
        },
        "$:/plugins/wikilabs/link-to-tabs/readme": {
            "title": "$:/plugins/wikilabs/link-to-tabs/readme",
            "text": "This plugin adds a little link icon to every tab. \n\n''Important:'' This plugin changes the core tabs macro.\n\n! Lint-to-Tabs Settings\n\n{{$:/core/ui/ControlPanel/Settings/link-to-tabs}}"
        }
    }
}
{
    "tiddlers": {
        "$:/_Zaphod_SBBG1": {
            "created": "20160804115808032",
            "title": "$:/_Zaphod_SBBG1",
            "text": "<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.5); }</style>",
            "creator": "Zaphod Beeblebrox",
            "modified": "20160813035939853",
            "modifier": "Zaphod Beeblebrox",
            "tags": ""
        },
        "$:/_Zaphod_SBBG2": {
            "created": "20160802164833844",
            "text": "<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.0); }</style>",
            "creator": "Zaphod Beeblebrox",
            "modified": "20160813040014089",
            "modifier": "Zaphod Beeblebrox",
            "tags": "",
            "title": "$:/_Zaphod_SBBG2"
        },
        "$:/_Zaphod_SideBarShade.css": {
            "created": "20160812223918435",
            "text": "/* ==================== */\n/* ControlPanel Element */\n/* ==================== */\n\n.ShadeWrapperCP {\n  display: flex;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.ShadeContainerCP {\n  display: flex;\n  flex-flow: row wrap;\n}\n\n.ShadeTitleCP {\n  flex-grow: 1;\n  width: 100%;\n  background-color: #000000;\n  color: #FFFFFF;\n  font-weight: bold;\n  text-align: center;\n}\n\n.ShadeHeaderCP {\n  width: 114px;\n  background-color: lightblue;\n  color: black;\n  text-align: center;\n  font-size: 120%;\n  font-weight: bold;\n}\n\n.ShadeCellCP {\n  flex-grow: 1;\n  background-color: silver;\n  font-size: 10pt;\n  padding: 10px;\n}\n\n.ShadeElementCP {\n  display: inline-block;\n  width: 100px;\n  font-weight: bold;\n  text-align: right;\n}\n\n\n/* =============== */\n/* SideBar Element */\n/* =============== */\n\n.ShadeWrapperSB {\n  display: flex;\n  width: 95%;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.ShadeContainerSB {\n  display: flex;\n  flex-flow: row wrap;\n}\n\n.ShadeTitleSB {\n  flex-grow: 1;\n  width: 100%;\n  background-color: #000000;\n  color: #FFFFFF;\n  font-weight: bold;\n  text-align: center;\n}\n\n.ShadeHeaderSB {\n  width: 114px;\n  background-color: lightblue;\n  color: black;\n  font-size: 120%;\n  text-align: center;\n  font-weight: bold;\n}\n\n.ShadeCellSB {\n  flex-grow: 1;\n/*  background-color: rgba(255,255,255,0.8); */\n/*  background-color: silver; */\n  font-size: 10pt;\n  padding: 10px;\n}\n\n.ShadeElementSB {\n  display: inline-block;\n  width: 100px;\n  font-weight: bold;\n  text-align: right;\n}",
            "title": "$:/_Zaphod_SideBarShade.css",
            "tags": "$:/tags/Stylesheet",
            "modified": "20160813034245824",
            "type": "text/css"
        },
        "$:/_Zaphod_SideBarShadeCP": {
            "created": "20160819145842293",
            "modified": "20160819145900302",
            "text": "<div class=\"ShadeWrapperCP\">\n<div class=\"ShadeContainerCP\">\n<div class=\"ShadeTitleCP\">~SideBar Shade&nbsp;&copy;&reg;&trade;&nbsp;:&#222; Settings</div>\n<div class=\"ShadeCellCP\">\n<div class=\"ShadeHeaderCP\">Opacity: 80%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.8); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.8); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.8); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.8); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.8); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.8); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.8); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.8); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellCP\">\n<div class=\"ShadeHeaderCP\">Opacity: 70%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.7); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.7); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.7); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.7); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.7); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.7); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.7); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.7); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellCP\">\n<div class=\"ShadeHeaderCP\">Opacity: 60%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.6); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.6); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.6); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.6); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.6); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.6); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.6); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.6); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellCP\">\n<div class=\"ShadeHeaderCP\">Opacity: 50%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.5); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.5); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.5); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.5); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.5); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.5); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.5); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.5); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellCP\">\n<div class=\"ShadeHeaderCP\">Opacity: 40%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.4); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.4); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.4); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.4); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.4); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.4); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.4); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.4); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellCP\">\n<div class=\"ShadeHeaderCP\">Opacity: 30%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.3); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.3); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.3); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.3); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.3); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.3); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.3); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.3); }</style>\"></$radio><div class=\"ShadeElementCP\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n</div>\n</div>",
            "caption": "SideBar Shade",
            "tags": "$:/tags/ControlPanel/Appearance Zaphod",
            "title": "$:/_Zaphod_SideBarShadeCP",
            "list-after": "$:/themes/tiddlywiki/vanilla/themetweaks"
        },
        "$:/_Zaphod_SideBarShadeSB": {
            "created": "20160813025333526",
            "text": "<div class=\"ShadeWrapperSB\">\n<div class=\"ShadeContainerSB\">\n<div class=\"ShadeTitleSB\">~SideBar Shade&nbsp;&copy;&reg;&trade;&nbsp;:&#222; Settings</div>\n<div class=\"ShadeCellSB\">\n<div class=\"ShadeHeaderSB\">Opacity: 80%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.8); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.8); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.8); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.8); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.8); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.8); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.8); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.8); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellSB\">\n<div class=\"ShadeHeaderSB\">Opacity: 70%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.7); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.7); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.7); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.7); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.7); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.7); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.7); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.7); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellSB\">\n<div class=\"ShadeHeaderSB\">Opacity: 60%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.6); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.6); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.6); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.6); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.6); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.6); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.6); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.6); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellSB\">\n<div class=\"ShadeHeaderSB\">Opacity: 50%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.5); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.5); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.5); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.5); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.5); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.5); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.5); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.5); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellSB\">\n<div class=\"ShadeHeaderSB\">Opacity: 40%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.4); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.4); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.4); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.4); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.4); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.4); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.4); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.4); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n<div class=\"ShadeCellSB\">\n<div class=\"ShadeHeaderSB\">Opacity: 30%</div>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,0,0.3); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: black; color: white;\">Black</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,0,0,0.3); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: red; color: white;\">Red</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,255,0.3); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: white; color: black;\">White</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,255,0,0.3); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: green; color: white;\">Green</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(0,0,255,0.3); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: blue; color: white;\">Blue</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,120,0,0.3); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: orange; color: white;\">Orange</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(255,255,0,0.3); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: yellow; color: black;\">Yellow</div><br/>\n<$radio tiddler=\"$:/_Zaphod_SBBG1\" field=\"text\" value=\"<style>.tc-sidebar-scrollable { background-color: rgba(138,43,236,0.3); }</style>\"></$radio><div class=\"ShadeElementSB\" style=\"background-color: purple; color: white;\">Purple</div><br/>\n</div>\n</div>\n</div>",
            "caption": "SideBar Shade",
            "modified": "20160813072919008",
            "tags": "$:/tags/SideBar",
            "title": "$:/_Zaphod_SideBarShadeSB"
        },
        "Zaphod's SideBar Shade ReadMe": {
            "created": "20160813074724614",
            "modified": "20160813075601192",
            "text": "!Welcome to the \"~SideBar Shade&reg;&copy;&trade;\" :&#222;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;After starting to use full-screen pictures as backgrounds in my TW, the links in the the ~SideBar became hard to read when displaying some lighter-colored backgrounds.&nbsp;&nbsp;My solution to this was to make the background of the ~SideBar a darker shade, but after finding the correct element to target //(the ''.tc-sidebar-scrollable'')//, I then ran into the problem of what happens when you hide the ~SideBar?&nbsp;&nbsp;My new colored 'Shade' remained, looking very trashy and out-of-place&hellip;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Well, after a lot of reading and searching, trying this method and that one, I finally came up with what you have here.&nbsp;&nbsp;It may not be the most ideal solution, and I'll be the first to admit that it isn't the most //elegant//, but it works, at least to my current satisfaction.\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I have included two variants; one that appears as a tab in your ~ControlPanel under the 'Appearance' tab, and one that appears in your ~SideBar.&nbsp;&nbsp;Feel free to use either/both as you see fit ,,<img src=\"http://i.imgur.com/WgjjEap.gif\">,,\n\n<div style=\"width: 60%; text-align: justify;\">\n\n!!Tiddlers included in this plugin:\n\n*[[Zaphod's SideBar Shade ReadMe]] --> This file\n*[[$:/_Zaphod_SideBarShade.css]] --> CSS styling for all the little fiddly bits that make up the 'interface'\n*[[$:/_Zaphod_SideBarShadeCP]] --> The ~ControlPanel variant\n*[[$:/_Zaphod_SideBarShadeSB]] --> The ~SideBar variant\n*[[$:/_Zaphod_SBBG1]] --> The 'Shade' definition\n*[[$:/_Zaphod_SBBG2]] --> Definition to 'clear' the shade when hiding the ~SideBar\n*[[$:/core/ui/TopBar/menu]] --> A replacement for the Show/Hide ~SideBar button\n**''@@color:red;__If you have other Plugins, etc. that make modifications to the ~TopBar Menu button__, either disable/uninstall them before importing this plugin, or make a backup copy of your@@ <br>//~$:/core/ui/TopBar/menu // @@color:red;file before installing.@@&nbsp;&nbsp;''\n**''This file will replace your default //~$:/core/ui/TopBar/menu // file, but should you wish to return things to 'normal,' simply delete the file and the original will be restored.''\n</div>\n\n---\n!Installation\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Just drag this [[]] file into your ~TiddlyWiki and drop it onto the green bar that appears at the top, then click 'Install' when the dialogue pops up.&nbsp;&nbsp;You might have to reload your TW for everything to take effect.",
            "tags": "",
            "title": "Zaphod's SideBar Shade ReadMe"
        },
        "$:/core/ui/TopBar/menu": {
            "created": "20160804114955972",
            "text": "<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}\n<$transclude tiddler=\"$:/_Zaphod_SBBG1\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}\n<$transclude tiddler=\"$:/_Zaphod_SBBG2\"/>\n</$button>\n</$reveal>\n",
            "creator": "Zaphod Beeblebrox",
            "modified": "20160813040119299",
            "modifier": "Zaphod Beeblebrox",
            "tags": "$:/tags/TopRightBar",
            "title": "$:/core/ui/TopBar/menu"
        }
    }
}
misfit notes
''bj1012intp''
hide
hide
no
no
no
no
no
yes
yes
no
no
yes
$:/config/OfficialPluginLibrary

{
    "timeout": "5",
    "currentSource": "Allen_Green.mp3"
}
{
    "show-settings": "yes",
    "play": "yes",
    "repeat": "yes"
}
close
{
    "mode": "view"
}
{}
{
    "hasnegate": "false",
    "negate": "",
    "sortIndex": "freq-range"
}
{}
{}
{
    "mode": "view"
}
{}
no
no
no
no
no
no
no
yes
no
yes
yes
yes
no
yes
show
unchecked
hide
hide
show
no
contents
readme
history
controls
contents
contents
contents
no
yes
yes
$:/ak/plugins/TWCrossLinks/core/tagging
$:/ak/plugins/TWCrossLinks/core/freelinks
$:/core/ui/AdvancedSearch/System
$:/core/ui/ControlPanel/Palette
$:/core/ui/TiddlerInfo/Fields
$:/ak/plugins/TWCrossLinks/core/freelinks
$:/core/ui/ControlPanel/Plugins
$:/core/ui/ControlPanel/Plugins/Installed/Plugins
$:/core/ui/ControlPanel/Saving/GitHub
$:/plugins/ajh/favorites/stylesheet
$:/core/ui/ControlPanel/Plugins/Add/Languages
ImageLinks
$:/core/ui/MoreSideBar/Tags
$:/core/ui/SideBar/Open
$:/core/ui/ControlPanel/Toolbars/ViewToolbar
closed
yes


marker
[regexp:type[^audio/]sort[title]]
ViewTags
genre
genre type created modified
genre type created modified
genre type create
genre
genre
genre created modified
genre type created modified
genre type created modified
genre type created modified
genre type created modified
genre type created modified
$:/sk/BasicFormatting
winlogo.png birdman.png rainbow_worm.png [[Tiddlywiki affordances]] turtle.png
genre type linkstyle created modified
genre type linkstyle created modified
until genre type linkstyle created modified
y until genre type linkstyle created modified
y until genre type linkstyle created modified
y until genre type linkstyle created modified
{
    "tiddlers": {
        "$:/info/browser": {
            "title": "$:/info/browser",
            "text": "yes"
        },
        "$:/info/node": {
            "title": "$:/info/node",
            "text": "no"
        },
        "$:/info/url/full": {
            "title": "$:/info/url/full",
            "text": "https://springerspandrel.github.io/tw/"
        },
        "$:/info/url/host": {
            "title": "$:/info/url/host",
            "text": "springerspandrel.github.io"
        },
        "$:/info/url/hostname": {
            "title": "$:/info/url/hostname",
            "text": "springerspandrel.github.io"
        },
        "$:/info/url/protocol": {
            "title": "$:/info/url/protocol",
            "text": "https:"
        },
        "$:/info/url/port": {
            "title": "$:/info/url/port",
            "text": ""
        },
        "$:/info/url/pathname": {
            "title": "$:/info/url/pathname",
            "text": "/tw/"
        },
        "$:/info/url/search": {
            "title": "$:/info/url/search",
            "text": ""
        },
        "$:/info/url/origin": {
            "title": "$:/info/url/origin",
            "text": "https://springerspandrel.github.io"
        },
        "$:/info/browser/screen/width": {
            "title": "$:/info/browser/screen/width",
            "text": "1280"
        },
        "$:/info/browser/screen/height": {
            "title": "$:/info/browser/screen/height",
            "text": "800"
        },
        "$:/info/browser/language": {
            "title": "$:/info/browser/language",
            "text": "en-US"
        }
    }
}


$:/_ExcelImporter/ImportSpecifiers/Field 10
Timeline in [[Draft of 'New Tiddler']] starts from {{!!timeline.start}} and ends at {{!!timeline.end}}
Timeline in [[Draft of 'timeline experiment']] starts from {{!!timeline.start}} and ends at {{!!timeline.end}}
Timeline in [[New Tiddler]] starts from {{!!timeline.start}} and ends at {{!!timeline.end}}
Timeline in [[timeline experiment]] starts from {{!!timeline.start}} and ends at {{!!timeline.end}}
!!!Problems found while rendering `<$visjstimeline/>` in [[Draft of 'New Tiddler']]

Using [[TW5 date format|http://tiddlywiki.com/#DateFormat]]

|!Tiddler|!Problem|!Result|
| [[bbarker@nowhere.com]] |Could not parse start date "NaNNaNNaNNaNNaNNaNNaN" from field `created`|Not rendered|
| [[ccole@nowhere.com]] |Could not parse start date "NaNNaNNaNNaNNaNNaNNaN" from field `created`|Not rendered|
| [[David_Dixon.mp3]] |Start date field `created` is empty or does not exist|Not rendered|
| [[Emma_Richards.mp3]] |Start date field `created` is empty or does not exist|Not rendered|
| [[Erin_Rose.mp3]] |Start date field `created` is empty or does not exist|Not rendered|
| [[Grant_Hill.mp3]] |Start date field `created` is empty or does not exist|Not rendered|
| [[ubuntu-mono-v9-latin-regular.woff2]] |Start date field `created` is empty or does not exist|Not rendered|
| [[ubuntu-v14-latin-regular.woff2]] |Start date field `created` is empty or does not exist|Not rendered|
| [[Untitled]] |Start date field `created` is empty or does not exist|Not rendered|
!!!Problems found while rendering `<$visjstimeline/>` in [[New Tiddler]]

Using [[TW5 date format|http://tiddlywiki.com/#DateFormat]]

|!Tiddler|!Problem|!Result|
| [[bbarker@nowhere.com]] |Could not parse start date "NaNNaNNaNNaNNaNNaNNaN" from field `created`|Not rendered|
| [[ccole@nowhere.com]] |Could not parse start date "NaNNaNNaNNaNNaNNaNNaN" from field `created`|Not rendered|
| [[David_Dixon.mp3]] |Start date field `created` is empty or does not exist|Not rendered|
| [[Emma_Richards.mp3]] |Start date field `created` is empty or does not exist|Not rendered|
| [[Erin_Rose.mp3]] |Start date field `created` is empty or does not exist|Not rendered|
| [[Grant_Hill.mp3]] |Start date field `created` is empty or does not exist|Not rendered|
| [[ubuntu-mono-v9-latin-regular.woff2]] |Start date field `created` is empty or does not exist|Not rendered|
| [[ubuntu-v14-latin-regular.woff2]] |Start date field `created` is empty or does not exist|Not rendered|
| [[Untitled]] |Start date field `created` is empty or does not exist|Not rendered|
table

































































































































loaded
loaded
loaded
3fields
{
    "task": "hide",
    "Resources": "hide",
    "$:/tags/Macro": "show",
    "regexp": "hide",
    "FileMaker Pro": "hide",
    "TiddlyWiki": "hide",
    "voice-amplifier": "hide"
}

price output impedance freq-range input battery weight notes
price output impedance freq-range input battery weight notes url
price output impedance freq-range input battery weight notes
price output impedanca freq-range input battery notes
price output impedanca freq-range input battery notes
price output impedance freq-range input battery notes
price output impedance freq-range input battery notes
price output impedance freq-range input battery notes
price output impedance freq-range input battery notes weight
price output impedance freq-range input battery weight notes
price output impedance freq-range input battery weight notes
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve" class="tc-image-bold tc-image-button" width="16pt" height="13pt" >
<g>
	<g>
		
			<rect x="163.641" y="169.453" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -128.5961 261.109)" width="174.495" height="232.66"/>
	</g>
</g>
<g>
	<g>
		
			<rect x="384.631" y="99.711" transform="matrix(0.7071 -0.7071 0.7071 0.7071 40.0328 330.9679)" width="69.798" height="34.899"/>
	</g>
</g>
<g>
	<g>
		<path d="M501.779,150.062l-20.565-20.565l-74.033,74.033l-74.032-74.033l74.032-74.033l-20.565-20.564
			c-13.629-13.629-35.727-13.629-49.355-0.001l-82.259,82.259L419.52,281.675l82.259-82.259
			C515.407,185.788,515.406,163.69,501.779,150.062z"/>
	</g>
</g>
<g>
	<g>
		<path d="M82.258,289.9l-32.903,32.904c31.803,31.8,31.802,83.362,0.001,115.161L0,487.323h98.711
			c31.802-31.803,83.362-31.803,115.162,0l32.903-32.904L82.258,289.9z"/>
	</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>
mark.roundedmark {
	background: bisque;
	padding: 0 8px;
	border-radius: .25em;
}
<$action-sendmessage
	$message="tm-edit-text-operation"
	$param="wrap-selection"
	prefix="""<mark class="roundedmark">"""
	suffix="</mark>"
/>
{
    "tiddlers": {
        "$:/themes/tiddlywiki/snowwhite/base": {
            "title": "$:/themes/tiddlywiki/snowwhite/base",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ntextarea.tc-edit-texteditor {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\ncanvas.tc-edit-bitmapeditor  {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"
        }
    }
}
{
    "tiddlers": {
        "$:/themes/tiddlywiki/vanilla/themetweaks": {
            "title": "$:/themes/tiddlywiki/vanilla/themetweaks",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ThemeTweaks/ThemeTweaks}}",
            "text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
        },
        "$:/themes/tiddlywiki/vanilla/base": {
            "title": "$:/themes/tiddlywiki/vanilla/base",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n`\"`<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>`\"`\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n`\"`<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>`\"`\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n}\n\n<<if-background-attachment \"\"\"\n\nbody.tc-body {\n        background-color: transparent;\n}\n\n\"\"\">>\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote > div {\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-left: none;\n\tmargin-left: 50px;\n\tmargin-right: 50px;\n\tpadding: 10px;\n    border-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n    left: -50px;\n    top: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n    right: -80px;\n    bottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\nbutton, textarea, input, select {\n\toutline-color: <<colour primary>>;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\ninput[type=\"checkbox\"] {\n  vertical-align: middle;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\t/* next 2 elements needed, since normalize 8.0.1 */\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: 500;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n.tc-sidebar-tab-open .tc-droppable-placeholder, .tc-tagged-draggable-list .tc-droppable-placeholder,\n.tc-links-draggable-list .tc-droppable-placeholder {\n\tline-height: 2em;\n\theight: 2em;\n}\n\n.tc-sidebar-tab-open-item {\n\tposition: relative;\n}\n\n.tc-sidebar-tab-open .tc-btn-invisible.tc-btn-mini svg {\n\tfont-size: 0.7em;\n\tfill: <<colour muted-foreground>>;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n    \tcursor: pointer;\n\tcolor: <<colour foreground>>;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n/* used for documentation \"fake\" buttons */\n.tc-btn-standard {\n\tline-height: 1.8;\n\tcolor: #667;\n\tbackground-color: #e0e0e0;\n\tborder: 1px solid #888;\n\tpadding: 2px 1px 2px 1px;\n\tmargin: 1px 4px 1px 4px;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tborder-radius: 2px;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-primary-btn {\n \tbackground: <<colour primary>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 400;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-sidebar-scrollable .tc-tag-label {\n\ttext-shadow: none;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tmargin-right: 3px; \n\tmargin-bottom: 1px;\n\tvertical-align: text-bottom;\n}\n\n.tc-edit-tags button.tc-remove-tag-button svg {\n\tfont-size: 0.7em;\n\tvertical-align: middle;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\nbutton.tc-btn-invisible.tc-remove-tag-button {\n\toutline: none;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls .tc-drop-down {\n  font-size: 1rem;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n\tmargin-right: .1em;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-subtitle .tc-tiddlylink {\n\tmargin-right: .3em;\n}\n\n.tc-tiddler-missing .tc-title {\n  font-style: italic;\n  font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button,\n.tc-tiddler-controls > span > span > button,\n.tc-tiddler-controls > span > span > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n    height: 1.2em;\n    width: 1.2em;\n    margin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg  {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tbackground-color: <<colour tiddler-editor-background>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor  {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tcolor: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n  fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n  fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n  fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n  fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n  fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n  fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n  fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n  fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n  fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-type-selector .tc-edit-typeeditor {\n\twidth: 20%;\n}\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-viewswitcher .tc-image-button {\n\tmargin-right: .3em;\n}\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg  {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down .tc-drop-down-info {\n\tpadding-left: 14px;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n    width: auto;\n    margin-bottom: 0px;\n    border-bottom-left-radius: 0;\n    border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical  {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical  {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical  {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n\toverflow: auto;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\t\n}\n\n.tc-manager-controls {\n\t\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n    display: block;\n    width: 100%;\n    text-align: left;\t\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n    flex: 1 0;\n    background: <<colour tiddler-editor-background>>;\n    border-right: 0.5em solid <<colour muted-foreground>>;\n    border-bottom: 0.5em solid <<colour muted-foreground>>;\n    white-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n    background: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n    padding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n    flex: 3 1;\n    border-left: 0.5em solid <<colour muted-foreground>>;\n    border-right: 0.5em solid <<colour muted-foreground>>;\n    border-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 28px;\n\tleft: 0;\n\tright: 0;\n\tmax-width: 50%;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 14px;\n\tpadding: 7px;\n\tborder: 1px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 7px;\n\tright: 7px;\n    line-height: 0;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n    font-size: 0.8em;\n    margin-bottom: 0.5em;\n}\n\n.tc-alert-body > p {\n\tmargin: 0;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Floating drafts list\n*/\n\n.tc-drafts-list {\n\tz-index: 2000;\n\tposition: fixed;\n\tfont-size: 0.8em;\n\tleft: 0;\n\tbottom: 0;\n}\n\n.tc-drafts-list a {\n\tmargin: 0 0.5em;\n\tpadding: 4px 4px;\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tborder: 1px solid <<colour background>>;\n\tborder-bottom-none;\n\tbackground: <<colour dirty-indicator>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a:hover {\n\ttext-decoration: none;\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: flex;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tfill: <<colour muted-foreground>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n    align-items: center;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info {\n    margin: 0.5em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugin-indicator {\n\tmargin: -16px 1em 0 2em;\n}\n\n.tc-plugin-info-sub-plugin-indicator button {\n\tcolor: <<colour background>>;\n\tbackground: <<colour foreground>>;\n\tborder-radius: 8px;\n    padding: 2px 7px;\n    font-size: 0.75em;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info-dropdown {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info-chunk {\n    margin: 2px;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description {\n\tflex-grow: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-buttons {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n    text-align: right;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h1 {\n\tfont-size: 1em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h2 {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description div {\n\tfont-size: 0.7em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle img, .tc-plugin-info-chunk.tc-plugin-info-toggle svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon img, .tc-plugin-info-chunk.tc-plugin-info-icon svg {\n\twidth: 2em;\n\theight: 2em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 0 1em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugins {\n\tpadding: 0.5em;\n    margin: 0 1em 1em 1em;\n\tbackground: <<colour notification-background>>;\n}\n\n.tc-install-plugin {\n\tfont-weight: bold;\n\tbackground: green;\n\tcolor: white;\n\tfill: white;\n\tborder-radius: 4px;\n\tpadding: 3px;\n}\n\n.tc-install-plugin.tc-reinstall-downgrade {\n\tbackground: red;\n}\n\n.tc-install-plugin.tc-reinstall {\n\tbackground: blue;\n}\n\n.tc-install-plugin.tc-reinstall-upgrade {\n\tbackground: orange;\n}\n\n.tc-check-list {\n\tline-height: 2em;\n}\n\n.tc-check-list .tc-image-button {\n\theight: 1.5em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n    vertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder-right: 1px solid <<colour table-header-background>>;\n\tborder-left: 1px solid <<colour table-header-background>>;\n}\n\n\n.tc-chooser-item {\n\tborder-bottom: 1px solid <<colour table-header-background>>;\n\tborder-top: 1px solid <<colour table-header-background>>;\n\tpadding: 2px 4px 2px 14px;\n}\n\n.tc-drop-down .tc-chooser-item {\n\tpadding: 2px;\n}\n\n.tc-chosen,\n.tc-chooser-item:hover {\n\tbackground-color: <<colour table-header-background>>;\n\tborder-color: <<colour table-footer-background>>;\n}\n\n.tc-chosen .tc-tiddlylink {\n\tcursor:default;\n}\n\n.tc-chooser-item .tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tbackground-color: transparent;\n}\n\n.tc-chooser-item:hover .tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-chosen .tc-tiddlylink,\n.tc-drop-down .tc-chooser-item .tc-tiddlylink:hover {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-chosen > .tc-tiddlylink:before {\n\tmargin-left: -10px;\n\tposition: relative;\n\tcontent: \"» \";\n}\n\n.tc-chooser-item svg,\n.tc-chooser-item img{\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n.tc-language-chooser .tc-image-button img {\n\twidth: 2em;\n\tvertical-align: -0.15em;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\ninput.tc-palette-manager-colour-input {\n\twidth: 100%;\n\tpadding: 0;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Diffs\n*/\n\n.tc-diff-equal {\n\tbackground-color: <<colour diff-equal-background>>;\n\tcolor: <<colour diff-equal-foreground>>;\n}\n\n.tc-diff-insert {\n\tbackground-color: <<colour diff-insert-background>>;\n\tcolor: <<colour diff-insert-foreground>>;\n}\n\n.tc-diff-delete {\n\tbackground-color: <<colour diff-delete-background>>;\n\tcolor: <<colour diff-delete-foreground>>;\n}\n\n.tc-diff-invisible {\n\tbackground-color: <<colour diff-invisible-background>>;\n\tcolor: <<colour diff-invisible-foreground>>;\n}\n\n.tc-diff-tiddlers th {\n\ttext-align: right;\n\tbackground: <<colour background>>;\n\tfont-weight: normal;\n\tfont-style: italic;\n}\n\n.tc-diff-tiddlers pre {\n    margin: 0;\n    padding: 0;\n    border: none;\n    background: none;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n\n/*\n** Tree macro\n*/\n\n.tc-tree div {\n    \tpadding-left: 14px;\n}\n\n.tc-tree ol {\n    \tlist-style-type: none;\n    \tpadding-left: 0;\n    \tmargin-top: 0;\n}\n\n.tc-tree ol ol {\n    \tpadding-left: 1em;    \n}\n\n.tc-tree button { \n    \tcolor: #acacac;\n}\n\n.tc-tree svg {\n     \tfill: #acacac;\n}\n\n.tc-tree span svg {\n    \twidth: 1em;\n    \theight: 1em;\n    \tvertical-align: baseline;\n}\n\n.tc-tree li span {\n    \tcolor: lightgray;\n}\n\nselect {\n        color: <<colour select-tag-foreground>>;\n        background: <<colour select-tag-background>>;\n}\n\n/*\n** Utility classes for SVG icons\n*/\n\n.tc-fill-background {\n\tfill: <<colour background>>;\n}"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize",
            "text": "15px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight",
            "text": "22px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/fontsize": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize",
            "text": "14px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/lineheight": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight",
            "text": "20px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storyleft": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft",
            "text": "0px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storytop": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storytop",
            "text": "0px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storyright": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storyright",
            "text": "770px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storywidth": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth",
            "text": "770px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth",
            "text": "686px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint",
            "text": "960px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth",
            "text": "350px"
        },
        "$:/themes/tiddlywiki/vanilla/options/stickytitles": {
            "title": "$:/themes/tiddlywiki/vanilla/options/stickytitles",
            "text": "no"
        },
        "$:/themes/tiddlywiki/vanilla/options/sidebarlayout": {
            "title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout",
            "text": "fixed-fluid"
        },
        "$:/themes/tiddlywiki/vanilla/options/codewrapping": {
            "title": "$:/themes/tiddlywiki/vanilla/options/codewrapping",
            "text": "pre-wrap"
        },
        "$:/themes/tiddlywiki/vanilla/reset": {
            "title": "$:/themes/tiddlywiki/vanilla/reset",
            "type": "text/plain",
            "text": "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n   ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n  line-height: 1.15; /* 1 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n   ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n  margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n  display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n  box-sizing: content-box; /* 1 */\n  height: 0; /* 1 */\n  overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n  font-family: monospace, monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n  border-bottom: none; /* 1 */\n  text-decoration: underline; /* 2 */\n  text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n  border-style: none;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit; /* 1 */\n  font-size: 100%; /* 1 */\n  line-height: 1.15; /* 1 */\n  margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n  overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n  text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n  padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n *    `fieldset` elements in all browsers.\n */\n\nlegend {\n  box-sizing: border-box; /* 1 */\n  color: inherit; /* 2 */\n  display: table; /* 1 */\n  max-width: 100%; /* 1 */\n  padding: 0; /* 3 */\n  white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n  vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n  -webkit-appearance: textfield; /* 1 */\n  outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n  -webkit-appearance: button; /* 1 */\n  font: inherit; /* 2 */\n}\n\n/* Interactive\n   ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n  display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n  display: list-item;\n}\n\n/* Misc\n   ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n  display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n  display: none;\n}\n"
        },
        "$:/themes/tiddlywiki/vanilla/settings/fontfamily": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily",
            "text": "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""
        },
        "$:/themes/tiddlywiki/vanilla/settings/codefontfamily": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/codefontfamily",
            "text": "\"SFMono-Regular\",Consolas,\"Liberation Mono\",Menlo,Courier,monospace"
        },
        "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment",
            "text": "fixed"
        },
        "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize",
            "text": "auto"
        },
        "$:/themes/tiddlywiki/vanilla/sticky": {
            "title": "$:/themes/tiddlywiki/vanilla/sticky",
            "text": "<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n\n``\n<$list filter=\"[range[100]]\">\n`.tc-story-river .tc-tiddler-frame:nth-child(100n+`<$text text=<<currentTiddler>>/>`) {\nz-index: `<$text text={{{ [[200]subtract<currentTiddler>] }}}/>`;\n}\n`\n</$list>\n</$reveal>\n"
        }
    }
}
800px
300px
1000px
40px
600px
500px
fluid-fixed
checker_amaziograph.png
fixed
cover
"Fira Mono", Consolas,"Liberation Mono",Menlo,Courier,monospace
'Exo 2', -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"
bj1012intp
<svg viewBox="0 0 350 250">
  <circle cx="225" cy="85" r="80" fill="red" opacity="50%"/>
  <circle cx="125" cy="85" r="80" fill="royalblue" opacity="45%"/>
  <circle cx="175" cy="170" r="80" fill="forestgreen" opacity="40%"/>
<foreignObject x="64" y="50" width="150" height="180"><body>@@.hlw  {{!!left_label}} @@</body></foreignObject>
<foreignObject x="217" y="50" width="150" height="180"><body>@@.hlw  {{!!right_label}} @@</body></foreignObject>
<foreignObject x="160" y={{!!m_y-height}} width="150" height="20"><body>@@.hlw  {{!!mid_label}} @@</body></foreignObject>
<foreignObject x="195" y="125" width="150" height="50"><body>@@.hlw {{!!mp_label}} @@</body></foreignObject>
</svg>


  Choose item:
    <$select tiddler="$:/temp/svgitem">
        <option value=""> -- </option>
        <$list filter="[tag[svgitem]]">
            <option value=<<currentTiddler>> > <<currentTiddler>> </option>
        </$list>
    </$select>
    left: <$edit tiddler={{$:/temp/svgitem}} field="left_label" />
    right: <$edit tiddler={{$:/temp/svgitem}} field="right_label" />
    mid: <$edit tiddler={{$:/temp/svgitem}} field="mid_label" />
    top: <$edit tiddler={{$:/temp/svgitem}} field="top_label" />
   
    fill: <$edit tiddler={{$:/temp/svgitem}} field="svgfill" />
!Sam Peterson


<audio autoplay controls>
  <source src="https://www.dropbox.com/s/qpgkbafu4xh7x06/Yu_Wang.mp3?raw=1">
  Your browser does not support the audio element.
</audio>
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
# Determine Learning ''Goals'' and Objectives
#*Establish:
#** What learners should know and be able to do by the end of the course
#** Transfer of knowledge to other challenges
#*Along the way:
#** Distinguish “need to know” from “nice to know”
#** Clarify for students the purpose of the course
# Plan ''Assessments'' (which should be ...)
#*ongoing
#*high & low stakes
#*aligned with learning goals/objectives
#*of varying types (such as...)
#** problem or case analysis
#** major and minor course projects
#** synthesizing information through reflections/discussions
#** quizzes and tests
# Plan learning ''activities'' (to be...)
#* minds-on and hands-on
#* encourage exploration
#* aligned with learning goals/objectives
#* using text book as reference, not syllabus


लं    वं    रं    यं   हं   ॐ/ওঁ    [ॐ]
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qHPCfbDRl/mX7Tz603gz69VWxtJh8UkO0Tiu3ukxWfYaufqC48FbbYRiI2RKue42W8DMfpQar3UwvTqd7amNXN1fYlAbmF2eTUu5Hpxh3kr1HN+ku3hjMu4z7L3KG5KsVz/Aixpj9Tn8FLwnDTf8itGf+Y02jWP2fX7HY+G/IZXMhUvFezMeA51zEgWu+T0saEUC7ommd03PSfrY/UaUURxDJ+h24nV9xlVMmSG4WI4ngV1wjuEw91FGSdF7sIEbzZ96n61sQuqHnVnvt44veDIsTR/91Sks8MA1YZIf/dvGjcDw/6eZ/w+MxtFGfs4zmAAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAAcIAAAJYCAMAAADG0xbPAAAKFGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS42LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NDUwPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjYwMDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz7Q6OpbAAADAFBMVEWgzdug1OKkz9ud5/eg0N6i5/bRsKyZy9v///+czdzk0KSW5veaz9/j3dOg6vqgvcab0uP/+eui8//n3tOZ6fzBvtCp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
After the Great Disruption of Autumn 2020, users of tiddlyspot scrambled to recoup their read-only data, afraid that tiddlyspot might be permanently lost. Even if tiddlyspot were to function again, the era of carefree reliance upon its services was clearly gone.

BEST SUCCESSOR platform, if you can handle the initial setup process, is GitHub.
! Claire Cole
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
<br style="clear:both" />
Colour: <$edit-text tiddler='$:/_MyColour' tag='input' placeholder='(unset)' default=''/>

---

<$macrocall $name='colour-picker' actions="

<$action-setfield $tiddler='$:/_MyColour' $value=<<colour-picker-value>>/>

"/>
0:silver
1:red
2:lightgreen
3:yellow
4:blue
5:crimson
6:magenta
7:indigo
8:turquoise
9:orange
10:silver
11:crimson
12:black
https://souk21.github.io/TW-commandpalette/
[img[|https://wesleyan.campdesign.online/images/coi_diagram.jpg]]
A sentence lives here.


;Most educators get by with 
:<span style="fill:blue;"><<_icon {{$:/images/fa5/solid/file-word}} >></span> ''word processors'' for syllabus planning, 
:<span style="fill:green;"><<_icon {{$:/images/fa5/solid/file-excel}} >> </span>''spreadsheets'' for enrollment records and grading,
:<span style="fill:red;"><<_icon {{$:/images/fa5/solid/file-powerpoint}} >></span> ''presentation software'' in the classroom.

;But teaching materials turn out to have the structure of ''data''...
:<span style="fill:magenta;"><<_icon {{$:/images/fa5/solid/database}}>></span> Over time, we recognize how different kinds of data hang together.{{clear-both}}

;For these reasons, I started to use [[FileMaker Pro]]...
:to organize and connect everything I wanted to have at my fingertips.

<$details open="yes"summary="All the kinds of data...">
{{data tables graphviz}}
</$details>

;So far, [[TiddlyWiki]] has not entirely displaced [[FileMaker Pro]] at my desk,
:But it's all I need in the classroom.
;[[TiddlyWiki]]'s advantages include...

* most of the power of a relational database
* to access and edit, only a ''browser'' is needed!
* ability to add and amend data structure on the fly
* plenty of room for the loose ends that don't fit well in a table-structured relational database.
<$viz text="""
graph B {

node [style=filled] [shape="cylinder"] [color="0.7 0.1 1"];

b [label="assigned readings"];
a [label="quoted passages"] [color="0.17 0.3 1"];
c [label="texts"];  
d [label="discussion questions"] [color="0.17 0.3 1"];
e [label="student writing samples"];
f [label="key concepts"];
g [label="student enrollments"];
h [label="courses"];
i [label="feedback explanations"];
j [label="grades"];

rankdir=LR;

   subgraph cluster_a {
      label="for classroom use           &nbsp;      &nbsp;      &nbsp;      &nbsp;      &nbsp;               "; labeljust="1";
      b -- a; b --f; b -- d; b -- e; "miscellaneous \n things to say ������"; style="filled"; color="0.4 0.08 1";  
   }

a -- c; b--c; e--g; g--h; b--h; d--h; e--i; g--j; h--j; e--j; { rank=same; h; j} ;

}
"""/>
//NAxAAToLZ5T0hgAGQA3gBK0RE9KkXBWAOADBeeWfaIih2ADAAAAAgBwRBIMFiwzXv4wsWLKDw/BAMg+D4f4IQcBAEAQBAHwfxICHADv8EP/KAMHwfB94wEAQVpyEADDkhrVKZzAib/80LEDBdBpqoRj2AAEsekRFrJuMJey6khZK5BFRMPUET5AYRVoHTsIwuHYByCbdUfniW4bHPHCZs8548JK984ZdOo4KdWbzekSxlk3g+aY81Md96ZmZbvBeZmZXqeZAAAlcwaxVUmD8H/80DECxaRbolZz3gCCorwU0xB1QTnQwSaGuzxMNWoazK9EsdCWlwXB3kFJygwZx9nY2Io5zFXUJcI5MuL5whstJ8Zvrzb3XUaLTGt6ti9c0veFWWbT1761jkyOpXQAACKUvhIWSE3rf/zQsQLFnFugVh7DSQ8HCJuHOA0gSEzGc6nN8lrgi7J9GqNnQa5Tpliuqg6wzB/PyfF+ZW8Oy2WVpJD4xXOl1avV9ZK5f4JvtNennUs3EiPSZaeEzk2MliQfCWhAB0WpTyE5MRyAOcAkv/zQMQNFSl2eBhjzFyMgC2ZDad54KwuUj8uaPYD4WFQhSUR+UUkSiPZPE2E8EKI2NVDTxWXaojuIIdZ5kvKRJKs6MQ9vtXrGHl+kNPz/SD47pUme0IVjnv78yzF0IBhbsrCBYbYmdnY//NCxBMUSV5sCMPMlzTJwK6UEo4xEAG8HSzG0OHn65n+JInTRPbb0mTS3q1ONxzKXykMYSiqWtHz9hs+yz7P3Tf2S2tciRwUmoiS1RoVGF5Vp5pN9DUYOFVEaFiXyQngcyFE9JKfyiOi//NAxB0TYXJYEHpG0VQnhEOoxKQgFFi4GQRnCQqKgiSsGsn1l8lqTMXMgnAdiZjzOdYsrsR0LD5DIKrsHXUJDVINgRoMIn4t27UP8viqblqsi7bFEzuLDFZGLIBkUQFIWX9IjFZsQ3L/80LEKhLhWkAJT0gDIKXg8+hm9G3WNTvH5qalYozFpmkrhLJT/8dLc08GdGldpQQTgABgwPHtFlydEmgFQFIqIknIMu5uy3ZMjOJLnWKXLWAWyFggkzUBepYUWHgAgEHDSDjNoDDyDwP/80DEOiKRrmDpidAAc7i9PFoRi0iDSaKI7HC96a4MImSOGWHkwQyY4t+wJ12eNjLjvP2LzUstGDBKCBxdA5eDW3Zrw6/shfBcqYMMWObz//9nUVf2g73/9m1FljZVERaLAjEsfDIS1v/zQsQKEuFqVAnMYAGyqXs9FR39m0racc7FboYseshy0mB0fQYjsoyE5Kh9VMk+8Gfi46XNrudhdqSXGYo3zk9djZWPamPvXati4ZCH+PUIJV88bk8jnyGtByuu7Z/mK1/7MU+mwV1lT//zQMQaEuGSQAh7DH32vXxMdUCYXQpmDZlCbPWj4+KpNYfzZkwiYTJBRoSNokpR+NKSNx0aCl8xNlEL8dIxVRtkGy0JMgoHk09K0D+mRJnk0WCULODUbvX5QlLFba6XXhGEmrlUtUpp//NCxCkSgZIwAMGSHT8UrJipA1s2TyaVWnNkgNImEUy5CvyITCcyhQEY6KjUVSckfqQDTRoJNs0PoMNisIGWtZWHF2Ucs29GqTXaAwjPiqD+2+LaNa96akck6TSRLF72kKVUkKDKojeC//NAxDsTcY4wAMGSNGqTwDJhYtNCKyiAsOqoAokB7SUnRI8zgY0wgEEiQNgckPOU4TQWhK7A6JLabQHLWgqYIkVyTl1GV21F6JaZlk3B5wfR9G1JWZhILA6tppnS/ZO49VMoKLXEqNv/80LESBNpljAAwZIcMCQUiNmKJyRGZzg+W5biSBBZL30lAdkynTGHmyxxAec/BueqIFcAXcLSbRon9KixHNq5ahURpdV5ZSYsuKOyvrRYQkCpcqRiEsIER0CRpQ60GlhNCFZOIcYFDhX/80DEVhNpkjAAwZJdMH5qlGycSxjKgwWvI4KS82pG29bIG8suz6QNTMDq1bamNQOZzipe9R6rT7hy6r5WuXeuQkboutYlyhHas4MF8OoopGJBQ2a+rsPSrOqhCOReIeaCLBUgpE64N//zQsRjEimWOAiKGBwjDQCQQo3DiVk04EFzKpQm4Q1jx6cVmhUn04Cg+dRzQdDkkS4bImQubOLTO9p59JvKGyxjFqm0YhcnJIeNnyd7NlMY1maBtOdSLLm2mIUjaPKMESvUQNiCS6EoRP/zQMR2EqGaNADBknyojpiN6gpZOBKuQdVGVrNUEh0iwcT0mIx0wfGcNH0DAqGA2jHVJsVp0YEhT0yOGCizmNOrTDwQ0soiFqIKenp6vJ01E0Kjc+jxB2XykajaWN86itlItiCaIlMo//NCxIYT2ZIwAMJSBWOiiaQ0mfpcHRLBglkTkMw9haLzjU0m5K4cmTGogjy2lk1mUYWCk3kVxi+vvhSZCx/U7llWsWro0pwdOnLmJcohHHXqictx88hukpuFafsnZ1jbFlhIHwpFofHi//NAxJIS8Zo0AMGSHLjQNzJdjMZkXzSSCibNNYChx4fIEZsiUslqWQtNGSO1iFbjcpOcv3PchomS6qz0E4zQJJ0ziUG5NuFMPB60W7VWQM4InMrCpGSlCy5kD3awTmwwQvLlBtUmxLL/80LEoRRZkjAAwlgdO9sUXdR1R0Ci8TseSxVmVaCfWag/YgmfPCnlQcxBzcV7ZKk5WaPla/mSaeYFBMOMXQhJUNJk5yJl6HGRmlqFCMiwu0yQq4ofBVxGg+JADOYD5UNGgROpIVjsI2T/80DEqxLJkjQAwZIFaKE1sgWZiTrksVFxtSWmUG5N0IFBNrU3rUsdXtakTCjLeoQyYo7FFXSGCYQULIx1QiczMmRig2So3ChDlScEtO08vZdk6TYmxcB7p84tIBeSByIAerkP3jaS0v/zQsS6ElmWNADBklx6KTk3hVk9kHWjyI9qsjx5Cuel4yHQsnJ9EYLmTA6ZWnyEblVKVj50phLEpYcPDAqq2xuvXEhIHZmC5WEknk0JlRYWHIpUIuUnMJgUyy0he5l4kgzjThizG1KZcv/zQMTMFFmaMADCUgDdXIrSwWGkRyOZWK45AQAMjZUk0mKwARUe0EMrichJCYs/8eE08Oj4oIJUCZs/uCWm4WBmK2BIXLcq+VHhkTCUfDcTXmxmBtwTyuBAjF0cB2gD4prljrg5CScu//NCxNUZYZokAMvYCKonCyosBXmnkIDIAVrKQaCmPSieuGSo4aSwK3CqVxH07EQ0J92y4q1K460moqLRZDk0lCMqpY6VNan5lhU6aFR5Auw0cLdg2TaZMHXoSUeeLjTUCFwQbKClXCNO//NAxMsbyZogAM4YECwqGurVZ0PYyxLiYkIGIch+FjQl8jggVj0PKE9C8WXjg0vCvXvRGB8tTlFQDZU2fkI680ZRmC89iu6XCaiSxE1UcOatqso6YHVlqHUTD+zGnZpEfHSVzkE8lNL/80LEthchhiwAwxJ9VoT5p/XaJuuCz+YYGsH1Rt3QCkR9OQVkEJFchASLoFFQZDNEEGWTBh6CB0kmqHoqziiW0qXdTpTMjIkSEWweZJQSINnAiZI0jbm1FzzBwgQm1T7bKyHDzxRqjsr/80DEtRehliwAw9gMEkK4pxbR+jZGkaZ+iqZoGpt4GCIdQoTDSy6aazaGiVEaguTKNuPIC7F2UQOWVLsREzZ7CzHpPJW9dSLEJG4SagfxGF01Vx0uiMoElZ24qhUUkiJiNzCZlUqdqf/zQsSxFWGWMADDEkRIxZ0GeQxM0cloIlHY3NV7VLfxp5bWwpCiJlyA8VgTSXTpdg5aSrTi4owhbjrUoFQvMSzqFJk9JHpqKGyxCRzmhRJIEAPDInTSHmkEhTEI1QOOAAB1BpM4KTcMBf/zQMS3FHGONADD0gWagTLAgGVYCNGo8BBamkBQJOowLoEiH8ohXS9LUVClWWAhoX7eCaJ8yoWhKEplhHpGgnxlihIIhyQN9UCxE3FvFhHaZKFoYxqM+jjQohI8kAHWMRPnIhw9D1C0//NCxMAWCYowAVhIATToYxRlucnw/BoORRIWh5BC8D61v8hzEf5GtRv+W4uYwUKH5E//+z/6lVBoNXtvbYcggCBe4sQvRBBAdpTE0VxwIVANDAJVRhRghYNNfxa71RQj+gAQQtsoAkEu//NAxMMkEbIgB5l4Ana3A6gywRdZ1HSTOYmretdAA1lkIQxas7K1lS5iECLrRkLoQfOJkMOGjyqJsTa4uxFds7XFjqBsnSERDIaL0R5Y3DI0p4BEUtguRl74RBLxWCip7f//swJUl+7/80LEjSWhroJZmMAApl//7ltkW4pzxclpJI2wBjBQUDAskTI8UAEDC1jC4YgESgXBIxOCg5emozTfM4/dEoDowTAkwsFIFCCRAWYDg6DgVV8KgOKgEXtSaZKo0YCAEoU1BFSfRsYDGEv/80DEUiWJarpZ3cgCde0ukzZ2cq3uO0MwDC5oUDBSRzIR8wDmSwUqmuZzkNIsn9XqXZ+3E5dDbtrkf+tB1uN1NVOXt6zlm6lDcxt7tgNwUwIqgAAs1J25p4xQtENZGxGD7Uq4wQjGjf/zQsQWGNlusLjT0pzVj6MjqhNQ3lNTP+p90f7stzQVxPhmmYXm2pIqk0StVbojIb5Mh9lgcUo0ooub9drhD0UA3iziykWfoph1QTXRiBAtSyNSjjsUTWeaVTXAHgAFoWLA0NRiZZQTaf/zQMQOFpFiwXjJns4cHYjCGk0fRqpZSuG1Knt7cl/sVgkcMkzmkdbLc1mJYzmHH8p5yZA5zjlaFpFN8rCnnBdH2lVacRiIScyUcnNwi2i5mjRYl71jcW+Blfm4YKCMGjIww5+CC1R5//NCxA4X4XKwANGwzY6+jzlkXXuNasZwFn91LxPcJ2ByFoXzu4lDgxPHA9X27QQn+FnP3GE5ncwh1r8vla/5exlFBfkNA4qx1pNIn4k8NutPVLNNer0UjzobljG5wMVgCZQAL9VjC0eM//NAxAoUEV7BmMHelPzWjTSTvZbsoTIl2ygxHhurDGNmUQGR8YoTWSSVyjnM7u2LMVeFA4XQpxiIlLRUm01LoYeWccVeb03TMa0jnn3vp0eDquXVgABqQADblqyk878oATtNDwglpbT/80LEFBRBVsY4yl6Uo1FMTiHpg16J8sbzjBn2e/U3lZ0xKBBOZHHshhJ6WOJ1U93CzGlsm+eHbg5vUusSDlZxDp++vZ5GATk36QcAAzWAXV10qADPMucVOKZpQNjvDQqaFKaR3VCtsqX/80DEHxN5WrjYThIKTSVVRIVTyyKkQqWRNasibwiPoYClnEJDQqfghJamhJaaV1nNjGtjvk1qgKaDvDQQALUtYVLyYaegqKA+TOIVAZ12vMmVfLI4T8Osj4yrxawcjw+C8MKgqHJZdP/zQsQsE6l6jLjbDJE9yzFSgdZqOxiOPLTJQ6Uau0Zv0Wj21//L/P/tHd551XuuvUpCAS281HYvL3GHpNLiz6K2MkawnIrBXjdPDSKjEIwhn6pOW1lE6eBOZvr1nMVVhIOIzEhXMViJ3//zQMQ5E0FusPjDBs8IIsACe8L8qU6fTRzri/eAaT2FM7udIRIk0Ajl2d0jAxf7+wGE3s7j8nyiWffjHc4/O7m4Vlg/l+28EvxkrJq0OCATUZRKJB9tnjxZhAMYdF4sWB2gsLEV14H0//NCxEcUGXK4AMMHRF+i2izw84tyHWrHiTd/XjTs3CuR6okiop6jEzAgSiAyUFuNGliUUal8UzJAMeYr2LHvKirWCNMAgrXBQhPDwOdEgGC0nGCug4Kew92xVrQ4R21a9qG70rsKhADA//NAxFIToX7U2HnYkwtK7ClZeq/KQy8hpQYxJqyjuJxqLg5Ymk/N4zjiRx+VVvs38NVepxbgjXtIX6loO7F+Sp2VHrUO6YCQ/JgTlsEHFqNqJ4h2h8VyoFSO2gXxwY2kxgvsPKpewc7/80LEXhQhcrn4w9aUJIGrkCxpukI+ltRfDl2bdjamfMa4SY/oqSAVJThwDV3KzLT06t72epvWOXUgWooAYEogV0MK0ElL7RQokg38cQXQ3SuyODkUjXwpiYySE8taWmeRQJMlSNglqyv/80DEaRNBdqwQwwafB8mrVQ1S5mkK03LYqkuUHgCjqKGxY1SmkkYLXrUMuoPBEKwHzE1fytezHarTkmwl8WtVcAgAm8/hIkyYIwBs3C0xghZ4EFkQUBDkHiyrNYzRe9ZqPc/qf62i7P/zQsR3E4l2jNDKUJf+ai1vEMOQRccZ5nu21T+KfCBUsk14DXOFzm6+ZU+rR/JDwJrEpMoaK9A6kai2hd82XTpa6psPCeFmiFTNlwaXWbfpVcyRvSaSxA+tbYROOpg6HkRiT0lpNWYUq//zQMSEE5lmTADTDJWUiy3MBVc+i5RqTkAszsukINPNmnbC0ebBZlAFGivk1xWliP8mKgOEATRVJs+XErBTdF7YVRrzbbQMig2mlWMCLoQTVKFEKROvLNaezGo1NSN5jEmmXHpTIlsx//NCxJAUKY44AMJMlUQyImzcqVF54WM5O0ikCqkVBHXTicMsTxFG2hrig3IPq6uwGtUDZGdZRUHlUCSGMRtQ2yhs8wxKLi5z7Maiq23t25+FU5JSYh/OrKTJHDEwIxDKFmn0RekiUTEk//NAxJsT4ZY4AMPSBK5lGixLYGxktVDMbk6B4HmiAjcWdr3IxgiaGHxHpKly6i5AeKXOaak85I9ZnGjDdv5Q5GMDKSyASCrbnvpph8JttmUDEcTRxusoUQa86gVpdjWXBwmCmTlalc7/80DEphMhjjgAekx9o1GFyYGeBaTVLS78VGks1NBCJVJHussL2TL9QIM5qJSKyN0UptyMkaWkjKrRC9X00ocuCxboyRhAgQqtIElEsbRj6kA9vvkgwYAjHFUGWIcAGSBRnyqOKfOKzv/zQsS0EtmKOADDEgWSZEYF2u3MJUjYvQHDwBDBAF8r210I8FrGHmChQQT1+4aCBMYCAMQF8GdlsjM5FVlTn60IQcIDy7DOHEDDMwwyAwbKyIvzvY5ayrl62jJWLXaItQsmYKAEosAQEv/zQMTEE9GOOAFPSAFiwSChIZYBzWf///4CA0B4ODHEnP//UUYWCgSRN5bqjDHl1mCGJBMXNjLSEawaZUCmD8G62EdAHAkJa4W2REjyVEOyq3yu7c4+8KgS49kLfeNSyXvbB7wtKigo//NCxM8kkbJcCZvYACQtjiST+OpBM/qPVevjP5uRGIjDcbgB5ogFCJcF/BGlGOB1FHWpXcoJTP0k5O8sW5XKqabd+3yXXqRB+coAC4zSS0cfwM0tCApXSgqNRwRgpEVMaaCgNTQamTgo//NAxJgeIXqMqdrAAjaGuhTLm1bL7jbjBLIS4al8mhHA3i6FuXcZxy/hZS6kcHyMP83yDs5pmST6pJ5nORD2RVP9tr6LIwVvr++YcWepcK6KgAAB+TSxkeKDgiPLtl8mfKbnIGkICJT/80LEehihbqAYyx6QBUv4K7FP5Qqxd6kcrvXvZtssvVtWZtopXRvHM0gaxezPF60PutEodiqtXAGA+EAjL1EY9DsTnoEM9PTmyU9o+t7obkcUJP/X50AZg9LJIaQydNYIAkAqERbgNkv/80DEcxf5Pp1Yy9iV3Z7FHeobEppJdvm90tV6ta1lp6G/a7RchoAFiqXBGJT19BE0Pj2N0ehGWu707Wrtmvz8evXP2d7rXWufXJJgAY2FlACSK0hYDMbXDOgYxUUagBANxzhh8sA4s//zQsRuFClqhDFYYACTtrcRHS3cJVFl+nRKFxAUbQkaomzP9L6pwGKYM/WEX8STIiUDZEwh5JrDxwC2NS0ErAp0WiVUgBPpnSEb+tYgVQCN0xc2RsliT9rFgONQXE3+7jKnCWEaYphOvv/zQMR5JDmyOAGbyADwG7Efwl8r3//deCfgbl//9v0xHDXxJr1AJUbicTxkp9Ol/RqJLEN0OQI8Qh0eLkQCB1hibWISvOXP4rsMCxRmiAkv0wxihyGFyorrojTjNEikRU8EmRYC5RpN//NCxEMjqbJYCY/AAEbK7bqNPlrwLkZzG1BkKCJ5acQ7bJQMtmaRAAxFTBXDDEvA4EhSsPxDIxBKBTkX46DAoZOKupnfP//RhagzVWKrv/80GHOpVl62T4IGN3kgAPn+vFkVYkmhbujJ//NAxBATaXKKOcZgAaaDDSqs1J5jO2D96NtkTgF1X2Em7DPazS2VPLadP1qT0oe2YVQf48mS4+bWsutsGJZOkM0iN0MmxnIG47xVHG62TfRICkIiQ2YBvEqmV09b30W1HzdVhOcmguz/80LEHRMZhnSgG9jKKjsyYPma3z6w1io3HzxwpVAsQACguP/rb1W9TLqivd3Hjoi2HYMg6HsGnlhU90GqBSkhnxRhiaN+oGxWC4bHixJqNcnfUYQfx8W8Xfa3gtqsNGSFv398xd3lm1b/80DELBNBdnnpSXgBzqLlt+pKMSiOaseBFh7j01B26jY0w0jYVzEpzhivlc2KcAwksjiWmj19ZgABhhxAKn8IthoAzADrJGKRMkpeHkLQ12uEuMHAMxcqUDUVPt3HDBCQ28w3zYUjWf/zQsQ6IkGqjbmZwAFy5EXwCsGWUzaZheUg5dyjCpyg0YtQFbrXXfoalIztTBaDP2mJFqScPKQyflJbUueyZvVf63yx5c80ss3aLtvufP/3Jghp0twn//6sp3VlgCjMPuzEoMJ4fXNOI//zQMQNFGl6mNnYeAE1VIUxPSJSXmG5OTT0XJnGgrzO6rk6rphYqISyEyTkBLU+oN673SBn71aat5bRXr2Fb2/rB1nG/v639ZzvcnrC+YPUkJUIDuwwX90jihHde9bQ8WRrIfoUix1r//NCxBYS+P6IOMPMrYiNaVawVazp9IW2Z+6bFpOF1eibISfD1icsZrJer3K08otLAMlKPMIFZ8HLLlbS1NXjTnAProAKCxDagkpO2xWAIQWssgWBm4g/ynUbTIzxVNWzq9lXvuFZ4tmV//NAxCYTmV58OMsKnUWnx4uX5027eruU9uNY4cFx9W44WW7tlNAHyF8DiCkWVumKlHMT7bF1F4C2zGarU/zUnT1M8ZoK7oq+sgFoWE9pZJ5RtzXJUagSC0KRNQKrcypbd3JkQNAUEz3/80LEMhOJjnxYyZh9s9SH9JI8Bkk8uHS5TP5WkGf8xXmFyc2G9et7qqoA/Af0QhIxFlXUBjp6Zk1phkLhTGeOERZ2TAdg5RmJePyaw+ewUeOWDKPrMvVz62vVqK049Wi4chBEVCfPUz7/80DEPxppnlQUywadtgdtgTDtuMFAqhhSMKSx1Z1htSak1JUFBQIETTFUUxJLKSTTFUUxJLKS3SwFbuADA6IAsYtSSJEo8DxYXzIsynzItpd1CzKQkLsS4WFdQv6/+kyoXZiwrxf/8f/zQsQwDlg15DZJgghmahfqZ1sxYV1KTEFNRTMuOTkuNaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgo=
<$viz text='
digraph {

rec_Mrecord    [ shape=Mrecord label="{option 1: all-online|option 2: mixed-enrollment (some students in person, others remote-only)|option 3: in-person expectation}" ]

subgraph cluster_0 { label="options"
nodea [shape=box] [color=red] [background="#ff9"]
[label="in-person mode = \nstudents enroll \nonly if they intend to come to classroom sessions"];

nodeb [shape=box] [color=red] [background="#ff9"]
[label="mixed-enrollment mode =  \n off-campus students can enroll, but \n in-person classroom experience is also available"];

nodec [shape=box] [color=red] [background="#ff9"]
[label="online-only mode = \n any student can enroll, \nand no in-person interaction is expected"]
}


node1 [shape=diamond]
[label="Am I even considering \nin-person teaching?"] [arrowhead="crow"]; 

node2
[label="I need to learn about \n the classroom logistics."] ; 

node3 [shape=diamond]
[label="When I actively imagine \n (or role-play) the constraints \n on in-person discussion, does the \n classroom feel workable?"];

node4
[label="I need to understand how to run my class entirely online."];

node5 [shape=diamond]
[label="Would I consider \nmixed-enrollments \nas my model?"] [arrowhead="crow"]; 

node6 [shape=diamond] [label="When I learn \nabout the classroom logistics for juggling both \n in-person and remote students, \n can I imagine that working well?"] ; 

node7 [label="... EVEN IF some students \n suddenly need to go into quarantine...?"];

/* nodea -> node1; nodeb -> node1; nodec -> node1; */

rec_Mrecord -> node1
node1 -> node2[label="yes"];
     node2 -> node3;  node3 -> node5 [label="yes"];    node5 -> node6[label="yes"]; node5 -> node7[label="no"]; 
      node3 -> node4 [label="no"]; node7 -> node6;
node1 -> node4[label="no"]; node6 -> node4[label="no" constraint="no"];

    node4 -> "Will the students appreciate their online-class opportunities?";
}' />
<table style="width:100%;border:none;border-top: 1px solid;">

<$list filter="[tag[graphs]!sort[title]]">

  <tr style="border-bottom:1px solid">
    <td style="border:none; min-width: 120px;">
        <<currentTiddler>><$link to={{!!title}}>.</$link>
    </td>
    <td style="border:none;width:99%">
        <$details summary={{!!summary_value}} open={{$:/temp/graphs-all!!open_yn}}>
        <$transclude tiddler=<<currentTiddler>> mode="block"/>
        </$details>
    </td>
  </tr>

</$list>

</table>

<<mediaplayer>>


<<table-dynamic filter:"[has[first]]" fields:"tbl-expand tags first last title HB  notes" stateTiddler:"names-list" sort:created class:"w-100 thead-dark" caption:"''Click @@.tcr ''﹥'' @@ in left column to preview content. Click any @@.tcr title@@ link for additional details''">>



<<table-dynamic filter:"[regexp:type[^audio/]sort[title]]" fields:"tbl-expand tags first last title HB  notes" stateTiddler:"names-list" sort:created class:"w-100 thead-dark" caption:"''Click @@.tcr ''﹥'' @@ in left column to preview content. Click any @@.tcr title@@ link for additional details''">>

\define svgdefs()
    <defs>
        <marker id="Triangle"
                viewBox="0 0 10 10" 
                refX="1" refY="5"
                markerWidth="6" 
                markerHeight="6"
                orient="auto">
            <path d="M 0 0 L 10 5 L 0 10 z" />
	    </marker>
    </defs>
\end

I have a lovely bunch of coconuts. Too

<svg width="200" height="200" viewBox="0 0 200 200"
     xmlns="http://www.w3.org/2000/svg" version="1.1"
     xmlns:xlink="http://www.w3.org/1999/xlink">
    <<svgdefs>>
    <polyline points="10,90 50,80 90,20"
              fill="none" stroke="black" 
              stroke-width="2"
              marker-end="url(#Triangle)" />
    <$list filter="[tag[svgitem]]">
        <rect x={{!!svgx}} y={{!!svgy}} width={{!!svgwidth}} height={{!!svgheight}} fill={{!!svgfill}} stroke="none" />
    </$list>
</svg>

    Choose item:
    <$select tiddler="$:/temp/svgitem">
        <option value=""> -- </option>
        <$list filter="[tag[svgitem]]">
            <option value=<<currentTiddler>> > <<currentTiddler>> </option>
        </$list>
    </$select>
    x: <$edit tiddler={{$:/temp/svgitem}} field="svgx" />
    y: <$edit tiddler={{$:/temp/svgitem}} field="svgy" />
    width: <$edit tiddler={{$:/temp/svgitem}} field="svgwidth" />
    height: <$edit tiddler={{$:/temp/svgitem}} field="svgheight" />
    fill: <$edit tiddler={{$:/temp/svgitem}} field="svgfill" />
Tags: View <$checkbox tag="ViewTags"></$checkbox>, Edit <$checkbox tiddler="$:/core/ui/EditTemplate/tags" tag="$:/tags/EditTemplate"></$checkbox>
<$list filter="[all[current]tag[ViewTags]]" variable=nul>
<div class="tc-tags-wrapper"><$list filter="[all[current]tags[]sort[title]]" template="$:/core/ui/TagTemplate" storyview="pop"/></div>
</$list>
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
||!in-person expected|!mixed enrollment|!''online only''|
|in-person students can expect <br>in-person classes through Nov 24 <br>(conditions permitting)?|''conventional'': <br>no online-only days <br>(prior to Txg)|''conventional'' for on-campus students<br> (no online-only days prior to Txg)|~|
|significant online expectation <br>for all (even prior to Nov 24)?|''hybrid'': <br>some online-only days|''hybrid'':<br>some online-only days|~|
|alternating-rows|k
<$select tiddler="$:/temp/changetag/old" default="">
   <option value="">select an existing tag...</option>
   <$list filter="[tags[]sort[]]"><option><<currentTiddler>></option></$list>
</$select>
<$edit-text tag="input" tiddler="$:/temp/changetag/new" default="" placeholder="enter a new tag..." />
<$button> change
   <$list filter="[tag{$:/temp/changetag/old}]">
      <$action-listops $tiddler=<<currentTiddler>> $field="tags" $subfilter="-[{$:/temp/changetag/old}] [{$:/temp/changetag/new}]" />
   </$list>
   <$action-setfield $tiddler="$:/temp/changetag/old" text={{$:/temp/changetag/new}} />
   <$action-deletetiddler $tiddler="$:/temp/changetag/new" />
</$button>
<$button> reset
   <$action-deletetiddler $filter="[prefix[$:/temp/changetag]]" />
</$button><br>
Change these tiddlers:<br>
<$list filter="[tag{$:/temp/changetag/old}]"> <li><$link/></li> </$list>
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
Uncaught TypeError: Cannot read property 'length' of null
    at Object.callback 
($:/plugins/federatial/xememex/syncadaptor.js:131)
    at Object.callback (xememex.js:804)

    at XMLHttpRequest.request.onreadystatechange (xememex.js:521)

s3.eu-west-2.amazonaws.com/xememex.com-tiddlers/cache/recipes/metadata/ethicsatwes-teacher.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIARXJWBAIBBNM5UB4K%2F20200524%2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20200524T124934Z&X-Amz-Expires=900&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEB0aCWV1LXdlc3QtMiJIMEYCIQDM6wmmF%2F%2FEjyRhzKMuJHLE%2BaikQUhRoaWYecNmh9mpRgIhAP48kxFCfLhbmvXMMQhANdbtH8RYRf%2BwtrUZWQmq7Ij5Kt0BCHYQAhoMMTE4NzYxNzgzODEwIgzJ%2BocnYkAfCLhhR%2BwqugHcd1vzP4xnWTgS3UcX6WZmCzturmz5G0z%2FZceTGA5O2BJB2MNNWAKMYq8wBqq9kamvaoQp0leGeuRMS%2Fdpx4rdz5mmqT0gHoEoowEftzdzxfCjeJKijExLL7vrMAqLYc1PQ3iaSqyB7uPnRtOdh7pU7b0wg4wzNtF7g%2B1hwyZBwrPwSYu4P2aOLjaCXCvUT7LokyXh9xULPxxcnOsnMh%2Fitn6ufw4qYHtjkzclax%2BRa0L0gCb4Bv7uvuQw59Sp9gU63wF1%2BEP1yHdbb748PctfxmXf99TFsXEqJXMgIJgwmJpEsABKwQdIakc0NItOLmS%2FN3FpRtDEG6MnE8zCzyUZemxYuJTtNfZWT5HMHJ4lsNOPFVzb2xL1tgfVrdtwK4%2FHQoJZ09H4sMdDTDTsTEDgrnBgpbbhZVbTplK2K%2FSDie8c7iDyMasZNWUmy%2Bdyyp3U5EpvNt%2BWZxKRvSSuaDrWWfRULqqObgwmfcDALDM0Jg%2FofNlzWmMh88aEI8tzvf86HB0SOepZw9cBH6%2Ftk0pVJzsnurWg9U4VkiRZV%2FWe%2BKW8&X-Amz-Signature=c61d7791c075d71f860887255c7c7c3a884583fe88a09d3bb3742f8e05b3f980&X-Amz-SignedHeaders=host:1 Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
DevTools failed to load SourceMap: Could not load content for chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/sourcemaps/onloadwff.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
DevTools failed to load SourceMap: Could not load content for https://xememex.com/~lib/amazon-cognito-identity.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
https://tiddlywiki.com/prerelease/editions/xlsx-utils/
<$list filter="[tag[image]!sort[created]limit[1]]">
  <$macrocall $name="tabs" tabsList="[tag[image]sort[objective_sort]]" default={{!!title}} class="tc-vertical" template="ReleaseTemplate"  />
</$list>
Each image is visible for 9 seconds before fading to the other one.

<div class="cf4a">

[img  [winlogo.png]]
[img  [turtle.png]]
[img  [rainbow_worm.png]]
[img  [birdman.png]]

</div>

<style>
@keyframes cf4FadeInOut {
 0% {
   opacity:1;
 }
 17% {
   opacity:1;
 }
 25% {
   opacity:0;
 }
 92% {
   opacity:0;
 }
 100% {
   opacity:1;
 }
}

.cf4a {
  position:relative;
  height:281px;
  width:450px;
  margin:0 auto;
}
.cf4a img {
  position:absolute;
  left:0;
}

.cf4a img {
  animation-name: cf4FadeInOut;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-duration: 12s;
}
.cf4a img:nth-of-type(1) {
  animation-delay: 9s;
}
.cf4a img:nth-of-type(2) {
  animation-delay: 6s;
}
.cf4a img:nth-of-type(3) {
  animation-delay: 3s;
}
.cf4a img:nth-of-type(4) {
  animation-delay: 0s;
}

</style>



Each image is visible for 9 seconds before fading to the other one.

<div class="cf4a">

[img  [rainbow_worm.png]]
[img  [birdman.png]]
[img  [winlogo.png]]
[img  [turtle.png]]

</div>

<style>
@keyframes cf4FadeInOut {
 0% {
   opacity:1;
 }
 17% {
   opacity:1;
 }
 25% {
   opacity:0;
 }
 92% {
   opacity:0;
 }
 100% {
   opacity:1;
 }
}

.cf4a {
  position:relative;
  height:281px;
  width:450px;
  margin:0 auto;
}
.cf4a img {
  position:absolute;
  left:0;
}

.cf4a img {
  animation-name: cf4FadeInOut;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-duration: 12s;
}
.cf4a img:nth-of-type(1) {
  animation-delay: 9s;
}
.cf4a img:nth-of-type(2) {
  animation-delay: 6s;
}
.cf4a img:nth-of-type(3) {
  animation-delay: 3s;
}
.cf4a img:nth-of-type(4) {
  animation-delay: 0s;
}

</style>



\define bars-happy-varstyles()
.bars-happy-$(index)$ {background:{{colors##$(index)$}};} 
.bars-happy-3 {transform:rotate(10deg);}
\end


<<graph "[tag[image]]" bars happy>>

<<graphspace>>
<$list filter="Resources">
   <$list filter="[all[current]get[text]splitregexp[\n]]" variable=abstract>
       <$link to=<<currentTiddler>> ><$text text=<<abstract>>/></$link><hr>
   </$list>
</$list>
From http://graphs.tiddlyspot.com/

Note: the tiddlers in question cannot have SPACES in their name, or the whole macro misfires!


...
<<graph "[tag[image]]" pie>>
<<graphspace>>



openly
mischievously
serendipitously 
abundantly
earnestly
queerly
wildly
nakedly
recently


leaping around
asking
unfurling
packing up
studying
serenading
cooking up
juggling
dreaming
finding


goats
footprints
stories
the garden
or not...
stuff
a landscape
bells
tea
whenever
Midterm essay grades AND final exam multi-choices / extra credit grades
.family-tree * {margin: 0; padding: 0;
}

.family-tree ul {
	padding-top: 20px; position: relative;
	
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
    display: flex;   
    xxflex-wrap: nowrap;
}

.family-tree li {
	float: left;  text-align: center;
	list-style-type: none;
	position: relative;
	padding: 20px 5px 0 5px;
	
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
}

/*We will use ::before and ::after to draw the connectors*/

.family-tree li::before, .family-tree li::after{
	content: '';
	position: absolute; top: 0; right: 50%;
	border-top: 1px solid #ccc;
	width: 50%; height: 20px;
}
.family-tree li::after{
	right: auto; left: 50%;
	border-left: 1px solid #ccc;
}

/*We need to remove left-right connectors from elements without any siblings*/
.family-tree li:only-child::after, .family-tree li:only-child::before {
	display: none;
}

/*Remove space from the top of single children*/
.family-tree li:only-child{ padding-top: 0;}

/*Remove left connector from first child and 
right connector from last child*/
.family-tree li:first-child::before, .family-tree li:last-child::after{
	border: 0 none;
}
/*Adding back the vertical connector to the last nodes*/
.family-tree li:last-child::before{
	border-right: 1px solid #ccc;
	border-radius: 0 5px 0 0;
	-webkit-border-radius: 0 5px 0 0;
	-moz-border-radius: 0 5px 0 0;
}
.family-tree li:first-child::after{
	border-radius: 5px 0 0 0;
	-webkit-border-radius: 5px 0 0 0;
	-moz-border-radius: 5px 0 0 0;
}

/*Time to add downward connectors from parents*/
.family-tree ul ul::before{
	content: '';
	position: absolute; top: 0; left: 50%;
	border-left: 1px solid #ccc;
	width: 0; height: 20px;
}

.family-tree li a {
	border: 1px solid #ccc;
	padding: 5px 10px;
	xtext-decoration: none;
	color: #666;
	font-family: arial, verdana, tahoma;
	font-size: 11px;
	display: inline-block;
	
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
}

/*Time for some hover effects*/
/*We will apply the hover effect the the lineage of the element also*/
.family-tree li a:hover, .family-tree li a:hover+ul li a {
	background: #c8e4f8; color: #000; border: 1px solid #94a0b4;
}
/*Connector styles on hover*/
.family-tree li a:hover+ul li::after, 
.family-tree li a:hover+ul li::before, 
.family-tree li a:hover+ul::before, 
.family-tree li a:hover+ul ul::before{
	border-color:  #94a0b4;
}
{{$:/core/images/format-fancy}} 
Converts ordinary double and single quote marks (" and ') to fancy quote marks “double quotes,” ‘single quotes’, apostrophes (such as it’s), graves (6′2″) and elipsis (…) as well as superscripted lower case “o" to a degree sign (°). The function also converts double spaces between sentences. The function also converts double hyphens to ens (–) and triple hyphens to ems (—).


!!Plugin Tiddler
$:/plugins/sk/FancyQuotes

!!Associated Tiddlers
{{Fancy Quotes List}}

!!Demonstration Tiddler
* [[Typography test]]

{{Typography test}}
https://favicon.io/favicon-generator/

<<fields2table "[tag[image]]">>
[img width=20% class="img-right"[|https://www.dropbox.com/s/3suk7mrgr76ab73/filemaker_on_old_mac.jpg?raw=1]] ''[[I|Elise Springer]] am a data nerd'', raised under the same roof as FileMaker ([[in the early 80s|http://www.philosophyoffilemaker.com/filemaker-history-64]] starting when GUI-oriented computers themselves were in their infancy, and FileMaker was called Nutshell, by Nashoba Systems, Inc).

Even in a field like philosophy, a great deal of what we need to keep track of has data structure. My library of books, plus excerpted passages and associated comments from all those books, motivated my first forays into database design. 

In 2003, I came up with a rather convoluted pedagogical innovation: to encourage close reading and reflection prior to class, I set up challenge questions for each reading (to be worked-through in groups at the beginning of class). I announced that at exam time, each student would receive a customized exam, based on how well that student participated in each in-class challenge. 

This scheme required a database to track the student's in-class work, and to zip together customized exams tailored to each student's details. (That first year, I had 42 students, 12 sessions per exam, one "bullseye" and one "default" question for each session, depending on in-class results... These exams were not going to be made on a word processor!)

The <<tag opening_questions>> shown on this site are all selected from the FileMaker database of hundreds of similarly-formatted questions (and answers, and answer explanations) developed over the intervening years. 

A FileMaker Pro calculation churns these question-answer sets out with exactly the formatting needed to display properly with Shiraz's details widget. (The widget syntax isn't difficult! But since the questions were already in a database, using the database to dress the content up properly results in flexibility if and when I decide to make adjustments to the presentation layer.)
https://ooktech.com/jed/ExampleWikis/FilterLogicExamples/
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&family=Fira+Sans+Extra+Condensed:ital,wght@0,200;0,400;0,600;1,200;1,400;1,600&family=Fira+Sans:ital,wght@0,200;0,400;0,600;1,200;1,400;1,600&display=swap" rel="stylesheet">

<link href="https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,484;1,362&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Kelly+Slab&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Kufam&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Luckiest+Guy&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Arima+Madurai:wght@200;500;900&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Averia+Libre:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Baumans&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Megrim&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Zilla+Slab+Highlight:wght@400;700&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Metamorphous&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Codystar&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Macondo+Swash+Caps&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Amarante&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Ribeye+Marrow&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Paprika&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Crushed&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Londrina+Shadow&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Nova+Slim&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Snowburst+One&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Combo&display=swap" rel="stylesheet">
Modified on iPhone 
<div style="font-family:Ubuntu Mono; font-size:18px;">
This text should display in Ubuntu Mono
</div>

``Code should display in Ubuntu Mono``
https://www.spguides.com/sharepoint-2016-open-html-file-in-browser/

(But these instructions are for Sharepoint 206, and the interface shown on this walk-through does not match what I see now.)
@@float:right; [img width=60% [OneDrive does not share transparently with Team|https://www.dropbox.com/s/bi80oi90djcaifp/share-with-team%3F.png?raw=1]]@@ You'd think that `Microsoft OneDrive` would play nicely with `Microsoft Teams`, but... apparently not:

https://support.microsoft.com/en-us/office/share-a-folder-from-cloud-storage-in-teams-988f8305-a0e2-44d8-9246-fcca7dd32e93

{{clear-both}}

Also: 

;Where can an interactive html file (like this one) live, and how can I link to it, so that...:
 
* the file can be seen by exactly those who enter a "Team" space 
** Alternately, access could correspond to some other specified SSO AD 
* the file opens in a browser. 
** = Not rendering in some Teams mini-frame, but with full browser powers including javascript.
This unit is a one trick pony, totally solid-state. (There is no bluetooth, no usb or tf-card, no aux input, no fm radio function, no LED display apart from the power-on indicator light). This is a battery-operated voice amp only. 

The internal battery is charged with an AC adapter, not USB (and the AC adapter I received was a euro-standard 2-pin, with a US adapter). There's a sliding plastic panel on the back to access the battery compartment, which houses a specialized battery in a plastic shrink-wrap sleeve, reminiscent of batteries in old wireless phones. Presumably, then, the battery can be replaced.

It comes with quite a few wired microphone options. I could not detect any difference among them in their quality, just somewhat different ways to be worn and/or held. It also comes with a leather-like perforated pouch for wearing on a belt, and also a belt clip.

My impression is that the speaker produces more background white noise than other models. This may be because it has more power (so white static noise appears lower on the volume dial). Or perhaps the other models, being equipped with fancier electronics, have ways of handling the digital signal to reduce noise.

This unit and the [[SHIDU S278]] have the best battery power among the truly wearable ones. The SHIDU wins for versatility. But apart from needing the propriety wall-outlet charger between uses, this one wins for being straightforward to use.

[[amazon link|https://smile.amazon.com/gp/product/B07P1Z6NMX/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1]]

[img width=48% [https://images-na.ssl-images-amazon.com/images/I/61vIaQy39FL._AC_SL1500_.jpg]] [img width=45% [https://m.media-amazon.com/images/S/aplus-media/sc/5af3d51f-4d25-486b-9ffb-3247d4573d31.__CR0,0,500,500_PT0_SX300_V1___.jpg]]
<a href="https://lh3.googleusercontent.com/SGwq-aBIKbjMqVjyUXD7fbFm0G5EVX3g9QOSodoz4qlQM7rAQaP6CqDSSiBLsxNaEg6IENKDQ9R6trJAqGQSKwoQGUS5V4TDhYgVe7Jtr5JYG3jr02wBE-QLPLQuddNJ2tvNJiPLCQ=w2400?source=screenshot.guru"> <img src="https://lh3.googleusercontent.com/SGwq-aBIKbjMqVjyUXD7fbFm0G5EVX3g9QOSodoz4qlQM7rAQaP6CqDSSiBLsxNaEg6IENKDQ9R6trJAqGQSKwoQGUS5V4TDhYgVe7Jtr5JYG3jr02wBE-QLPLQuddNJ2tvNJiPLCQ=w600-h400-p-k" /> </a>

[img[attempt|https://lh3.googleusercontent.com/6EoCLK5p4O15YJW--hFIEi6Ju_yRYbJ8t6c2MPxZA0jMvrjzrF9PuLrdsJQ5oBYTREtfFuMXKGqNfGEbM3jkFFZNonpar2vR-SLbbq5kbjfoZUnA4iLjn_Im4MfG-rdB1dROE7lHSHI2UmqUNMlIeGY-35OJtTslhYoen41hGklPkgx0lRQauYL_kVHGr0fn7pE5dddyAYxFg1WTOEAZHERSJHWF5aRhjMT6o8Twgm81kjVESgLaRBxETyW-hGlc6gya2XyrWhJvxA44zCRP_EYSB1UzDIx-CtbsRs98F5tmzwCsuocC0xZoDvZh5UyGfS5qutHAPvnC_zid_-wrzyVhDfE30lqjTaLzlbsvpHOvE49R1R_GiVsMd9UxQjcjjY_J2HI55an6iau2omijeBBglSKKPCpYUepTatgSCeFcxRIdCtmx3IO4lLooy2T-6EOukYL8C91NeLt9oDsDpAu6v6i1C0xNkm4qm1Hqtb7jwZ6c4xzgffDO9WJ4oHEJS_30vDnMSJnQmE3YUMs53D65vcJE9Roc2_9dwsK5bF6QykqAeMTwbouvVHZX4vjE4WdgNg-pLJQRvDHYehWKOuMhyHIUDsH13XsYRFJtuoV-nct7RjKTkHpOfj7XCUornPNDnN1Quhg86Y4S8qFbpeUBHaH-vV5zXgSqGLbOMFFpmrlqBrOUp6aS3KguuQ=w1273-h958-no?authuser=0]]
Grade 212 final essays
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
\define lineheight() {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}}

\define graph-field(field) {{$(sourcetid)$!!$(template)$$(-variant)$-$field$}}

\define graph-accessory(field) 
<div class="graph-$field$ $(template)$-$field$ $(template)$$(-variant)$-$field$">
  <<graph-field $field$>>
</div>
\end

\define =(a, hundred, b, op:"/", dec) <<rpn "$($a$)$$hundred$" "$($b$)$" "$op$" "$dec$">>

\define calc-x-step() <<rpn 100 $(amount)$ / >>

\define calc-total(valuefield:"y") <<totalsum """$(list)$""" $valuefield$ >>

\define calc-accsum() <<totalsum """$(accumulated)$""" y>>

\define accsum0() <<rpn $(accsum)$ $(y)$ - >>

\define calc-accshare() <$macrocall $name=rpn a=<<rpn $(accsum)$ 100 *>> b=$(total)$ operation="/" />

\define accshare0() <<rpn $(accshare)$ $(y-of-total)$ - >>

\define theitem()
<div class="$(tid)$ $(template)$ $(variant)$ $(template)$-$(index)$
                   $(template)$$(-variant)$ $(template)$$(-variant)$-$(index)$">
   <$set name=template-to-use
             filter=<<$(template)$$(-variant)$>>
             value=<<$(template)$$(-variant)$>>
             emptyValue=<<$(template)$>>
   >
      <<template-to-use>>
   </$set>
</div>
<style>
   <<$(template)$-varstyles>>
   <<$(template)$$(-variant)$-varstyles>>
</style>
\end

\define itm() item

\define items(currentlist, accumulated)
<$set      name=name             value={{{ $currentlist$ +[first[]] }}} >
<$set      name=index0            value={{{ [enlist<accumulated>count[]] }}} >
<$set      name=accumulated  filter="[enlist[$accumulated$]] [<name>]" >
<$wikify  name=index              text={{{ [enlist<accumulated>count[]] }}} >
<$wikify  name=-index             text={{{ [<index>] +[addprefix[-]] }}} >
<$set name=item    filter=" $(variant)$"
                                  value="$(tid)$.$(template)$-$(variant)$<<-index>>" 
                                  emptyValue="$(tid)$.$(template)$<<-index>>" >
<$wikify  name=acclist             text="{{{ [enlist[$accumulated$]] [<name>]}}}" >
<$wikify  name=y                     text={{{ $currentlist$ +[nth[1]get[y]] }}} >
<$set      name=x                     filter={{{ $currentlist$ +[nth[1]get[x]] }}}
                                                                emptyValue="""<<= x-step "" index *>>""" >
<$wikify  name=x                     text=<<x>>>
<$wikify  name=y2                   text={{{ $currentlist$ +[nth[2]get[y]] }}} >
<$wikify  name=x2                   text={{{ $currentlist$ +[nth[2]get[x]] }}} >
<$wikify  name=accsum          text="<<calc-accsum>>" >
<$wikify  name=accshare        text=<<calc-accshare>> >
<$wikify  name=y-of-total         text="<<= y 00 total>>" >
<$wikify  name=y-of-max         text="<<= y 00 max>>" >
<$wikify  name=x-of-max         text="<<= x 00 x-max>>" >
<$set name=responsivelength value=<<csscalc>>>
  <<theitem>>
</$set>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$set>
</$wikify>
</$wikify>
</$set>
</$wikify>
</$wikify>
  <$set name="rest" filter="$currentlist$ +[rest[]]">
    <$list filter="[enlist<rest>first[]]">
      <$macrocall $name=items
               currentlist=<<rest>> accumulated=<<accumulated>> template="$template$" />
    </$list>
  </$set>
</$set>
</$set>
</$set>
\end

\define thegraph()
<$set name=graph filter=" $(variant)$"
                                 value="$(tid)$.graph-$(template)$-$(variant)$" 
                                 emptyValue="$(tid)$.graph-$(template)$" >
<div class="graph" >
   <div class="graph-inner graph-$(template)$ graph-$(template)$$(-variant)$ $(tid)$">
      <<graph-accessory header>>
      <<items "$(list)$">>
      <<graph-accessory footer>>
   </div>
</div>
<style>
.<<graph>> {
  max-width:calc(100% - $(indent)$);
  margin-left:$(indent)$;
}
</style>
</$set>
\end

\define graph(list, template, variant)
<$wikify name=sourcetid         text={{!!title}} >
<$wikify name=template          text="$template$" >
<$wikify name=tid                    text="tid<<qualify>>" >
<$wikify name=variant             text="$variant$" >
<$set     name=-variant            filter=" $variant$" value="-$variant$" emptyValue="" >
<$set     name=.variant            filter=" $variant$" value=".$variant$" emptyValue="" >
<$wikify name=defaultheight   text={{Graph/_Core/Stylesheet!!defaultheight}} >
<$set     name=list                   filter="""$list$""" >
<$wikify name=total                 text=<<calc-total>> >
<$wikify name=x-total              text=<<calc-total x>> >
<$wikify name=amount            text={{{ $list$ +[count[]] }}} >
<$wikify name=amount-           text={{{ $list$ +[rest[]count[]] }}} >
<$set     name=max                 value={{{ $list$  +[get[y]] +[nsort[]last[]] }}} >
<$set     name=min                  value={{{ $list$  +[get[y]] +[nsort[]first[]] }}} >
<$set     name=x-max              value={{{ $list$  +[get[x]] +[nsort[]last[]] }}} >
<$wikify name=x-step              text=<<calc-x-step>> >
<$wikify name=indent              text=<<graph-field indent>> >
<$wikify name=lineheight         text=<<lineheight>> >
  <<thegraph>>
</$wikify>
</$wikify>
</$wikify>
</$set>
</$set>
</$set>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$set>
</$wikify>
</$set>
</$set>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
\end

\define csscalc(value:"y") calc($($value$)$ / $(total)$ * 100%)
<pre>.graph {
  position:relative;
}
.graph-inner {
  position:absolute;
  width:100%;
  height:{{Graph/_Core/Stylesheet!!defaultheight}};  /* default height for most graphs */
  display:flex;
  flex-direction: column;
  justify-content: space-between;
}
p > .graph {   /* remove margin added by p (!?) */
  margin-bottom:-1em;
}
/* Header and footer */
.graph-header {
  position:absolute;
  margin-top:-2em;
  width:100%;
  text-align:center;
  font-size:1.5rem;
}
.graph-footer {
  position:absolute;
  bottom:0;
  margin-bottom:-2rem;
  width:100%;
  text-align:center;
}
.graph-accessory { position:absolute;
}
td .graph-inner {
  position:relative;
  display:table-cell;
  width:100vw;
}
/* Graphs in tables */
.graphtable { width:100%;
}
.graphtable, .graphtable tr, .graphtable td {  border:0;  padding:0;
}
.graphtable td {
  /* width:0px;  prevent table cells from autowidening */
  vertical-align:bottom;
}
/* experimental
.xgraphtable td:nth-child(2) {
  width:100%;
}
*/
</pre>
\define avg(dec:"1")  <<rpn $(total)$ $(amount)$ / $dec$>>
\define elementlabels(content, bottom:"1em")
/******
   Common style defs for labels in graphs.
   When called, in a template, this is already surrounded by "style" html tags.
   Note units.
*******/
  background:lightgreen;
  padding:5px;
  content:"$content$";
  position:absolute;
  bottom:$bottom$;
  z-index:2;
  border-radius:.9rem;
  text-align:center;
  min-width:1rem; height:1rem;
  display:inline-block;
  line-height:1rem;
  border:1px solid; 
\end
\define accumulate() <<rpn $(value)$ $(tempsum)$ +>>

\define totalsum(list, valuefield:"title", tempsum:"0")
<$wikify name=tempsum text=$tempsum$ >
<$list filter="$list$ +[first[]]" >
   <$set name=value filter={{!!$valuefield$}} emptyValue="0">
   <$wikify name=value text=<<value>>>
      <$set name=rest filter="$list$ +[rest[]]" >
          <$macrocall $name=totalsum list=<<rest>> 
              valuefield="$valuefield$" tempsum=<<accumulate>>
           />
      </$set>
   </$wikify>
   </$set>
</$list>
<$list filter="$list$ +[count[]prefix[0]]">$tempsum$</$list>
</$wikify>
\end
\define vendors(prop, arg1, arg2)
  -moz-transform$prop$:$arg1$ $arg2$;
  -ms-transform$prop$:$arg1$ $arg2$;
  -webkit-transform$prop$:$arg1$ $arg2$;
  -o-transform$prop$:$arg1$ $arg2$;
  transform:$arg1$ $arg2$;
\end
\define divvv(h)<div style="height:$h$; display:block;"></div>

\define graphspace()
<$macrocall $name=divvv h={{Graph/_Core/Stylesheet!!defaultheight}} />
\end
\define bars() <div class="bars-label bars-$(variant)$-label">$(y)$$(item-3)$x</div>

\define bars-varstyles()
.$(item)$ {
  margin-left:calc($(index0)$ * $(x-step)$% + 10px);
  height:$(y-of-max)$%;
}
\end
.bars {
  position:absolute;
  line-height:0em; /*1.1em*/
  background:pink;
  xoutline:1px solid red;
  bottom:0;
  width:1em;
  box-shadow: 
  inset 10px 0px 0px  rgba(255,255,255,0.3),
  inset 0 1px 6px rgba(0,0,0,0.4);
  border-top-right-radius: 3px;
  border-top-left-radius: 4px;
}
.bars p {
  margin:0;
}
.bars:hover a {
  text-decoration:none;
}
.bars-label {
  position:absolute;
  display:inline-block;
  white-space:nowrap;
  margin-top:-.7em;
}
\define  pie-diameter()
<$wikify name=d text={{{ [[$(sourcetid)$]has[pie$(-variant)$-diameter]get[pie$(-variant)$-diameter]] $(defaultheight)$ +[first[]] }}} ><<d>></$wikify>
\end

\define pie()
<div class="slice $(variant)$ slice$(-variant)$-$(index)$">
</div> 
<div class="label $(variant)$ pie$(-variant)$-label pie$(-variant)$-label-$(index)$">
   [[$(name)$]] ($(y)$)
</div>
\end

\define over50%(val)
<$set name=res value=<<rpn $val$ 50 ->>>
<$list filter="[<res>!prefix[-]]">
.$(item)$$(.variant)$ .slice$(.variant)$ {
  background: {{colors##$(index)$}};
  overflow:visible;
}
</$list>
</$set>
\end

\define share_and_avoid_gap_from_rounding_err() <$macrocall $name=rpn a=$(y-of-tot)$ b=.006 operation="+" />

\define y-of-tot() <<rpn "$(y)$" "$(total)$" />>

\define accsh() <<rpn "$(accsum)$" $(total)$ / >>

\define pie-varstyles()
.graph .$(graph)$,
 .$(graph)$ > .pie$(.variant)$ {
  height: <<pie-diameter>>;
  width: <<pie-diameter>>;
}
.$(item)$ .slice$(.variant)$ {
  width:calc(<<pie-diameter>> / 2);
  left:calc(<<pie-diameter>> / 2);
  border-radius:0 calc(<<pie-diameter>> / 2) calc(<<pie-diameter>> / 2) 0;
}
.$(item)$ .slice$(.variant)$:before {
  left:calc(<<pie-diameter>> / -2);
  width:calc(<<pie-diameter>> / 2);
}
.$(item)$$(.variant)$ {
  transform:rotate(<<accsh>>turn); 
}
.$(item)$$(.variant)$ .slice$(.variant)$ {
 transform:rotate(-<<y-of-tot>>turn);
}
.$(item)$$(.variant)$ .slice$(.variant)$:before {
  transform:rotate(<<share_and_avoid_gap_from_rounding_err>>turn);
  background-color:{{colors##$(index)$}};
  border-radius:calc(<<pie-diameter>> / 2) 0 0 calc(<<pie-diameter>> / 2);
}
.$(item)$$(.variant)$ .slice$(.variant)$:before {
  transform:rotate(<<y-of-tot>>turn); /* prevent correction for last item */
}
.pie$(.variant)$:nth-last-of-type(2) .slice$(.variant)$:before {
  transform:rotate(<<y-of-tot>>turn); /* prevent correction for last item */
}
.$(item)$$(.variant)$ .pie$(-variant)$-label-$(index)$$(.variant)$ {
  transform:rotate(-<<accsh>>turn);
  border-left: 3px solid {{colors##$(index)$}};
}
.$(item)$ .pie$(-variant)$-label {
  transform:rotate(-<<accsh>>turn);
  border-left: 3px solid {{colors##$(index)$}};
}
p .$(item)$:before { /* extra comment via css "content" attribute */
  transform:rotate(-<<accsh>>turn);
}
<<over50% $(y-of-total)$>>
\end
<pre>.graph .graph-pie { /* center graph as default */
  position:relative;
  margin: 3em 0 2em 50%;
  transform: translateX(-50%);
}
.pie {
  height:inherit;
  position:absolute;
  <<vendors "-origin" center center>>
  /* background:rgba(200, 200, 200, .1); faint indication for empty area */

}
.slice {
  position:inherit;
  width:inherit;
  height:inherit;
  <<vendors "-origin" left center>>
  overflow:hidden;
}
.slice:before {
  position:inherit;
  height:inherit;
  content:""; /* required. But  also possible to insert something here */
  <<vendors "-origin" right center>>
  /* opacity:.8;   fainter colours  */
}
.label {
  position:absolute;
  white-space: nowrap;
  text-align:center;
  background:white; padding: 0px 3px; line-height:1.1;
  border-radius:2px; border:1px solid lightgray;
  right:75%;
  top:-20%;  /* magic numbers to position the labels. */
}
p .pie:before { /* extra comment via css "content" attribute */
  color:red; position:absolute;
  z-index:2;
  background:white;
  line-height:1em;
  padding:2px 5px;
  border-radius:5px
}
/* useful for testing stuff 
.slice { overflow:visible; }
.slice:before { outline:2px solid red;  margin-top:-1em;
}
*/
</pre>
\define x-axis() [[$(name)$]]

\define x-axis-varstyles()
.$(graph)$:before {
  content:"{{$(sourcetid)$!!x-axis-before}}";
  left:-$(left)$;
}
.$(graph)$:after {
  width:$(x-step)$%  /* for axis fade at end. */
}
.$(item)$ {
  margin-left:calc($(index0)$ * $(x-step)$%);
}
.$(item)$ {width:$(x-step)$%;}
\end

\define x-axis-accsum() $(accsum0)$

\define x-axis-accsum-varstyles()
.$(graph)$:after {
  /* Unclear why writing $(total)$ is not enough */
  content:"<$wikify name=tot text=$(total)$ ><<tot>></$wikify>";
}
.$(item)$ { margin-left:$(accshare0)$%;
}
\end

/*****************************************
 Whole x-axis graph 
 *****************************************/
.graph .graph-x-axis {
  position:relative; /* override graph-inner position:absolute */
}
.graph-x-axis {
  border-top:2px solid silver;
  padding-top:.3em;
  height:2rem;
}
.graph-x-axis:before {  /*possibility to insert  content:"..."; to left of graph */
  content:"";
  position:absolute;
  margin-top:-.2rem;
}
.graph-x-axis:after { /* fading axis end */
  position:absolute;
  right:0;
  content:" ";
  height:.7em; 
  margin-top:-8px; /* same as axis thickness +1 to hide unstyled table border*/
  margin-right:-6px; /* to hide unstyled table border */
  background: linear-gradient(to right, transparent , white);
  /* note: width is set in the macro to one x-step */
  text-align:right;
  padding-top:.3em;
}
/*****************************************
 General for all x-axis items 
******************************************/
.x-axis {
  white-space:nowrap;
  position: absolute;
  background:white;
  display:block;
}
.x-axis:hover { z-index:2;
}
.x-axis:hover a {
  background-color: lightgreen;
  outline:3px solid lightgreen;
}
.x-axis:before { /* mark */
  content:"'";
  color:silver;
  position:absolute;
  margin-top:-.7em;
  left:-1px;
}
.x-axis:after {   /* Fade end of preceding title if current overlaps */
  position:absolute;
  left:0;
  top:0;
  margin-left:-10px;
  width:10px;
  content: "_";
  color:transparent; 
  background: linear-gradient(to right, transparent , white);
}
.x-axis:hover:after {z-index:-1;
}
\define y-axis() <div class="y-axis-mark"></div>

\define y-axis-varstyles()
.$(graph)$ {
  counter-reset: y-counter -<<y-step>>;
  transform:scaleY(-1);
}
.$(item)$ .y-axis-mark {
 counter-increment: y-counter <<y-step>>; 
}
.$(item)$ .y-axis-mark:before {
  content: counter(y-counter);
}
.$(item)$ .y-axis-mark:after {
  content:"˳";
}
p .$(item)$, td .$(item)$ { transform:scaleY(-1); }
\end

\define y-start()  <$macrocall $name=rpn a=$(max)$ b=<<y-step>> operation="+" decimals="0" />

\define y-step()  <<rpn $(max)$ $(amount-)$ / 0 >>
.graph .graph-y-axis {
  position:relative;   /* override graph-inner position:absolute */
}
.graph-y-axis {
  border-right:2px solid lightgray;
  z-index:100;
  color:gray;
  width:42px;   /* same as default tiddler gutter */
  left:-42px;
}
td .graph-y-axis {
  width:42px;
  display:flex;
  left:auto;
  border-right:2px solid lightgray;
  direction:rtl;
}
.y-axis-mark { xoutline:1px solid red;
 position:absolute;
 bottom:0px;
 line-height:1em;
}
.y-axis-mark:before { padding:0 5px; }
.y-axis-mark:after    { float:right; width:0; color:silver;}
.y-axis {
  direction:rtl;
}
.y-axis-header,
 .y-axis-footer { /* needed or axis numbers are pushed up/down */
  position:absolute;
}
https://gt6796c.github.io/

<$viz text='
digraph {

node [shape=box,style=filled] [color="0.15 0.25 0.97"] ;   /*style=rounded displaces filled*/
edge [penwidth=1.5][arrowhead=open];

node0 
[label="The audience for any particular argument \n always takes some things for granted."];

node1 
[label="It is impossible to build a significant argument \n from absolutely unquestionable premises."]; 

node2  [color="0.25 0.3 0.99"] 
[label="Every significant argument must treat some starting points \n as reasonably established for practical purposes."] ; 

d1 [shape=point,width=0,height=0]; 

{node0, node1} -> d1 [dir=none]
d1 -> node2;
     
}' />
<$viz text='
digraph {


   rec_Mrecord    [ shape=record label="{An Mrecord|has rounded|corners}" ];

rec_Mrecord:from_3 -> node2

node0 [shape=box] [color=red] [background="#ff9"]
[label="Suppose faculty doubt \n their course can be offered online..."];

node1 [shape=diamond]
[label="Can they adjust?"] [arrowhead="crow"]; 

node2
[label="Yes, so there will be lots of registration changes."] ; 

node3
[label="Extra Registration Adjustment window may be needed."];

node4
[label="Then perhaps many courses will not enroll fully."];

node0 -> node1;
node0 -> rec_Mrecord:to_3;
node1 -> node2[label="yes"];
     node2 -> node3; 
node1 -> node4[label="no"];
    node4 -> "What do we do for underenrolled faculty?";
}' />
div.tc-tiddler-body.tc-reveal text {font-family: "Fira Sans Extra Condensed"; font-size: "12"; fill: #369; }

div.tc-tiddler-body.tc-reveal ellipse {stroke: <<colour message-foreground>>; fill: #ffd; }

div.tc-tiddler-body.tc-reveal path {stroke: <<colour message-foreground>>; }

/* div.tc-tiddler-body.tc-reveal polygon {stroke: <<colour message-foreground>>; fill-opacity: 10%;} */
<$viz text='
digraph {


node0 [shape=box] [color=red] [background="#ff9"]
[label="Suppose faculty doubt \n their course can be offered online..."];

node1 [shape=diamond]
[label="Can they adjust?"] [arrowhead="crow"]; 

node2
[label="Yes, so there will be lots of registration changes."] ; 

node3
[label="Extra Registration Adjustment window may be needed."];

node4
[label="Then perhaps many courses will not enroll fully."];

node0 -> node1;
node1 -> node2[label="yes"];
     node2 -> node3; 
node1 -> node4[label="no"];
    node4 -> "What do we do for underenrolled faculty?";
}' />
*Note that <<rojo links>> work
*See what happens when <mark class="roundedmark">hovering</mark>
*Note in code that empty row is required between div tag and the list

<div class="family-tree">

*[[task]] [[experi]]
**[[Component1]] [[birdman.png]]
***[[Component2]]
**[[Component3]]
***{{Grade 212 final essays}}
***[[GrandChild 2.2]]
****[[Great GrandChild 2.2.1]] 
****[[Great GrandChild 2.2.2]] 
***[[GrandChild 2.3]]
</div>

<<fields2table "[tag[image]]">>
In this thread: https://groups.google.com/forum/#!topic/tiddlywiki/C1XtBA4U4Ms

<$button class="tc-btn-invisible" to="birdman.png">[img[https://www.dropbox.com/s/u4key2m4jul3pwi/tiddlywiki_affordances.jpg?raw=1]]</$button>
The text goes along and <<_icon {{$:/plugins/telmiger/HarveyBalls/empty/icon.svg}} >> and <<_icon {{$:/plugins/telmiger/HarveyBalls/half/icon.svg}} >> appear inline.

<<icon {{$:/core/images/new-button}} "fields2table" "you can click this">>
labor
left
legit
level
lexical details
looking over
language
last
large and little
laying-out
lawful
level
light
limits
limpid
linguistic
lively
logical
lovely
low-level
loyal
lacing it up, locking it up
lucid
\define __SyntaxError() Error in regexp pattern. Check and correct the input pattern.

\define __doSearch(minlen)
<!-- check min length of search term, if greater than 3 do the search-->
<$list filter="[<stateTiddler>get[text]minlength[$minlen$]]" variable=ignore>
<!--check for regexp pattern-->
<$set name=pattern value={{{[<stateTiddler>get[text]]}}}>
<$list filter="[!is[shadow]!is[system]regexp<pattern>limit[1]]"><!-- just check pattern-->
<$list filter="[<currentTiddler>!search[SyntaxError: ]]" variable=ignore emptyMessage=<<__SyntaxError>> >
<<__searchResult>><!-- perform the search and show the results-->
</$list>
</$list>
</$set>
</$list>
\end

\define __searchInField(field, for, ci)
<$set name=pattern value="""$ci$$for$""">
<$list filter="[!is[shadow]!is[system]regexp:$field$<pattern>limit[1]]">
<dt>$field$</dt>
</$list>
<$list filter="[!is[shadow]!is[system]regexp:$field$<pattern>]">
<dd><$link><$view field="title"/></$link></dd>
</$list>
</$set>
\end

\define __searchBox()
<$checkbox field="case-insensitive" tiddler=<<stateTiddler>> checked="(?i)"> case insensitive</$checkbox>

<div class="tc-search">

<$edit-text tiddler=<<stateTiddler>> type="search" tag="input" default="" placeholder=" rexexp pattern"/> <$select field="field" tiddler=<<stateTiddler>> default="">
<option value="all fields">*any</option>
<$list filter="[!is[shadow]!is[system]fields[]sort[]] -[[text]]" variable="field">
<option value=<<field>>><<field>></option>
</$list>
</$select>
<$reveal state=<<stateTiddler>> type="nomatch" text=""><!-- clear searchbox button-->
<$button class="tc-btn-invisible">
<$action-setfield $tiddler=<<stateTiddler>> $field="text" $value=""/>
{{$:/core/images/close-button}}
</$button>
</$reveal>
</div>
\end

\define __searchResult()
@@.twocolumns
<$reveal stateTitle=<<stateTiddler>> stateField="text"  type="nomatch" text="">
<!-- part i: search all fields except text field -->
<$reveal stateTitle=<<stateTiddler>> stateField="field" type="match" text="all fields">
<dl>
<$list filter="[!is[shadow]!is[system]fields[]] -[[text]]" variable="field">
<$macrocall $name="__searchInField" field=<<field>> for={{{[<stateTiddler>get[text]]}}} ci={{{[<stateTiddler>get[case-insensitive]]}}} />
</$list>
</dl>
</$reveal>
<!-- part ii: search a specified field -->
<$reveal stateTitle=<<stateTiddler>>  stateField="field" type="nomatch" text="">
<dl>
<$macrocall $name="__searchInField" field={{{[<stateTiddler>get[field]]}}} for={{{[<stateTiddler>get[text]]}}} ci={{{[<stateTiddler>get[case-insensitive]]}}}/>
</dl>
</$reveal>

</$reveal>
@@
\end

\define search-regexp(minlen:3, stateTiddler:"$:/temp/regexp-search") 
<!-- search using regexp -->
<$set name=stateTiddler value=<<__stateTiddler__>>  >
<<__searchBox>>
<<__doSearch $minlen$>>
</$set>
\end

!! Description
<<<
The `search-regexp` lets to make a search using `regexp` filter operator in any tiddler field, except text field (i.e tiddler body). It is very posserful and can be used with many sophisticated regexp pattern.

The macro `search-regexp` can be used as below

```
<<search-regexp minlen:3 stateTiddler:"$:/temp/regexp-search">>
```

* `stateTiddler` the name of state tiddler used for storing search term, case-sensitivity and the name of field to be searched. The default value is "$:/temp/regexp-search".  This parameter lets to have several regexp searchbox without conflict!
* `minlen` the minimum number of characters in search box to start the search, default is 3

<<<
\define thumbnail2(link,icon,color,background-color,image,caption,width:"280",height:"157")
<a href="""$link$""" target="_blank"><div class="tc-thumbnail-wrapper">
<div class="tc-thumbnail-image" style="width:$width$px;height:$height$px;"><$reveal type="nomatch" text="" default="""$image$""" tag="div" style="width:$width$px;height:$height$px;">
[img[$image$]]
</$reveal><$reveal type="match" text="" default="""$image$""" tag="div" class="tc-thumbnail-background" style="width:$width$px;height:$height$px;background-color:$background-color$;"></$reveal></div><div class="tc-thumbnail-icon" style="fill:$color$;color:$color$;">
$icon$
</div><div class="tc-thumbnail-caption">
$caption$
</div>
</div></a>
\end

\define list-ext-thumbnails(filter,width:"280",height:"157")
<$list filter="""$filter$"""><$macrocall $name="thumbnail2" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width="""$width$""" height="""$height$"""/></$list>
\end
The Maono is a very compact, and low-power, model. It's small but feels sensibly designed, ergonomic, and solid.

It comes with a wired headset only (and has no distracting bluetooth announcement). The cylindrical volume dial (with a firm on-off click) is helpfully located at the top corner, reducing fumbling. 

This seems like the easiest model to hand off to a person without any need to explain how to use (apart from a reminder not to bring speaker and mic for the same unit into proximity while the power is on).

[img width=50% [MAONO|https://images-na.ssl-images-amazon.com/images/I/61bK7-hf7TL._AC_SL1000_.jpg]]

[[amazon link|https://smile.amazon.com/gp/product/B071H2PDHN/ref=ppx_od_dt_b_asin_title_s01?ie=UTF8&psc=1]]

plugin here: 

https://gt6796c.github.io/

Live editor here:

https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggVERcbkFbQ2hyaXN0bWFzXSAtLT58R2V0IG1vbmV5fCBCKEdvIHNob3BwaW5nKVxuQiAtLT4gQ3tMZXQgbWUgdGhpbmt9XG5DIC0tPnxPbmV8IERbTGFwdG9wXVxuQyAtLT58VHdvfCBFW2lQaG9uZV1cbkMgLS0-fFRocmVlfCBGW0Nhcl1cbiIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In19
<$mermaid text="
graph TB;
    D{a diamond};
    A[Here's a first premise];
    B(a sub-conclusion);
    C((a circle)); 
    Z[final conclusion];
     D--yes-->A;
   A==>C;
    B--label---C;
    D--no-->C;
    C==>|arrow and text|B;
    C-. back to.->A;
    B==>Z;">
</$mermaid>
//NAxAATgGp9TgDYDSQHuUDRERHd3cDXksAcGA5k9evXv3DAAAAAAPDw8PWAADxD+h4eGAAiAIDy5c/Bgz/Dw8PD0gB/////4AAAIbD////xAeHh4/X////h+kJEAnJJJQBQ3whEKJH/80LEDRPw+qZeE8aGKlE5gsJNYv1VUqzM0ZmZVULVVazGcNmNFtKjUIMh1mcpSQsEqFGYKgqCoKg0DQNA0DJ3//////g0DQNA0FQVBUFQVQgjY07K5bgWSlcBMrj6xVgZg0xnD0CECoL/80DEGROBgkwAZxKJAK06OypucDZJLqEXllyQoXxWc05ime3VpTqhzUXhcmu7YIauTSSre5VY1rGJOy81fxj1kpYAyJgNV37C8hK+JHb2FSoevohBTIg43OQBS/PRdvG5y2mtnv80Nv/zQsQmEtmKSBB+zIky82Wyrgka0UTq7OY02dRVsFT2541dfVTPY3IJS/2Ev9lcuWqjShtSP0FhFKHCguqDuj1tvWfrMAqsdMCAoJqS2XSW1lWnUAaWVmy8HoEDBWEIbDmYpoWiZjXN1v/zQMQ2EsmSRAB+zGwXLLQ7nRGMc8j0ohvF5RdsWUSp0cRVCxgXfR0cWNrku/Z6tA+6+kexZ+ai6HFYajMeoqSKYngBEeBomkzTE8wsU5yL686x6xzIHOh4rTktw7TkyXkxIjemkh6U//NCxEUUCZI8AH6MbKXBhlJ98WaehME0KgqttRf+XYGuWKCklvWwSxN1VEELzqsFDFKX/lkhzpqiIY/jcU2XtxZhMUsR3qQbbJUDVkEGiCVKqtsQpykmZPkykp8TPO2ptma8I3DbFbTU//NAxFAUSYpACVpIA7NVRhjI0y4TdUQgJxH+SmLqzDAYJflawQIIFFWVwKXzLtrvd9KhaFC2FiSsMBQC2yqgKN2r4TCt5hoTK2KJiGZiQXBDBw1YODncRzXrFAIDF4DKBpYuBAlBLCb/80LEWSUZsigBmNgA4FaECHCGV4OTMSefuA0BL9u21vKB2RAwNMDBB4ewa+o+nNWfppMPw9If/6KRO260dhzn+wFwmtvPFWuqBipQ3QwVh2ZqBVTE6eI8/WGjm5qNZc195hkbnsXktjr/80DEIBvRkjgBz8gB/9mo/0w/sagtdMxKYhIndYCqgJDJyiNA1yG2buZEIGiCgLLH/fKVOzGKejsrmZtDrIoXUvz76xqngW5LZ3lXmU/WrTty1QapJLYyu426o2ojrx36nT6qkcleef/zQsQLFomaOAFPSAC/oxqLSfUj9t001Vji+wibL20RoDhuKpLK0bl41BgMCgEBgKBRtamCQUHIME8Zj6MVGlycgFCRIYc2mToAoJEDCrBAXBwMCAkBAcXAhNt+1QFeBYSmR4dpM2bJI//zQMQMFnmuZCmJeAAaOoCHELufS3fG/C9dYvTWa7+Y+8tRbM4boq4VO/oyDgDTu+LkcqieyySvfErK+lo8b36sg+sV+wp6DGYbb3/2RUAI6FrdP+cwJovqdUI1rF2OtNpJXGOMNZLK//NCxA0X2bJo+YZ4AEd/8Jla9/T9uXecfM6nTBimlrG3jWTwn6ZAa2p06flhg0nFsBvmgSRWK1FnmYbPncClZMw/WG/jpp47xiI2SaZl67yJ/z4Ro3S7Hq9/6ywR7RrVEBmKcsxtd6J7//NAxAkVQZZYocl4AHJRApkcQQTmvq0X6JX5TVHALAPQqgmARIdAzwF9HwziJIQtNqGM8c1erzjXKfb6wKSYhTVxFruSuqfNr53be71hWzqBaP5Zo7/XpPtzb+FACnt8UznStu0sqkj/80LEDxeBkpJ4Y9NFgPFiMKGxu8OJNjWXOt6Ztb/hrap2tbLy8TC+6Iw6kOByJ0CcDUhNibnQTs7AfYtRonG0G6cdFW8yzRbnDYeulO5Y+KMoRsDQoVWiaS3UlZBY9CACVxFGLPP5RAL/80DEDRMBdopYQ8y1tzj3dmFPHqLCSItuzrR+d30wMuqRZ4UDW2LUfLZpimP6MONLQosWO/AT4slJKt3OhjRH/+u/bmFlXy8MLDL7cxjAIqmW3WkoDR4OazVhXbuvl/1qJ5bboHGjg//zQsQcE9lygfhjxyirXJ8UfHqtZXqvOZmP0K4k5liEghh6l2ZS7pqxhvnse+/i27Sj7iTXJBDAD1iBhscMWsJqWSTgAACzUoPxkew/Gs/8Z7S0CLLtVtsZ7p8zQYuMPtu37C9XTtWvXP/zQMQoE8luhjh7zH2ixFw5psvhEhKGMvJ1Emls2RFyiNks+37vt5Hjxm1LQYqJUqzu0X3VulwATHF9EQpqIHdJaeP2yBBgTXgy+XT1cQmaLquoEj17KySQveMpHBNJ2wii5ACJgnBy//NCxDMUCXqJeHsRQw44XW06sB4NZPVneL2O0g54T+ZYaS8sPKTF308KKo3HOkBSqzEez0jxJH6CKQy2iHCL+NwOsyykJuyI4k4kCY+LD5IfJCZkVIlZGSJWCFEREomBknPGyIqnCbhV//NAxD4TsWamOHpG0h0zpf5QjU+norUjEhs8dwkiOoEr+iRPG2WIkST41AqlxpJIGHhVFmQ6BB7JBSCXc1/Q40GLKhIC6BXJMqBNl92jlW4ESIMv1eO3fMnHzvCU6SP3ToVtl2NkWgX/80LEShIxdnlIM80llID1eU7n8qptPyln7SqzTUqaWfNtFJKC7kz4cjK8X+dtgbH0AMcgxWESa0B72HPa16NzgOg2CIYd7X/1G6/VrDI5Jo0y1IYeP5e1C4AYc6cNr3LZrxfv2TZVV9f/80DEXRLZgmmAThElVRLZVqss1tDdvpDPQogylJEqjeI8gJBRSS5mAnqGS4p24MyUV+8Pfmm3K7/+sJeojDekcNNtyVUghjezrLNezOvd1dfIYPpS0vUrruPuPpWEdiUBcfSDJ0tp2//zQsRsEhF2XNBLzQtxxF5VYtoWoAlAkBxEJP1qdYbpaw/8/Pp4aERntHnDkZhFVQ642UUiNxKPGp18Sv43iXktEj4s7YW60KeaeBuB5a4fVeqE9R+nYaaNJelTSWRugwgkRdRwplszO//zQMR/EmGKVChjxyl4pWJrElw5r0pnAid7qVQ/coof9LMVDci3ZYsRpTr/NKEg6PH6QEt25SrlraxdDrDVx72DKpc9aXh2PXRQCY9HYxEYjH1k8dqypvT5dCVQ0E7Pwx+HTVh0G2js//NCxJASwYJIAHjNYUIV6c02Cilj0uAHLYkuoGgnn59GBeM9Bc4KIfoUAMCRLxfuWYcdhF5knWn54VDIpHydWQ1oVC0DIipCcQCiyOHjmYIhOKYlrxMQGSJA/VUjDg6iMC+P7+LhPHRQ//NAxKESqY5AAHsMfdFRDkxEMklNE2clm4npbqMqHxV5ooAViWiVZaRgKVA4DrKgVgfYmqfTgkxcCkMVFoSyjGJFDHAriSFtJ2aVGYxS/qdSGhMj2hKtRczdX2U/dpphVqEINIVUSff/80LEsRmRmigAxhgAKMhicKM4j6TqpHupXykYycGsZKfIajGM6GqdYP1HIWYRMSDtxdUMI2nkNgH4aDXSBfA0GBl16pJIjqHgIzZBIkUSLahgEoG0Moe5viyCbEPYiUgqlaQhSiunEwv/80DEph5xmhwAzh4EIcxJxd2Au5BRbDHPlpHAPE9wsB1rKEnWZIt52CGnuXA1R/Hi9LGTxBnKRRkD2TQ7FeX0g4/1tWBKijHwaAxk4wkqM0ySCpwvZYUANwtpIRWhlDQFtJQ8MBDd1f/zQsSHIYmaFADOHggTBUXL2ptLxay+qvF7IDX8cVj9lucKhpkK0nZnmcEktAxDRcoYOARK4fJOEjUqaTag9LgdqiUKoRkBiVTCxJeAUZ5EwTsPbFKqFEkVOfU6Frg6HCVSxsHmWFXORf/zQMRcHImaIADLHsSxdPkDc/X67S6weA7oihY2GSAnDEbrKharmrsclfjqNVdmBx6BYEx9JBeoUS4Ri6hBCWhFEYG5wi00SiSupEiQ0JNHASYjwdRSfkGE7WWdqRTKrn0rNZXzphqn//NCxEQZaZYwAMMeXEUhJrMKmbfJKnYEdeYFDd6/qtrT1t2xvWNcFArVbAlhxdUaRKJXSAhzgqzMTioP5DR+THA5MrJLBsqbpc2iLljhGiMtExRGhaIRZhso02CEZJECfUkNxlOh5AKZ//NAxDoVUZY4AMPSECWFSBChQtegHtGwYdI2ac9mtg8gCjRDI6Tle9URh9pE2JAlvktGGi1c2VHgq8wI0Cq5FTsHGnzPKlmF5ChN5dRgcSYIkQoec1ADDycuJukynzq8GyVHKJwYnET/80LEPxShijwAexIJqY82aFCiEVPE8TpFBGjYgo40oOUMhiYuyTzK45IzerrcgMRg2lrzJLJuCM0iXMiAYazFkLMCBNcydDkpyTG3IJtsUwYtJ4GgQ94DkmkhKRQacyCFOYiXEEiKKUj/80DESBL5jkAAekx9MUckDgsIJeUofproEvyPgNLI8VaSYlO8mSCppBI2PuRUiLEhEsVcmMIspFIcFZqCS7R5olMhErMnFbSoqFCKDz7itnjyKYUMkLKzSFFunDyYmUSp4rOqtVsLFv/zQsRXFTmWPAB6TLzDAK9dqgpbjAFuJhIitVHzGjiREJ1CFlAsQnIn2CEwmYJ5QE0ImUyBokFzRmKkNeOdlUuuZCZC1OyQ+5ZWGQaSaQz6aAjdZ7lnMyE6BgwsFBGVRwWRk4EuJ6ctcP/zQMReFDmOPAB70gHmNBO8dPs36RiAyLy4pnERVMmk5XsZWdODhC+A+RM3NT4/bfOaN3YM734dkitGkZbaLS1QtoiK55A7BBDbHIP1Um9Ytdaea+oPGFWXArWtkEtKlxpCXfLJi8nV//NCxGgVEZI8AHpYBCXqp4seM+WmBGKhZEKEkAlEC46xiQVA2iDBfWyWdUaFyGTZARtCB8jKA42TVZG5Au0tdGC6URJH9lZLmy9oHr3VGrFVipgIxmYGO6ufquLRshmlp4otJCW6KDDz//NAxG8UyZY8AHsSHCdRikhaIGTI0KhCKjZKsQBZpAs5VMsqnHuk3GBELTxsnZA7FFH6GoltYcwh4IEpBgjOWWhKG1GXzVsQ4hj09FPOxVm5blEiErEviqrdioebBI7za6BJNChZOlb/80LEdhPBjkAAekycy8UkR58FzTUiFQ3pFFKNxWabqKbQeDnoJw9m45+OmOvFmHDy7LAVFSSDVS1YFDuZf4DAiChyMkEWO8rAM7BBMPhOMMUElHEUYM50pqXMku5O3UXIrhAQMhtET0z/80DEgxRRjkAAwkydQY6NcokFCTUZtqcSM+QMIGECCOMIGLX35CEJ7aMnn4whsV9gmjbnWbvUYgpD2u2QGKJoABR2lAoBZgNAEFQC8woCOjRuRbMOoIIwIAMbYoAKYK4NphkiNmD+B//zQsSMGEGOZYjuUk9Fo1LF0sLTkVK4EDMwMTDMQ9KGxriMYy16AdkwIHcaiMHByQzJ9xGdKjFIP5y/Y4JJNeLlD48lNZ9yhoXRAMR0LCsnHp0+tLcJKMEpAKhSgEslny8dyesLi1YkNP/zQMSHIomaYbD2GIxJyG+qAPj4Tj1toi6DQIMcLqNEwaHgHRbIgQGgZpRYGmTEGSxiLt0bx0MovAQCDw4Bh7c7eYFM1MMJ6cg+l1K4CVXwiE5UnYxdwsnZsbPVfWJFglulU8hHd7Tt//NCxFce+Z5wFu7YXjwMHDSbT9frsZ57PKFkJny0ekl2jolNniQOk0///I///Z/kf9MMpetia+Y8YezIasyFYc70YaqYPcGVgBQE8bhMJ3OtLp+URwEC4OA4G87MU6iN9Y+G6ZNCjaB5//NAxDcY8ZJ4CO7YNxRL7nB6vPlmRKL8shaurjgeK5keIa5c9VqjjxzXmZxliq3F7j6xl+zN3ejoKZAGBwH9UrSjl48AGZ7B4O2Dk4vLKUliQDPXWUjWbYwWwMHFHlFmGyQCxgEgBmj/80LELh7RmoQ23h6GN+h72CrLKt2dMIL9GRoeobG8iVs+UU1s6guS84vmSJCgw41ZVbs61JBVkRiAXADBOx3TGsl/UdcsjWmCwQn7AwofGUEXMRgZP/////qVBRkAtUErm2IGAl59Z4D/80DEDhYhmpzw2Z7w4HaZTKdwQJPqoqK7ZhwYAG2hmmr3dkwFLi2eAc9dPwmaamcbHbdZn+xfe/pU+H01DFsWrGi029wpkOZs4mlC+RKFzXmQiBuTW4dVCWGpLNQKsYwUSTgB+CBKrP/zQsQQFlmGmEjhnvFzVkRAAxmUhYAQXP3baLjz2Me9eNeEtcMQJNvfJSS2cKoTO+CEJ93dkWyZbP6ZhdXOkLKtcq2t5Tyljzwj5FtJuXOd8pFEsTAMiggAAt2AG/hp4RQiGNIXADT4Jv/zQMQSF8makFjg3wwwXfCxZHjZNcuw80RHOU2vquyKAeluT1nKGKbJRVoci2AhBESRAzEVZD1Y6GpGAn65XxixdT4esbvRki4n3iLFOwCEQphpCZmd+yfEbFVViQJzKfp2uCgQeitC//NCxA0TaXKUWNoenMXIWOBEW4mEAoQCyw+aKAMdI6FB4+RU15larrp2axhJqxS/GykpdpfrbRWM5xMzDlQ10/1UnxLmmb6hWg6IjWzaACjLaB1viS+RUQAlY2ZNEBZ82aFM5QKe3GMx//NAxBsS8W55sNMMiT0umTq/8Qg3XZ2o3FPNbFFc45Mijk9LWp3eZ/9Pm+cSaHnnBReFgFJiW5VUlIrAb+5gqijSQSBIRBhCd9YmQAj+MZVSSaU1IhCLizLQsMsrqykCQpTupzJouIv/80DEKhNBjkwA2kyJLRzNctEuZctrnzBusSXTV9TkytFJWNtSfZraIysNbPCTstZK0qARUB0cWngJCOxemmPSpZTMNWOiTXjOcsUekM9Wubo38nDqxWxJs1p6KsyOIlFjCKzygqnprv/zQsQ4E9lmQAFbMAHuCugIFLJIc+xS8wxMJWhKtpOg5E/NNXXj8cAGYGxmm/tjIkAlUYDzEzw7FhCNm4ApiQUHPkvaDWAISs9AEJGYXZ5kdRwFQtAXAqTvOrHWEUsl696eR7/DgYBkbf/zQMREI6m2YAebwgb7E3+Uphxrd3Wud2/cnW/DEpWAVuZMxxnKtzqfrHDWHbD6SFMByXfau6bqt3iDTrv//MN67z/8ZKCvn8KKkpZu/jSXb/s9P6P/70qb2672W3W3WttRUrAYUUxL//NCxBAYmacCWY95A+X9jUEZYJAOAvBlkqQ85C/u1G3RG11sp3BD42WduUUNEtKgc4M8yH49bpAuDle7NKyYxSsCNm/1n0NPf/3Dm//3mE+UCXPxUb/7nljxX/+VtkL1B/ZOOU5ulBJS//NAxAkWgZaU6dh4AfEdOHAC/4nIsLVJhZxrzVm3TZZ1Lk1d6gPo39YvxnfzB3u2WHWPitfb7vv3zB9vetfLN8J1xq12jLhVBAkWfoXoGwTEnhnAYjKKEdKgJcobioipJJJ4cVRDIhb/80LEChXphsJQ0wyL4l8GwzRlFEWItnZ0KBDnFFXwUTDOEFEbLFE5PIxqgXaeGnKOJprk8pEmFbB6/rXBjPpkM+2zFMJH218xRjg6ZA49OzwsgWWMQQPjUDECgSyiskQCki6VjTMqIaX/80DEDhdhlrZYyZ6cAKyqEP8sGELA5F9KdTkOiVl62ucp6yUn5V7b6hadFzLZ00IYmZsFlmVWAaYgFgN1WEg5ZE/LCmlKo2c1YR1JJKuZysayiUc0IhSKxjVTm/pM6y24Bq1U3QhZDf/zQsQLFFGSvbDBmJ3OEQbKUEcHPzrBEn5oHAYbZMRBEn0/UVu8NrxZqP1s/e7atf5//s5kFvQrjpSNZSJy4/RkYcRJE8SyBpFRPo3DperQqNRj6qKJFZYakA5UygyTABpNUOpTQyCXNv/zQMQVE4GKxnh5kn3EJpXpQiZo846M0hE4qnwoqS6n7c7hZZzvZuf/y/8trZzcFiaUS5nskZ8SkSQoPHxCRKHl0MV2yA2BgRzewAGrBkv4OMgJslh/mXiyd87VAnYwlDa4k1Tg5MSd//NCxCITQY66WMISnZ3VDhRmFheNIiGmR/5P/ET8wqUlzhgiNHDrSZqwugJsSAwKws5ESTQ+CNsABxyR6D+GWAyJ5a+o+Ik3so2w9Yy5pVI5iI0v9mLmFOIDqYVaGbAKIXakcrFb8e99//NAxDESCYa+UMDM8w/JdbsEUUDwatujq5ZI0jaxxE2UzKXJVQAFI7ZIP/ZlohRaY70leM9yGpzcNNZns47SDUueGy9LH3AGlc40mJnT22oQZvD99z1//XZm2Gk0TQCDigkhiZckj4z/80LEQxOZjqZQyZK9TcQlwTQmiZRv42GqWvG7gouKgixYBnjLZ0xcKWVAQMBmp1JNBi5gijFIes67NmtjFoMSjuQ1v71rnxDHz2b5Esg5W0TSwlA09YwZRNPQi5MTBUdMNDYgCxEjUb3/80DEUBQBlpBA2ZKcbrbAEhANRsidQEmyWAYTV4GEUWXaizNrBJemnEjkjZKmVHTkO3o477q3aNyWyd/i2qt++//rd5wieLRG6acBRpxJMCNBgSmt7BDaIXUAKW2QgbmWDSFMUE5hGv/zQsRbExmakHgWTAxm1GWOhzpYhDszIaKlqgEiiWkkwtUE5YvJpnwyLynuufl7U/m+W85/6du85c5QMHLMTStiVLpH1Sx8FTBUcBKc2i7KWaQb1pgK8mKGBSbRIXkAuQ6Ms2I9sxWW5f/zQMRqFCmakbjJkrz1IdocDDx5mBE2k0PsZVOrJfzMy1Wai+Zn/hpl3mGunJM6KuO2hVNKszdpCJXnANNFUK0WaoPLMIFgYExRjfaGTwNIdfjhMiam/qzZRAVHepa1ulqWqWdrDNVR//NCxHQTUZaAUMmS2qa1Y/7Hk5PlbgxIE9Ujv0mkkKMZpEwKSz18iTXFrcIlFkZghm8mR2KPvKGoP+EFWEihD0GpHozc7qpclVPytItgzClFGqYnmSiBoDKFGgldndchTurO5JqKZeQV//NAxIITOY5YCMjS8EwqIR5nDWyIqMrIwzOZEI7DOYQ0jeSVHjkCs6YAIhYgBBYOW/NtVC7F6i8r9pZtfZJpPCq6Y0JZLWlwjiUWTJEMEjBXLo/HLB+2WjRPEwXRbCOaaiZpc6tId0T/80LEkBLRjkgAwNLRdQXWvOEwG5eIJ6Qy5H0C4JcXxgioMlivPp+zs6HM8pKVpvfGacrxuitvFCKytIiBF/AYBIhC1iQWjubi8YgMWsShUAZoWAuybU7MhpJ0QmT8UauQkvKvG4QUWM//80DEoBu5kiwA0x6d1RkoQhSM6mUSdZEPTyhjmsYCvPJFDgjpgnB+ptXNz9ySrkjUIJK+Uh8iMC2EQE0Zh5ImUYIEkgFhqlwGJDzYxrs5KszEoiul/oqzRTZyXfZTJ2OtZepiC+qKHv/zQsSMIymaHADT9JzlIkarqSu0kzHlggZI8QcypYzpk8CAvOQkMhhcmQoUZIBEBCPxgKF5nQihCOiQRILVIBFMMkL0CLkIpGo1Lrsvh+Izc3EHaurxZADSAAIiC+KSbqqapAmIYMGHCf/zQMRbG9GWMADKcJh/DBwMluy6mJfLbz6WaOb1cu0NJ1UoLTv0mG/tt8GsI/IHqax2ij9Mq2fqLaxU+tiCKMpZHYfamk4w0GBQeUUKT5Cjc1OZ5az+o1VRQ7YJSaE5+BnENBgkSZBj//NCxEYW6ZI4AMJenSVQlsa40ByUMsCAzwIXxEleKSO4aHombL3/JIWQfrO4EyAS0yrgaaLoDJGJUJgSkhtCJxzROB8EFlCCR5NhZuT0W0FJ6mZlS/LLECZ2RKsyMko/oqTctJmZIZQt//NAxEYVeZI0AMPSCVrJNE7aqhd6KnTtqpj8lCEoh2GXXdplTZ24tbFFMHhY0K2Dl9I3FCYlQwdWFAzHVKbFZccAZEXEZWQDoy5K8eNk6wCioSSZlREeTUQh4gXQJzXQIzRkIiMjMIL/80LESxepjjAAwxJxJ0UJ0wuG3kR4gaDiEPuYE4nVLsoKlAjyYGMo2pEgfRlsCqhFcLBghLrG1xUiJh4q8dbaJzA6uTdOaB64ikFVDjuqDMpLtLtOR+KbSiM+FyVBGROVA2apMhKrl23/80DESBXpljQAi9IIChVJgPQtVADwHZJbZNvSlQRLgIuUI4CwHqJMPwgiIfsD04QbWLmw9iqpISBcCyQlBNYcLl3C6CiCSORhorH6uoZFy5C9NhGUmlieF9wkjuPThNfV2PAzPS0aD//zQsRLF8GSOAB6WJkigeVBoWxxE4rkE+i1/+TOr6Mo5wAKNqGwoQW2U5yRnEA7IrmPmERhozTBOTB7tqQGainbnb4x88Il0TEooDkk5OOh4rZQV0McGNN0pEnhG6LQHLLEolBxh5FNLf/zQMRIErmOSBh6TER0FT4ZsjOXhWqEQ4elVPUMTDAqVQi1QnQ1EE0Nomz5rDeJnC8RWNh/TROJicMDsFyC1opTKHVmSZjNcrtPRxweFGMMH2GkKipMouwccKWS4eIpNc/amxqx3i7e//NCxFgUuZJAAHmShMY2kFlVjhpEkdtYkMqqJMYqf1qFIgtWaVPTVjRa1WVKOwrCUGIxEIHO3MAwwE9PAE4Q4EAJ+U4N89E6daHRIjOlFJJEpCiTw40mY0lt6s/xC3iZ0A5KCVuFfPfu//NAxGEWmYJEAHpePRSBJZ4/Zr6eTNdtpx1XEaSrzM00SMywoELt6qq7XS5ENEKHEkAFaiNAVORYf8ApRNehMZpDlokod31VhawNGfhqT+O4CYaHwgisvQxHqlh6mkuLux6g9UCBHrn/80LEYRcZjkwIfhFHl59aiBk2aUYwJjnOtzif/dqUx42L53Ccn6rJGEYFhRICKEML0DlO4giHE+JTDERIUcxFjlWRxCYjoUjMxik8ly6k/xve2/8t3lqP1apAhtl6a/aG/27ptrj0Dh7/80DEYBQJilgoQ8zUCswDViQHK9fSrjYmK+/z1jbltWj7OT6PDzigmxv2ofI3mYbGn2XVhIFgiI7OF6SRoKgTL4ag+/Kgl8w2H7vj/qN835rUY6XlAkEEYcQ44iEsYvV/HVnniomakv/zQsRqFal6VChmDNcq+79mfN2uQvzw41Wh6Egtw/0NQLpLKpTKOiuIXkvpLThOl6ywRpbpCL54gBHIGDIMAAyIJDGqCMY7VFKiUGhXmj/RR6AGl0zkkvs5Zav1m2rWAxjRCODOGeLmdP/zQMRvElmGXBBDxysCDIAXMcpOECdbc7iNyqcYw/mZ7uaaBre8V3Hpuf5gmbYkKpzGKg2vHhr8L61EZmDfa/W7Dj35LzVktXZrz3Y9nWtLT0MZKEZmjk9FxUJbTqbbtqpjKU5TRaWG//NCxIASkVZQAFmePY3be3QOEjxLEdRSh9UNqSmEBTFLErERiIMV8oWs+4iFoREVyOBR6RiIillHUexuhi5QyEvIk08w+gQLpEIPMNQT0cm6CihrYnRIvJti6iLEbEJLsqTmgNooO+Nf//NAxJESOYZQAGPHRXdUeSUZqsodCKenYVqrPJgMdVvVDM/pUlrcLkKm6wiNOEJAYPSVkIW2sTLpECOtgIxIimxFpQieTL4gEeqNP5qBfZMxVxpbgjObuKDl8a4hR0JqF181ziohwSD/80LEoxLhjkQAeZKdUJBUbcn2etsEOyuvLY5FShACFyqDlEXTTYzSMGamc+vHIac0LkkBDGvoU3rGVu/HecR6nK1qGawvOlDURBFAsoSkTAJVBpN272s1f1LMw4CDIlezmV9TLyaDdgn/80DEsxNpkkQAekycwy7P09LAFwtABgnfeTFvGwdr670x2Ju9U/MyWrM2zMttGDCwwsiJZPXvKKrEjsseva6jb9lm2JjidQOYJk8uFgr2PIiW/LZIdVuLF9qQOgmP6yWgQPSWf0Ehxf/zQsTAE0mOSADJkr2O0i3JlKJld+33AAFmJ9ZmbBlGWgygUXDPUUzMBGDWYElmmdBA8McRY02kqKyGQLBkhV1PACCRCx2pDKGcOTH4nEqS/QZW8Jym5TRiXY1pLLqSexiDX7e5I4bb0P/zQMTOHPmWhvjuWE0sd9YNqNgVyuYRvCNvVEYLAgJytAjrqqoRwRFkeDVQewDQqiLwGjSNpdhYBoiZKUTuRN/FYXZIhOrC+QxGQqAKOmBZ2YWEYiAEwYnBIpUghyrHGAGcBGExItMN//NCxLUlOaJ9mO6watzJtbPAr/xYwSY3ILkfWHnqLVC7d/8cpfT1J2GodxsVoIXpDtykWwzd2KGGmEto0x63aZUvds9I+7kpfvNDDXAuMWcXA0tWwhKMQJ60JIRWYfpwzhB5cADFmYKF//NAxHwjYZZ8COQyY8NNRBdMwaKZkno37ZlEXsd9VQScs1WfmDSo8hVU3GdGvzC6BbzZktThfF2UB8ebEDwGFQiPtKDMIxSzSibBofyrbdTfaSDWPSzdBOquifcWiN7utVW1D+GLsmT/80LESSAhjozA3rIlstJhyopgOCMenrqc6fTHpfPqAJSp88jhZxfaWE+tkxbzXODLtsgXiZYTLn8j7O1MXdgCVsPh0DWIAOADws1JIIDR7N7GRL6C65MrWqPqVISJFJTuAMoSwqTlhTL/80DEJBxhmqmQzh6cc3PcNr1jVvWD62rmrbIp2pSWnmv425RDt/P4Yb69MS1NMiXH3fdJR9yNY1YzKocieKhfxYog7iwsCXZAJwf7yxPiYPYMrKys+bwGCku1MoMFTzIAFmAZ5yECbv/zQsQNFql2yvgWGB2E7Do5OU2PoF2uy3dxY4OLkO9MwDg0vJc7icVubmhINt9sQz2b0Q9zF66021XNEoJmBuydCQtrtV87tF1pk7NjmzxLK142nPrkv2WCFuJMQ+QtE1CQKHreEZGBsv/zQMQOFwl+vYgWXhX/p0Wp7VuUFJcnwfANwpCecrCRMmrORjuUmj5QUOuS6KrFcst60XJco+GAaapSM2zSSm4uUhC18Ofz0S+lZckCV65Zam88xaRTY1iSI8ZVgScCkAAE3h32tQdb//NCxAwWOYLGWMPS7PkSAeDsbkFr4l7cYqiGJOt6oUq2131nBdpWHFX1w+3BGGgL7oek/8qmn3InCwvepw4w8tURox2tttnPBD/PQz6QAEMeaNtDV6q7+2s61lKQA63jN4ON7S5uARpr//NAxA8TsWbJkHvQf3FnPGO1oQDEWr3DPCYca3EIL1fKSHTFrlTxa/Kvi/yKmLnKSVtekCSqmticCK1Cx/f+q5YsNSzhMdeeovQ3Pe7MZBlQgBfC7WuFzJ79vQLQfKcpmG8/B0y4sJr/80LEGxNxcspYwxDRWVhq7LHkb85C7UPTSdeb/M87d6th1ZsXhcipwwFps6Nf8fdVsauwwFpqDB12xBJtJrwWLMIMAFP1fQ8MZYxk+oXEDqpCJeIYPNLuOwGvbcmPXhVHL0J8WWfXuPf/80DEKRNRer4YwwqbQOz94Ls4s9DOSeJAhIRDULtYX6+3b6I4dGCSgylEhhbjChL1apBAFb+RIGlInB2klJ0UguTiq3yZVLQ+U6tdJGU0Yk01Oo/ayiqzm+jqIn2E1QCUoBGIyNJQk//zQMQ2EsGasNh6zNanm///29VfZZjUHQPReGyaqSmdmSuAEr4czWkuVeasYFJKn4h1FaKJumSwsdj/TEE/3ydjtlUDaExO86g1pTerv4WYbGknEu5Oy0Rze2SfNxCCndDpr075VdSq//NCxEYTSZqYuMPEfJ0ZkZ4qaAvVCEFHuRuuwMGAHQcCj2ustQRNiQSwnGm3gNLK27UQlLD0gl4KyQs7aN3yDr0m0ZJJWssmAhAy+1azg8yZS/nkCHO9r68PObMFQMKZ8ioW8YJsyUGy//NAxFQTGYKQ2MsGfBzHgL8DJhhKfqA1dyFk1Xnelq12JxhG8o2HnUMY7U0+bW2aNi+pteWrVa71AIELuR/elPmZEUN+QjNXUzTKPXBOYELc1QbpI43KDzCpYz8IMKZB4mJggYBEcgj/80LEYhLphoQQy8Z7CYcYLJENUdlqFQ+VCWIpOC9aaBy63JhTZlQ2NzpAg4lgIURakZLl31+dmJZGoRzDWNdbMQiVIHoRBWKenBAMYu/Gz5ppySYkBp4kwnFo4QQOsp7LT28wunrsDZT/80DEchNpfnAQ2waNQBR9cauO/wt1ZPgkx9yiss9ePLbqcHVKme0r33rJTFW5Js85/61yJHnEKhBk0FAkBLUMwg87aSzrFLohYUACBjkMix4fKhhpgwwvSEc13ViBsmnDliMUMUbLj//zQsR/E5GGZDDbDHEeQugwgllLUyDUiLu1qxcQBECAUHChiKnXdtdFG9jEXUIFZppWYGImHfILayzCAhooGahY9jb7xt3spA8lbLMwFbFEYjJ3+GrES5b3g+DdLLPLLYYT87lvEQkI9P/zQMSME+mOXCjmUCRBCqI9nBEDQPqx8ucZRA5JGQ5NiY6qBDlpgG0scl1cCApyoC1N9HQEQ2JAG3rnIMzNrbX+PWiw5ZaUI56sD62zbtEN+4CFDCw+Sr7NLomKWJqt7DzB+tCMIEDB//NCxJcUaYJoMNpQjVlizI00OCpIg4fVCAFIXiUyKoUMj54csl+6LLEwQEIyxpU0DM7lj0U0LlJtRpEaYqS0EMvgpAwubZqN81Zt1tyz6ykSTCySMD5iw4B18ejLTKOuVlYOqVqyMCB0//NAxKETyXp9mNsGfdwUTm8sgrTEXcLdPU14tJyqtahIve2xFTMdm1XGau40uQz2AeQMqH0USYPjMRmPKaF4KZXq7Ve1vko8YC44a02do3EnMQpKKlw3IBpIYBpGlw5DZrvV0zMMNPv/80LErBLxgmlg2lB5GXcJ8DIeGmZ/V3NZXt3ywy+SLCgW2P9fFvAQDsV0UcLhEYcNF7Dwhz2gcRFK6knZlIc58TbEHslD0pDCSlcy8SpGGIP64qHZR+1KIu7UOX5Teq0SWpckSUDyy9j/80DEvBMJdlAA0xB5kXDtDH55nmE7VS1WA+hfumEsbiezda2PiazjpxFaWLLeMzWuW20OhSVBNGUdI8hd7OQSRTORRXIETcYOPyorFCpDAiUikn5lmmMvZFUJG4OpSJwBWVTZ5lATjP/zQsTKFNGGRADD0F0myayZLyIjTgTl7PFzoaG+mZeFKFWA+JGHJTtBF81WYkwWIjUjm4q0hWcxfiSRRah02gNdpyYFqiskNNkWr12A+D4czOAyKBmleIayxk2TgogVF4kKpFFzlgZ6F//zQMTSFhGaPADDDNROi7OImCsXELZGyRjKK02BIWCZxBJlzxUREYKomR5wkO4OYkaiyTxJWjhtghK9EgPGkb8qBELJzBvocxudz0LlEhkqBVCbICVYo6ZsnW0miYZNMLY0uYD3ZEaM//NCxNQVIYo4AMMSabiUgRsKlwpRAK1Zmkx0oAMKScYsPToKIpFCbg8haEsAMBQCPARB6IJLJ8mrHoUMqUKjr1UD1UiwMqirArUE8jk87QnwkH1pFQsriYJB/cf1g/rIaG8TBJAUShul//NAxNsV0ZY0AMMSMFBWHgyDsCjy5lGyXsPcJqMtBmj9sEhhgHsOisoUpAsmFA+BaFIQHGDgIkLbDzOG1weB/t4LlYtiAOYfhcRD0GmdkDaIuXWwkQoycYYoyqpVky5IViXIxW1zpKL/80LE3hS5jjgAekx9tMji4gKE5ea79slQLLJ1Ara924lNDiNJhFCMW2UTJw6hR2jOTlJCfWUrZVfeYjD8d6uEYwXj2YhWJY+kclL1jA/Li62mgSlF9AcXH4sLZ0mPIVSonIZk3dDTtE3/80DE5xgBkjAAwxJ9H0NUpUFyQzHihrWz1kRIJzB64uPL5SEpsvQMnMbTbhVgJGLl8K1M+5HdB4I06V9WJDTyRibZysFJKEdaVQQ0sKVIiCO2CKUhj2pRuLRYdKIFyR61mnB7JCH50f/zQsTiFOGSPAB7EgjyxklF45RCSRjliE+utJRaKhXIxwX/RrjkzJNyZESDm6NkSFPtUQKnhwZsJzpx4aoN1Ut6EqllKtXacoKkFDRIQCsLkunS3XYQAqXTEJWwaMSZanFdAgtprCZGXv/zQMTqFzGWNADD2AAoqZ7YkQP6qhypuBacI3jJThZOTjiJ4w82BWKAcMekUYRqJkOM4bqNfaQ1pgb/Qt64ID5gHhxBrEmXUHEIUI1PCQXCIatDpJTQGzVH4QiClOIeHOjaM+SLSaWZ//NCxOgYGZI0AIvYCRUI7w2TmhmKwoYKmoiSRGFBQTjSEVOWLoRwweJCexWJWQoTOjZwmVsZB0Pql1NJwOhFjr0ggdQiVG0ZlASztcfLysQ3TAwMi8vUAXKRsQWYIFpyvI3AcGXqLLOa//NAxOMTUY5AAHpMfDArQCIibPoSAOp4yThpSDrX4hdFEmQESMkDAVGhpNMsSCFJm1SSDFoeRIWltMiDjOQ/zXyIOIyAaGUCEERobNtE8xEmEskrx+RDiVQ8JDuryUUmeRLNMXVmFIv/80LE8Bh5kjQAwxJ9zSiIziMKHVTVjUNUfL0s8+V0E9Hxs8TnNDIi3FAhF+I9MSuZajWsqXojKeoDgrjzXKUJeHUb7trJ+OI57Kw+DhU7xGJyYwjGoCuRAXBo43A3E21fKuNISUKAiib/80DE6hapljgAexJYiSJ/hY7ERBgL5o/QlaMsQUD6gXYLtxRHGpWeRoiyzAPLBYcQn1FMtSUmS77bnEWFWjCgKAhbC2qg91KcEwYCgCsJhdVgNNGF2GCVtxpdo1NEZaGDiiVDgrEQwf/zQsTqF5GONADCWE0IpFa5tYUoEYwhdZQRtxHXQM2uSEJWLc2bQoyBGistAXSRH0A4LGFYLSYjOXJG6okShcNrRz0RdGp821JRI2myQPSYiUSS4kBfV0nljDgtGrxBSpOOkdy6gGAkJ//zQMTnFkGOOAB6UpUvRboeKJE45OlI8rz0skAnKKR1UafE9IuXLLvricJ5bVCKu5klmWqNan4qKgsWg0C6NCcexyemeW54c6vNwxlOSx6nFg9FIo3MkilLhJVuwGqY5dM3jBeOi09h//NCxOkWuZI4AMPSDYFLTpSJpEJEUaMO1aeDROOtKEhKUksc60q07JZEy5pslEXKyQqNs6cNxxPrIgqEHTQtQnSxuSrT5d6QxgPS2lhLy/K09FUnIhfPS2XqFA4IBaLQ1ojhKfwOrTFJ//NAxOoXiZY0AMPYDLY+fGs+YXDxCZQHTV9OqxwFMyEtRAXiCzD4wOsVQo07zhy0uSnpgs9TEfPvccrAmhWYbTTeLknipcKqFRqdpen6XpCABFV4A4NuEi+vFiYkZQqyM2Ku9EsjVGf/80LE5hbxkjwAexLsCwrac0us0drEZYeJFSNIyLcLgeiiKS6yJ9ImkiSOkhKKbI6aIWhVBWpxYL8oR+oi6BJa0QlA4qmEpkGuV9WolyQpXRWlESzQf05LKw8F4jHJXbLURxdMg2NS3cr/80DE5hehjjgAg9gVxAHMlEhdCH4nCUcxlhlTGeNeflaE4MF51YpRXLLLiQzdLyxJrp90CE4cJIaOKgJxQKdTYkKRGrVgSfEIJGGpQyCSPoiaDjlB1MJ6WiQkcgoltF5wzlzSOI4A5v/zQsTiFGmSRAB6TLQGkNNjGMQvGkQkpMdTmWNs/7DJ2XSidLQJdDIUMhIU6ySlrTfbG6uTq9LcoXx1OEGDhvkWgGmaTdy1c+vXp35bvD6D7NW97/w7bgeu/eP/9e7apjT///d/t/8xGv/zQMTsGImWOAFPYABuox///83VhAAAAgoIIgS61mBZDdzLsKGrbu1WYqXm6YUpZmnZRXec1VFBBkpVfxQHrAKwBUwGsIL7+qiYihCEfACAYKENTlq3tXZBnfiEUWrt4mnN17hTakvc//NCxOQjyapYB5nCIjCN0/Y3EpdU7En+oMaW3Oy6kwjc/uG4vLN/nqCJmK1qXnfpK1NenW9GksJhKJRCRDv/+tYBARYDAUqz//86eCpxSz6bD66xoIEeigADLGuL7SZx8qnVO268c9pa//NAxLAk+a6tVZjAAIMS1xsfPfpzW8dKG39//sRp6687Dv/kvuPWTMNlMAPMqb/x914XNO667svGqaUL+yq46uw9GbD6PrUe+eszMdlkWr48/f7xqtfgpaD6yPv/HGtxdsz/w9hnjqr/80LEdyV6HpJXmMAA1cLuPP/////////5FDkxQ36Okr2b9gVFrf/pAiDS00BQARAUCsJB4WURNqXQ2b1+8///8t8Y56jHyRItVJZiklgRBo0VCryElZWRNWrsY+pbGNkKGBEKmiEMzCr/80DEPRThmbwnxUgAGXEQJEyYpaVQhIGng0eErj3/6v/57oVMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQo=
https://noteself.github.io/online/
http://svatantranatha.blogspot.com/2014/10/the-mmmmm-in-aum.html

Elsewhere: the anunasika is called "Chandrabindu" or "moondot"
[img[charts|https://www.dropbox.com/s/d015r245x4x9s06/css_chart_generator.jpg?raw=1]]
As requested, I have packaged the Keyword and the Cross-Links footer in a separate plugin [[TWCrossLinks|$:/ak/plugins/TWCrossLinks]]

$:/ak/plugins/TWCrossLinks

You can install it by just drag-n-drop the above link in your TiddlyWiki or by direct download from [[GitHub|https://github.com/akhater/TWCrossLinks]]

\define duckurl() https://duckduckgo.com/?q=$(searchterm)$&iar=images&iax=1

\define img-string() [img[$(img)$]]

\define quickimg-closing()
   <$action-setfield $tiddler="plugins/TWaddle/QuickImg/quickimg" searchterm=""/>
   <$action-setfield $tiddler="plugins/TWaddle/QuickImg/quickimg" imgurl=""/>
   <$action-setfield $tiddler="plugins/TWaddle/QuickImg/tempsearch" text=""/>
   <$action-deletetiddler	$tiddler=<<dropdown-state>> />
\end

\define make-img()
<$edit-text tiddler="plugins/TWaddle/QuickImg/quickimg" field=imgurl tag="input" placeholder=" paste img url here"/>
<$button class="quickimg-btn">
   {{$:/core/images/new-button}}
   <$action-setfield 
          $tiddler={{plugins/TWaddle/QuickImg/quickimg!!searchterm}}
          _canonical_uri={{plugins/TWaddle/QuickImg/quickimg!!imgurl}}
          type="image/png"
   />
   <$set name="img" value={{plugins/TWaddle/QuickImg/quickimg!!searchterm}}>
      <$action-sendmessage
	   $message="tm-edit-text-operation"
	   $param="replace-selection"
	   text=<<img-string>>
      />
   </$set>
   <<quickimg-closing>>
</$button>
\end

\define quickimg()
<div class="quickimg-tool">
<$edit-text tiddler="plugins/TWaddle/QuickImg/tempsearch"  tag="input" placeholder=" web image search"/>
<$button set="plugins/TWaddle/QuickImg/quickimg!!searchterm" setTo={{plugins/TWaddle/QuickImg/tempsearch}}
            class="quickimg-btn">
   {{$:/core/images/advanced-search-button}}
</$button>

<$reveal type="nomatch" state="plugins/TWaddle/QuickImg/quickimg!!searchterm" text="">
  <br>
  <<make-img>>
</$reveal>

<$reveal type="nomatch" state="plugins/TWaddle/QuickImg/tempsearch" text="">
  <$button class="quickimg-btn">
    {{$:/core/images/delete-button}}
    <<quickimg-closing>>
  </$button>
</$reveal>
</div>

<$reveal type="nomatch" state="plugins/TWaddle/QuickImg/quickimg!!searchterm" text="">
  <div class="quickimg-search" >
    <span class="quickimg-search-header">
      <<make-img>>
      <$button class="quickimg-btn">
         {{$:/core/images/delete-button}}
         <<quickimg-closing>>
      </$button>
    </span>
      <$vars searchterm={{plugins/TWaddle/QuickImg/quickimg!!searchterm}}>
    <div class="quickimg-search-result">
        <iframe src=<<duckurl>> width="100%" height="100%" 
             frameborder="0px" allowfullscreen>Loading quickimgl...</iframe>
    </div>
      </$vars>
    </div>
</$reveal>
\end
<pre>.quickimg-tool { display:inline; }

.quickimg-tool .quickimg-btn, .quickimg-search .quickimg-btn, 
.quickimg-btn {
  display:inline; background-color:transparent; border:0px; margin:0px; padding:0px; opacity:.5; width:auto;
}
.quickimg-btn:hover  { opacity:1;}
.quickimg-btn svg     { fill:silver; }

.quickimg-search {
   position: fixed; z-index:1000; 
   left: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};
   top:20px;      /*calc( -220px - 50px );drag up tidheaddistance and cliptop*/
 right:2em;
   bottom:0;
}
.quickimg-search-header {
  z-index:1; position:relative; width:100%;
}  
.quickimg-search-result {
  position:absolute; z-index:-1;
  height: 110vh; width:100%;
  top:-60px; 
  clip:rect( 90px   /* top */
                 50vw  /* right */
                100vh  /* bottom */
                0px      /* left */  ); 
}
.pic-btn ~ .tc-popup {position:absolute; margin-left:-50%;}
</pre>
surreal

Building blocks for problem solving tools... Thomas Teepe
The Pyle model is the least heavy-duty among the bunch (feels as though it's made of a plastic shell with virtually nothing inside), and also the only one to use the older mini-usb port for recharging (all others except the [[Gigaphone G100]] use the now-ubiquitous micro-usb). 

It is also the only model lacking an "off-click" position on the volume knob. Instead, power is controlled by an electronic button (the center button on the front). It does not include FM radio function, but does include a TF memory card slot. The fact that the on-off switch is electronic, located at the front rather than the top, and requires a long press, is slightly cumbersome.

Given its very light weight, it's surprisingly effective at amplification. It still seems to be the cheapest, not only in price but in quality and durability.

[img width=50% [https://images-na.ssl-images-amazon.com/images/I/71Sk6MzA9-L._AC_SL1500_.jpg]]

[[Pyle amazon link|https://smile.amazon.com/gp/product/B075RNLG2G/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1]]
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
<<alert info "Experiment with regexp patterns and match any fields except `text` (the tiddler body). This tool can search in any tiddler fields.">> See also [[Search in Fields Using Regexp]]

<<slider-ii sample-patterns-fields>>

<<search-regexp minlen:3>>
This great trick was shown to the tiddlywiki google group by [[Alberto Molina|https://groups.google.com/forum/#!topic/tiddlywiki/OCntQ79DuwM]]. I enhanced it a bit.

|!Search tag: | <$edit-text tiddler="$:/temp/RenameTags/search" tag="input" type="text"/> |
|!Replace by: | <$edit-text tiddler="$:/temp/RenameTags/replace" tag="input" type="text"/> |

---
<$reveal type="nomatch" text="" state="$:/temp/RenameTags/replace">

!First step
!!//Apply the tag <$tiddler tiddler={{$:/temp/RenameTags/replace}}><$transclude tiddler="$:/core/ui/TagTemplate"/></$tiddler> to the following tiddlers//
<$list filter="[!has[draft.of]tag{$:/temp/RenameTags/search}!tag{$:/temp/RenameTags/replace}sort[created]]">
<$checkbox tag={{$:/temp/RenameTags/replace}}> <$link to={{!!title}}><$view field="title"/></$link></$checkbox><br/>
</$list>
</$reveal>

<$reveal type="nomatch" text="" state="$:/temp/RenameTags/search">

!Second step
!!//Remove the tag <$tiddler tiddler={{$:/temp/RenameTags/search}}><$transclude tiddler="$:/core/ui/TagTemplate"/></$tiddler> from the following tiddlers//
<$list filter="[!has[draft.of]tag{$:/temp/RenameTags/search}tag{$:/temp/RenameTags/replace}sort[created]]">
<$checkbox tag={{$:/temp/RenameTags/search}}> ~~<$link to={{!!title}}><$view field="title"/></$link>~~</$checkbox><br/>
</$list>
</$reveal>
https://bennettfeely.com/csspiechart/

https://blog.jonudell.net/

http://zaphod2016.tiddlyspot.com/#Zaphod's%20SideBar%20Shade%20ReadMe

http://sycom.gitlab.io/TiddlyWiki-Plugins/#Feather%20icons%20plugin

http://braintest.tiddlyspot.com/#Band%20of%20icons%20based%20on%20tags

https://kookma.github.io/Tiddlyshow/

http://kookma.webfonts.tiddlyspot.com/

https://google-webfonts-helper.herokuapp.com/fonts/roboto-condensed?subsets=latin

http://csstransition.tiddlyspot.com/#Cross-Fade%20Images%20with%20Timer

https://help.slides.com/forums/175819-general/suggestions/3195947-inserting-per-slide-audio

https://bimlas.gitlab.io/tw5-mediaplayer/

https://marxsal.github.io/various/groceries.html

https://tid.li/tw5/apps/svg.html#Advanced%20Icon%20Editing

https://frontstuff.io/multi-colored-svg-symbol-icons-with-css-variables

https://ibnishak.github.io/Tesseract/pluginsandmacros/classfield.html
https://revealjs.com/#/4

https://help.slides.com/knowledgebase/articles/269971-auto-slide

only contains digits: ^\d+$
only contains lowercase letters: ^[a-z]$
only contains uppercase letters: ^[A-Z]$
a year in 20th century (2000-2099): ^20\d{2}$
start with digits: ^[0-9]
start with lowercase letters: ^[a-z]
start with uppercase letters: ^[A-Z]
extention .jpg or .jpeg: \.jpe?g$

https://saqimtiaz.github.io/sq-tw/bullets.html
This seems like progress...
https://kookma.github.io/TW-Searchwikis/
The SHIDU S278 feels like a decent low-mid-level option: conveniently wearable, offers LED display, CAN accept a bluetooth connection, but comes with just the wired headset.

Like the large Zoweetek, this one announces on each power cycle that it's waiting for bluetooth connection, even if the wired headset is plugged in (and even though the package I bought doesn't include a wireless microphone).

[[amazon link|https://smile.amazon.com/gp/product/B07SH6DS6G/ref=ppx_od_dt_b_asin_title_s02?ie=UTF8&psc=1]]

[img width=50% [shidu|https://images-na.ssl-images-amazon.com/images/I/614xZ6t%2By7L._AC_SL1200_.jpg]]


\define showLines(tid,from,to)
<$vars length={{{ [[$to$]subtract[$from$]add[1]] }}}>
<$set name="lines" filter="[[$tid$]get[text]splitregexp[\n]first[$to$]last<length>]">
<$list filter="[enlist:raw<lines>]" variable="line"><<line>><br></$list>
</$set>
</$vars>
\end

<<showLines "TiddlyWiki" 2 3>>

Testing <mark>marker</mark> ... 
https://fkohrt.gitlab.io/tw5-soundcite/#%24%3A%2Fplugins%2Ffk%2Fsoundcite
!SK Plugins for TiddlyWiki 5.12

!!The following plug-ins were developed for the Editor Toolbar that was introduced with version 5.12

#[[TableHelper]] - Converts blocks of comma separated or tab separated data into TiddlyWiki Tables

#[[TableCols]] - Adjusts the alignment of a user specified column to Centered, Left or Right justified as well as adding or deleting columns

#[[FindReplace]] - Adds Find and Replace capability to the Editor.

#[[Transclude]] - Marks a text selection as a transclusion

#[[Links]] - Marks a text selection as a link

# [[Indent]] - Indents a selected block of text

#[[BalanceCheck]] - detects and locates mis-matched parenthesis, braces, brackets and TiddlyWiki formatting marks

# [[Fancy Quotes]] - Changes the typography of a text selection to standard typgraphic marks

# [[Color]] - Adds text color or background highlighting to a specified block of text

#[[Email Convert]] - Revises blocks of text to change characters that would be misinterpreted by TiddlyWiki such as &gt; and &lt; to their html equivalents. Also adds spacing and converts bullets to TiddlyWiki equivalents.

#[[HTML Convert]] - Converts an imported to the TiddlyWiki equivalent.

!! Plug-ins not directly related to the Editor Toolbar
#SidebarHelp - Adds a tab to the sidebar area where help tiddlers can be displayed.
#WhiteList - Allows a user selected group of words that TiddlyWiki would normally treat as CamelCase words that will be considered ordinary words.
#MathCell - allows math operations within tiddlers

!!Experimental Plugins - Use at your own risk
#[[Table to Tiddlers]] - Will convert the rows of a TiddlyWiki Table into individual tiddlers.


!!Revisions
*May 18, 2016
** Changed default keyboard shortcuts in table functions to eliminate conflicts.
*May 20, 2016
**Implemented Replace All functionality
** Added search for special characters
*August 2, 2016
**Added preliminary version of table to tiddlers function
::I didn’t qualify under my <mark class="roundedmark">2018 taxes</mark>, but I DO qualify under my 2019 taxes. I filed <<stretch "late" "about 10 days after the traditional filing date," >> so I missed the first round. If there is a second round of stimulus checks, will the Internal Revenue Service give me a check based on my 2019 return?

::Shaquanna

: Dispatches from a pandemic: Letter from New York: ‘New Yorkers wear colorful homemade masks, while nurses wear garbage bags’

Dear Shaquanna,

Your economic impact payment is effectively an advance on a 2020 tax credit, so you should receive a stimulus payment of up to $1,200, but it won’t arrive until next year, unfortunately. Some 130 million checks have already been sent out, and millions more people are awaiting their checks. The IRS will send $1,200 payments to individuals with adjusted gross annual income below $75,000, and $2,400 to married couples filing taxes jointly who earn under $150,000.

‘Eligible taxpayers who received a smaller-than-expected economic impact payment may qualify to receive an additional amount early next year.’— Internal Revenue Service guidance
“In many instances, eligible taxpayers who received a smaller-than-expected economic impact payment may qualify to receive an additional amount early next year when they file their 2020 federal income tax return,” the IRS said. “EIPs are technically an advance payment of a new temporary tax credit that eligible taxpayers can claim on their 2020 return. Everyone should keep for their records the letter they receive by mail within a few weeks after their payment is issued.”

If the IRS doesn’t have a taxpayer’s direct-deposit information on file, the agency will mail checks, but those checks mailed out after a deadline last Wednesday would arrive by late May at the earliest, the agency said. You can submit your bank-account and address information through the IRS tracking tool, “Get My Payment.” It should also tell you if the IRS needs more bank-account information. Having your bank details on file will help speed the plow for a payment next year.
Suppose faculty doubt their course can be offered online... Can they adjust?

<div style="padding-left: 50px";>Suppsing they can: how?

<div style="padding-left: 50px";>More indent??</div>

</div>
\define svgCal(width:"", height:"")
<svg xmlns="http://www.w3.org/2000/svg"
aria-label="Calendar" role="img"
viewBox="0 0 512 512" width="$width$" height="$height$">
<path d="M512 455c0 32-25 57-57 57H57c-32 0-57-25-57-57V128c0-31 25-57 57-57h398c32 0 57 26 57 57z" fill="#e0e7ec"/>
<path d="M484 0h-47c2 4 4 9 4 14a28 28 0 1 1-53-14H124c3 4 4 9 4 14A28 28 0 1 1 75 0H28C13 0 0 13 0 28v157h512V28c0-15-13-28-28-28z" fill="#dd2f45"/>

<g fill="#f3aab9">
  <circle cx="470" cy="142" r="14"/>
  <circle cx="470" cy="100" r="14"/>
  <circle cx="427" cy="142" r="14"/>
  <circle cx="427" cy="100" r="14"/>
  <circle cx="384" cy="142" r="14"/>
  <circle cx="384" cy="100" r="14"/>
</g>

<text id="month"
  x="32" 
  y="164" 
  fill="#fff" 
  font-family="monospace"
  font-size="140px"
  style="text-anchor: left"><<now "mmm">></text>

<text id="day"
  x="256" 
  y="400" 
  fill="#66757f" 
  font-family="monospace"
  font-size="256px"
  style="text-anchor: middle"><<now "0DD">></text>

<text id="weekday"
  x="256" 
  y="480" 
  fill="#66757f" 
  font-family="monospace"
  font-size="64px"
  style="text-anchor: middle"><<now "DDD">></text>
</svg>
\end

<<svgCal 128 128>>


;Remarks
:you can pass width and height as macro inputs
:Kudos goes to Terence Eden, https://github.com/edent/Dynamic-SVG-Calendar-Icon
https://jakearchibald.github.io/svgomg/

thx to telmiger for the link
https://ooktech.com/jed/ExampleWikis/SnapSVG/
!!Task list table

<$macrocall $name=table-dynamic filter="[tag[task]]" fields="tbl-checkbox tbl-expand title modified priority status talk-to due-date tags" class="w-100" stateTiddler="your-state-tid"/>

{{$:/plugins/OokTech/SimpleTaskList/Simple Task List}}
{{$:/plugins/OokTech/SimpleTaskList/Simple Task List}}
The engine of this site, [[TiddlyWiki 5|http://www.tiddlywiki.com]], is designed to make lots of smaller tidbits ("tiddlers") available within a single-page view, displaying only what a viewer needs to see at any one time. 

This particular instance includes internal freelinks, so that if I happen to mention the name of any tiddler, (like the timeline experiment or problem-solving) a link renders magically, without any need for explicit markup. 

[[TiddlyWiki|http://www.tiddlywiki.com]] is powerful open-source software, constantly evolving with the help of its inventor, [[Jeremy Ruston|https://tiddlywiki.com/static/JeremyRuston.html]], and a community of programmers refining the code, developing plugins, and addressing user questions.

With thanks to [[Jeremy Ruston|https://tiddlywiki.com/static/JeremyRuston.html]], a version of this site was hosted at [[xememex|http://xememex.com]], during spring 2020, to allow students to log in and add comments.

<$details class="success" summary="Very basic TiddlyWiki introduction">

Like all TiddlyWiki pages, this site is a @@.hly "self-editing" document@@; it includes all the interface elements necessary to add and delete content, organize internal meta-data, and organize the interface layout and style. 

Although only some elements ("tiddlers") are in view at any one time, every tiddler available though an internal link is part of @@.hly one complex html document@@. The most basic TiddlyWiki setup involves using a web browser to @@.hly view and edit a local file@@ (an html document housed on the user's device). 

This TiddlyWiki, however, is @@.hly hosted on a server on the internet@@ (obviously) so that students can access it. (The easiest online server to try is [[TiddlySpot|http://tobibeer.github.io/tb5/#TiddlySpot]] 
<<stretch "..." "Meanwhlie, a multi-user online version of this site was hosted at [[xememex|https://xememex.com/]] to enable comments and other simultaneous-editing management.)">>)

@@.triangle-right Wait, you mean I could edit this whole thing, right from here, //now//?!@@ {{clear-both}}

Pretty much; that's exactly how I do it, using the {{$:/core/ui/Buttons/edit}} button at the top right of this box... 

Of course, the server won't let your changes overwrite the current site without the right password. But you can try out the editing functions, and see the results in your browser.

</$details>
<$details class="success" summary="Why use TiddlyWiki in the classroom?">

My initial motivation for exploring TiddlyWiki was to enable me to spontaneously access and project various kinds of information  —  <<tag excerpts>>, <<tag definitions>>, <<tag opening_questions>>, <<tag diagrams>> — to share with students in the classroom, surfing among relational links while avoiding the linear sequencing baked into presentation software. (I had already experienced some success rigging up [[database tools|data tables for teaching]] for the classroom, but found those to be helpful only for certain //types// of data.)

Since my approach to teaching involves lots of improvisation, [[dialogue]] and free-range discussion based on students' concerns, being able to surf among responsive internal links was a sufficient inspiration to get me up and running with TiddlyWiki Classic on my personal laptop. That was many years ago! Here's <<stretch "a glimpse of" "my first web-hosted TiddlyWiki for students, started in 2005: http://reasoningwell.tiddlyspot.com/"
"[img[reasoning well banner|https://www.dropbox.com/s/lj6sjuxu4odkfi8/reasoning_well_banner_preview.png?raw=1]]">>

Much has evolved under the hood since then -- as has my own familiarity with TiddlyWiki's powers. In particular, educators can now enjoy the ability to host the TiddlyWiki online, hide or disable the editing interface, and invite students to browse a whole semester's worth of interconnected resources, including [[self-quizzes|opening_questions]], guided sequences, and -- of course -- the ready access to [[definitions]] that got me started in the first place.

</$details>
image links to tiddler 

from [[Anne-Laure Le Cunff|https://www.youtube.com/watch?v=vuU3MrxdKcU]]

https://www.mentalnodes.com/a-gardening-guide-for-your-mind

[img[affordances|https://www.dropbox.com/s/u4key2m4jul3pwi/tiddlywiki_affordances.jpg?raw=1]]
<$tidgraph layout="S" start="image" />
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
Timeline's plugin dependencies:

"""
HammerJS
moment.js
vis.js Timeline
"""

See documentation here: http://kixam.github.io/TW5-visjsTimeline/

<$visjstimeline filter="[tag[image]]" boxing="auto" endDateField="until" groupField="genre" endDateField="until" navpad tipFormat="YYYY-MM-DD HH:mm:ss">
Control-N for new tiddler, Control-Enter to save changes
https://kookma.github.io/TW-Scripts/
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
/* ubuntu-mono-regular - latin  ``sample code `` */
@font-face {
  font-family: 'Ubuntu Mono';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/ubuntu-mono-v9-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Ubuntu Mono'), local('UbuntuMono-Regular'),
       url(<<datauri "ubuntu-mono-v9-latin-regular.woff2">>) format("woff2");

https://www.google.com/url?q=https%3A%2F%2Fakhater.github.io%2Fdrift&sa=D&sntz=1&usg=AFQjCNGoY73hvHV8JJDjN988cena4pyUHw
<iframe allow="geolocation; microphone; camera; midi; vr; encrypted-media" src="https://variable-font-experiments.glitch.me/" data-testid="app-preview-iframe" title="Preview of variable-font-experiments"></iframe>
Note: review of voice-amps has moved to: 
http://teachingdemo.tiddlyspot.com/#voice-amplifier

<$details summary="draft of review">

I got hold of five voice amplifiers — all well-rated, but with different price/quality niches. General notes below the table.

<<table-dynamic filter:"[tag[voice-amplifier]]" fields:"tbl-expand title price output sound weight freq-range battery charging mic notes" stateTiddler:"meeting" sort:created class:"w-100 thead-dark" caption:"''Click @@.tcr ''﹥'' @@ in left column for detail. Sort by row headers. Click any @@.tcr title@@ link to focus on item''">>

For distributed use in classrooms, I recommend:

<$details summary="WIRED microphones only:">

Having MULTIPLE small personal amps in the same space may be ideal for language classes, theater classes, seminar-style discussions, outdoor fieldwork, etc. For such a use, it seems wise to stick to the small models with wired headsets, to minimize "crowding" in the wireless space. The [[MAONO AU-C01]] and [[SHIDU S278]] seem to be optimal for such use.

Also, one of the advantages of personal voice amps is that *if* they are worn, then multiple users can still orient to each other through stereo hearing, and that advantage is lost if people don't wear the amp and move away from it. If the amp is being worn, there's little reason to question the efficiency of the wired connection. 

If the wire (about 3') needs to be extended, it may require a *mono* 3.5mm extension (not a standard stereo 3.5mm extender). (Some reviewers at amazon noted this problem; it's unclear whether it applies to all models or only some.)
</$details>

<$details summary="DIRECTIONAL microphones only:">

To minimize risk of feedback, voice amps with directional mics seem preferable. Only the Zoweetek clearly announces that its microphones are cartioid (directional) models, but all of them came with wired mics that look identical in form (and include a "pointed" end for the headset, implying directional orientation). Quick testing confirms that the mics on even the cheaper models do seem to be directional. 

</$details>

<$details open="yes" summary="Minimizing feedback risk">

During actual use, with the amp around the waist facing outward (or sitting out in front of the user at a table), the mic has little chance of picking up on its own amplified output (with the exception of the super-large units which can more easily generate feedback at high volume). Angling the directional mic slightly upward from the chin direction (away from the waist-level unit) is a wise additional precaution. 

`However`: While setting up and making adjustments, all users must be careful not to move the mic too close to the speaker, and not to accidentally point the speaker toward the mic, while the unit is powered on. 

Minimizing the effective volume for each unit is also a wise practice — ideally each user finds a level that supplements the natural voice, rather than eclipsing it entirely.

</$details>

<$details open="yes" summary="How to wear:">

All mics worked well if worn just outside, but not in contact with, a facemask. (Wearing this kind of mic inside a facemask results in unwanted noise.)

</$details>

</$details>
https://fmforums.com/topic/106531-web-viewer-authentication-not-retained/

https://detectmybrowser.com/

says 


```
You're using Safari version an unknown version on Mac

```

https://community.claris.com/en/s/question/0D50H00006h9CI7/what-safari-version-is-a-web-viewer-using

<hr>
https://developer.apple.com/documentation/authenticationservices/supporting_single_sign-on_in_a_web_browser_app

70 is a weird number.
Of course it is not perfect; instead it is abundant. But among the abundant numbers, it has the rare trait of not being even semi-perfect.
Allergic to a "blog" because it publishes something that is then out there, even while my own thinking continues to evolve.

TiddlyWiki is a way out of that problem.

Discussion between Jeremy and Anne-Laure really highlights this working style.

This was at work here:
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
|!pros|!cons|
|great sound with subwoofer to amplify full vocal range|heavy (over 2 pounds) and bulky|
|wired and wireless headset options|annoying startup "waiting for bluetooth" even if wired headset is already plugged in|
|very powerful, will project well in large space or outdoors|feedback can be painful; start with mic-input-dial (on back) at low end, increase cautiously|

Out of the first three I received, this unit is the only one that is too heavy and bulky to be effortlessly "worn" like nearly every other model can be. 

However, it is the "champ" with great 25W audio quality (subwoofer-included), powerful battery, wireless as well as wired headset options. It seems ideal for professional-quality events, and might work well for faculty in areas (language, performing arts) where vocal quality matters.

Volume level is displayed on the front LED while volume is adjusted. So, it would be easy to run a sound test in advance of an event and take note of which volume setting one wants to use. 

In a small indoor space, it would be rare to want a volume above the lowest available setting. Although it comes with a wired headset as well as a awireless bluetooth one, the 3' wire feels comical for such a powerful unit; this unit is destined for a single tour guide or singer on a stage or otherwise broadcasting to a large group.

[[amazonlink|https://smile.amazon.com/ZOWEETEK-Amplifier-buletooth-Microphone%EF%BC%88Wireless-Rechargeable/dp/B07YJK1SX1/ref=sr_1_15?dchild=1&keywords=voice+amplifier&qid=1593467774&sr=8-15]]

[img width=49% [zw-h6|https://images-na.ssl-images-amazon.com/images/I/61bZjvvK6qL._AC_SL1300_.jpg]]
[img width=49% [https://images-na.ssl-images-amazon.com/images/I/617Aamq8E-L._AC_SL1300_.jpg]]

The same company has this somewhat smaller one:

[[15W variant, amazon link|https://smile.amazon.com/ZOWEETEK-Amplifier-Microphone-Rechargeable-Promotions/dp/B07KJ3TD6W/ref=sr_1_6?dchild=1&keywords=voice+amplifier&qid=1593467774&sr=8-6]]