Sablono fork & Remove render queue (#205)

* sablono for wip

* sablono fork wip

* fmt

* sablono fork wip

* sablono fork wip

* sablono fork wip

* sablono fork wip

* sablono fork wip

* 0.12.0-SNAPSHOT

* sablono -> daiquiri

* do not use JSValue to compile to js object & array

* handle fragment syntax on jvm ssr

* cache transformed attrs

* fix no sablono

* compiler tests wip

* emit nil for attrs and children instead of empty object and array

* wip

* wip compiler tests

* done compiler tests

* type inference and tests

* wip propagate defc return tag

* wip propagate defc return tag

* wip propagate defc return tag

* wip propagate defc return tag

* done propagate defc return tag

* add normalize tests

* add util test

* add interpreter test & node unit tests runner script

* run lein test from the script

* build

* v0.12.0
This commit is contained in:
Roman Liutikov
2020-06-28 22:39:44 +03:00
committed by GitHub
parent 75174b9ea0
commit 2da89a67db
29 changed files with 2061 additions and 555 deletions

2
.gitignore vendored
View File

@ -12,3 +12,5 @@ pom.xml.asc
.nrepl-history
.idea
rum.iml
.cljs_node_repl/
.cpcache/

View File

@ -1,3 +1,20 @@
## 0.12.0
### Dependencies
- Upgraded to ClojureScript 1.10.773
### Breaking
- Removed custom update scheduling mechanism (hopefully doesn't break anything)
- Replaced Sablono with Daiquiri, reworked Sablono fork (in case if you are depending on Sablono)
### New
- Ported Sablono's test suite
- Added unit tests runner on Node
- Added alternative Hiccup syntax for React.Fragment `:<>`
## 0.11.5
### Dependencies

View File

@ -622,7 +622,7 @@ There are Rum wrappers for the various React hooks. See doc strings for examples
When used from cljs Rum delegates serizliation to ReactDOM library. If used from clj/cljc, Rum works as a traditional template engine à la Hiccup:
1. Rums `project.clj` dependency becomes `[rum "0.11.5" :exclusions [cljsjs/react cljsjs/react-dom sablono]`
1. Rums `project.clj` dependency becomes `[rum "0.12.0" :exclusions [cljsjs/react cljsjs/react-dom]`
2. Import `rum.core` as usual.
3. Define components using `rum/defc` or other macros as usual.
4. Instead of mounting, call `rum/render-html` to render into a string.

View File

@ -1,6 +1,5 @@
{:deps {org.clojure/clojure {:mvn/version "1.9.0"}
org.clojure/clojurescript {:mvn/version "1.10.597"}
org.clojure/clojurescript {:mvn/version "1.10.773"}
cljsjs/react {:mvn/version "16.8.6-0"}
cljsjs/react-dom {:mvn/version "16.8.6-0"}
sablono {:mvn/version "0.8.1"
:exclusions [cljsjs/react cljsjs/react-dom]}}}
cljsjs/react-dom {:mvn/version "16.8.6-0"}}
:aliases {:test {:extra-paths ["test"]}}}

View File

@ -117,12 +117,12 @@ Another example [react-component/slider](https://github.com/react-component/slid
:defaultValue #js [40 60] }))
```
If you want to mix 3rd-party React components with child elements using the Hiccup-like syntax, you can call directly into the library that provides it, sablono. This can be particularly useful for 3rd-party React components that are made to wrap your own components, like drag-and-drop plugins and so on.
If you want to mix 3rd-party React components with child elements using the Hiccup-like syntax, you can call directly into the library that provides it, daiquiri. This can be particularly useful for 3rd-party React components that are made to wrap your own components, like drag-and-drop plugins and so on.
```clj
(js/React.createElement js/MyComponent
#js { }
(sablono.core/html [:div [:p "Hello, world"]]))
(daiquiri.core/html [:div [:p "Hello, world"]]))
```
**Note:** See how `defn` is used here instead of `defc`? Using `defc` would cause two components being created (e.g. `range-slider` and the `Slider` component). Because in many cases you don't need the wrapping component you can just use `defn`.

View File

@ -11,29 +11,22 @@
:value (rum/react ref)
:on-change #(reset! ref (.. % -target -value))}])
(rum/defcc restricting-input < rum/reactive [comp ref f]
(rum/defc restricting-input < rum/reactive [ref f]
[:input {:type "text"
:style {:width 170}
:value (rum/react ref)
:on-change #(let [new-val (.. % -target -value)]
(if (f new-val)
(reset! ref new-val)
;; request-render is mandatory because sablono :input
;; keeps current value in inputs state and always applies changes to it
(rum/request-render comp)))}])
(reset! ref new-val)))}])
(rum/defcs restricting-input-native < rum/reactive [state ref f]
(let [comp (:rum/react-component state)]
(js/React.createElement "input"
#js {:type "text"
:style #js {:width 170}
:value (rum/react ref)
:onChange #(let [new-val (.. % -target -value)]
(when (f new-val)
(reset! ref new-val))
;; need forceUpdate here because otherwise rendering will be delayed until requestAnimationFrame
;; and that breaks cursor position inside input
(.forceUpdate comp))})))
(rum/defc restricting-input-native < rum/reactive [ref f]
(js/React.createElement "input"
#js {:type "text"
:style #js {:width 170}
:value (rum/react ref)
:onChange #(let [new-val (.. % -target -value)]
(when (f new-val)
(reset! ref new-val)))}))
(rum/defc form-validation []
(let [state (atom {:email "a@b.c"

View File

@ -22,7 +22,7 @@
:type "checkbox"
:checked (= v value)
:value v
:on-click (fn [_] (reset! *ref v))}])]))
:on-change (fn [_] (reset! *ref v))}])]))
(rum/defc radio < rum/reactive
[*ref]
@ -34,7 +34,7 @@
:name "inputs_radio"
:checked (= v value)
:value v
:on-click (fn [_] (reset! *ref v))}])]))
:on-change (fn [_] (reset! *ref v))}])]))
(rum/defc select < rum/reactive
[*ref]

View File

@ -2,26 +2,20 @@
(:require
[rum.core :as rum]))
(def ta-ref (rum/create-ref))
(rum/defcc ta
< {:after-render
(fn [state]
(let [el (rum/deref ta-ref)
_ (set! (.-height (.-style el)) "0")
_ (set! (.-height (.-style el)) (str (+ 2 (.-scrollHeight el)) "px"))]
state))}
[comp]
[:textarea
{:ref ta-ref
:style {:width "100%"
:padding "10px"
:font "inherit"
:outline "none"
:resize "none"}
:default-value "Auto-resizing\ntextarea"
:placeholder "Auto-resizing textarea"
:on-change (fn [_] (rum/request-render comp))}])
(rum/defc ta []
(let [[value set-value!] (rum/use-state "Auto-resizing\ntextarea")]
[:textarea
{:style {:width "100%"
:padding "10px"
:font "inherit"
:outline "none"
:resize "none"}
:ref #(when %
(set! (.-height (.-style %)) "0")
(set! (.-height (.-style %)) (str (+ 2 (.-scrollHeight %)) "px")))
:value value
:placeholder "Auto-resizing textarea"
:on-change #(set-value! (.. % -target -value))}]))
(rum/defc refs []
[:div

View File

@ -118,7 +118,7 @@ textarea</textarea></div></div>
<div class=example>
<div class=example-title>JavaScript components</div>
<div id=js-components><div data-reactroot=""><h1>This is Rum component</h1>&lt;h2&gt;This is JS component&lt;/h2&gt;</div></div>
<div id=js-components><div data-reactroot=""><h1>This is Rum component</h1><h2>This is JS component</h2></div></div>
</div>
<script src='target/main.js' type='text/javascript'></script>

View File

@ -1,4 +1,4 @@
(defproject rum "0.11.5"
(defproject rum "0.12.0"
:description "ClojureScript wrapper for React"
:license {:name "Eclipse"
:url "http://www.eclipse.org/legal/epl-v10.html"}
@ -6,10 +6,9 @@
:dependencies
[[org.clojure/clojure "1.9.0" :scope "provided"]
[org.clojure/clojurescript "1.10.597" :scope "provided"]
[org.clojure/clojurescript "1.10.773" :scope "provided"]
[cljsjs/react "16.8.6-0"]
[cljsjs/react-dom "16.8.6-0"]
[sablono "0.8.1"]]
[cljsjs/react-dom "16.8.6-0"]]
:plugins [[lein-cljsbuild "1.1.7"]
[lein-cljfmt "0.6.7"]]

14
scripts/test Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -e
set -o pipefail
lein test
echo "Building ClojureScript unit tests..."
clojure -A:test -m cljs.main -co '{:target :nodejs :optimizations :none :output-to "test.js"}' -c test-runner
echo "Running ClojureScript unit tests..."
node test.js
rm test.js

402
src/daiquiri/compiler.clj Normal file
View File

@ -0,0 +1,402 @@
(ns daiquiri.compiler
(:require [daiquiri.normalize :as normalize]
[daiquiri.util :refer :all]
[clojure.set :as set]
[cljs.analyzer :as ana]))
(def ^:private primitive-types
"The set of primitive types that can be handled by React."
#{'js 'clj-nil 'js/React.Element
'number 'string 'boolean 'symbol
'array 'function})
(defn- primitive-type?
"Return true if `tag` is a primitive type that can be handled by
React, otherwise false. "
[tags]
(and (not (empty? tags))
(set/subset? tags primitive-types)))
(defn- normalize-tags [tags]
(if (set? tags) tags (set [tags])))
(defn infer-tag
"Infer the tag of `form` using `env`."
[env form]
(when env
(let [e (ana/no-warn (ana/analyze env form))
;; Roman. Propagating Rum's component return tag
;; via :rum/tag meta field, because a component
;; is generated as a `def` instead of `defn`
rum-tag (when (= :invoke (:op e))
(-> e :fn :info :meta :rum/tag second))]
(if rum-tag
(normalize-tags rum-tag)
(when-let [tags (ana/infer-tag env e)]
(normalize-tags tags))))))
(declare to-js to-js-map)
(defn fragment?
"Returns true if `tag` is the fragment tag \"*\" or \"<>\", otherwise false."
[tag]
(or (= (name tag) "*")
(= (name tag) "<>")))
(defmulti compile-attr (fn [name value] name))
(defmethod compile-attr :class [_ value]
(cond
(or (nil? value)
(keyword? value)
(string? value))
value
(and (or (sequential? value)
(set? value))
(every? string? value))
(join-classes value)
:else `(daiquiri.util/join-classes ~value)))
(defmethod compile-attr :style [_ value]
(let [value (camel-case-keys value)]
(if (map? value)
(to-js-map value)
`(daiquiri.interpreter/attributes ~value))))
(defmethod compile-attr :default [_ value]
(to-js value))
(defn compile-attrs
"Compile a HTML attribute map."
[attrs]
(when (seq attrs)
(->> (seq attrs)
(reduce (fn [attrs [name value]]
(assoc attrs name (compile-attr name value)))
nil)
html-to-dom-attrs
to-js-map)))
(defn compile-merge-attrs [attrs-1 attrs-2]
(let [empty-attrs? #(or (nil? %1) (and (map? %1) (empty? %1)))]
(cond
(and (empty-attrs? attrs-1)
(empty-attrs? attrs-2))
nil
(empty-attrs? attrs-1)
`(daiquiri.interpreter/attributes ~attrs-2)
(empty-attrs? attrs-2)
`(daiquiri.interpreter/attributes ~attrs-1)
(and (map? attrs-1)
(map? attrs-2))
(normalize/merge-with-class attrs-1 attrs-2)
:else `(daiquiri.interpreter/attributes
(daiquiri.normalize/merge-with-class ~attrs-1 ~attrs-2)))))
(defn- compile-tag
"Replace fragment syntax (`:*` or `:<>`) by 'React.Fragment, otherwise the
name of the tag"
[tag]
(if (fragment? tag)
'daiquiri.core/fragment
(name tag)))
(declare compile-react)
(defn compile-react-element
"Render an element vector as a HTML element."
[element env]
(let [[tag attrs content] (normalize/element element)]
`(daiquiri.core/create-element
~(compile-tag tag)
~(when (seq attrs)
(compile-attrs attrs))
~(when (seq content)
`(cljs.core/array ~@(compile-react content env))))))
(defn- unevaluated?
"True if the expression has not been evaluated."
[expr]
(or (symbol? expr)
(and (seq? expr)
(not= (first expr) `quote))))
(defmacro interpret-maybe
"Macro that wraps `expr` with a call to
`daiquiri.interpreter/interpret` if the inferred return type is not a
primitive React type."
[expr]
(if (primitive-type? (infer-tag &env expr))
expr `(daiquiri.interpreter/interpret ~expr)))
(defn- form-name
"Get the name of the supplied form."
[form]
(if (and (seq? form) (symbol? (first form)))
(name (first form))))
(declare compile-html)
(defmulti compile-form
"Pre-compile certain standard forms, where possible."
{:private true}
(fn [form env] (form-name form)))
(defmethod compile-form "case"
[[_ v & cases] env]
`(case ~v
~@(doall (mapcat
(fn [[test hiccup]]
(if hiccup
[test (compile-html hiccup env)]
[(compile-html test env)]))
(partition-all 2 cases)))))
(defmethod compile-form "cond"
[[_ & clauses] env]
`(cond ~@(mapcat
(fn [[check expr]] [check (compile-html expr env)])
(partition 2 clauses))))
(defmethod compile-form "condp"
[[_ f v & cases] env]
`(condp ~f ~v
~@(doall (mapcat
(fn [[test hiccup]]
(if hiccup
[test (compile-html hiccup env)]
[(compile-html test env)]))
(partition-all 2 cases)))))
(defmethod compile-form "do"
[[_ & forms] env]
`(do ~@(butlast forms) ~(compile-html (last forms) env)))
(defmethod compile-form "let"
[[_ bindings & body] env]
`(let ~bindings ~@(butlast body) ~(compile-html (last body) env)))
(defmethod compile-form "let*"
[[_ bindings & body] env]
`(let* ~bindings ~@(butlast body) ~(compile-html (last body) env)))
(defmethod compile-form "letfn*"
[[_ bindings & body] env]
`(letfn* ~bindings ~@(butlast body) ~(compile-html (last body) env)))
(defmethod compile-form "for"
[[_ bindings body] env]
`(~'into-array (for ~bindings ~(compile-html body env))))
(defmethod compile-form "if"
[[_ condition & body] env]
`(if ~condition ~@(for [x body] (compile-html x env))))
(defmethod compile-form "if-not"
[[_ bindings & body] env]
`(if-not ~bindings ~@(doall (for [x body] (compile-html x env)))))
(defmethod compile-form "if-some"
[[_ bindings & body] env]
`(if-some ~bindings ~@(doall (for [x body] (compile-html x env)))))
(defmethod compile-form "when"
[[_ bindings & body] env]
`(when ~bindings ~@(doall (for [x body] (compile-html x env)))))
(defmethod compile-form "when-not"
[[_ bindings & body] env]
`(when-not ~bindings ~@(doall (for [x body] (compile-html x env)))))
(defmethod compile-form "when-some"
[[_ bindings & body] env]
`(when-some ~bindings ~@(butlast body) ~(compile-html (last body) env)))
(defmethod compile-form :default
[expr env]
(if (:inline (meta expr))
expr `(interpret-maybe ~expr)))
(defn- not-hint?
"True if x is not hinted to be the supplied type."
[x type]
(if-let [hint (-> x meta :tag)]
(not (isa? (eval hint) type))))
(defn- hint?
"True if x is hinted to be the supplied type."
[x type]
(if-let [hint (-> x meta :tag)]
(isa? (eval hint) type)))
(defn- literal?
"True if x is a literal value that can be rendered as-is."
[x]
(and (not (unevaluated? x))
(or (not (or (vector? x) (map? x)))
(every? literal? x))))
(defn- not-implicit-map?
"True if we can infer that x is not a map."
[x]
(or (= (form-name x) "for")
(not (unevaluated? x))
(not-hint? x java.util.Map)))
(defn- attrs-hint?
"True if x has :attrs metadata. Treat x as a implicit map"
[x]
(-> x meta :attrs))
(defn- inline-hint?
"True if x has :inline metadata. Treat x as a implicit map"
[x]
(-> x meta :inline))
(defn- element-compile-strategy
"Returns the compilation strategy to use for a given element."
[[tag attrs & content :as element] env]
(cond
;; e.g. [:span "foo"]
(every? literal? element)
::all-literal
;; e.g. [:span {} x]
(and (literal? tag) (map? attrs))
::literal-tag-and-attributes
;; e.g. [:span ^String x]
(and (literal? tag) (not-implicit-map? attrs))
::literal-tag-and-no-attributes
;; e.g. [:span ^:attrs y] or [:span (attrs)], return type of `attrs` is a map
(and (literal? tag)
(or (= '#{cljs.core/IMap} (infer-tag env attrs))
(attrs-hint? attrs)))
::literal-tag-and-hinted-attributes
;; e.g. [:span ^:inline (y)]
(and (literal? tag)
(or (primitive-type? (infer-tag env attrs))
(inline-hint? attrs)))
::literal-tag-and-inline-content
;; ; e.g. [:span x]
(literal? tag)
::literal-tag
;; e.g. [x]
:else
::default))
(declare compile-html)
(defmulti compile-element
"Returns an unevaluated form that will render the supplied vector as a HTML
element."
{:private true}
element-compile-strategy)
(defmethod compile-element ::all-literal
[element env]
(compile-react-element (eval element) env))
(defmethod compile-element ::literal-tag-and-attributes
[[tag attrs & content] env]
(let [[tag attrs _] (normalize/element [tag attrs])]
`(daiquiri.core/create-element
~(compile-tag tag)
~(compile-attrs attrs)
(cljs.core/array ~@(map #(compile-html % env) content)))))
(defmethod compile-element ::literal-tag-and-no-attributes
[[tag & content] env]
(compile-element (apply vector tag {} content) env))
(defmethod compile-element ::literal-tag-and-inline-content
[[tag & content] env]
(compile-element (apply vector tag {} content) env))
(defmethod compile-element ::literal-tag-and-hinted-attributes
[[tag attrs & content] env]
(let [[tag tag-attrs _] (normalize/element [tag])
attrs-sym (gensym "attrs")]
`(let [~attrs-sym ~attrs]
(daiquiri.core/create-element
~(compile-tag tag)
~(compile-merge-attrs tag-attrs attrs-sym)
~(when-not (empty? content)
`(cljs.core/array ~@(mapv #(compile-html % env) content)))))))
(defmethod compile-element ::literal-tag
[[tag attrs & content] env]
(let [[tag tag-attrs _] (normalize/element [tag])
attrs-sym (gensym "attrs")]
`(let [~attrs-sym ~attrs]
(daiquiri.core/create-element
~(compile-tag tag)
(if (map? ~attrs-sym)
~(compile-merge-attrs tag-attrs attrs-sym)
~(compile-attrs tag-attrs))
(if (map? ~attrs-sym)
~(when-not (empty? content)
`(cljs.core/array ~@(mapv #(compile-html % env) content)))
~(when attrs
`(cljs.core/array ~@(mapv #(compile-html % env) (cons attrs-sym content)))))))))
(defmethod compile-element :default
[element env]
`(daiquiri.interpreter/interpret
[~(first element)
~@(for [x (rest element)]
(if (vector? x)
(compile-element x env)
x))]))
(defn compile-html
"Pre-compile data structures into HTML where possible."
([content]
(compile-html content nil))
([content env]
(cond
(vector? content) (compile-element content env)
(literal? content) content
(hint? content String) content
(hint? content Number) content
:else (compile-form content env))))
(defn compile-react [v env]
(cond
(vector? v) (if (element? v)
(compile-react-element v env)
(compile-react (seq v) env))
(seq? v) (map #(compile-react % env) v)
:else v))
(defn- js-obj [m]
(let [key-strs (mapv to-js (keys m))
kvs-str (->> (mapv #(-> (str \' % "':~{}")) key-strs)
(interpose ",")
(apply str))]
(vary-meta
(list* 'js* (str "{" kvs-str "}") (mapv to-js (vals m)))
assoc :tag 'object)))
(defn- to-js-map
"Convert a map into a JavaScript object."
[m]
(if (every? literal? (keys m))
(js-obj m)
`(daiquiri.interpreter/attributes ~m)))
(defn- to-js-array
"Convert a vector into a JavaScript array."
[x]
(apply list 'cljs.core/array (mapv to-js x)))
(defn to-js [x]
(cond
(keyword? x) (name x)
(map? x) (to-js-map x)
(vector? x) (to-js-array x)
:else x))

13
src/daiquiri/core.clj Normal file
View File

@ -0,0 +1,13 @@
(ns daiquiri.core
(:require [daiquiri.compiler :as compiler]))
(defmacro attrs
"Compile `attributes` map into a JavaScript literal."
[attributes]
(compiler/compile-attrs attributes))
(defmacro html
"Compile the Hiccup `form`. Always produces code that evaluates to
React elements."
[form]
(compiler/compile-html form &env))

14
src/daiquiri/core.cljs Normal file
View File

@ -0,0 +1,14 @@
(ns daiquiri.core
(:require [daiquiri.interpreter]
[cljsjs.react]))
(defn ^js/React.Element create-element
"The React.js create element function."
[type attrs children]
(if ^boolean children
(.apply (.-createElement js/React) nil (.concat #js [type attrs] children))
(.createElement js/React type attrs)))
(def ^js/React.Fragment fragment
"The React.js Fragment."
(.-Fragment js/React))

View File

@ -0,0 +1,54 @@
(ns daiquiri.interpreter
(:require [clojure.string :as str]
[daiquiri.normalize :as normalize]
[daiquiri.util :as util]
[cljsjs.react]))
(defn ^js/React.Element create-element
"Create a React element. Returns a JavaScript object when running
under ClojureScript, and a om.dom.Element record in Clojure."
[type attrs children]
(.apply (.-createElement js/React) nil (.concat #js [type attrs] children)))
(defn attributes [attrs]
(when-let [js-attrs (clj->js (util/html-to-dom-attrs attrs))]
(let [class (.-className js-attrs)
class (if (array? class) (str/join " " class) class)]
(if (str/blank? class)
(js-delete js-attrs "className")
(set! (.-className js-attrs) class))
js-attrs)))
(declare interpret)
(defn- ^array interpret-seq
"Eagerly interpret the seq `x` as HTML elements."
[x]
(reduce
(fn [^array ret x]
(.push ret (interpret x))
ret)
#js []
x))
(defn element
"Render an element vector as a HTML element."
[element]
(let [[type attrs content] (normalize/element element)]
(create-element type
(attributes attrs)
(interpret-seq content))))
(defn- interpret-vec
"Interpret the vector `x` as an HTML element or a the children of an
element."
[x]
(if (util/element? x)
(element x)
(interpret-seq x)))
(defn interpret [v]
(cond
(vector? v) (interpret-vec v)
(seq? v) (interpret-seq v)
:else v))

151
src/daiquiri/normalize.cljc Normal file
View File

@ -0,0 +1,151 @@
(ns daiquiri.normalize
(:require [clojure.string :as str]
[daiquiri.util :as util]))
(defn class-name
[x]
(cond
(string? x) x
(keyword? x) (name x)
:else x))
(defn map-lookup?
"Returns true if `x` is a map lookup form, otherwise false."
[x]
(and (list? x) (keyword? (first x))))
(defn normalize-class
"Normalize `class` into a vector of classes."
[class]
(cond
(nil? class)
nil
(map-lookup? class)
[class]
(list? class)
(if (symbol? (first class))
[class]
(map class-name class))
(symbol? class)
[class]
(string? class)
[class]
(keyword? class)
[(class-name class)]
(and (or (set? class)
(sequential? class))
(every? #(or (keyword? %)
(string? %))
class))
(mapv class-name class)
(and (or (set? class)
(sequential? class)))
(mapv class-name class)
:else class))
(defn attributes
"Normalize the `attrs` of an element."
[attrs]
(cond-> attrs
(:class attrs)
(update :class normalize-class)))
(defn merge-with-class
"Like clojure.core/merge but concatenate :class entries."
[& maps]
(let [maps (map attributes maps)
classes (mapcat :class maps)]
(when (seq maps)
(cond-> (reduce into {} maps)
(not (empty? classes))
(assoc :class (vec classes))))))
(defn strip-css
"Strip the # and . characters from the beginning of `s`."
[s]
(when s
(str/replace s #"^[.#]" "")))
(defn match-tag
"Match `s` as a CSS tag and return a vector of tag name, CSS id and
CSS classes."
[s]
(let [matches (re-seq #"[#.]?[^#.]+" (name s))
[tag-name names]
(cond (empty? matches)
(throw (ex-info (str "Can't match CSS tag: " s) {:tag s}))
(contains? #{\# \.} (ffirst matches)) ;; shorthand for div
["div" matches]
:default
[(first matches) (rest matches)])]
[tag-name
(strip-css (some #(when (= \# (first %1)) %1) names))
(into []
(keep #(when (= \. (first %)) (strip-css %)))
names)]))
(defn children
"Normalize the children of a HTML element."
[x]
(->> (cond
(nil? x)
'()
(string? x)
(list x)
(util/element? x)
(list x)
(and (list? x) (symbol? (first x)))
(list x)
(list? x)
x
(and (sequential? x)
(= (count x) 1)
(sequential? (first x))
(not (string? (first x)))
(not (util/element? (first x))))
(children (first x))
(sequential? x)
x
:else (list x))
(remove nil?)))
(defn- attrs?
"Returns true if `x` are the attributes of an HTML element,
otherwise false."
[x]
(map? x))
(defn element
"Ensure an element vector is of the form [tag-name attrs content]."
[[tag & content]]
(when-not (or (keyword? tag)
(symbol? tag)
(string? tag))
(throw (ex-info (str tag " is not a valid element name.") {:tag tag :content content})))
(let [[tag id class] (match-tag tag)
tag-attrs (cond-> {}
(not (empty? id)) (assoc :id id)
(not (empty? class)) (assoc :class class))
map-attrs (first content)]
(if (attrs? map-attrs)
[tag
(merge-with-class tag-attrs map-attrs)
(children (next content))]
[tag
(attributes tag-attrs)
(children content)])))

67
src/daiquiri/util.cljc Normal file
View File

@ -0,0 +1,67 @@
(ns daiquiri.util
(:require [clojure.set :refer [rename-keys]]
[clojure.string :as str]))
(defn valid-key? [k]
(or (keyword? k)
(string? k)
(symbol? k)))
(defn -camel-case [k]
(let [[first-word & words] (.split (name k) "-")]
(if (or (empty? words)
(= "aria" first-word)
(= "data" first-word))
k
(-> (map str/capitalize words)
(conj first-word)
str/join
keyword))))
(def attrs-cache (volatile! {}))
(defn camel-case
"Returns camel case version of the key, e.g. :http-equiv becomes :httpEquiv."
[k]
(if (valid-key? k)
(or (get @attrs-cache k)
(let [kk (-camel-case k)]
(vswap! attrs-cache assoc k kk)
kk))
k))
(defn camel-case-keys
"Recursively transforms all map keys into camel case."
[m]
(if (map? m)
(let [m (->> m
(reduce-kv #(assoc! %1 (camel-case %2) %3)
(transient {}))
persistent!)]
(cond-> m
(map? (:style m))
(update :style camel-case-keys)))
m))
(defn element?
"Return true if `x` is an HTML element. True when `x` is a vector
and the first element is a keyword, e.g. `[:div]` or `[:div [:span \"x\"]`."
[x]
(and (vector? x)
(keyword? (nth x 0 nil))))
(defn html-to-dom-attrs
"Converts all HTML attributes to their DOM equivalents."
[attrs]
(rename-keys (camel-case-keys attrs)
{:class :className
:for :htmlFor}))
(defn join-classes
"Join the `classes` with a whitespace."
[classes]
(->> classes
(into [] (comp
(mapcat (fn [x] (if (string? x) [x] (seq x))))
(remove nil?)))
(str/join " ")))

View File

@ -4,7 +4,8 @@
[rum.cursor :as cursor]
[rum.server-render :as render]
[rum.util :refer [collect collect* call-all]]
[rum.derived-atom :as derived-atom])
[rum.derived-atom :as derived-atom]
[daiquiri.compiler :as compiler])
(:import
[rum.cursor Cursor]
(rum.server_render JSComponent)))
@ -36,36 +37,32 @@
(= mode :mixins) (recur (update-in res [:mixins] (fnil conj []) x) next :mixins)
:else (throw (IllegalArgumentException. (str "Syntax error at " xs)))))))
(defn- get-sablono
([]
(get-sablono 'compile-html))
([var-sym]
(ns-resolve (find-ns 'sablono.compiler) var-sym)))
(defn- compile-body [[argvec conditions & body]]
(let [_ (require 'sablono.compiler)
compile-html (get-sablono)]
(if (and (map? conditions) (seq body))
(list argvec conditions (compile-html `(do ~@body)))
(list argvec (compile-html `(do ~@(cons conditions body)))))))
(defn- compile-body [[argvec conditions & body] env]
(if (and (map? conditions) (seq body))
(list argvec conditions (compiler/compile-html `(do ~@body) env))
(list argvec (compiler/compile-html `(do ~@(cons conditions body)) env))))
(defn- -defc [builder env body]
(let [{:keys [name doc mixins bodies]} (parse-defc body)
cljs? (:ns env)
render-body (if cljs?
(map compile-body bodies)
bodies)
render-bodies (if cljs?
(map #(compile-body % env) bodies)
bodies)
arglists (if (= builder 'rum.core/build-defc)
(map (fn [[arglist & _body]] arglist) bodies)
(map (fn [[[_ & arglist] & _body]] (vec arglist)) bodies))
display-name (if cljs?
(-> env :ns :name (str "/" name))
(str name))]
`(def ~(vary-meta name update :arglists #(or % `(quote ~arglists)))
(str name))
var-sym (-> name
(vary-meta update :arglists #(or (:arglists %) `(quote ~arglists)))
(vary-meta assoc :rum/tag `'js/React.Element))]
`(def ~var-sym
~@(if doc [doc] [])
~(if cljs?
`(rum.core/lazy-build ~builder (fn ~@render-body) ~mixins ~display-name)
`(~builder (fn ~@render-body) ~mixins ~display-name)))))
`(rum.core/lazy-build ~builder (fn ~@render-bodies) ~mixins ~display-name)
`(~builder (fn ~@render-bodies) ~mixins ~display-name)))))
(defmacro defc
"```
@ -74,7 +71,7 @@
Defc does couple of things:
1. Wraps body into sablono/compile-html
1. Wraps body into daiquiri/compile-html
2. Generates render function from that
3. Takes render function and mixins, builds React class from them
4. Using that class, generates constructor fn [args]->ReactElement
@ -348,8 +345,7 @@
[:div value])"
[[sym context] & body]
(if (:ns &env)
(let [compile-html (get-sablono)]
`(.createElement js/React (.-Consumer ~context) nil (fn [~sym] ~@(map compile-html body))))
`(.createElement js/React (.-Consumer ~context) nil (fn [~sym] ~@(map #(compiler/compile-html % &env) body)))
`(let [~sym ~context]
~@body)))
@ -358,8 +354,9 @@
...)"
[[context value] & body]
(if (:ns &env)
(let [compile-html (get-sablono)]
`(.createElement js/React (.-Provider ~context) (cljs.core/js-obj "value" ~value) ~@(map compile-html body)))
`(.createElement js/React (.-Provider ~context)
(cljs.core/js-obj "value" ~value)
~@(map #(compiler/compile-html % &env) body))
`(binding [~context ~value]
~@body)))
@ -412,9 +409,10 @@
[{:keys [fallback]} child]
(if-not (:ns &env)
child
(let [compile-html (get-sablono)]
`(.createElement js/React
(.-Suspense js/React) (cljs.core/js-obj "fallback" ~fallback) ~(compile-html child)))))
`(.createElement js/React
(.-Suspense js/React)
(cljs.core/js-obj "fallback" ~fallback)
~(compiler/compile-html child &env))))
;; React.Fragment
@ -426,10 +424,10 @@
[nil (concat [attrs] children)])]
(if-not (:ns &env)
`(list ~@children)
(let [compile-html (get-sablono)
compile-attrs (get-sablono 'compile-attrs)]
`(.createElement js/React
(.-Fragment js/React) ~(compile-attrs attrs) ~@(map compile-html children))))))
`(.createElement js/React
(.-Fragment js/React)
~(compiler/compile-attrs attrs)
~@(map #(compiler/compile-html % &env) children)))))
;; JS components adapter
(def ^{:arglists '([type-sym attrs children])
@ -450,8 +448,5 @@
[attrs children]
[nil (cons attrs children)])]
(if (:ns &env)
(let [_ (require 'sablono.compiler)
compile-html (get-sablono)
compile-attrs (get-sablono 'compile-attrs)]
`(adapt-class-helper ~type ~(compile-attrs attrs) (cljs.core/array ~@(map compile-html children))))
`(adapt-class-helper ~type ~(compiler/compile-attrs attrs) (cljs.core/array ~@(map #(compiler/compile-html % &env) children)))
`(JSComponent. (*render-js-component* '~type ~attrs [~@children])))))

View File

@ -6,7 +6,7 @@
[cljsjs.react.dom]
[goog.object :as gobj]
[goog.functions :as fns]
[sablono.core]
[daiquiri.core]
[rum.cursor :as cursor]
[rum.util :as util :refer [collect collect* call-all]]
[rum.derived-atom :as derived-atom]))
@ -202,42 +202,8 @@
(let [render (fn [state] [(apply render-body (:rum/react-component state) (:rum/args state)) state])]
(build-ctor render mixins display-name)))
;; render queue
(def ^:private schedule
(or (and (exists? js/window)
(or js/window.requestAnimationFrame
js/window.webkitRequestAnimationFrame
js/window.mozRequestAnimationFrame
js/window.msRequestAnimationFrame))
#(js/setTimeout % 16)))
(def ^:private batch
(or (when (exists? js/ReactNative) js/ReactNative.unstable_batchedUpdates)
(when (exists? js/ReactDOM) js/ReactDOM.unstable_batchedUpdates)
(fn [f a] (f a))))
(def ^:private empty-queue [])
(def ^:private render-queue (volatile! empty-queue))
(defn- render-all [queue]
(doseq [comp queue
:when (and (some? comp) (not (gobj/get comp ":rum/unmounted?")))]
(.forceUpdate comp)))
(defn- render []
(let [queue @render-queue]
(vreset! render-queue empty-queue)
(batch render-all queue)))
(defn request-render
"Schedules react component to be rendered on next animation frame."
[component]
(when (empty? @render-queue)
(schedule render))
(vswap! render-queue conj component))
(defn request-render [comp]
(.setState comp (.-state comp)))
(defn mount
"Add element to the DOM tree. Idempotent. Subsequent mounts will just update element."
@ -356,10 +322,11 @@
{:will-mount
(fn [state]
(let [local-state (atom initial)
component (:rum/react-component state)]
component ^js (:rum/react-component state)]
(add-watch local-state key
(fn [_ _ _ _]
(request-render component)))
(fn [_ _ p n]
(when (not= p n)
(.setState component (.-state component)))))
(assoc state key local-state)))}))
@ -398,8 +365,9 @@
(doseq [ref new-reactions]
(when-not (contains? old-reactions ref)
(add-watch ref key
(fn [_ _ _ _]
(request-render comp)))))
(fn [_ _ p n]
(when (not= p n)
(.setState comp (.-state comp)))))))
[dom (assoc next-state :rum.reactive/refs new-reactions)]))))
:will-unmount
(fn [state]

View File

@ -379,32 +379,37 @@
[element *state sb]
(when-not (nothing? element)
(let [[tag id classes attrs children] (normalize-element element)]
(append! sb "<" tag)
(if (or (= "*" tag)
(= "<>" tag))
;; React Fragment
(-render-html children *state sb)
(do
(append! sb "<" tag)
(when-some [type (:type attrs)]
(append! sb " type=\"" (escape-html (to-str type)) "\""))
(when-some [type (:type attrs)]
(append! sb " type=\"" (escape-html (to-str type)) "\""))
(when (and (= "option" tag)
(= (get-value attrs) *select-value*))
(append! sb " selected=\"\""))
(when (and (= "option" tag)
(= (get-value attrs) *select-value*))
(append! sb " selected=\"\""))
(when id
(append! sb " id=\"" id "\""))
(when id
(append! sb " id=\"" id "\""))
(render-attrs! tag attrs sb)
(render-attrs! tag attrs sb)
(render-classes! classes sb)
(render-classes! classes sb)
(when (= :state/root @*state)
(append! sb " data-reactroot=\"\""))
(when (= :state/root @*state)
(append! sb " data-reactroot=\"\""))
(when (not= :state/static @*state)
(vreset! *state :state/tag-open))
(when (not= :state/static @*state)
(vreset! *state :state/tag-open))
(if (= "select" tag)
(binding [*select-value* (get-value attrs)]
(render-content! tag attrs children *state sb))
(render-content! tag attrs children *state sb)))))
(if (= "select" tag)
(binding [*select-value* (get-value attrs)]
(render-content! tag attrs children *state sb))
(render-content! tag attrs children *state sb)))))))
(deftype JSComponent [s]
HtmlRenderer

View File

@ -267,385 +267,358 @@ tf(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){retu
!function(f){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=f();else if("function"==typeof define&&define.amd)define([],f);else{var g;g="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,g.PropTypes=f()}}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function emptyFunction(){}function emptyFunctionWithReset(){}var ReactPropTypesSecret=require(3);emptyFunctionWithReset.resetWarningCache=emptyFunction,module.exports=function(){function e(e,t,n,r,o,p){if(p!==ReactPropTypesSecret){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return n.PropTypes=n,n}},{3:3}],2:[function(require,module,exports){module.exports=require(1)()},{1:1}],3:[function(require,module,exports){"use strict";module.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},{}]},{},[2])(2)});
;(function(){
var g,aa=this;
function q(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==
b&&"undefined"==typeof a.call)return"object";return b}var ba="closure_uid_"+(1E9*Math.random()>>>0),ca=0;function da(a,b,c){return a.call.apply(a.bind,arguments)}function fa(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}
function ha(a,b,c){ha=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?da:fa;return ha.apply(null,arguments)}function ia(a,b){function c(){}c.prototype=b.prototype;a.xc=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};function ja(a){var b=!1,c;return function(){b||(c=a(),b=!0);return c}};var ka=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};function la(a,b){return a<b?-1:a>b?1:0};function ma(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};function oa(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b}function pa(a,b){var c=b;var d=q(c);c=(d="array"==d||"object"==d&&"number"==typeof c.length)?b:arguments;for(d=d?0:1;d<c.length&&(a=a[c[d]],void 0!==a);d++);return a}function qa(a,b){return null!==a&&b in a?a[b]:void 0}function ra(a,b,c){a[b]=c}var ta="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
function ua(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<ta.length;f++)c=ta[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function va(a,b){this.T=[];this.W=b;for(var c=!0,d=a.length-1;0<=d;d--){var e=a[d]|0;c&&e==b||(this.T[d]=e,c=!1)}}var wa={};function xa(a){if(-128<=a&&128>a){var b=wa[a];if(b)return b}b=new va([a|0],0>a?-1:0);-128<=a&&128>a&&(wa[a]=b);return b}function ya(a){if(isNaN(a)||!isFinite(a))return Ba;if(0>a)return Ca(ya(-a));for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=Fa;return new va(b,0)}var Fa=4294967296,Ba=xa(0),Ga=xa(1),Ha=xa(16777216);
function Ia(a){if(-1==a.W)return-Ia(Ca(a));for(var b=0,c=1,d=0;d<a.T.length;d++){var e=Ja(a,d);b+=(0<=e?e:Fa+e)*c;c*=Fa}return b}g=va.prototype;g.toString=function(a){a=a||10;if(2>a||36<a)throw Error("radix out of range: "+a);if(Ka(this))return"0";if(-1==this.W)return"-"+Ca(this).toString(a);for(var b=ya(Math.pow(a,6)),c=this,d="";;){var e=La(c,b),f=e.multiply(b);c=c.add(Ca(f));f=((0<c.T.length?c.T[0]:c.W)>>>0).toString(a);c=e;if(Ka(c))return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};
function Ja(a,b){return 0>b?0:b<a.T.length?a.T[b]:a.W}function Ka(a){if(0!=a.W)return!1;for(var b=0;b<a.T.length;b++)if(0!=a.T[b])return!1;return!0}g.compare=function(a){a=this.add(Ca(a));return-1==a.W?-1:Ka(a)?0:1};function Ca(a){for(var b=a.T.length,c=[],d=0;d<b;d++)c[d]=~a.T[d];return(new va(c,~a.W)).add(Ga)}
g.add=function(a){for(var b=Math.max(this.T.length,a.T.length),c=[],d=0,e=0;e<=b;e++){var f=d+(Ja(this,e)&65535)+(Ja(a,e)&65535),h=(f>>>16)+(Ja(this,e)>>>16)+(Ja(a,e)>>>16);d=h>>>16;f&=65535;h&=65535;c[e]=h<<16|f}return new va(c,c[c.length-1]&-2147483648?-1:0)};
g.multiply=function(a){if(Ka(this)||Ka(a))return Ba;if(-1==this.W)return-1==a.W?Ca(this).multiply(Ca(a)):Ca(Ca(this).multiply(a));if(-1==a.W)return Ca(this.multiply(Ca(a)));if(0>this.compare(Ha)&&0>a.compare(Ha))return ya(Ia(this)*Ia(a));for(var b=this.T.length+a.T.length,c=[],d=0;d<2*b;d++)c[d]=0;for(d=0;d<this.T.length;d++)for(var e=0;e<a.T.length;e++){var f=Ja(this,d)>>>16,h=Ja(this,d)&65535,k=Ja(a,e)>>>16,l=Ja(a,e)&65535;c[2*d+2*e]+=h*l;Ma(c,2*d+2*e);c[2*d+2*e+1]+=f*l;Ma(c,2*d+2*e+1);c[2*d+2*
e+1]+=h*k;Ma(c,2*d+2*e+1);c[2*d+2*e+2]+=f*k;Ma(c,2*d+2*e+2)}for(d=0;d<b;d++)c[d]=c[2*d+1]<<16|c[2*d];for(d=b;d<2*b;d++)c[d]=0;return new va(c,0)};function Ma(a,b){for(;(a[b]&65535)!=a[b];)a[b+1]+=a[b]>>>16,a[b]&=65535,b++}
function La(a,b){if(Ka(b))throw Error("division by zero");if(Ka(a))return Ba;if(-1==a.W)return-1==b.W?La(Ca(a),Ca(b)):Ca(La(Ca(a),b));if(-1==b.W)return Ca(La(a,Ca(b)));if(30<a.T.length){if(-1==a.W||-1==b.W)throw Error("slowDivide_ only works with positive integers.");for(var c=Ga;0>=b.compare(a);)c=c.shiftLeft(1),b=b.shiftLeft(1);var d=Na(c,1),e=Na(b,1);b=Na(b,2);for(c=Na(c,2);!Ka(b);){var f=e.add(b);0>=f.compare(a)&&(d=d.add(c),e=f);b=Na(b,1);c=Na(c,1)}return d}for(c=Ba;0<=a.compare(b);){d=Math.max(1,
Math.floor(Ia(a)/Ia(b)));e=Math.ceil(Math.log(d)/Math.LN2);e=48>=e?1:Math.pow(2,e-48);f=ya(d);for(var h=f.multiply(b);-1==h.W||0<h.compare(a);)d-=e,f=ya(d),h=f.multiply(b);Ka(f)&&(f=Ga);c=c.add(f);a=a.add(Ca(h))}return c}g.and=function(a){for(var b=Math.max(this.T.length,a.T.length),c=[],d=0;d<b;d++)c[d]=Ja(this,d)&Ja(a,d);return new va(c,this.W&a.W)};g.or=function(a){for(var b=Math.max(this.T.length,a.T.length),c=[],d=0;d<b;d++)c[d]=Ja(this,d)|Ja(a,d);return new va(c,this.W|a.W)};
g.xor=function(a){for(var b=Math.max(this.T.length,a.T.length),c=[],d=0;d<b;d++)c[d]=Ja(this,d)^Ja(a,d);return new va(c,this.W^a.W)};g.shiftLeft=function(a){var b=a>>5;a%=32;for(var c=this.T.length+b+(0<a?1:0),d=[],e=0;e<c;e++)d[e]=0<a?Ja(this,e-b)<<a|Ja(this,e-b-1)>>>32-a:Ja(this,e-b);return new va(d,this.W)};function Na(a,b){var c=b>>5;b%=32;for(var d=a.T.length-c,e=[],f=0;f<d;f++)e[f]=0<b?Ja(a,f+c)>>>b|Ja(a,f+c+1)<<32-b:Ja(a,f+c);return new va(e,a.W)};function Oa(a,b){null!=a&&this.append.apply(this,arguments)}g=Oa.prototype;g.Ta="";g.set=function(a){this.Ta=""+a};g.append=function(a,b,c){this.Ta+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.Ta+=arguments[d];return this};g.clear=function(){this.Ta=""};g.toString=function(){return this.Ta};function Pa(a,b){var c=Qa;Object.prototype.hasOwnProperty.call(c,a)||(c[a]=b(a))};var Ra={},Sa={},Ta;if("undefined"===typeof Ra||"undefined"===typeof Sa||"undefined"===typeof r)var r={};if("undefined"===typeof Ra||"undefined"===typeof Sa||"undefined"===typeof Va)var Va=null;if("undefined"===typeof Ra||"undefined"===typeof Sa||"undefined"===typeof Wa)var Wa=null;var Ya=null;if("undefined"===typeof Ra||"undefined"===typeof Sa||"undefined"===typeof Za)var Za=null;function $a(){return new u(null,5,[ab,!0,bb,!0,db,!1,eb,!1,fb,null],null)}
function gb(){Va=function(){return console.log.apply(console,ma(arguments))};Wa=function(){return console.error.apply(console,ma(arguments))}}function v(a){return null!=a&&!1!==a}function hb(a){return null==a}function jb(a){return a instanceof Array}function kb(a){return null==a?!0:!1===a?!0:!1}function w(a,b){return a[q(null==b?null:b)]?!0:a._?!0:!1}
function x(a,b){var c=null==b?null:b.constructor;c=v(v(c)?c.Pb:c)?c.vb:q(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))}function lb(a){var b=a.vb;return v(b)?b:y.f(a)}var mb="undefined"!==typeof Symbol&&"function"===q(Symbol)?Symbol.iterator:"@@iterator";function nb(a){for(var b=a.length,c=Array(b),d=0;;)if(d<b)c[d]=a[d],d+=1;else break;return c}function ob(a){return qb(function(a,c){a.push(c);return a},[],a)}function rb(){}
var sb=function sb(a){if(null!=a&&null!=a.O)return a.O(a);var c=sb[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=sb._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("ICounted.-count",a);};function tb(){}var ub=function ub(a){if(null!=a&&null!=a.Y)return a.Y(a);var c=ub[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=ub._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IEmptyableCollection.-empty",a);};function vb(){}
var wb=function wb(a,b){if(null!=a&&null!=a.$)return a.$(a,b);var d=wb[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=wb._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("ICollection.-conj",a);};function yb(){}var zb=function zb(a){switch(arguments.length){case 2:return zb.c(arguments[0],arguments[1]);case 3:return zb.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",y.f(arguments.length)].join(""));}};
zb.c=function(a,b){if(null!=a&&null!=a.J)return a.J(a,b);var c=zb[q(null==a?null:a)];if(null!=c)return c.c?c.c(a,b):c.call(null,a,b);c=zb._;if(null!=c)return c.c?c.c(a,b):c.call(null,a,b);throw x("IIndexed.-nth",a);};zb.j=function(a,b,c){if(null!=a&&null!=a.ca)return a.ca(a,b,c);var d=zb[q(null==a?null:a)];if(null!=d)return d.j?d.j(a,b,c):d.call(null,a,b,c);d=zb._;if(null!=d)return d.j?d.j(a,b,c):d.call(null,a,b,c);throw x("IIndexed.-nth",a);};zb.G=3;
var z=function z(a){if(null!=a&&null!=a.fa)return a.fa(a);var c=z[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=z._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("ISeq.-first",a);},Ab=function Ab(a){if(null!=a&&null!=a.ka)return a.ka(a);var c=Ab[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=Ab._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("ISeq.-rest",a);};function Bb(){}function Cb(){}
var Db=function Db(a){switch(arguments.length){case 2:return Db.c(arguments[0],arguments[1]);case 3:return Db.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",y.f(arguments.length)].join(""));}};Db.c=function(a,b){if(null!=a&&null!=a.R)return a.R(a,b);var c=Db[q(null==a?null:a)];if(null!=c)return c.c?c.c(a,b):c.call(null,a,b);c=Db._;if(null!=c)return c.c?c.c(a,b):c.call(null,a,b);throw x("ILookup.-lookup",a);};
Db.j=function(a,b,c){if(null!=a&&null!=a.D)return a.D(a,b,c);var d=Db[q(null==a?null:a)];if(null!=d)return d.j?d.j(a,b,c):d.call(null,a,b,c);d=Db._;if(null!=d)return d.j?d.j(a,b,c):d.call(null,a,b,c);throw x("ILookup.-lookup",a);};Db.G=3;
var Eb=function Eb(a,b,c){if(null!=a&&null!=a.Pa)return a.Pa(a,b,c);var e=Eb[q(null==a?null:a)];if(null!=e)return e.j?e.j(a,b,c):e.call(null,a,b,c);e=Eb._;if(null!=e)return e.j?e.j(a,b,c):e.call(null,a,b,c);throw x("IAssociative.-assoc",a);},Fb=function Fb(a,b){if(null!=a&&null!=a.fb)return a.fb(a,b);var d=Fb[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=Fb._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("IFind.-find",a);};function Gb(){}
var Hb=function Hb(a,b){if(null!=a&&null!=a.zb)return a.zb(a,b);var d=Hb[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=Hb._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("IMap.-dissoc",a);},Ib=function Ib(a){if(null!=a&&null!=a.Yb)return a.key;var c=Ib[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=Ib._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IMapEntry.-key",a);},Kb=function Kb(a){if(null!=a&&null!=a.Zb)return a.V;var c=Kb[q(null==a?
null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=Kb._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IMapEntry.-val",a);};function Lb(){}function Mb(){}var B=function B(a){if(null!=a&&null!=a.pa)return a.pa(a);var c=B[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=B._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IDeref.-deref",a);};function Nb(){}
var Ob=function Ob(a){if(null!=a&&null!=a.S)return a.S(a);var c=Ob[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=Ob._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IMeta.-meta",a);},Pb=function Pb(a,b){if(null!=a&&null!=a.X)return a.X(a,b);var d=Pb[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=Pb._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("IWithMeta.-with-meta",a);};function Qb(){}
var Sb=function Sb(a){switch(arguments.length){case 2:return Sb.c(arguments[0],arguments[1]);case 3:return Sb.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",y.f(arguments.length)].join(""));}};Sb.c=function(a,b){if(null!=a&&null!=a.da)return a.da(a,b);var c=Sb[q(null==a?null:a)];if(null!=c)return c.c?c.c(a,b):c.call(null,a,b);c=Sb._;if(null!=c)return c.c?c.c(a,b):c.call(null,a,b);throw x("IReduce.-reduce",a);};
Sb.j=function(a,b,c){if(null!=a&&null!=a.ea)return a.ea(a,b,c);var d=Sb[q(null==a?null:a)];if(null!=d)return d.j?d.j(a,b,c):d.call(null,a,b,c);d=Sb._;if(null!=d)return d.j?d.j(a,b,c):d.call(null,a,b,c);throw x("IReduce.-reduce",a);};Sb.G=3;function Tb(){}
var Ub=function Ub(a,b,c){if(null!=a&&null!=a.tb)return a.tb(a,b,c);var e=Ub[q(null==a?null:a)];if(null!=e)return e.j?e.j(a,b,c):e.call(null,a,b,c);e=Ub._;if(null!=e)return e.j?e.j(a,b,c):e.call(null,a,b,c);throw x("IKVReduce.-kv-reduce",a);},Vb=function Vb(a,b){if(null!=a&&null!=a.B)return a.B(a,b);var d=Vb[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=Vb._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("IEquiv.-equiv",a);},Wb=function Wb(a){if(null!=a&&null!=a.P)return a.P(a);
var c=Wb[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=Wb._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IHash.-hash",a);};function Xb(){}var Yb=function Yb(a){if(null!=a&&null!=a.U)return a.U(a);var c=Yb[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=Yb._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("ISeqable.-seq",a);};function Zb(){}function $b(){}function ac(){}function cc(){}
var dc=function dc(a){if(null!=a&&null!=a.ub)return a.ub(a);var c=dc[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=dc._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IReversible.-rseq",a);},ec=function ec(a,b){if(null!=a&&null!=a.Ob)return a.Ob(a,b);var d=ec[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=ec._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("IWriter.-write",a);};function fc(){}
var gc=function gc(a,b,c){if(null!=a&&null!=a.N)return a.N(a,b,c);var e=gc[q(null==a?null:a)];if(null!=e)return e.j?e.j(a,b,c):e.call(null,a,b,c);e=gc._;if(null!=e)return e.j?e.j(a,b,c):e.call(null,a,b,c);throw x("IPrintWithWriter.-pr-writer",a);},hc=function hc(a,b,c){if(null!=a&&null!=a.Cb)return a.Cb(a,b,c);var e=hc[q(null==a?null:a)];if(null!=e)return e.j?e.j(a,b,c):e.call(null,a,b,c);e=hc._;if(null!=e)return e.j?e.j(a,b,c):e.call(null,a,b,c);throw x("IWatchable.-add-watch",a);},ic=function ic(a,
b){if(null!=a&&null!=a.Db)return a.Db(a,b);var d=ic[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=ic._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("IWatchable.-remove-watch",a);},jc=function jc(a){if(null!=a&&null!=a.Za)return a.Za(a);var c=jc[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=jc._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IEditableCollection.-as-transient",a);},kc=function kc(a,b){if(null!=a&&null!=a.bb)return a.bb(a,b);
var d=kc[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=kc._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("ITransientCollection.-conj!",a);},lc=function lc(a){if(null!=a&&null!=a.hb)return a.hb(a);var c=lc[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=lc._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("ITransientCollection.-persistent!",a);},mc=function mc(a,b,c){if(null!=a&&null!=a.ab)return a.ab(a,b,c);var e=mc[q(null==a?null:a)];if(null!=
e)return e.j?e.j(a,b,c):e.call(null,a,b,c);e=mc._;if(null!=e)return e.j?e.j(a,b,c):e.call(null,a,b,c);throw x("ITransientAssociative.-assoc!",a);},nc=function nc(a){if(null!=a&&null!=a.xb)return a.xb(a);var c=nc[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=nc._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IChunk.-drop-first",a);},oc=function oc(a){if(null!=a&&null!=a.sb)return a.sb(a);var c=oc[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=oc._;if(null!=
c)return c.f?c.f(a):c.call(null,a);throw x("IChunkedSeq.-chunked-first",a);},pc=function pc(a){if(null!=a&&null!=a.Ya)return a.Ya(a);var c=pc[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=pc._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IChunkedSeq.-chunked-rest",a);},qc=function qc(a,b){if(null!=a&&null!=a.$a)return a.$a(a,b);var d=qc[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=qc._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("IReset.-reset!",
a);},rc=function rc(a){switch(arguments.length){case 2:return rc.c(arguments[0],arguments[1]);case 3:return rc.j(arguments[0],arguments[1],arguments[2]);case 4:return rc.H(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return rc.aa(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",y.f(arguments.length)].join(""));}};
rc.c=function(a,b){if(null!=a&&null!=a.Kb)return a.Kb(a,b);var c=rc[q(null==a?null:a)];if(null!=c)return c.c?c.c(a,b):c.call(null,a,b);c=rc._;if(null!=c)return c.c?c.c(a,b):c.call(null,a,b);throw x("ISwap.-swap!",a);};rc.j=function(a,b,c){if(null!=a&&null!=a.Lb)return a.Lb(a,b,c);var d=rc[q(null==a?null:a)];if(null!=d)return d.j?d.j(a,b,c):d.call(null,a,b,c);d=rc._;if(null!=d)return d.j?d.j(a,b,c):d.call(null,a,b,c);throw x("ISwap.-swap!",a);};
rc.H=function(a,b,c,d){if(null!=a&&null!=a.Mb)return a.Mb(a,b,c,d);var e=rc[q(null==a?null:a)];if(null!=e)return e.H?e.H(a,b,c,d):e.call(null,a,b,c,d);e=rc._;if(null!=e)return e.H?e.H(a,b,c,d):e.call(null,a,b,c,d);throw x("ISwap.-swap!",a);};rc.aa=function(a,b,c,d,e){if(null!=a&&null!=a.Nb)return a.Nb(a,b,c,d,e);var f=rc[q(null==a?null:a)];if(null!=f)return f.aa?f.aa(a,b,c,d,e):f.call(null,a,b,c,d,e);f=rc._;if(null!=f)return f.aa?f.aa(a,b,c,d,e):f.call(null,a,b,c,d,e);throw x("ISwap.-swap!",a);};
rc.G=5;var tc=function tc(a,b){if(null!=a&&null!=a.Bb)return a.Bb(a,b);var d=tc[q(null==a?null:a)];if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);d=tc._;if(null!=d)return d.c?d.c(a,b):d.call(null,a,b);throw x("IVolatile.-vreset!",a);};function uc(){}var vc=function vc(a){if(null!=a&&null!=a.oa)return a.oa(a);var c=vc[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=vc._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IIterable.-iterator",a);};
function wc(a){this.fc=a;this.m=1073741824;this.C=0}wc.prototype.Ob=function(a,b){return this.fc.append(b)};function xc(a){var b=new Oa;a.N(null,new wc(b),$a());return y.f(b)}var yc="undefined"!==typeof Math&&"undefined"!==typeof Math.imul&&0!==Math.imul(4294967295,5)?function(a,b){return Math.imul(a,b)}:function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};function zc(a){a=yc(a|0,-862048943);return yc(a<<15|a>>>-15,461845907)}
function Ac(a,b){a=(a|0)^(b|0);return yc(a<<13|a>>>-13,5)+-430675100|0}function Bc(a,b){a=(a|0)^b;a=yc(a^a>>>16,-2048144789);a=yc(a^a>>>13,-1028477387);return a^a>>>16}function Cc(a){a:{var b=1;for(var c=0;;)if(b<a.length){var d=b+2;c=Ac(c,zc(a.charCodeAt(b-1)|a.charCodeAt(b)<<16));b=d}else{b=c;break a}}b=1===(a.length&1)?b^zc(a.charCodeAt(a.length-1)):b;return Bc(b,yc(2,a.length))}var Dc={},Ec=0;
function Fc(a){255<Ec&&(Dc={},Ec=0);if(null==a)return 0;var b=Dc[a];if("number"===typeof b)a=b;else{a:if(null!=a)if(b=a.length,0<b)for(var c=0,d=0;;)if(c<b){var e=c+1;d=yc(31,d)+a.charCodeAt(c);c=e}else{b=d;break a}else b=0;else b=0;Dc[a]=b;Ec+=1;a=b}return a}
function Gc(a){if(null!=a&&(a.m&4194304||r===a.mc))return a.P(null)^0;if("number"===typeof a){if(v(isFinite(a)))return Math.floor(a)%2147483647;switch(a){case Infinity:return 2146435072;case -Infinity:return-1048576;default:return 2146959360}}else return!0===a?a=1231:!1===a?a=1237:"string"===typeof a?(a=Fc(a),0!==a&&(a=zc(a),a=Ac(0,a),a=Bc(a,4))):a=a instanceof Date?a.valueOf()^0:null==a?0:Wb(a)^0,a}function Hc(a,b){return a^b+2654435769+(a<<6)+(a>>2)}
function Ic(a,b,c,d,e){this.ob=a;this.name=b;this.Sa=c;this.Xa=d;this.va=e;this.m=2154168321;this.C=4096}g=Ic.prototype;g.toString=function(){return this.Sa};g.equiv=function(a){return this.B(null,a)};g.B=function(a,b){return b instanceof Ic?this.Sa===b.Sa:!1};
g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return E.c(c,this);case 3:return E.j(c,this,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return E.c(c,this)};a.j=function(a,c,d){return E.j(c,this,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return E.c(a,this)};g.c=function(a,b){return E.j(a,this,b)};g.S=function(){return this.va};
g.X=function(a,b){return new Ic(this.ob,this.name,this.Sa,this.Xa,b)};g.P=function(){var a=this.Xa;return null!=a?a:this.Xa=a=Hc(Cc(this.name),Fc(this.ob))};g.N=function(a,b){return ec(b,this.Sa)};var Jc=function Jc(a){switch(arguments.length){case 1:return Jc.f(arguments[0]);case 2:return Jc.c(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",y.f(arguments.length)].join(""));}};
Jc.f=function(a){for(;;){if(a instanceof Ic)return a;if("string"===typeof a){var b=a.indexOf("/");return 1>b?Jc.c(null,a):Jc.c(a.substring(0,b),a.substring(b+1,a.length))}if(a instanceof F)a=a.xa;else throw Error("no conversion to symbol");}};Jc.c=function(a,b){var c=null!=a?[y.f(a),"/",y.f(b)].join(""):b;return new Ic(a,b,c,null,null)};Jc.G=2;function Kc(a){return null!=a?a.C&131072||r===a.nc?!0:a.C?!1:w(uc,a):w(uc,a)}
function I(a){if(null==a)return null;if(null!=a&&(a.m&8388608||r===a.bc))return a.U(null);if(jb(a)||"string"===typeof a)return 0===a.length?null:new J(a,0,null);if(w(Xb,a))return Yb(a);throw Error([y.f(a)," is not ISeqable"].join(""));}function L(a){if(null==a)return null;if(null!=a&&(a.m&64||r===a.wa))return a.fa(null);a=I(a);return null==a?null:z(a)}function Lc(a){return null!=a?null!=a&&(a.m&64||r===a.wa)?a.ka(null):(a=I(a))?a.ka(null):Mc:Mc}
function M(a){return null==a?null:null!=a&&(a.m&128||r===a.gb)?a.ba():I(Lc(a))}var N=function N(a){switch(arguments.length){case 1:return N.f(arguments[0]);case 2:return N.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return N.w(arguments[0],arguments[1],new J(c.slice(2),0,null))}};N.f=function(){return!0};N.c=function(a,b){return null==a?null==b:a===b||Vb(a,b)};
N.w=function(a,b,c){for(;;)if(N.c(a,b))if(M(c))a=b,b=L(c),c=M(c);else return N.c(b,L(c));else return!1};N.F=function(a){var b=L(a),c=M(a);a=L(c);c=M(c);return this.w(b,a,c)};N.G=2;function Nc(a){this.s=a}Nc.prototype.next=function(){if(null!=this.s){var a=L(this.s);this.s=M(this.s);return{value:a,done:!1}}return{value:null,done:!0}};function Pc(a){return new Nc(I(a))}function Qc(a,b){a=zc(a);a=Ac(0,a);return Bc(a,b)}
function Rc(a){var b=0,c=1;for(a=I(a);;)if(null!=a)b+=1,c=yc(31,c)+Gc(L(a))|0,a=M(a);else return Qc(c,b)}var Sc=Qc(1,0);function Tc(a){var b=0,c=0;for(a=I(a);;)if(null!=a)b+=1,c=c+Gc(L(a))|0,a=M(a);else return Qc(c,b)}var Uc=Qc(0,0);rb["null"]=!0;sb["null"]=function(){return 0};Date.prototype.B=function(a,b){return b instanceof Date&&this.valueOf()===b.valueOf()};Vb.number=function(a,b){return a===b};Nb["function"]=!0;Ob["function"]=function(){return null};Wb._=function(a){return a[ba]||(a[ba]=++ca)};
function Vc(a){return a+1}function Wc(a){this.V=a;this.m=32768;this.C=0}Wc.prototype.pa=function(){return this.V};function Xc(a){return a instanceof Wc}function Yc(a,b){var c=a.O(null);if(0===c)return b.v?b.v():b.call(null);for(var d=a.J(null,0),e=1;;)if(e<c){var f=a.J(null,e);d=b.c?b.c(d,f):b.call(null,d,f);if(Xc(d))return B(d);e+=1}else return d}
function Zc(a,b){var c=a.length;if(0===a.length)return b.v?b.v():b.call(null);for(var d=a[0],e=1;;)if(e<c){var f=a[e];d=b.c?b.c(d,f):b.call(null,d,f);if(Xc(d))return B(d);e+=1}else return d}function $c(a,b,c){var d=a.length,e=c;for(c=0;;)if(c<d){var f=a[c];e=b.c?b.c(e,f):b.call(null,e,f);if(Xc(e))return B(e);c+=1}else return e}function ad(a,b,c,d){for(var e=a.length;;)if(d<e){var f=a[d];c=b.c?b.c(c,f):b.call(null,c,f);if(Xc(c))return B(c);d+=1}else return c}
function cd(a){return null!=a?a.m&2||r===a.Rb?!0:a.m?!1:w(rb,a):w(rb,a)}function dd(a){return null!=a?a.m&16||r===a.Hb?!0:a.m?!1:w(yb,a):w(yb,a)}function O(a,b,c){var d=P(a);if(c>=d)return-1;!(0<c)&&0>c&&(c+=d,c=0>c?0:c);for(;;)if(c<d){if(N.c(ed(a,c),b))return c;c+=1}else return-1}function Q(a,b,c){var d=P(a);if(0===d)return-1;0<c?(--d,c=d<c?d:c):c=0>c?d+c:c;for(;;)if(0<=c){if(N.c(ed(a,c),b))return c;--c}else return-1}function fd(a,b){this.h=a;this.i=b}fd.prototype.ga=function(){return this.i<this.h.length};
fd.prototype.next=function(){var a=this.h[this.i];this.i+=1;return a};function J(a,b,c){this.h=a;this.i=b;this.meta=c;this.m=166592766;this.C=139264}g=J.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.J=function(a,b){a=b+this.i;if(0<=a&&a<this.h.length)return this.h[a];throw Error("Index out of bounds");};g.ca=function(a,b,c){a=b+this.i;return 0<=a&&a<this.h.length?this.h[a]:c};g.oa=function(){return new fd(this.h,this.i)};
g.S=function(){return this.meta};g.ba=function(){return this.i+1<this.h.length?new J(this.h,this.i+1,null):null};g.O=function(){var a=this.h.length-this.i;return 0>a?0:a};g.ub=function(){var a=this.O(null);return 0<a?new gd(this,a-1,null):null};g.P=function(){return Rc(this)};g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};g.da=function(a,b){return ad(this.h,b,this.h[this.i],this.i+1)};g.ea=function(a,b,c){return ad(this.h,b,c,this.i)};g.fa=function(){return this.h[this.i]};
g.ka=function(){return this.i+1<this.h.length?new J(this.h,this.i+1,null):Mc};g.U=function(){return this.i<this.h.length?this:null};g.X=function(a,b){return b===this.meta?this:new J(this.h,this.i,b)};g.$=function(a,b){return R(b,this)};J.prototype[mb]=function(){return Pc(this)};function id(a){return 0<a.length?new J(a,0,null):null}function gd(a,b,c){this.rb=a;this.i=b;this.meta=c;this.m=32374990;this.C=8192}g=gd.prototype;g.toString=function(){return xc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.meta};g.ba=function(){return 0<this.i?new gd(this.rb,this.i-1,null):null};g.O=function(){return this.i+1};g.P=function(){return Rc(this)};g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};
g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){return zb.c(this.rb,this.i)};g.ka=function(){return 0<this.i?new gd(this.rb,this.i-1,null):Mc};g.U=function(){return this};g.X=function(a,b){return b===this.meta?this:new gd(this.rb,this.i,b)};g.$=function(a,b){return R(b,this)};gd.prototype[mb]=function(){return Pc(this)};Vb._=function(a,b){return a===b};
var ld=function ld(a){switch(arguments.length){case 0:return ld.v();case 1:return ld.f(arguments[0]);case 2:return ld.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return ld.w(arguments[0],arguments[1],new J(c.slice(2),0,null))}};ld.v=function(){return md};ld.f=function(a){return a};ld.c=function(a,b){return null!=a?wb(a,b):new nd(null,b,null,1,null)};
ld.w=function(a,b,c){for(;;)if(v(c))a=ld.c(a,b),b=L(c),c=M(c);else return ld.c(a,b)};ld.F=function(a){var b=L(a),c=M(a);a=L(c);c=M(c);return this.w(b,a,c)};ld.G=2;function P(a){if(null!=a)if(null!=a&&(a.m&2||r===a.Rb))a=a.O(null);else if(jb(a))a=a.length;else if("string"===typeof a)a=a.length;else if(null!=a&&(a.m&8388608||r===a.bc))a:{a=I(a);for(var b=0;;){if(cd(a)){a=b+sb(a);break a}a=M(a);b+=1}}else a=sb(a);else a=0;return a}
function od(a,b){for(var c=null;;){if(null==a)return c;if(0===b)return I(a)?L(a):c;if(dd(a))return zb.j(a,b,c);if(I(a))a=M(a),--b;else return c}}
function ed(a,b){if("number"!==typeof b)throw Error("Index argument to nth must be a number");if(null==a)return a;if(null!=a&&(a.m&16||r===a.Hb))return a.J(null,b);if(jb(a)){if(-1<b&&b<a.length)return a[b|0];throw Error("Index out of bounds");}if("string"===typeof a){if(-1<b&&b<a.length)return a.charAt(b|0);throw Error("Index out of bounds");}if(null!=a&&(a.m&64||r===a.wa)||null!=a&&(a.m&16777216||r===a.Jb)){if(0>b)throw Error("Index out of bounds");a:for(;;){if(null==a)throw Error("Index out of bounds");
if(0===b){if(I(a)){a=L(a);break a}throw Error("Index out of bounds");}if(dd(a)){a=zb.c(a,b);break a}if(I(a))a=M(a),--b;else throw Error("Index out of bounds");}return a}if(w(yb,a))return zb.c(a,b);throw Error(["nth not supported on this type ",y.f(lb(null==a?null:a.constructor))].join(""));}
function T(a,b){if("number"!==typeof b)throw Error("Index argument to nth must be a number.");if(null==a)return null;if(null!=a&&(a.m&16||r===a.Hb))return a.ca(null,b,null);if(jb(a))return-1<b&&b<a.length?a[b|0]:null;if("string"===typeof a)return-1<b&&b<a.length?a.charAt(b|0):null;if(null!=a&&(a.m&64||r===a.wa)||null!=a&&(a.m&16777216||r===a.Jb))return 0>b?null:od(a,b);if(w(yb,a))return zb.j(a,b,null);throw Error(["nth not supported on this type ",y.f(lb(null==a?null:a.constructor))].join(""));}
var E=function E(a){switch(arguments.length){case 2:return E.c(arguments[0],arguments[1]);case 3:return E.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",y.f(arguments.length)].join(""));}};E.c=function(a,b){return null==a?null:null!=a&&(a.m&256||r===a.Xb)?a.R(null,b):jb(a)?null!=b&&b<a.length?a[b|0]:null:"string"===typeof a?null!=b&&b<a.length?a.charAt(b|0):null:w(Cb,a)?Db.c(a,b):null};
E.j=function(a,b,c){return null!=a?null!=a&&(a.m&256||r===a.Xb)?a.D(null,b,c):jb(a)?null!=b&&-1<b&&b<a.length?a[b|0]:c:"string"===typeof a?null!=b&&-1<b&&b<a.length?a.charAt(b|0):c:w(Cb,a)?Db.j(a,b,c):c:c};E.G=3;var pd=function pd(a){switch(arguments.length){case 3:return pd.j(arguments[0],arguments[1],arguments[2]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return pd.w(arguments[0],arguments[1],arguments[2],new J(c.slice(3),0,null))}};
pd.j=function(a,b,c){if(null!=a&&(a.m&512||r===a.ic))a=a.Pa(null,b,c);else if(null!=a)a=Eb(a,b,c);else{a=[b,c];b=[];for(c=0;;)if(c<a.length){var d=a[c],e=a[c+1],f=qd(b,d);-1===f?(f=b,f.push(d),f.push(e)):b[f+1]=e;c+=2}else break;a=new u(null,b.length/2,b,null)}return a};pd.w=function(a,b,c,d){for(;;)if(a=pd.j(a,b,c),v(d))b=L(d),c=L(M(d)),d=M(M(d));else return a};pd.F=function(a){var b=L(a),c=M(a);a=L(c);var d=M(c);c=L(d);d=M(d);return this.w(b,a,c,d)};pd.G=3;
var rd=function rd(a){switch(arguments.length){case 1:return rd.f(arguments[0]);case 2:return rd.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return rd.w(arguments[0],arguments[1],new J(c.slice(2),0,null))}};rd.f=function(a){return a};rd.c=function(a,b){return null==a?null:Hb(a,b)};rd.w=function(a,b,c){for(;;){if(null==a)return null;a=rd.c(a,b);if(v(c))b=L(c),c=M(c);else return a}};
rd.F=function(a){var b=L(a),c=M(a);a=L(c);c=M(c);return this.w(b,a,c)};rd.G=2;function sd(a,b){this.l=a;this.meta=b;this.m=393217;this.C=0}g=sd.prototype;g.S=function(){return this.meta};g.X=function(a,b){return new sd(this.l,b)};
g.call=function(){function a(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S,ea,K,na){return td(this.l,b,c,d,e,id([f,h,k,l,m,n,p,t,A,C,G,D,H,S,ea,K,na]))}function b(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S,ea,K){a=this;return a.l.Ia?a.l.Ia(b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S,ea,K):a.l.call(null,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S,ea,K)}function c(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S,ea){a=this;return a.l.Ha?a.l.Ha(b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S,ea):a.l.call(null,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S,ea)}function d(a,
b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S){a=this;return a.l.Ga?a.l.Ga(b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S):a.l.call(null,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H,S)}function e(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H){a=this;return a.l.Fa?a.l.Fa(b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H):a.l.call(null,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D,H)}function f(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D){a=this;return a.l.Ea?a.l.Ea(b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D):a.l.call(null,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G,D)}function h(a,b,c,d,e,f,h,k,l,m,n,p,
t,A,C,G){a=this;return a.l.Da?a.l.Da(b,c,d,e,f,h,k,l,m,n,p,t,A,C,G):a.l.call(null,b,c,d,e,f,h,k,l,m,n,p,t,A,C,G)}function k(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C){a=this;return a.l.Ca?a.l.Ca(b,c,d,e,f,h,k,l,m,n,p,t,A,C):a.l.call(null,b,c,d,e,f,h,k,l,m,n,p,t,A,C)}function l(a,b,c,d,e,f,h,k,l,m,n,p,t,A){a=this;return a.l.Ba?a.l.Ba(b,c,d,e,f,h,k,l,m,n,p,t,A):a.l.call(null,b,c,d,e,f,h,k,l,m,n,p,t,A)}function m(a,b,c,d,e,f,h,k,l,m,n,p,t){a=this;return a.l.Aa?a.l.Aa(b,c,d,e,f,h,k,l,m,n,p,t):a.l.call(null,b,c,d,
e,f,h,k,l,m,n,p,t)}function n(a,b,c,d,e,f,h,k,l,m,n,p){a=this;return a.l.za?a.l.za(b,c,d,e,f,h,k,l,m,n,p):a.l.call(null,b,c,d,e,f,h,k,l,m,n,p)}function p(a,b,c,d,e,f,h,k,l,m,n){a=this;return a.l.ya?a.l.ya(b,c,d,e,f,h,k,l,m,n):a.l.call(null,b,c,d,e,f,h,k,l,m,n)}function t(a,b,c,d,e,f,h,k,l,m){a=this;return a.l.La?a.l.La(b,c,d,e,f,h,k,l,m):a.l.call(null,b,c,d,e,f,h,k,l,m)}function A(a,b,c,d,e,f,h,k,l){a=this;return a.l.Ka?a.l.Ka(b,c,d,e,f,h,k,l):a.l.call(null,b,c,d,e,f,h,k,l)}function C(a,b,c,d,e,f,
h,k){a=this;return a.l.Ja?a.l.Ja(b,c,d,e,f,h,k):a.l.call(null,b,c,d,e,f,h,k)}function D(a,b,c,d,e,f,h){a=this;return a.l.na?a.l.na(b,c,d,e,f,h):a.l.call(null,b,c,d,e,f,h)}function G(a,b,c,d,e,f){a=this;return a.l.aa?a.l.aa(b,c,d,e,f):a.l.call(null,b,c,d,e,f)}function H(a,b,c,d,e){a=this;return a.l.H?a.l.H(b,c,d,e):a.l.call(null,b,c,d,e)}function S(a,b,c,d){a=this;return a.l.j?a.l.j(b,c,d):a.l.call(null,b,c,d)}function ea(a,b,c){a=this;return a.l.c?a.l.c(b,c):a.l.call(null,b,c)}function na(a,b){a=
this;return a.l.f?a.l.f(b):a.l.call(null,b)}function Ea(a){a=this;return a.l.v?a.l.v():a.l.call(null)}var K=null;K=function(K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb,bc,sc,Oc,bd,Ad,le,mf,Ah,oj){switch(arguments.length){case 1:return Ea.call(this,K);case 2:return na.call(this,K,sa);case 3:return ea.call(this,K,sa,za);case 4:return S.call(this,K,sa,za,Da);case 5:return H.call(this,K,sa,za,Da,Aa);case 6:return G.call(this,K,sa,za,Da,Aa,Ua);case 7:return D.call(this,K,sa,za,Da,Aa,Ua,Xa);case 8:return C.call(this,
K,sa,za,Da,Aa,Ua,Xa,cb);case 9:return A.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib);case 10:return t.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb);case 11:return p.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb);case 12:return n.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb);case 13:return m.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb);case 14:return l.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb,bc);case 15:return k.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb,bc,sc);case 16:return h.call(this,K,sa,za,Da,
Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb,bc,sc,Oc);case 17:return f.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb,bc,sc,Oc,bd);case 18:return e.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb,bc,sc,Oc,bd,Ad);case 19:return d.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb,bc,sc,Oc,bd,Ad,le);case 20:return c.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb,bc,sc,Oc,bd,Ad,le,mf);case 21:return b.call(this,K,sa,za,Da,Aa,Ua,Xa,cb,ib,pb,xb,Jb,Rb,bc,sc,Oc,bd,Ad,le,mf,Ah);case 22:return a.call(this,K,sa,za,Da,Aa,Ua,
Xa,cb,ib,pb,xb,Jb,Rb,bc,sc,Oc,bd,Ad,le,mf,Ah,oj)}throw Error("Invalid arity: "+(arguments.length-1));};K.f=Ea;K.c=na;K.j=ea;K.H=S;K.aa=H;K.na=G;K.Ja=D;K.Ka=C;K.La=A;K.ya=t;K.za=p;K.Aa=n;K.Ba=m;K.Ca=l;K.Da=k;K.Ea=h;K.Fa=f;K.Ga=e;K.Ha=d;K.Ia=c;K.Wb=b;K.lc=a;return K}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.v=function(){return this.l.v?this.l.v():this.l.call(null)};g.f=function(a){return this.l.f?this.l.f(a):this.l.call(null,a)};
g.c=function(a,b){return this.l.c?this.l.c(a,b):this.l.call(null,a,b)};g.j=function(a,b,c){return this.l.j?this.l.j(a,b,c):this.l.call(null,a,b,c)};g.H=function(a,b,c,d){return this.l.H?this.l.H(a,b,c,d):this.l.call(null,a,b,c,d)};g.aa=function(a,b,c,d,e){return this.l.aa?this.l.aa(a,b,c,d,e):this.l.call(null,a,b,c,d,e)};g.na=function(a,b,c,d,e,f){return this.l.na?this.l.na(a,b,c,d,e,f):this.l.call(null,a,b,c,d,e,f)};
g.Ja=function(a,b,c,d,e,f,h){return this.l.Ja?this.l.Ja(a,b,c,d,e,f,h):this.l.call(null,a,b,c,d,e,f,h)};g.Ka=function(a,b,c,d,e,f,h,k){return this.l.Ka?this.l.Ka(a,b,c,d,e,f,h,k):this.l.call(null,a,b,c,d,e,f,h,k)};g.La=function(a,b,c,d,e,f,h,k,l){return this.l.La?this.l.La(a,b,c,d,e,f,h,k,l):this.l.call(null,a,b,c,d,e,f,h,k,l)};g.ya=function(a,b,c,d,e,f,h,k,l,m){return this.l.ya?this.l.ya(a,b,c,d,e,f,h,k,l,m):this.l.call(null,a,b,c,d,e,f,h,k,l,m)};
g.za=function(a,b,c,d,e,f,h,k,l,m,n){return this.l.za?this.l.za(a,b,c,d,e,f,h,k,l,m,n):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n)};g.Aa=function(a,b,c,d,e,f,h,k,l,m,n,p){return this.l.Aa?this.l.Aa(a,b,c,d,e,f,h,k,l,m,n,p):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p)};g.Ba=function(a,b,c,d,e,f,h,k,l,m,n,p,t){return this.l.Ba?this.l.Ba(a,b,c,d,e,f,h,k,l,m,n,p,t):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,t)};
g.Ca=function(a,b,c,d,e,f,h,k,l,m,n,p,t,A){return this.l.Ca?this.l.Ca(a,b,c,d,e,f,h,k,l,m,n,p,t,A):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,t,A)};g.Da=function(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C){return this.l.Da?this.l.Da(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,t,A,C)};g.Ea=function(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D){return this.l.Ea?this.l.Ea(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D)};
g.Fa=function(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G){return this.l.Fa?this.l.Fa(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G)};g.Ga=function(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H){return this.l.Ga?this.l.Ga(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H)};
g.Ha=function(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S){return this.l.Ha?this.l.Ha(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S)};g.Ia=function(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea){return this.l.Ia?this.l.Ia(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea)};g.Wb=function(a,b,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea,na){return td(this.l,a,b,c,d,id([e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea,na]))};
function ud(a,b){return"function"==q(a)?new sd(a,b):null==a?null:Pb(a,b)}function vd(a){return null!=a&&(null!=a?a.m&131072||r===a.Ib||(a.m?0:w(Nb,a)):w(Nb,a))?Ob(a):null}function wd(a){return null==a||kb(I(a))}function xd(a){return null==a?!1:null!=a?a.m&4096||r===a.uc?!0:a.m?!1:w(Lb,a):w(Lb,a)}function yd(a){return null!=a?a.m&16777216||r===a.Jb?!0:a.m?!1:w(Zb,a):w(Zb,a)}function U(a){return null==a?!1:null!=a?a.m&1024||r===a.qc?!0:a.m?!1:w(Gb,a):w(Gb,a)}
function zd(a){return null!=a?a.m&67108864||r===a.sc?!0:a.m?!1:w(ac,a):w(ac,a)}function Bd(a){return null!=a?a.m&16384||r===a.vc?!0:a.m?!1:w(Mb,a):w(Mb,a)}function Cd(a){return null!=a?a.C&512||r===a.jc?!0:!1:!1}function Dd(a,b,c,d,e){for(;0!==e;)c[d]=a[b],d+=1,--e,b+=1}var Ed={};function Fd(a){return null==a?!1:!1===a?!1:!0}function Gd(a,b){return E.j(a,b,Ed)===Ed?!1:!0}function jd(a,b){return(b=I(b))?qb(a,L(b),M(b)):a.v?a.v():a.call(null)}
function kd(a,b,c){for(c=I(c);;)if(c){var d=L(c);b=a.c?a.c(b,d):a.call(null,b,d);if(Xc(b))return B(b);c=M(c)}else return b}function Hd(a,b){a=vc(a);if(v(a.ga()))for(var c=a.next();;)if(a.ga()){var d=a.next();c=b.c?b.c(c,d):b.call(null,c,d);if(Xc(c))return B(c)}else return c;else return b.v?b.v():b.call(null)}function Id(a,b,c){for(a=vc(a);;)if(a.ga()){var d=a.next();c=b.c?b.c(c,d):b.call(null,c,d);if(Xc(c))return B(c)}else return c}
function Jd(a,b){return null!=b&&(b.m&524288||r===b.ac)?b.da(null,a):jb(b)?Zc(b,a):"string"===typeof b?Zc(b,a):w(Qb,b)?Sb.c(b,a):Kc(b)?Hd(b,a):jd(a,b)}function qb(a,b,c){return null!=c&&(c.m&524288||r===c.ac)?c.ea(null,a,b):jb(c)?$c(c,a,b):"string"===typeof c?$c(c,a,b):w(Qb,c)?Sb.j(c,a,b):Kc(c)?Id(c,a,b):kd(a,b,c)}function Kd(a,b){return null!=b?Ub(b,a,!0):!0}function Ld(a){return a}function Md(a,b,c,d){a=a.f?a.f(b):a.call(null,b);c=qb(a,c,d);return a.f?a.f(c):a.call(null,c)}
function Nd(a){return 0<=a?Math.floor(a):Math.ceil(a)}function Od(a,b){return Nd((a-a%b)/b)}function Pd(a){a-=a>>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24}var y=function y(a){switch(arguments.length){case 0:return y.v();case 1:return y.f(arguments[0]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return y.w(arguments[0],new J(c.slice(1),0,null))}};y.v=function(){return""};y.f=function(a){return null==a?"":[a].join("")};
y.w=function(a,b){for(a=new Oa(y.f(a));;)if(v(b))a=a.append(y.f(L(b))),b=M(b);else return a.toString()};y.F=function(a){var b=L(a);a=M(a);return this.w(b,a)};y.G=1;function hd(a,b){if(yd(b))if(cd(a)&&cd(b)&&P(a)!==P(b))a=!1;else a:for(a=I(a),b=I(b);;){if(null==a){a=null==b;break a}if(null!=b&&N.c(L(a),L(b)))a=M(a),b=M(b);else{a=!1;break a}}else a=null;return Fd(a)}function nd(a,b,c,d,e){this.meta=a;this.first=b;this.Na=c;this.count=d;this.A=e;this.m=65937646;this.C=8192}g=nd.prototype;
g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,this.count)}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.meta};g.ba=function(){return 1===this.count?null:this.Na};g.O=function(){return this.count};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};g.B=function(a,b){return hd(this,b)};
g.Y=function(){return Pb(Mc,this.meta)};g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){return this.first};g.ka=function(){return 1===this.count?Mc:this.Na};g.U=function(){return this};g.X=function(a,b){return b===this.meta?this:new nd(b,this.first,this.Na,this.count,this.A)};g.$=function(a,b){return new nd(this.meta,b,this,this.count+1,null)};function Qd(a){return null!=a?a.m&33554432||r===a.pc?!0:a.m?!1:w($b,a):w($b,a)}nd.prototype[mb]=function(){return Pc(this)};
function Rd(a){this.meta=a;this.m=65937614;this.C=8192}g=Rd.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.meta};g.ba=function(){return null};g.O=function(){return 0};g.P=function(){return Sc};g.B=function(a,b){return Qd(b)||yd(b)?null==I(b):!1};g.Y=function(){return this};
g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){return null};g.ka=function(){return Mc};g.U=function(){return null};g.X=function(a,b){return b===this.meta?this:new Rd(b)};g.$=function(a,b){return new nd(this.meta,b,null,1,null)};var Mc=new Rd(null);Rd.prototype[mb]=function(){return Pc(this)};function Sd(a){return(null!=a?a.m&134217728||r===a.tc||(a.m?0:w(cc,a)):w(cc,a))?(a=dc(a))?a:Mc:qb(ld,Mc,a)}
function Td(a,b,c,d){this.meta=a;this.first=b;this.Na=c;this.A=d;this.m=65929452;this.C=8192}g=Td.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.meta};g.ba=function(){return null==this.Na?null:I(this.Na)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};
g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){return this.first};g.ka=function(){return null==this.Na?Mc:this.Na};g.U=function(){return this};g.X=function(a,b){return b===this.meta?this:new Td(b,this.first,this.Na,this.A)};g.$=function(a,b){return new Td(null,b,this,null)};Td.prototype[mb]=function(){return Pc(this)};
function R(a,b){return null==b?new nd(null,a,null,1,null):null!=b&&(b.m&64||r===b.wa)?new Td(null,a,b,null):new Td(null,a,I(b),null)}function F(a,b,c,d){this.ob=a;this.name=b;this.xa=c;this.Xa=d;this.m=2153775105;this.C=4096}g=F.prototype;g.toString=function(){return[":",y.f(this.xa)].join("")};g.equiv=function(a){return this.B(null,a)};g.B=function(a,b){return b instanceof F?this.xa===b.xa:!1};
g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return E.c(c,this);case 3:return E.j(c,this,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return E.c(c,this)};a.j=function(a,c,d){return E.j(c,this,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return E.c(a,this)};g.c=function(a,b){return E.j(a,this,b)};
g.P=function(){var a=this.Xa;return null!=a?a:this.Xa=a=Hc(Cc(this.name),Fc(this.ob))+2654435769|0};g.N=function(a,b){return ec(b,[":",y.f(this.xa)].join(""))};function Ud(a){if(null!=a&&(a.C&4096||r===a.$b))return a.ob;throw Error(["Doesn't support namespace: ",y.f(a)].join(""));}var Vd=function Vd(a){switch(arguments.length){case 1:return Vd.f(arguments[0]);case 2:return Vd.c(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",y.f(arguments.length)].join(""));}};
Vd.f=function(a){if(a instanceof F)return a;if(a instanceof Ic)return new F(Ud(a),Wd(a),a.Sa,null);if("string"===typeof a){var b=a.split("/");return 2===b.length?new F(b[0],b[1],a,null):new F(null,b[0],a,null)}return null};Vd.c=function(a,b){a=a instanceof F?Wd(a):a instanceof Ic?Wd(a):a;b=b instanceof F?Wd(b):b instanceof Ic?Wd(b):b;return new F(a,b,[v(a)?[y.f(a),"/"].join(""):null,y.f(b)].join(""),null)};Vd.G=2;
function Xd(a,b,c){this.meta=a;this.ib=b;this.s=null;this.A=c;this.m=32374988;this.C=1}g=Xd.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};function Yd(a){null!=a.ib&&(a.s=a.ib.v?a.ib.v():a.ib.call(null),a.ib=null);return a.s}
g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.meta};g.ba=function(){this.U(null);return null==this.s?null:M(this.s)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};g.B=function(a,b){return hd(this,b)};
g.Y=function(){return Pb(Mc,this.meta)};g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){this.U(null);return null==this.s?null:L(this.s)};g.ka=function(){this.U(null);return null!=this.s?Lc(this.s):Mc};g.U=function(){Yd(this);if(null==this.s)return null;for(var a=this.s;;)if(a instanceof Xd)a=Yd(a);else return this.s=a,I(this.s)};g.X=function(a,b){var c=this;return b===this.meta?c:new Xd(b,function(){return c.U(null)},this.A)};
g.$=function(a,b){return R(b,this)};Xd.prototype[mb]=function(){return Pc(this)};function Zd(a){this.wb=a;this.end=0;this.m=2;this.C=0}Zd.prototype.add=function(a){this.wb[this.end]=a;return this.end+=1};Zd.prototype.K=function(){var a=new $d(this.wb,0,this.end);this.wb=null;return a};Zd.prototype.O=function(){return this.end};function ae(a){return new Zd(Array(a))}function $d(a,b,c){this.h=a;this.ia=b;this.end=c;this.m=524306;this.C=0}g=$d.prototype;g.O=function(){return this.end-this.ia};
g.J=function(a,b){return this.h[this.ia+b]};g.ca=function(a,b,c){return 0<=b&&b<this.end-this.ia?this.h[this.ia+b]:c};g.xb=function(){if(this.ia===this.end)throw Error("-drop-first of empty chunk");return new $d(this.h,this.ia+1,this.end)};g.da=function(a,b){return ad(this.h,b,this.h[this.ia],this.ia+1)};g.ea=function(a,b,c){return ad(this.h,b,c,this.ia)};function be(a,b,c,d){this.K=a;this.sa=b;this.meta=c;this.A=d;this.m=31850732;this.C=1536}g=be.prototype;g.toString=function(){return xc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.meta};g.ba=function(){return 1<sb(this.K)?new be(nc(this.K),this.sa,null,null):null==this.sa?null:Yb(this.sa)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};
g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};g.fa=function(){return zb.c(this.K,0)};g.ka=function(){return 1<sb(this.K)?new be(nc(this.K),this.sa,null,null):null==this.sa?Mc:this.sa};g.U=function(){return this};g.sb=function(){return this.K};g.Ya=function(){return null==this.sa?Mc:this.sa};g.X=function(a,b){return b===this.meta?this:new be(this.K,this.sa,b,this.A)};g.$=function(a,b){return R(b,this)};g.yb=function(){return null==this.sa?null:this.sa};be.prototype[mb]=function(){return Pc(this)};
function ce(a,b){return 0===sb(a)?b:new be(a,b,null,null)}function de(a,b){a.add(b)}function ee(a,b){if(cd(b))return P(b);var c=0;for(b=I(b);;)if(null!=b&&c<a)c+=1,b=M(b);else return c}
var fe=function fe(a){if(null==a)return null;var c=M(a);return null==c?I(L(a)):R(L(a),fe.f?fe.f(c):fe.call(null,c))},ge=function ge(a){switch(arguments.length){case 0:return ge.v();case 1:return ge.f(arguments[0]);case 2:return ge.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return ge.w(arguments[0],arguments[1],new J(c.slice(2),0,null))}};ge.v=function(){return new Xd(null,function(){return null},null)};
ge.f=function(a){return new Xd(null,function(){return a},null)};ge.c=function(a,b){return new Xd(null,function(){var c=I(a);return c?Cd(c)?ce(oc(c),ge.c(pc(c),b)):R(L(c),ge.c(Lc(c),b)):b},null)};ge.w=function(a,b,c){return function h(a,b){return new Xd(null,function(){var c=I(a);return c?Cd(c)?ce(oc(c),h(pc(c),b)):R(L(c),h(Lc(c),b)):v(b)?h(L(b),M(b)):null},null)}(ge.c(a,b),c)};ge.F=function(a){var b=L(a),c=M(a);a=L(c);c=M(c);return this.w(b,a,c)};ge.G=2;
var he=function he(a){switch(arguments.length){case 0:return he.v();case 1:return he.f(arguments[0]);case 2:return he.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return he.w(arguments[0],arguments[1],new J(c.slice(2),0,null))}};he.v=function(){return jc(md)};he.f=function(a){return a};he.c=function(a,b){return kc(a,b)};he.w=function(a,b,c){for(;;)if(a=kc(a,b),v(c))b=L(c),c=M(c);else return a};
he.F=function(a){var b=L(a),c=M(a);a=L(c);c=M(c);return this.w(b,a,c)};he.G=2;
function ie(a,b,c){var d=I(c);if(0===b)return a.v?a.v():a.call(null);c=z(d);var e=Ab(d);if(1===b)return a.f?a.f(c):a.call(null,c);d=z(e);var f=Ab(e);if(2===b)return a.c?a.c(c,d):a.call(null,c,d);e=z(f);var h=Ab(f);if(3===b)return a.j?a.j(c,d,e):a.call(null,c,d,e);f=z(h);var k=Ab(h);if(4===b)return a.H?a.H(c,d,e,f):a.call(null,c,d,e,f);h=z(k);var l=Ab(k);if(5===b)return a.aa?a.aa(c,d,e,f,h):a.call(null,c,d,e,f,h);k=z(l);var m=Ab(l);if(6===b)return a.na?a.na(c,d,e,f,h,k):a.call(null,c,d,e,f,h,k);l=
z(m);var n=Ab(m);if(7===b)return a.Ja?a.Ja(c,d,e,f,h,k,l):a.call(null,c,d,e,f,h,k,l);m=z(n);var p=Ab(n);if(8===b)return a.Ka?a.Ka(c,d,e,f,h,k,l,m):a.call(null,c,d,e,f,h,k,l,m);n=z(p);var t=Ab(p);if(9===b)return a.La?a.La(c,d,e,f,h,k,l,m,n):a.call(null,c,d,e,f,h,k,l,m,n);p=z(t);var A=Ab(t);if(10===b)return a.ya?a.ya(c,d,e,f,h,k,l,m,n,p):a.call(null,c,d,e,f,h,k,l,m,n,p);t=z(A);var C=Ab(A);if(11===b)return a.za?a.za(c,d,e,f,h,k,l,m,n,p,t):a.call(null,c,d,e,f,h,k,l,m,n,p,t);A=z(C);var D=Ab(C);if(12===
b)return a.Aa?a.Aa(c,d,e,f,h,k,l,m,n,p,t,A):a.call(null,c,d,e,f,h,k,l,m,n,p,t,A);C=z(D);var G=Ab(D);if(13===b)return a.Ba?a.Ba(c,d,e,f,h,k,l,m,n,p,t,A,C):a.call(null,c,d,e,f,h,k,l,m,n,p,t,A,C);D=z(G);var H=Ab(G);if(14===b)return a.Ca?a.Ca(c,d,e,f,h,k,l,m,n,p,t,A,C,D):a.call(null,c,d,e,f,h,k,l,m,n,p,t,A,C,D);G=z(H);var S=Ab(H);if(15===b)return a.Da?a.Da(c,d,e,f,h,k,l,m,n,p,t,A,C,D,G):a.call(null,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G);H=z(S);var ea=Ab(S);if(16===b)return a.Ea?a.Ea(c,d,e,f,h,k,l,m,n,p,t,A,C,
D,G,H):a.call(null,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H);S=z(ea);var na=Ab(ea);if(17===b)return a.Fa?a.Fa(c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S):a.call(null,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S);ea=z(na);var Ea=Ab(na);if(18===b)return a.Ga?a.Ga(c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea):a.call(null,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea);na=z(Ea);Ea=Ab(Ea);if(19===b)return a.Ha?a.Ha(c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea,na):a.call(null,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea,na);var K=z(Ea);Ab(Ea);if(20===b)return a.Ia?
a.Ia(c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea,na,K):a.call(null,c,d,e,f,h,k,l,m,n,p,t,A,C,D,G,H,S,ea,na,K);throw Error("Only up to 20 arguments supported on functions");}function je(a){return null!=a&&(a.m&128||r===a.gb)?a.ba():I(Lc(a))}function ke(a,b,c){return null==c?a.f?a.f(b):a.call(a,b):me(a,b,z(c),je(c))}function me(a,b,c,d){return null==d?a.c?a.c(b,c):a.call(a,b,c):ne(a,b,c,z(d),je(d))}function ne(a,b,c,d,e){return null==e?a.j?a.j(b,c,d):a.call(a,b,c,d):oe(a,b,c,d,z(e),je(e))}
function oe(a,b,c,d,e,f){if(null==f)return a.H?a.H(b,c,d,e):a.call(a,b,c,d,e);var h=z(f),k=M(f);if(null==k)return a.aa?a.aa(b,c,d,e,h):a.call(a,b,c,d,e,h);f=z(k);var l=M(k);if(null==l)return a.na?a.na(b,c,d,e,h,f):a.call(a,b,c,d,e,h,f);k=z(l);var m=M(l);if(null==m)return a.Ja?a.Ja(b,c,d,e,h,f,k):a.call(a,b,c,d,e,h,f,k);l=z(m);var n=M(m);if(null==n)return a.Ka?a.Ka(b,c,d,e,h,f,k,l):a.call(a,b,c,d,e,h,f,k,l);m=z(n);var p=M(n);if(null==p)return a.La?a.La(b,c,d,e,h,f,k,l,m):a.call(a,b,c,d,e,h,f,k,l,m);
n=z(p);var t=M(p);if(null==t)return a.ya?a.ya(b,c,d,e,h,f,k,l,m,n):a.call(a,b,c,d,e,h,f,k,l,m,n);p=z(t);var A=M(t);if(null==A)return a.za?a.za(b,c,d,e,h,f,k,l,m,n,p):a.call(a,b,c,d,e,h,f,k,l,m,n,p);t=z(A);var C=M(A);if(null==C)return a.Aa?a.Aa(b,c,d,e,h,f,k,l,m,n,p,t):a.call(a,b,c,d,e,h,f,k,l,m,n,p,t);A=z(C);var D=M(C);if(null==D)return a.Ba?a.Ba(b,c,d,e,h,f,k,l,m,n,p,t,A):a.call(a,b,c,d,e,h,f,k,l,m,n,p,t,A);C=z(D);var G=M(D);if(null==G)return a.Ca?a.Ca(b,c,d,e,h,f,k,l,m,n,p,t,A,C):a.call(a,b,c,d,
e,h,f,k,l,m,n,p,t,A,C);D=z(G);var H=M(G);if(null==H)return a.Da?a.Da(b,c,d,e,h,f,k,l,m,n,p,t,A,C,D):a.call(a,b,c,d,e,h,f,k,l,m,n,p,t,A,C,D);G=z(H);var S=M(H);if(null==S)return a.Ea?a.Ea(b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G):a.call(a,b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G);H=z(S);var ea=M(S);if(null==ea)return a.Fa?a.Fa(b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G,H):a.call(a,b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G,H);S=z(ea);var na=M(ea);if(null==na)return a.Ga?a.Ga(b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G,H,S):a.call(a,b,c,d,e,h,f,k,l,m,
n,p,t,A,C,D,G,H,S);ea=z(na);var Ea=M(na);if(null==Ea)return a.Ha?a.Ha(b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G,H,S,ea):a.call(a,b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G,H,S,ea);na=z(Ea);Ea=M(Ea);if(null==Ea)return a.Ia?a.Ia(b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G,H,S,ea,na):a.call(a,b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G,H,S,ea,na);b=[b,c,d,e,h,f,k,l,m,n,p,t,A,C,D,G,H,S,ea,na];for(c=Ea;;)if(c)b.push(z(c)),c=M(c);else break;return a.apply(a,b)}
function pe(a,b){if(a.F){var c=a.G,d=ee(c+1,b);return d<=c?ie(a,d,b):a.F(b)}b=I(b);return null==b?a.v?a.v():a.call(a):ke(a,z(b),je(b))}function qe(a,b,c){if(a.F){b=R(b,c);var d=a.G;c=ee(d,c)+1;return c<=d?ie(a,c,b):a.F(b)}return ke(a,b,I(c))}function re(a,b,c,d){return a.F?(b=R(b,R(c,d)),c=a.G,d=2+ee(c-1,d),d<=c?ie(a,d,b):a.F(b)):me(a,b,c,I(d))}function se(a,b,c,d,e){return a.F?(b=R(b,R(c,R(d,e))),c=a.G,e=3+ee(c-2,e),e<=c?ie(a,e,b):a.F(b)):ne(a,b,c,d,I(e))}
function td(a,b,c,d,e,f){return a.F?(f=fe(f),b=R(b,R(c,R(d,R(e,f)))),c=a.G,f=4+ee(c-3,f),f<=c?ie(a,f,b):a.F(b)):oe(a,b,c,d,e,fe(f))}
function te(){if("undefined"===typeof Ra||"undefined"===typeof Sa||"undefined"===typeof Ta)Ta=function(a){this.ec=a;this.m=393216;this.C=0},Ta.prototype.X=function(a,b){return new Ta(b)},Ta.prototype.S=function(){return this.ec},Ta.prototype.ga=function(){return!1},Ta.prototype.next=function(){return Error("No such element")},Ta.prototype.remove=function(){return Error("Unsupported operation")},Ta.wc=function(){return new V(null,1,5,W,[ue],null)},Ta.Pb=!0,Ta.vb="cljs.core/t_cljs$core5012",Ta.cc=function(a){return ec(a,
"cljs.core/t_cljs$core5012")};return new Ta(ve)}function we(a,b){for(;;){if(null==I(b))return!0;var c=L(b);c=a.f?a.f(c):a.call(null,c);if(v(c))b=M(b);else return!1}}function xe(a,b){for(;;)if(b=I(b)){var c=L(b);c=a.f?a.f(c):a.call(null,c);if(v(c))return c;b=M(b)}else return null}
function ye(a){return function(){function b(b,c){return kb(a.c?a.c(b,c):a.call(null,b,c))}function c(b){return kb(a.f?a.f(b):a.call(null,b))}function d(){return kb(a.v?a.v():a.call(null))}var e=null,f=function(){function b(a,b,d){var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new J(f,0,null)}return c.call(this,a,b,e)}function c(b,c,d){return kb(re(a,b,c,d))}b.G=2;b.F=function(a){var b=L(a);a=M(a);var d=L(a);a=Lc(a);return c(b,d,a)};
b.w=c;return b}();e=function(a,e,l){switch(arguments.length){case 0:return d.call(this);case 1:return c.call(this,a);case 2:return b.call(this,a,e);default:var h=null;if(2<arguments.length){h=0;for(var k=Array(arguments.length-2);h<k.length;)k[h]=arguments[h+2],++h;h=new J(k,0,null)}return f.w(a,e,h)}throw Error("Invalid arity: "+arguments.length);};e.G=2;e.F=f.F;e.v=d;e.f=c;e.c=b;e.w=f.w;return e}()}
var ze=function ze(a){switch(arguments.length){case 0:return ze.v();case 1:return ze.f(arguments[0]);case 2:return ze.c(arguments[0],arguments[1]);case 3:return ze.j(arguments[0],arguments[1],arguments[2]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return ze.w(arguments[0],arguments[1],arguments[2],new J(c.slice(3),0,null))}};ze.v=function(){return Ld};ze.f=function(a){return a};
ze.c=function(a,b){return function(){function c(c,d,e){c=b.j?b.j(c,d,e):b.call(null,c,d,e);return a.f?a.f(c):a.call(null,c)}function d(c,d){c=b.c?b.c(c,d):b.call(null,c,d);return a.f?a.f(c):a.call(null,c)}function e(c){c=b.f?b.f(c):b.call(null,c);return a.f?a.f(c):a.call(null,c)}function f(){var c=b.v?b.v():b.call(null);return a.f?a.f(c):a.call(null,c)}var h=null,k=function(){function c(a,b,c,e){var f=null;if(3<arguments.length){f=0;for(var h=Array(arguments.length-3);f<h.length;)h[f]=arguments[f+
3],++f;f=new J(h,0,null)}return d.call(this,a,b,c,f)}function d(c,d,e,f){c=se(b,c,d,e,f);return a.f?a.f(c):a.call(null,c)}c.G=3;c.F=function(a){var b=L(a);a=M(a);var c=L(a);a=M(a);var e=L(a);a=Lc(a);return d(b,c,e,a)};c.w=d;return c}();h=function(a,b,h,p){switch(arguments.length){case 0:return f.call(this);case 1:return e.call(this,a);case 2:return d.call(this,a,b);case 3:return c.call(this,a,b,h);default:var l=null;if(3<arguments.length){l=0;for(var m=Array(arguments.length-3);l<m.length;)m[l]=arguments[l+
3],++l;l=new J(m,0,null)}return k.w(a,b,h,l)}throw Error("Invalid arity: "+arguments.length);};h.G=3;h.F=k.F;h.v=f;h.f=e;h.c=d;h.j=c;h.w=k.w;return h}()};
ze.j=function(a,b,c){return function(){function d(d,e,f){d=c.j?c.j(d,e,f):c.call(null,d,e,f);d=b.f?b.f(d):b.call(null,d);return a.f?a.f(d):a.call(null,d)}function e(d,e){d=c.c?c.c(d,e):c.call(null,d,e);d=b.f?b.f(d):b.call(null,d);return a.f?a.f(d):a.call(null,d)}function f(d){d=c.f?c.f(d):c.call(null,d);d=b.f?b.f(d):b.call(null,d);return a.f?a.f(d):a.call(null,d)}function h(){var d=c.v?c.v():c.call(null);d=b.f?b.f(d):b.call(null,d);return a.f?a.f(d):a.call(null,d)}var k=null,l=function(){function d(a,
b,c,d){var f=null;if(3<arguments.length){f=0;for(var h=Array(arguments.length-3);f<h.length;)h[f]=arguments[f+3],++f;f=new J(h,0,null)}return e.call(this,a,b,c,f)}function e(d,e,f,h){d=se(c,d,e,f,h);d=b.f?b.f(d):b.call(null,d);return a.f?a.f(d):a.call(null,d)}d.G=3;d.F=function(a){var b=L(a);a=M(a);var c=L(a);a=M(a);var d=L(a);a=Lc(a);return e(b,c,d,a)};d.w=e;return d}();k=function(a,b,c,k){switch(arguments.length){case 0:return h.call(this);case 1:return f.call(this,a);case 2:return e.call(this,
a,b);case 3:return d.call(this,a,b,c);default:var m=null;if(3<arguments.length){m=0;for(var n=Array(arguments.length-3);m<n.length;)n[m]=arguments[m+3],++m;m=new J(n,0,null)}return l.w(a,b,c,m)}throw Error("Invalid arity: "+arguments.length);};k.G=3;k.F=l.F;k.v=h;k.f=f;k.c=e;k.j=d;k.w=l.w;return k}()};
ze.w=function(a,b,c,d){var e=Sd(R(a,R(b,R(c,d))));return function(){function a(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new J(d,0,null)}return b.call(this,c)}function b(a){a=pe(L(e),a);for(var b=M(e);;)if(b){var c=L(b);a=c.f?c.f(a):c.call(null,a);b=M(b)}else return a}a.G=0;a.F=function(a){a=I(a);return b(a)};a.w=b;return a}()};ze.F=function(a){var b=L(a),c=M(a);a=L(c);var d=M(c);c=L(d);d=M(d);return this.w(b,a,c,d)};ze.G=3;
function Ae(a){return function(b){return function(){function c(c,d){d=a.f?a.f(d):a.call(null,d);return null==d?c:b.c?b.c(c,d):b.call(null,c,d)}function d(a){return b.f?b.f(a):b.call(null,a)}function e(){return b.v?b.v():b.call(null)}var f=null;f=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};f.v=e;f.f=d;f.c=c;return f}()}}
function Be(a,b){return new Xd(null,function(){var c=I(b);if(c){if(Cd(c)){for(var d=oc(c),e=P(d),f=ae(e),h=0;;)if(h<e){var k=function(){var b=zb.c(d,h);return a.f?a.f(b):a.call(null,b)}();null!=k&&f.add(k);h+=1}else break;return ce(f.K(),Be(a,pc(c)))}e=function(){var b=L(c);return a.f?a.f(b):a.call(null,b)}();return null==e?Be(a,Lc(c)):R(e,Be(a,Lc(c)))}return null},null)}function Ce(a){this.state=a;this.Wa=this.hc=this.meta=null;this.C=16386;this.m=6455296}g=Ce.prototype;
g.equiv=function(a){return this.B(null,a)};g.B=function(a,b){return this===b};g.pa=function(){return this.state};g.S=function(){return this.meta};g.Cb=function(a,b,c){this.Wa=pd.j(this.Wa,b,c);return this};g.Db=function(a,b){return this.Wa=rd.c(this.Wa,b)};g.P=function(){return this[ba]||(this[ba]=++ca)};function De(a){return new Ce(a)}
function Ee(a,b){if(a instanceof Ce){var c=a.hc;if(null!=c&&!v(c.f?c.f(b):c.call(null,b)))throw Error("Validator rejected reference state");c=a.state;a.state=b;if(null!=a.Wa)a:for(var d=I(a.Wa),e=null,f=0,h=0;;)if(h<f){var k=e.J(null,h),l=T(k,0);k=T(k,1);k.H?k.H(l,a,c,b):k.call(null,l,a,c,b);h+=1}else if(d=I(d))Cd(d)?(e=oc(d),d=pc(d),l=e,f=P(e),e=l):(e=L(d),l=T(e,0),k=T(e,1),k.H?k.H(l,a,c,b):k.call(null,l,a,c,b),d=M(d),e=null,f=0),h=0;else break a;return b}return qc(a,b)}
var Fe=function Fe(a){switch(arguments.length){case 2:return Fe.c(arguments[0],arguments[1]);case 3:return Fe.j(arguments[0],arguments[1],arguments[2]);case 4:return Fe.H(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return Fe.w(arguments[0],arguments[1],arguments[2],arguments[3],new J(c.slice(4),0,null))}};
Fe.c=function(a,b){if(a instanceof Ce){var c=a.state;b=b.f?b.f(c):b.call(null,c);a=Ee(a,b)}else a=rc.c(a,b);return a};Fe.j=function(a,b,c){if(a instanceof Ce){var d=a.state;b=b.c?b.c(d,c):b.call(null,d,c);a=Ee(a,b)}else a=rc.j(a,b,c);return a};Fe.H=function(a,b,c,d){if(a instanceof Ce){var e=a.state;b=b.j?b.j(e,c,d):b.call(null,e,c,d);a=Ee(a,b)}else a=rc.H(a,b,c,d);return a};Fe.w=function(a,b,c,d,e){return a instanceof Ce?Ee(a,se(b,a.state,c,d,e)):rc.aa(a,b,c,d,e)};
Fe.F=function(a){var b=L(a),c=M(a);a=L(c);var d=M(c);c=L(d);var e=M(d);d=L(e);e=M(e);return this.w(b,a,c,d,e)};Fe.G=4;function Ge(a){this.state=a;this.m=32768;this.C=0}Ge.prototype.Bb=function(a,b){return this.state=b};Ge.prototype.pa=function(){return this.state};
var He=function He(a){switch(arguments.length){case 1:return He.f(arguments[0]);case 2:return He.c(arguments[0],arguments[1]);case 3:return He.j(arguments[0],arguments[1],arguments[2]);case 4:return He.H(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return He.w(arguments[0],arguments[1],arguments[2],arguments[3],new J(c.slice(4),0,null))}};
He.f=function(a){return function(b){return function(){function c(c,d){d=a.f?a.f(d):a.call(null,d);return b.c?b.c(c,d):b.call(null,c,d)}function d(a){return b.f?b.f(a):b.call(null,a)}function e(){return b.v?b.v():b.call(null)}var f=null,h=function(){function c(a,b,c){var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new J(f,0,null)}return d.call(this,a,b,e)}function d(c,d,e){d=qe(a,d,e);return b.c?b.c(c,d):b.call(null,c,d)}c.G=2;c.F=function(a){var b=
L(a);a=M(a);var c=L(a);a=Lc(a);return d(b,c,a)};c.w=d;return c}();f=function(a,b,f){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b);default:var k=null;if(2<arguments.length){k=0;for(var l=Array(arguments.length-2);k<l.length;)l[k]=arguments[k+2],++k;k=new J(l,0,null)}return h.w(a,b,k)}throw Error("Invalid arity: "+arguments.length);};f.G=2;f.F=h.F;f.v=e;f.f=d;f.c=c;f.w=h.w;return f}()}};
He.c=function(a,b){return new Xd(null,function(){var c=I(b);if(c){if(Cd(c)){for(var d=oc(c),e=P(d),f=ae(e),h=0;;)if(h<e)de(f,function(){var b=zb.c(d,h);return a.f?a.f(b):a.call(null,b)}()),h+=1;else break;return ce(f.K(),He.c(a,pc(c)))}return R(function(){var b=L(c);return a.f?a.f(b):a.call(null,b)}(),He.c(a,Lc(c)))}return null},null)};
He.j=function(a,b,c){return new Xd(null,function(){var d=I(b),e=I(c);if(d&&e){var f=L(d);var h=L(e);f=a.c?a.c(f,h):a.call(null,f,h);d=R(f,He.j(a,Lc(d),Lc(e)))}else d=null;return d},null)};He.H=function(a,b,c,d){return new Xd(null,function(){var e=I(b),f=I(c),h=I(d);if(e&&f&&h){var k=L(e);var l=L(f),m=L(h);k=a.j?a.j(k,l,m):a.call(null,k,l,m);e=R(k,He.H(a,Lc(e),Lc(f),Lc(h)))}else e=null;return e},null)};
He.w=function(a,b,c,d,e){return He.c(function(b){return pe(a,b)},function k(a){return new Xd(null,function(){var b=He.c(I,a);return we(Ld,b)?R(He.c(L,b),k(He.c(Lc,b))):null},null)}(ld.w(e,d,id([c,b]))))};He.F=function(a){var b=L(a),c=M(a);a=L(c);var d=M(c);c=L(d);var e=M(d);d=L(e);e=M(e);return this.w(b,a,c,d,e)};He.G=4;
function Ie(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new Xd(null,function(){if(0<a){var c=I(b);return c?R(L(c),Ie(a-1,Lc(c))):null}return null},null)}function Je(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new Xd(null,function(){a:for(var c=a,d=b;;)if(d=I(d),0<c&&d)--c,d=Lc(d);else break a;return d},null)}
function Ke(a){return function(b){return function(){function c(c,d){return v(a.f?a.f(d):a.call(null,d))?b.c?b.c(c,d):b.call(null,c,d):c}function d(a){return b.f?b.f(a):b.call(null,a)}function e(){return b.v?b.v():b.call(null)}var f=null;f=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};f.v=e;f.f=d;f.c=c;return f}()}}
function Le(a,b){return new Xd(null,function(){var c=I(b);if(c){if(Cd(c)){for(var d=oc(c),e=P(d),f=ae(e),h=0;;)if(h<e){var k=zb.c(d,h);k=a.f?a.f(k):a.call(null,k);v(k)&&(k=zb.c(d,h),f.add(k));h+=1}else break;return ce(f.K(),Le(a,pc(c)))}d=L(c);c=Lc(c);return v(a.f?a.f(d):a.call(null,d))?R(d,Le(a,c)):Le(a,c)}return null},null)}
var Me=function Me(a){switch(arguments.length){case 0:return Me.v();case 1:return Me.f(arguments[0]);case 2:return Me.c(arguments[0],arguments[1]);case 3:return Me.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",y.f(arguments.length)].join(""));}};Me.v=function(){return md};Me.f=function(a){return a};Me.c=function(a,b){return null!=a?null!=a&&(a.C&4||r===a.Sb)?Pb(lc(qb(kc,jc(a),b)),vd(a)):qb(wb,a,b):qb(ld,a,b)};
Me.j=function(a,b,c){return null!=a&&(a.C&4||r===a.Sb)?Pb(lc(Md(b,he,jc(a),c)),vd(a)):Md(b,ld,a,c)};Me.G=3;function Ne(a,b){return lc(qb(function(b,d){return he.c(b,a.f?a.f(d):a.call(null,d))},jc(md),b))}function Oe(a,b,c){return new Xd(null,function(){var d=I(c);if(d){var e=Ie(a,d);return a===P(e)?R(e,Oe(a,b,Je(b,d))):null}return null},null)}
var Pe=function Pe(a,b,c){b=I(b);var e=L(b),f=M(b);return f?pd.j(a,e,function(){var b=E.c(a,e);return Pe.j?Pe.j(b,f,c):Pe.call(null,b,f,c)}()):pd.j(a,e,c)},Qe=function Qe(a){switch(arguments.length){case 3:return Qe.j(arguments[0],arguments[1],arguments[2]);case 4:return Qe.H(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return Qe.aa(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return Qe.na(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],
arguments[5]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return Qe.w(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],new J(c.slice(6),0,null))}};Qe.j=function(a,b,c){b=I(b);var d=L(b);return(b=M(b))?pd.j(a,d,Qe.j(E.c(a,d),b,c)):pd.j(a,d,function(){var b=E.c(a,d);return c.f?c.f(b):c.call(null,b)}())};
Qe.H=function(a,b,c,d){b=I(b);var e=L(b);return(b=M(b))?pd.j(a,e,Qe.H(E.c(a,e),b,c,d)):pd.j(a,e,function(){var b=E.c(a,e);return c.c?c.c(b,d):c.call(null,b,d)}())};Qe.aa=function(a,b,c,d,e){b=I(b);var f=L(b);return(b=M(b))?pd.j(a,f,Qe.aa(E.c(a,f),b,c,d,e)):pd.j(a,f,function(){var b=E.c(a,f);return c.j?c.j(b,d,e):c.call(null,b,d,e)}())};
Qe.na=function(a,b,c,d,e,f){b=I(b);var h=L(b);return(b=M(b))?pd.j(a,h,Qe.na(E.c(a,h),b,c,d,e,f)):pd.j(a,h,function(){var b=E.c(a,h);return c.H?c.H(b,d,e,f):c.call(null,b,d,e,f)}())};Qe.w=function(a,b,c,d,e,f,h){var k=I(b);b=L(k);return(k=M(k))?pd.j(a,b,td(Qe,E.c(a,b),k,c,d,id([e,f,h]))):pd.j(a,b,td(c,E.c(a,b),d,e,f,id([h])))};Qe.F=function(a){var b=L(a),c=M(a);a=L(c);var d=M(c);c=L(d);var e=M(d);d=L(e);var f=M(e);e=L(f);var h=M(f);f=L(h);h=M(h);return this.w(b,a,c,d,e,f,h)};Qe.G=6;
function Re(a){var b=Se,c=Te;return pd.j(a,b,function(){var d=E.c(a,b);return c.f?c.f(d):c.call(null,d)}())}function Ue(a,b){this.L=a;this.h=b}function Ve(a){return new Ue(a,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null])}function We(a){a=a.o;return 32>a?0:a-1>>>5<<5}function Xe(a,b,c){for(;;){if(0===b)return c;var d=Ve(a);d.h[0]=c;c=d;b-=5}}
var Ye=function Ye(a,b,c,d){var f=new Ue(c.L,nb(c.h)),h=a.o-1>>>b&31;5===b?f.h[h]=d:(c=c.h[h],null!=c?(b-=5,a=Ye.H?Ye.H(a,b,c,d):Ye.call(null,a,b,c,d)):a=Xe(null,b-5,d),f.h[h]=a);return f};function Ze(a,b){throw Error(["No item ",y.f(a)," in vector of length ",y.f(b)].join(""));}function $e(a,b){if(b>=We(a))return a.la;var c=a.root;for(a=a.shift;;)if(0<a){var d=a-5;c=c.h[b>>>a&31];a=d}else return c.h}
var af=function af(a,b,c,d,e){var h=new Ue(c.L,nb(c.h));if(0===b)h.h[d&31]=e;else{var k=d>>>b&31;b-=5;c=c.h[k];a=af.aa?af.aa(a,b,c,d,e):af.call(null,a,b,c,d,e);h.h[k]=a}return h};function bf(a,b,c){this.base=this.i=0;this.h=a;this.gc=b;this.start=0;this.end=c}bf.prototype.ga=function(){return this.i<this.end};bf.prototype.next=function(){32===this.i-this.base&&(this.h=$e(this.gc,this.i),this.base+=32);var a=this.h[this.i&31];this.i+=1;return a};
function cf(a,b,c,d){return c<d?df(a,b,ed(a,c),c+1,d):b.v?b.v():b.call(null)}function df(a,b,c,d,e){var f=c;c=d;for(d=$e(a,d);;)if(c<e){var h=c&31;d=0===h?$e(a,c):d;h=d[h];f=b.c?b.c(f,h):b.call(null,f,h);if(Xc(f))return B(f);c+=1}else return f}function V(a,b,c,d,e,f){this.meta=a;this.o=b;this.shift=c;this.root=d;this.la=e;this.A=f;this.m=167666463;this.C=139268}g=V.prototype;g.fb=function(a,b){return 0<=b&&b<this.o?new ef(b,$e(this,b)[b&31]):null};g.toString=function(){return xc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){return"number"===typeof b?this.ca(null,b,c):c};
g.tb=function(a,b,c){a=0;for(var d=c;;)if(a<this.o){var e=$e(this,a);c=e.length;a:for(var f=0;;)if(f<c){var h=f+a,k=e[f];d=b.j?b.j(d,h,k):b.call(null,d,h,k);if(Xc(d)){e=d;break a}f+=1}else{e=d;break a}if(Xc(e))return B(e);a+=c;d=e}else return d};g.J=function(a,b){return(0<=b&&b<this.o?$e(this,b):Ze(b,this.o))[b&31]};g.ca=function(a,b,c){return 0<=b&&b<this.o?$e(this,b)[b&31]:c};
g.Ab=function(a,b){if(0<=a&&a<this.o){if(We(this)<=a){var c=nb(this.la);c[a&31]=b;return new V(this.meta,this.o,this.shift,this.root,c,null)}return new V(this.meta,this.o,this.shift,af(this,this.shift,this.root,a,b),this.la,null)}if(a===this.o)return this.$(null,b);throw Error(["Index ",y.f(a)," out of bounds [0,",y.f(this.o),"]"].join(""));};g.oa=function(){var a=this.o;return new bf(0<P(this)?$e(this,0):null,this,a)};g.S=function(){return this.meta};g.O=function(){return this.o};
g.ub=function(){return 0<this.o?new gd(this,this.o-1,null):null};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};g.B=function(a,b){if(b instanceof V)if(this.o===P(b))for(a=this.oa(null),b=b.oa(null);;)if(a.ga()){var c=a.next(),d=b.next();if(!N.c(c,d))return!1}else return!0;else return!1;else return hd(this,b)};
g.Za=function(){var a=this.o,b=this.shift,c=new Ue({},nb(this.root.h)),d=this.la,e=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];Dd(d,0,e,0,d.length);return new ff(a,b,c,e)};g.Y=function(){return Pb(md,this.meta)};g.da=function(a,b){return cf(this,b,0,this.o)};
g.ea=function(a,b,c){a=0;for(var d=c;;)if(a<this.o){var e=$e(this,a);c=e.length;a:for(var f=0;;)if(f<c){var h=e[f];d=b.c?b.c(d,h):b.call(null,d,h);if(Xc(d)){e=d;break a}f+=1}else{e=d;break a}if(Xc(e))return B(e);a+=c;d=e}else return d};g.Pa=function(a,b,c){if("number"===typeof b)return this.Ab(b,c);throw Error("Vector's key for assoc must be a number.");};
g.U=function(){if(0===this.o)var a=null;else if(32>=this.o)a=new J(this.la,0,null);else{a:{a=this.root;for(var b=this.shift;;)if(0<b)b-=5,a=a.h[0];else{a=a.h;break a}}a=new gf(this,a,0,0,null)}return a};g.X=function(a,b){return b===this.meta?this:new V(b,this.o,this.shift,this.root,this.la,this.A)};
g.$=function(a,b){if(32>this.o-We(this)){a=this.la.length;for(var c=Array(a+1),d=0;;)if(d<a)c[d]=this.la[d],d+=1;else break;c[a]=b;return new V(this.meta,this.o+1,this.shift,this.root,c,null)}a=(c=this.o>>>5>1<<this.shift)?this.shift+5:this.shift;c?(c=Ve(null),c.h[0]=this.root,d=Xe(null,this.shift,new Ue(null,this.la)),c.h[1]=d):c=Ye(this,this.shift,this.root,new Ue(null,this.la));return new V(this.meta,this.o+1,a,c,[b],null)};
g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.ca(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.ca(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return this.J(null,a)};g.c=function(a,b){return this.ca(null,a,b)};
var W=new Ue(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]),md=new V(null,0,5,W,[],Sc);V.prototype[mb]=function(){return Pc(this)};
function hf(a){if(jf(a))a=new V(null,2,5,W,[Ib(a),Kb(a)],null);else if(Bd(a))a=ud(a,null);else if(jb(a))a:{var b=a.length;if(32>b)a=new V(null,b,5,W,a,null);else for(var c=32,d=(new V(null,32,5,W,a.slice(0,32),null)).Za(null);;)if(c<b){var e=c+1;d=he.c(d,a[c]);c=e}else{a=lc(d);break a}}else a=lc(qb(kc,jc(md),a));return a}function gf(a,b,c,d,e){this.ma=a;this.node=b;this.i=c;this.ia=d;this.meta=e;this.A=null;this.m=32375020;this.C=1536}g=gf.prototype;g.toString=function(){return xc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.meta};g.ba=function(){if(this.ia+1<this.node.length){var a=new gf(this.ma,this.node,this.i,this.ia+1,null);return null==a?null:a}return this.yb()};
g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};g.da=function(a,b){return cf(this.ma,b,this.i+this.ia,P(this.ma))};g.ea=function(a,b,c){return df(this.ma,b,c,this.i+this.ia,P(this.ma))};g.fa=function(){return this.node[this.ia]};g.ka=function(){if(this.ia+1<this.node.length){var a=new gf(this.ma,this.node,this.i,this.ia+1,null);return null==a?Mc:a}return this.Ya(null)};g.U=function(){return this};
g.sb=function(){var a=this.node;return new $d(a,this.ia,a.length)};g.Ya=function(){var a=this.i+this.node.length;return a<sb(this.ma)?new gf(this.ma,$e(this.ma,a),a,0,null):Mc};g.X=function(a,b){return b===this.meta?this:new gf(this.ma,this.node,this.i,this.ia,b)};g.$=function(a,b){return R(b,this)};g.yb=function(){var a=this.i+this.node.length;return a<sb(this.ma)?new gf(this.ma,$e(this.ma,a),a,0,null):null};gf.prototype[mb]=function(){return Pc(this)};
function kf(a,b){return a===b.L?b:new Ue(a,nb(b.h))}var nf=function nf(a,b,c,d){c=kf(a.root.L,c);var f=a.o-1>>>b&31;if(5===b)a=d;else{var h=c.h[f];null!=h?(b-=5,a=nf.H?nf.H(a,b,h,d):nf.call(null,a,b,h,d)):a=Xe(a.root.L,b-5,d)}c.h[f]=a;return c};function ff(a,b,c,d){this.o=a;this.shift=b;this.root=c;this.la=d;this.C=88;this.m=275}g=ff.prototype;
g.bb=function(a,b){if(this.root.L){if(32>this.o-We(this))this.la[this.o&31]=b;else{a=new Ue(this.root.L,this.la);var c=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];c[0]=b;this.la=c;this.o>>>5>1<<this.shift?(b=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],c=this.shift+
5,b[0]=this.root,b[1]=Xe(this.root.L,this.shift,a),this.root=new Ue(this.root.L,b),this.shift=c):this.root=nf(this,this.shift,this.root,a)}this.o+=1;return this}throw Error("conj! after persistent!");};g.hb=function(){if(this.root.L){this.root.L=null;var a=this.o-We(this),b=Array(a);Dd(this.la,0,b,0,a);return new V(null,this.o,this.shift,this.root,b,null)}throw Error("persistent! called twice");};
g.ab=function(a,b,c){if("number"===typeof b)return of(this,b,c);throw Error("TransientVector's key for assoc! must be a number.");};
function of(a,b,c){if(a.root.L){if(0<=b&&b<a.o){if(We(a)<=b)a.la[b&31]=c;else{var d=function(){return function k(d,h){h=kf(a.root.L,h);if(0===d)h.h[b&31]=c;else{var f=b>>>d&31;d=k(d-5,h.h[f]);h.h[f]=d}return h}(a.shift,a.root)}();a.root=d}return a}if(b===a.o)return a.bb(null,c);throw Error(["Index ",y.f(b)," out of bounds for TransientVector of length",y.f(a.o)].join(""));}throw Error("assoc! after persistent!");}g.O=function(){if(this.root.L)return this.o;throw Error("count after persistent!");};
g.J=function(a,b){if(this.root.L)return(0<=b&&b<this.o?$e(this,b):Ze(b,this.o))[b&31];throw Error("nth after persistent!");};g.ca=function(a,b,c){return 0<=b&&b<this.o?this.J(null,b):c};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){if(this.root.L)return"number"===typeof b?this.ca(null,b,c):c;throw Error("lookup after persistent!");};
g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.R(null,c)};a.j=function(a,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return this.R(null,a)};g.c=function(a,b){return this.D(null,a,b)};function pf(){this.m=2097152;this.C=0}
pf.prototype.equiv=function(a){return this.B(null,a)};pf.prototype.B=function(){return!1};var qf=new pf;function rf(a,b){return Fd(U(b)&&!zd(b)?P(a)===P(b)?(null!=a?a.m&1048576||r===a.oc||(a.m?0:w(Tb,a)):w(Tb,a))?Kd(function(a,d,e){return N.c(E.j(b,d,qf),e)?!0:new Wc(!1)},a):we(function(a){return N.c(E.j(b,L(a),qf),L(M(a)))},a):null:null)}function sf(a){this.s=a}
sf.prototype.next=function(){if(null!=this.s){var a=L(this.s),b=T(a,0);a=T(a,1);this.s=M(this.s);return{value:[b,a],done:!1}}return{value:null,done:!0}};function tf(a){this.s=a}tf.prototype.next=function(){if(null!=this.s){var a=L(this.s);this.s=M(this.s);return{value:[a,a],done:!1}}return{value:null,done:!0}};
function qd(a,b){if(b instanceof F)a:{var c=a.length;b=b.xa;for(var d=0;;){if(c<=d){a=-1;break a}if(a[d]instanceof F&&b===a[d].xa){a=d;break a}d+=2}}else if("string"==typeof b||"number"===typeof b)a:for(c=a.length,d=0;;){if(c<=d){a=-1;break a}if(b===a[d]){a=d;break a}d+=2}else if(b instanceof Ic)a:for(c=a.length,b=b.Sa,d=0;;){if(c<=d){a=-1;break a}if(a[d]instanceof Ic&&b===a[d].Sa){a=d;break a}d+=2}else if(null==b)a:for(b=a.length,c=0;;){if(b<=c){a=-1;break a}if(null==a[c]){a=c;break a}c+=2}else a:for(c=
a.length,d=0;;){if(c<=d){a=-1;break a}if(N.c(b,a[d])){a=d;break a}d+=2}return a}function ef(a,b){this.key=a;this.V=b;this.A=null;this.m=166619935;this.C=0}g=ef.prototype;g.fb=function(a,b){switch(b){case 0:return new ef(0,this.key);case 1:return new ef(1,this.V);default:return null}};
g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.R=function(a,b){return this.ca(null,b,null)};g.D=function(a,b,c){return this.ca(null,b,c)};g.J=function(a,b){if(0===b)return this.key;if(1===b)return this.V;throw Error("Index out of bounds");};
g.ca=function(a,b,c){return 0===b?this.key:1===b?this.V:c};g.Ab=function(a,b){return(new V(null,2,5,W,[this.key,this.V],null)).Ab(a,b)};g.S=function(){return null};g.O=function(){return 2};g.Yb=function(){return this.key};g.Zb=function(){return this.V};g.ub=function(){return new J([this.V,this.key],0,null)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};g.B=function(a,b){return hd(this,b)};g.Y=function(){return null};g.da=function(a,b){return Yc(this,b)};
g.ea=function(a,b,c){a:{a=this.O(null);var d=c;for(c=0;;)if(c<a){var e=this.J(null,c);d=b.c?b.c(d,e):b.call(null,d,e);if(Xc(d)){b=B(d);break a}c+=1}else{b=d;break a}}return b};g.Pa=function(a,b,c){return pd.j(new V(null,2,5,W,[this.key,this.V],null),b,c)};g.U=function(){return new J([this.key,this.V],0,null)};g.X=function(a,b){return ud(new V(null,2,5,W,[this.key,this.V],null),b)};g.$=function(a,b){return new V(null,3,5,W,[this.key,this.V,b],null)};
g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.ca(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.ca(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return this.J(null,a)};g.c=function(a,b){return this.ca(null,a,b)};function jf(a){return null!=a?a.m&2048||r===a.rc?!0:!1:!1}
function uf(a,b,c){this.h=a;this.i=b;this.va=c;this.m=32374990;this.C=0}g=uf.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.va};g.ba=function(){return this.i<this.h.length-2?new uf(this.h,this.i+2,null):null};g.O=function(){return(this.h.length-this.i)/2};g.P=function(){return Rc(this)};
g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){return new ef(this.h[this.i],this.h[this.i+1])};g.ka=function(){return this.i<this.h.length-2?new uf(this.h,this.i+2,null):Mc};g.U=function(){return this};g.X=function(a,b){return b===this.va?this:new uf(this.h,this.i,b)};g.$=function(a,b){return R(b,this)};uf.prototype[mb]=function(){return Pc(this)};
function vf(a,b){this.h=a;this.i=0;this.o=b}vf.prototype.ga=function(){return this.i<this.o};vf.prototype.next=function(){var a=new ef(this.h[this.i],this.h[this.i+1]);this.i+=2;return a};function u(a,b,c,d){this.meta=a;this.o=b;this.h=c;this.A=d;this.m=16647951;this.C=139268}g=u.prototype;g.fb=function(a,b){a=qd(this.h,b);return-1===a?null:new ef(this.h[a],this.h[a+1])};g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.keys=function(){return Pc(wf(this))};
g.entries=function(){return new sf(I(I(this)))};g.values=function(){return Pc(xf(this))};g.has=function(a){return Gd(this,a)};g.get=function(a,b){return this.D(null,a,b)};g.forEach=function(a){for(var b=I(this),c=null,d=0,e=0;;)if(e<d){var f=c.J(null,e),h=T(f,0);f=T(f,1);a.c?a.c(f,h):a.call(null,f,h);e+=1}else if(b=I(b))Cd(b)?(c=oc(b),b=pc(b),h=c,d=P(c),c=h):(c=L(b),h=T(c,0),f=T(c,1),a.c?a.c(f,h):a.call(null,f,h),b=M(b),c=null,d=0),e=0;else return null};g.R=function(a,b){return this.D(null,b,null)};
g.D=function(a,b,c){a=qd(this.h,b);return-1===a?c:this.h[a+1]};g.tb=function(a,b,c){a=this.h.length;for(var d=0;;)if(d<a){var e=this.h[d],f=this.h[d+1];c=b.j?b.j(c,e,f):b.call(null,c,e,f);if(Xc(c))return B(c);d+=2}else return c};g.oa=function(){return new vf(this.h,2*this.o)};g.S=function(){return this.meta};g.O=function(){return this.o};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Tc(this)};
g.B=function(a,b){if(U(b)&&!zd(b))if(a=this.h.length,this.o===b.O(null))for(var c=0;;)if(c<a){var d=b.D(null,this.h[c],Ed);if(d!==Ed)if(N.c(this.h[c+1],d))c+=2;else return!1;else return!1}else return!0;else return!1;else return!1};g.Za=function(){return new yf(this.h.length,nb(this.h))};g.Y=function(){return Pb(ve,this.meta)};g.da=function(a,b){return Hd(this,b)};g.ea=function(a,b,c){return Id(this,b,c)};
g.zb=function(a,b){if(0<=qd(this.h,b)){a=this.h.length;var c=a-2;if(0===c)return this.Y(null);c=Array(c);for(var d=0,e=0;;){if(d>=a)return new u(this.meta,this.o-1,c,null);N.c(b,this.h[d])?d+=2:(c[e]=this.h[d],c[e+1]=this.h[d+1],e+=2,d+=2)}}else return this};
g.Pa=function(a,b,c){a=qd(this.h,b);if(-1===a){if(this.o<zf){a=this.h;for(var d=a.length,e=Array(d+2),f=0;;)if(f<d)e[f]=a[f],f+=1;else break;e[d]=b;e[d+1]=c;return new u(this.meta,this.o+1,e,null)}return Pb(Eb(Me.c(Af,this),b,c),this.meta)}if(c===this.h[a+1])return this;b=nb(this.h);b[a+1]=c;return new u(this.meta,this.o,b,null)};g.U=function(){var a=this.h;return 0<=a.length-2?new uf(a,0,null):null};g.X=function(a,b){return b===this.meta?this:new u(b,this.o,this.h,this.A)};
g.$=function(a,b){if(Bd(b))return this.Pa(null,zb.c(b,0),zb.c(b,1));a=this;for(b=I(b);;){if(null==b)return a;var c=L(b);if(Bd(c))a=Eb(a,zb.c(c,0),zb.c(c,1)),b=M(b);else throw Error("conj on a map takes map entries or seqables of map entries");}};
g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.R(null,c)};a.j=function(a,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return this.R(null,a)};g.c=function(a,b){return this.D(null,a,b)};var ve=new u(null,0,[],Uc),zf=8;u.prototype[mb]=function(){return Pc(this)};
function yf(a,b){this.cb={};this.eb=a;this.h=b;this.m=259;this.C=56}g=yf.prototype;g.O=function(){if(this.cb)return Od(this.eb,2);throw Error("count after persistent!");};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){if(this.cb)return a=qd(this.h,b),-1===a?c:this.h[a+1];throw Error("lookup after persistent!");};
g.bb=function(a,b){if(this.cb){if(jf(b))return this.ab(null,Ib(b),Kb(b));if(Bd(b))return this.ab(null,b.f?b.f(0):b.call(null,0),b.f?b.f(1):b.call(null,1));a=I(b);for(b=this;;){var c=L(a);if(v(c))a=M(a),b=mc(b,Ib(c),Kb(c));else return b}}else throw Error("conj! after persistent!");};g.hb=function(){if(this.cb)return this.cb=!1,new u(null,Od(this.eb,2),this.h,null);throw Error("persistent! called twice");};
g.ab=function(a,b,c){if(this.cb){a=qd(this.h,b);if(-1===a){if(this.eb+2<=2*zf)return this.eb+=2,this.h.push(b),this.h.push(c),this;a:{a=this.eb;var d=this.h;var e=jc(Af);for(var f=0;;)if(f<a)e=mc(e,d[f],d[f+1]),f+=2;else break a}return mc(e,b,c)}c!==this.h[a+1]&&(this.h[a+1]=c);return this}throw Error("assoc! after persistent!");};
g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.D(null,c,null);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.D(null,c,null)};a.j=function(a,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return this.D(null,a,null)};g.c=function(a,b){return this.D(null,a,b)};function Bf(){this.V=!1}
function Cf(a,b){return a===b?!0:a===b||a instanceof F&&b instanceof F&&a.xa===b.xa?!0:N.c(a,b)}function Df(a,b,c){a=nb(a);a[b]=c;return a}function Ef(a,b){var c=Array(a.length-2);Dd(a,0,c,0,2*b);Dd(a,2*(b+1),c,2*b,c.length-2*b);return c}function Ff(a,b,c,d){a=a.Ua(b);a.h[c]=d;return a}function Gf(a,b,c){for(var d=a.length,e=0,f=c;;)if(e<d){c=a[e];if(null!=c){var h=a[e+1];c=b.j?b.j(f,c,h):b.call(null,f,c,h)}else c=a[e+1],c=null!=c?c.mb(b,f):f;if(Xc(c))return c;e+=2;f=c}else return f}
function Hf(a){this.h=a;this.i=0;this.ta=this.nb=null}Hf.prototype.advance=function(){for(var a=this.h.length;;)if(this.i<a){var b=this.h[this.i],c=this.h[this.i+1];null!=b?b=this.nb=new ef(b,c):null!=c?(b=vc(c),b=b.ga()?this.ta=b:!1):b=!1;this.i+=2;if(b)return!0}else return!1};Hf.prototype.ga=function(){var a=null!=this.nb;return a?a:(a=null!=this.ta)?a:this.advance()};
Hf.prototype.next=function(){if(null!=this.nb){var a=this.nb;this.nb=null;return a}if(null!=this.ta)return a=this.ta.next(),this.ta.ga()||(this.ta=null),a;if(this.advance())return this.next();throw Error("No such element");};Hf.prototype.remove=function(){return Error("Unsupported operation")};function If(a,b,c){this.L=a;this.M=b;this.h=c;this.C=131072;this.m=0}g=If.prototype;
g.Ua=function(a){if(a===this.L)return this;var b=Pd(this.M),c=Array(0>b?4:2*(b+1));Dd(this.h,0,c,0,2*b);return new If(a,this.M,c)};g.kb=function(){return Jf(this.h,0,null)};g.mb=function(a,b){return Gf(this.h,a,b)};g.Va=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.M&e))return d;var f=Pd(this.M&e-1);e=this.h[2*f];f=this.h[2*f+1];return null==e?f.Va(a+5,b,c,d):Cf(c,e)?f:d};
g.ra=function(a,b,c,d,e,f){var h=1<<(c>>>b&31),k=Pd(this.M&h-1);if(0===(this.M&h)){var l=Pd(this.M);if(2*l<this.h.length){a=this.Ua(a);b=a.h;f.V=!0;a:for(c=2*(l-k),f=2*k+(c-1),l=2*(k+1)+(c-1);;){if(0===c)break a;b[l]=b[f];--l;--c;--f}b[2*k]=d;b[2*k+1]=e;a.M|=h;return a}if(16<=l){k=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];k[c>>>b&31]=Kf.ra(a,b+5,c,d,e,f);for(e=d=0;;)if(32>d)0===
(this.M>>>d&1)?d+=1:(k[d]=null!=this.h[e]?Kf.ra(a,b+5,Gc(this.h[e]),this.h[e],this.h[e+1],f):this.h[e+1],e+=2,d+=1);else break;return new Lf(a,l+1,k)}b=Array(2*(l+4));Dd(this.h,0,b,0,2*k);b[2*k]=d;b[2*k+1]=e;Dd(this.h,2*k,b,2*(k+1),2*(l-k));f.V=!0;a=this.Ua(a);a.h=b;a.M|=h;return a}l=this.h[2*k];h=this.h[2*k+1];if(null==l)return l=h.ra(a,b+5,c,d,e,f),l===h?this:Ff(this,a,2*k+1,l);if(Cf(d,l))return e===h?this:Ff(this,a,2*k+1,e);f.V=!0;f=b+5;b=Gc(l);if(b===c)e=new Mf(null,b,2,[l,h,d,e]);else{var m=
new Bf;e=Kf.ra(a,f,b,l,h,m).ra(a,f,c,d,e,m)}d=2*k;k=2*k+1;a=this.Ua(a);a.h[d]=null;a.h[k]=e;return a};
g.qa=function(a,b,c,d,e){var f=1<<(b>>>a&31),h=Pd(this.M&f-1);if(0===(this.M&f)){var k=Pd(this.M);if(16<=k){h=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];h[b>>>a&31]=Kf.qa(a+5,b,c,d,e);for(d=c=0;;)if(32>c)0===(this.M>>>c&1)?c+=1:(h[c]=null!=this.h[d]?Kf.qa(a+5,Gc(this.h[d]),this.h[d],this.h[d+1],e):this.h[d+1],d+=2,c+=1);else break;return new Lf(null,k+1,h)}a=Array(2*(k+1));Dd(this.h,
0,a,0,2*h);a[2*h]=c;a[2*h+1]=d;Dd(this.h,2*h,a,2*(h+1),2*(k-h));e.V=!0;return new If(null,this.M|f,a)}var l=this.h[2*h];f=this.h[2*h+1];if(null==l)return k=f.qa(a+5,b,c,d,e),k===f?this:new If(null,this.M,Df(this.h,2*h+1,k));if(Cf(c,l))return d===f?this:new If(null,this.M,Df(this.h,2*h+1,d));e.V=!0;e=this.M;k=this.h;a+=5;var m=Gc(l);if(m===b)c=new Mf(null,m,2,[l,f,c,d]);else{var n=new Bf;c=Kf.qa(a,m,l,f,n).qa(a,b,c,d,n)}a=2*h;h=2*h+1;d=nb(k);d[a]=null;d[h]=c;return new If(null,e,d)};
g.jb=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.M&e))return d;var f=Pd(this.M&e-1);e=this.h[2*f];f=this.h[2*f+1];return null==e?f.jb(a+5,b,c,d):Cf(c,e)?new ef(e,f):d};g.lb=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.M&d))return this;var e=Pd(this.M&d-1),f=this.h[2*e],h=this.h[2*e+1];return null==f?(a=h.lb(a+5,b,c),a===h?this:null!=a?new If(null,this.M,Df(this.h,2*e+1,a)):this.M===d?null:new If(null,this.M^d,Ef(this.h,e))):Cf(c,f)?new If(null,this.M^d,Ef(this.h,e)):this};g.oa=function(){return new Hf(this.h)};
var Kf=new If(null,0,[]);function Nf(a){this.h=a;this.i=0;this.ta=null}Nf.prototype.ga=function(){for(var a=this.h.length;;){if(null!=this.ta&&this.ta.ga())return!0;if(this.i<a){var b=this.h[this.i];this.i+=1;null!=b&&(this.ta=vc(b))}else return!1}};Nf.prototype.next=function(){if(this.ga())return this.ta.next();throw Error("No such element");};Nf.prototype.remove=function(){return Error("Unsupported operation")};function Lf(a,b,c){this.L=a;this.o=b;this.h=c;this.C=131072;this.m=0}g=Lf.prototype;
g.Ua=function(a){return a===this.L?this:new Lf(a,this.o,nb(this.h))};g.kb=function(){return Of(this.h,0,null)};g.mb=function(a,b){for(var c=this.h.length,d=0;;)if(d<c){var e=this.h[d];if(null!=e){b=e.mb(a,b);if(Xc(b))return b;d+=1}else d+=1}else return b};g.Va=function(a,b,c,d){var e=this.h[b>>>a&31];return null!=e?e.Va(a+5,b,c,d):d};
g.ra=function(a,b,c,d,e,f){var h=c>>>b&31,k=this.h[h];if(null==k)return a=Ff(this,a,h,Kf.ra(a,b+5,c,d,e,f)),a.o+=1,a;b=k.ra(a,b+5,c,d,e,f);return b===k?this:Ff(this,a,h,b)};g.qa=function(a,b,c,d,e){var f=b>>>a&31,h=this.h[f];if(null==h)return new Lf(null,this.o+1,Df(this.h,f,Kf.qa(a+5,b,c,d,e)));a=h.qa(a+5,b,c,d,e);return a===h?this:new Lf(null,this.o,Df(this.h,f,a))};g.jb=function(a,b,c,d){var e=this.h[b>>>a&31];return null!=e?e.jb(a+5,b,c,d):d};
g.lb=function(a,b,c){var d=b>>>a&31,e=this.h[d];if(null!=e){a=e.lb(a+5,b,c);if(a===e)d=this;else if(null==a)if(8>=this.o)a:{e=this.h;a=e.length;b=Array(2*(this.o-1));c=0;for(var f=1,h=0;;)if(c<a)c!==d&&null!=e[c]?(b[f]=e[c],f+=2,h|=1<<c,c+=1):c+=1;else{d=new If(null,h,b);break a}}else d=new Lf(null,this.o-1,Df(this.h,d,a));else d=new Lf(null,this.o,Df(this.h,d,a));return d}return this};g.oa=function(){return new Nf(this.h)};
function Pf(a,b,c){b*=2;for(var d=0;;)if(d<b){if(Cf(c,a[d]))return d;d+=2}else return-1}function Mf(a,b,c,d){this.L=a;this.Ma=b;this.o=c;this.h=d;this.C=131072;this.m=0}g=Mf.prototype;g.Ua=function(a){if(a===this.L)return this;var b=Array(2*(this.o+1));Dd(this.h,0,b,0,2*this.o);return new Mf(a,this.Ma,this.o,b)};g.kb=function(){return Jf(this.h,0,null)};g.mb=function(a,b){return Gf(this.h,a,b)};g.Va=function(a,b,c,d){a=Pf(this.h,this.o,c);return 0>a?d:Cf(c,this.h[a])?this.h[a+1]:d};
g.ra=function(a,b,c,d,e,f){if(c===this.Ma){b=Pf(this.h,this.o,d);if(-1===b){if(this.h.length>2*this.o)return b=2*this.o,c=2*this.o+1,a=this.Ua(a),a.h[b]=d,a.h[c]=e,f.V=!0,a.o+=1,a;c=this.h.length;b=Array(c+2);Dd(this.h,0,b,0,c);b[c]=d;b[c+1]=e;f.V=!0;d=this.o+1;a===this.L?(this.h=b,this.o=d,a=this):a=new Mf(this.L,this.Ma,d,b);return a}return this.h[b+1]===e?this:Ff(this,a,b+1,e)}return(new If(a,1<<(this.Ma>>>b&31),[null,this,null,null])).ra(a,b,c,d,e,f)};
g.qa=function(a,b,c,d,e){return b===this.Ma?(a=Pf(this.h,this.o,c),-1===a?(a=2*this.o,b=Array(a+2),Dd(this.h,0,b,0,a),b[a]=c,b[a+1]=d,e.V=!0,new Mf(null,this.Ma,this.o+1,b)):N.c(this.h[a+1],d)?this:new Mf(null,this.Ma,this.o,Df(this.h,a+1,d))):(new If(null,1<<(this.Ma>>>a&31),[null,this])).qa(a,b,c,d,e)};g.jb=function(a,b,c,d){a=Pf(this.h,this.o,c);return 0>a?d:Cf(c,this.h[a])?new ef(this.h[a],this.h[a+1]):d};
g.lb=function(a,b,c){a=Pf(this.h,this.o,c);return-1===a?this:1===this.o?null:new Mf(null,this.Ma,this.o-1,Ef(this.h,Od(a,2)))};g.oa=function(){return new Hf(this.h)};function Qf(a,b,c,d,e){this.meta=a;this.ua=b;this.i=c;this.s=d;this.A=e;this.m=32374988;this.C=0}g=Qf.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};
g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.meta};g.ba=function(){return null==this.s?Jf(this.ua,this.i+2,null):Jf(this.ua,this.i,M(this.s))};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};g.B=function(a,b){return hd(this,b)};
g.Y=function(){return Mc};g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){return null==this.s?new ef(this.ua[this.i],this.ua[this.i+1]):L(this.s)};g.ka=function(){var a=null==this.s?Jf(this.ua,this.i+2,null):Jf(this.ua,this.i,M(this.s));return null!=a?a:Mc};g.U=function(){return this};g.X=function(a,b){return b===this.meta?this:new Qf(b,this.ua,this.i,this.s,this.A)};g.$=function(a,b){return R(b,this)};Qf.prototype[mb]=function(){return Pc(this)};
function Jf(a,b,c){if(null==c)for(c=a.length;;)if(b<c){if(null!=a[b])return new Qf(null,a,b,null,null);var d=a[b+1];if(v(d)&&(d=d.kb(),v(d)))return new Qf(null,a,b+2,d,null);b+=2}else return null;else return new Qf(null,a,b,c,null)}function Rf(a,b,c,d,e){this.meta=a;this.ua=b;this.i=c;this.s=d;this.A=e;this.m=32374988;this.C=0}g=Rf.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};
g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.meta};g.ba=function(){return Of(this.ua,this.i,M(this.s))};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};
g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){return L(this.s)};g.ka=function(){var a=Of(this.ua,this.i,M(this.s));return null!=a?a:Mc};g.U=function(){return this};g.X=function(a,b){return b===this.meta?this:new Rf(b,this.ua,this.i,this.s,this.A)};g.$=function(a,b){return R(b,this)};Rf.prototype[mb]=function(){return Pc(this)};
function Of(a,b,c){if(null==c)for(c=a.length;;)if(b<c){var d=a[b];if(v(d)&&(d=d.kb(),v(d)))return new Rf(null,a,b+1,d,null);b+=1}else return null;else return new Rf(null,a,b,c,null)}function Sf(a,b){this.ha=a;this.Qb=b;this.Fb=!1}Sf.prototype.ga=function(){return!this.Fb||this.Qb.ga()};Sf.prototype.next=function(){if(this.Fb)return this.Qb.next();this.Fb=!0;return new ef(null,this.ha)};Sf.prototype.remove=function(){return Error("Unsupported operation")};
function Tf(a,b,c,d,e,f){this.meta=a;this.o=b;this.root=c;this.ja=d;this.ha=e;this.A=f;this.m=16123663;this.C=139268}g=Tf.prototype;g.fb=function(a,b){return null==b?this.ja?new ef(null,this.ha):null:null==this.root?null:this.root.jb(0,Gc(b),b,null)};g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.keys=function(){return Pc(wf(this))};g.entries=function(){return new sf(I(I(this)))};g.values=function(){return Pc(xf(this))};g.has=function(a){return Gd(this,a)};
g.get=function(a,b){return this.D(null,a,b)};g.forEach=function(a){for(var b=I(this),c=null,d=0,e=0;;)if(e<d){var f=c.J(null,e),h=T(f,0);f=T(f,1);a.c?a.c(f,h):a.call(null,f,h);e+=1}else if(b=I(b))Cd(b)?(c=oc(b),b=pc(b),h=c,d=P(c),c=h):(c=L(b),h=T(c,0),f=T(c,1),a.c?a.c(f,h):a.call(null,f,h),b=M(b),c=null,d=0),e=0;else return null};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){return null==b?this.ja?this.ha:c:null==this.root?c:this.root.Va(0,Gc(b),b,c)};
g.tb=function(a,b,c){a=this.ja?b.j?b.j(c,null,this.ha):b.call(null,c,null,this.ha):c;Xc(a)?b=B(a):null!=this.root?(b=this.root.mb(b,a),b=Xc(b)?B(b):b):b=a;return b};g.oa=function(){var a=this.root?vc(this.root):te();return this.ja?new Sf(this.ha,a):a};g.S=function(){return this.meta};g.O=function(){return this.o};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Tc(this)};g.B=function(a,b){return rf(this,b)};g.Za=function(){return new Uf(this.root,this.o,this.ja,this.ha)};
g.Y=function(){return Pb(Af,this.meta)};g.zb=function(a,b){if(null==b)return this.ja?new Tf(this.meta,this.o-1,this.root,!1,null,null):this;if(null==this.root)return this;a=this.root.lb(0,Gc(b),b);return a===this.root?this:new Tf(this.meta,this.o-1,a,this.ja,this.ha,null)};
g.Pa=function(a,b,c){if(null==b)return this.ja&&c===this.ha?this:new Tf(this.meta,this.ja?this.o:this.o+1,this.root,!0,c,null);a=new Bf;b=(null==this.root?Kf:this.root).qa(0,Gc(b),b,c,a);return b===this.root?this:new Tf(this.meta,a.V?this.o+1:this.o,b,this.ja,this.ha,null)};g.U=function(){if(0<this.o){var a=null!=this.root?this.root.kb():null;return this.ja?R(new ef(null,this.ha),a):a}return null};g.X=function(a,b){return b===this.meta?this:new Tf(b,this.o,this.root,this.ja,this.ha,this.A)};
g.$=function(a,b){if(Bd(b))return this.Pa(null,zb.c(b,0),zb.c(b,1));a=this;for(b=I(b);;){if(null==b)return a;var c=L(b);if(Bd(c))a=Eb(a,zb.c(c,0),zb.c(c,1)),b=M(b);else throw Error("conj on a map takes map entries or seqables of map entries");}};
g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.R(null,c)};a.j=function(a,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return this.R(null,a)};g.c=function(a,b){return this.D(null,a,b)};var Af=new Tf(null,0,null,!1,null,Uc);Tf.prototype[mb]=function(){return Pc(this)};
function Uf(a,b,c,d){this.L={};this.root=a;this.count=b;this.ja=c;this.ha=d;this.m=259;this.C=56}function Vf(a,b,c){if(a.L){if(null==b)a.ha!==c&&(a.ha=c),a.ja||(a.count+=1,a.ja=!0);else{var d=new Bf;b=(null==a.root?Kf:a.root).ra(a.L,0,Gc(b),b,c,d);b!==a.root&&(a.root=b);d.V&&(a.count+=1)}return a}throw Error("assoc! after persistent!");}g=Uf.prototype;g.O=function(){if(this.L)return this.count;throw Error("count after persistent!");};
g.R=function(a,b){return null==b?this.ja?this.ha:null:null==this.root?null:this.root.Va(0,Gc(b),b)};g.D=function(a,b,c){return null==b?this.ja?this.ha:c:null==this.root?c:this.root.Va(0,Gc(b),b,c)};g.bb=function(a,b){a:if(this.L)if(jf(b))a=Vf(this,Ib(b),Kb(b));else if(Bd(b))a=Vf(this,b.f?b.f(0):b.call(null,0),b.f?b.f(1):b.call(null,1));else for(a=I(b),b=this;;){var c=L(a);if(v(c))a=M(a),b=Vf(b,Ib(c),Kb(c));else{a=b;break a}}else throw Error("conj! after persistent");return a};
g.hb=function(){if(this.L){this.L=null;var a=new Tf(null,this.count,this.root,this.ja,this.ha,null)}else throw Error("persistent! called twice");return a};g.ab=function(a,b,c){return Vf(this,b,c)};g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.R(null,c)};a.j=function(a,c,d){return this.D(null,c,d)};return a}();
g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return this.R(null,a)};g.c=function(a,b){return this.D(null,a,b)};var Wf=function Wf(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return Wf.w(0<c.length?new J(c.slice(0),0,null):null)};Wf.w=function(a){for(var b=I(a),c=jc(Af);;)if(b){a=M(M(b));var d=L(b);b=L(M(b));c=mc(c,d,b);b=a}else return lc(c)};Wf.G=0;Wf.F=function(a){return this.w(I(a))};
function Xf(a,b){this.I=a;this.va=b;this.m=32374988;this.C=0}g=Xf.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.va};g.ba=function(){var a=(null!=this.I?this.I.m&128||r===this.I.gb||(this.I.m?0:w(Bb,this.I)):w(Bb,this.I))?this.I.ba():M(this.I);return null==a?null:new Xf(a,null)};g.P=function(){return Rc(this)};
g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){return this.I.fa(null).key};g.ka=function(){var a=(null!=this.I?this.I.m&128||r===this.I.gb||(this.I.m?0:w(Bb,this.I)):w(Bb,this.I))?this.I.ba():M(this.I);return null!=a?new Xf(a,null):Mc};g.U=function(){return this};g.X=function(a,b){return b===this.va?this:new Xf(this.I,b)};g.$=function(a,b){return R(b,this)};Xf.prototype[mb]=function(){return Pc(this)};
function wf(a){return(a=I(a))?new Xf(a,null):null}function Yf(a,b){this.I=a;this.va=b;this.m=32374988;this.C=0}g=Yf.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();g.S=function(){return this.va};g.ba=function(){var a=(null!=this.I?this.I.m&128||r===this.I.gb||(this.I.m?0:w(Bb,this.I)):w(Bb,this.I))?this.I.ba():M(this.I);return null==a?null:new Yf(a,null)};g.P=function(){return Rc(this)};
g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};g.da=function(a,b){return jd(b,this)};g.ea=function(a,b,c){return kd(b,c,this)};g.fa=function(){return this.I.fa(null).V};g.ka=function(){var a=(null!=this.I?this.I.m&128||r===this.I.gb||(this.I.m?0:w(Bb,this.I)):w(Bb,this.I))?this.I.ba():M(this.I);return null!=a?new Yf(a,null):Mc};g.U=function(){return this};g.X=function(a,b){return b===this.va?this:new Yf(this.I,b)};g.$=function(a,b){return R(b,this)};Yf.prototype[mb]=function(){return Pc(this)};
function xf(a){return(a=I(a))?new Yf(a,null):null}var Zf=function Zf(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return Zf.w(0<c.length?new J(c.slice(0),0,null):null)};Zf.w=function(a){return v(xe(Ld,a))?Jd(function(a,c){return ld.c(v(a)?a:ve,c)},a):null};Zf.G=0;Zf.F=function(a){return this.w(I(a))};function $f(a){this.Eb=a}$f.prototype.ga=function(){return this.Eb.ga()};
$f.prototype.next=function(){if(this.Eb.ga())return this.Eb.next().key;throw Error("No such element");};$f.prototype.remove=function(){return Error("Unsupported operation")};function ag(a,b,c){this.meta=a;this.Qa=b;this.A=c;this.m=15077647;this.C=139268}g=ag.prototype;g.toString=function(){return xc(this)};g.equiv=function(a){return this.B(null,a)};g.keys=function(){return Pc(I(this))};g.entries=function(){return new tf(I(I(this)))};g.values=function(){return Pc(I(this))};
g.has=function(a){return Gd(this,a)};g.forEach=function(a){for(var b=I(this),c=null,d=0,e=0;;)if(e<d){var f=c.J(null,e),h=T(f,0);f=T(f,1);a.c?a.c(f,h):a.call(null,f,h);e+=1}else if(b=I(b))Cd(b)?(c=oc(b),b=pc(b),h=c,d=P(c),c=h):(c=L(b),h=T(c,0),f=T(c,1),a.c?a.c(f,h):a.call(null,f,h),b=M(b),c=null,d=0),e=0;else return null};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){a=Fb(this.Qa,b);return v(a)?Ib(a):c};g.oa=function(){return new $f(vc(this.Qa))};g.S=function(){return this.meta};
g.O=function(){return sb(this.Qa)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Tc(this)};g.B=function(a,b){if(xd(b))if(P(this)===P(b))try{return Kd(function(a,d){return(a=Gd(b,d))?a:new Wc(!1)},this.Qa)}catch(c){if(c instanceof Error)return!1;throw c;}else return!1;else return!1};g.Za=function(){return new bg(jc(this.Qa))};g.Y=function(){return Pb(cg,this.meta)};g.U=function(){return wf(this.Qa)};g.X=function(a,b){return b===this.meta?this:new ag(b,this.Qa,this.A)};
g.$=function(a,b){return new ag(this.meta,pd.j(this.Qa,b,null),null)};g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.R(null,c)};a.j=function(a,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return this.R(null,a)};
g.c=function(a,b){return this.D(null,a,b)};var cg=new ag(null,ve,Uc);ag.prototype[mb]=function(){return Pc(this)};function bg(a){this.Oa=a;this.C=136;this.m=259}g=bg.prototype;g.bb=function(a,b){this.Oa=mc(this.Oa,b,null);return this};g.hb=function(){return new ag(null,lc(this.Oa),null)};g.O=function(){return P(this.Oa)};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){return Db.j(this.Oa,b,Ed)===Ed?c:b};
g.call=function(){function a(a,b,c){return Db.j(this.Oa,b,Ed)===Ed?c:b}function b(a,b){return Db.j(this.Oa,b,Ed)===Ed?null:b}var c=null;c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+(arguments.length-1));};c.c=b;c.j=a;return c}();g.apply=function(a,b){return this.call.apply(this,[this].concat(nb(b)))};g.f=function(a){return Db.j(this.Oa,a,Ed)===Ed?null:a};g.c=function(a,b){return Db.j(this.Oa,a,Ed)===Ed?b:a};
function Wd(a){if(null!=a&&(a.C&4096||r===a.$b))return a.name;if("string"===typeof a)return a;throw Error(["Doesn't support name: ",y.f(a)].join(""));}function dg(a,b,c){this.start=a;this.step=b;this.count=c;this.m=82;this.C=0}g=dg.prototype;g.O=function(){return this.count};g.fa=function(){return this.start};g.J=function(a,b){return this.start+b*this.step};g.ca=function(a,b,c){return 0<=b&&b<this.count?this.start+b*this.step:c};
g.xb=function(){if(1>=this.count)throw Error("-drop-first of empty chunk");return new dg(this.start+this.step,this.step,this.count-1)};function eg(a,b,c){this.i=a;this.end=b;this.step=c}eg.prototype.ga=function(){return 0<this.step?this.i<this.end:this.i>this.end};eg.prototype.next=function(){var a=this.i;this.i+=this.step;return a};function fg(a,b,c,d,e,f,h){this.meta=a;this.start=b;this.end=c;this.step=d;this.K=e;this.qb=f;this.A=h;this.m=32375006;this.C=140800}g=fg.prototype;g.toString=function(){return xc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return O(this,a,0);case 2:return O(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(a){return O(this,a,0)};a.c=function(a,c){return O(this,a,c)};return a}();
g.lastIndexOf=function(){function a(a){return Q(this,a,P(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Q(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(a,b){return Q(this,a,b)};return b}();function gg(a){if(null==a.K){var b=a.O(null);32<b?(a.qb=new fg(null,a.start+32*a.step,a.end,a.step,null,null,null),a.K=new dg(a.start,a.step,32)):a.K=new dg(a.start,a.step,b)}}
g.J=function(a,b){if(0<=b&&b<this.O(null))return this.start+b*this.step;if(0<=b&&this.start>this.end&&0===this.step)return this.start;throw Error("Index out of bounds");};g.ca=function(a,b,c){return 0<=b&&b<this.O(null)?this.start+b*this.step:0<=b&&this.start>this.end&&0===this.step?this.start:c};g.oa=function(){return new eg(this.start,this.end,this.step)};g.S=function(){return this.meta};
g.ba=function(){return 0<this.step?this.start+this.step<this.end?new fg(null,this.start+this.step,this.end,this.step,null,null,null):null:this.start+this.step>this.end?new fg(null,this.start+this.step,this.end,this.step,null,null,null):null};g.O=function(){return Math.ceil((this.end-this.start)/this.step)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Rc(this)};g.B=function(a,b){return hd(this,b)};g.Y=function(){return Mc};g.da=function(a,b){return Yc(this,b)};
g.ea=function(a,b,c){for(a=this.start;;)if(0<this.step?a<this.end:a>this.end){c=b.c?b.c(c,a):b.call(null,c,a);if(Xc(c))return B(c);a+=this.step}else return c};g.fa=function(){return this.start};g.ka=function(){var a=this.ba();return null==a?Mc:a};g.U=function(){return this};g.sb=function(){gg(this);return this.K};g.Ya=function(){gg(this);return null==this.qb?Mc:this.qb};g.X=function(a,b){return b===this.meta?this:new fg(b,this.start,this.end,this.step,this.K,this.qb,this.A)};
g.$=function(a,b){return R(b,this)};g.yb=function(){return I(this.Ya(null))};fg.prototype[mb]=function(){return Pc(this)};function hg(a,b){return b<=a?Mc:new fg(null,a,b,1,null,null,null)}function ig(a,b){if("string"===typeof b)return a=a.exec(b),N.c(L(a),b)?1===P(a)?L(a):hf(a):null;throw new TypeError("re-matches must match against a string.");}
var jg=function jg(a,b){var d=a.exec(b);if(null==d)return null;var e=d[0],f=1===d.length?e:hf(d);return R(f,new Xd(null,function(){var f=e.length;f=d.index+(1>f?1:f);return f<=b.length?(f=b.substring(f),jg.c?jg.c(a,f):jg.call(null,a,f)):null},null))};function kg(a){var b=/[#.]?[^#.]+/;if("string"===typeof a)return jg(b,a);throw new TypeError("re-seq must match against a string.");}
function lg(a,b,c,d,e,f,h){var k=Ya;Ya=null==Ya?null:Ya-1;try{if(null!=Ya&&0>Ya)return ec(a,"#");ec(a,c);if(0===fb.f(f))I(h)&&ec(a,function(){var a=mg.f(f);return v(a)?a:"..."}());else{if(I(h)){var l=L(h);b.j?b.j(l,a,f):b.call(null,l,a,f)}for(var m=M(h),n=fb.f(f)-1;;)if(!m||null!=n&&0===n){I(m)&&0===n&&(ec(a,d),ec(a,function(){var a=mg.f(f);return v(a)?a:"..."}()));break}else{ec(a,d);var p=L(m);c=a;h=f;b.j?b.j(p,c,h):b.call(null,p,c,h);var t=M(m);c=n-1;m=t;n=c}}return ec(a,e)}finally{Ya=k}}
function ng(a,b){b=I(b);for(var c=null,d=0,e=0;;)if(e<d){var f=c.J(null,e);ec(a,f);e+=1}else if(b=I(b))c=b,Cd(c)?(b=oc(c),d=pc(c),c=b,f=P(b),b=d,d=f):(f=L(c),ec(a,f),b=M(c),c=null,d=0),e=0;else return null}var og={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};function pg(a){return['"',y.f(a.replace(/[\\"\b\f\n\r\t]/g,function(a){return og[a]})),'"'].join("")}function qg(a,b){return Fd(E.c(a,db))?null!=b&&(b.m&131072||r===b.Ib)?null!=vd(b):!1:!1}
function rg(a,b,c){if(null==a)return ec(b,"nil");qg(c,a)&&(ec(b,"^"),sg(vd(a),b,c),ec(b," "));if(a.Pb)return a.cc(b);if(null!=a?a.m&2147483648||r===a.Z||(a.m?0:w(fc,a)):w(fc,a))return gc(a,b,c);if(!0===a||!1===a)return ec(b,y.f(a));if("number"===typeof a)return ec(b,isNaN(a)?"##NaN":a===Number.POSITIVE_INFINITY?"##Inf":a===Number.NEGATIVE_INFINITY?"##-Inf":y.f(a));if(null!=a&&a.constructor===Object)return ec(b,"#js "),tg(He.c(function(b){return new ef(null!=ig(/[A-Za-z_\*\+\?!\-'][\w\*\+\?!\-']*/,
b)?Vd.f(b):b,a[b])},oa(a)),b,c);if(jb(a))return lg(b,sg,"#js ["," ","]",c,a);if("string"==typeof a)return v(bb.f(c))?ec(b,pg(a)):ec(b,a);if("function"==q(a))return c=a.name,c=null==c||/^[\s\xa0]*$/.test(c)?"Function":c,ng(b,id(["#object[",c,v(!1)?[' "',y.f(a),'"'].join(""):"","]"]));if(a instanceof Date)return c=function(a,b){for(a=y.f(a);;)if(a.length<b)a=["0",a].join("");else return a},ng(b,id(['#inst "',y.f(a.getUTCFullYear()),"-",c(a.getUTCMonth()+1,2),"-",c(a.getUTCDate(),2),"T",c(a.getUTCHours(),
2),":",c(a.getUTCMinutes(),2),":",c(a.getUTCSeconds(),2),".",c(a.getUTCMilliseconds(),3),"-",'00:00"']));if(a instanceof RegExp)return ng(b,id(['#"',a.source,'"']));if(v(function(){var b=null==a?null:a.constructor;return null==b?null:b.vb}()))return ng(b,id(["#object[",a.constructor.vb.replace(/\//g,"."),"]"]));c=function(){var b=null==a?null:a.constructor;return null==b?null:b.name}();c=null==c||/^[\s\xa0]*$/.test(c)?"Object":c;return null==a.constructor?ng(b,id(["#object[",c,"]"])):ng(b,id(["#object[",
c," ",y.f(a),"]"]))}function sg(a,b,c){var d=ug.f(c);return v(d)?(c=pd.j(c,vg,rg),d.j?d.j(a,b,c):d.call(null,a,b,c)):rg(a,b,c)}function wg(a,b){var c=new Oa;a:{var d=new wc(c);sg(L(a),d,b);a=I(M(a));for(var e=null,f=0,h=0;;)if(h<f){var k=e.J(null,h);ec(d," ");sg(k,d,b);h+=1}else if(a=I(a))e=a,Cd(e)?(a=oc(e),f=pc(e),e=a,k=P(a),a=f,f=k):(k=L(e),ec(d," "),sg(k,d,b),a=M(e),e=null,f=0),h=0;else break a}return c}function xg(a){var b=$a();return wd(a)?"":y.f(wg(a,b))}
function yg(a){return a instanceof Ic?Jc.c(null,Wd(a)):Vd.c(null,Wd(a))}
function zg(a){if(v(!1)){var b=I(a),c=I(b),d=L(c);M(c);T(d,0);T(d,1);c=null==a?null:null!=a&&(a.m&4||r===a.Tb)?a.Y(null):(null!=a?a.m&4||r===a.Tb||(a.m?0:w(tb,a)):w(tb,a))?ub(a):null;for(a=null;;){d=a;b=I(b);a=L(b);var e=M(b),f=a;a=T(f,0);b=T(f,1);if(v(f))if(a instanceof F||a instanceof Ic)if(v(d))if(N.c(d,Ud(a)))c=pd.j(c,yg(a),b),a=d,b=e;else return null;else if(d=Ud(a),v(d))c=pd.j(c,yg(a),b),a=d,b=e;else return null;else return null;else return new V(null,2,5,W,[d,c],null)}}else return null}
function Ag(a,b,c,d,e){return lg(d,function(a,b,d){var e=Ib(a);c.j?c.j(e,b,d):c.call(null,e,b,d);ec(b," ");a=Kb(a);return c.j?c.j(a,b,d):c.call(null,a,b,d)},[y.f(a),"{"].join(""),", ","}",e,I(b))}function tg(a,b,c){var d=sg,e=U(a)?zg(a):null,f=T(e,0);e=T(e,1);return v(f)?Ag(["#:",y.f(f)].join(""),e,d,b,c):Ag(null,a,d,b,c)}Ge.prototype.Z=r;Ge.prototype.N=function(a,b,c){ec(b,"#object[cljs.core.Volatile ");sg(new u(null,1,[Bg,this.state],null),b,c);return ec(b,"]")};J.prototype.Z=r;
J.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};Xd.prototype.Z=r;Xd.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};ef.prototype.Z=r;ef.prototype.N=function(a,b,c){return lg(b,sg,"["," ","]",c,this)};Qf.prototype.Z=r;Qf.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};uf.prototype.Z=r;uf.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};gf.prototype.Z=r;gf.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};
Td.prototype.Z=r;Td.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};gd.prototype.Z=r;gd.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};Tf.prototype.Z=r;Tf.prototype.N=function(a,b,c){return tg(this,b,c)};Rf.prototype.Z=r;Rf.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};ag.prototype.Z=r;ag.prototype.N=function(a,b,c){return lg(b,sg,"#{"," ","}",c,this)};be.prototype.Z=r;be.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};
Ce.prototype.Z=r;Ce.prototype.N=function(a,b,c){ec(b,"#object[cljs.core.Atom ");sg(new u(null,1,[Bg,this.state],null),b,c);return ec(b,"]")};Yf.prototype.Z=r;Yf.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};V.prototype.Z=r;V.prototype.N=function(a,b,c){return lg(b,sg,"["," ","]",c,this)};Rd.prototype.Z=r;Rd.prototype.N=function(a,b){return ec(b,"()")};u.prototype.Z=r;u.prototype.N=function(a,b,c){return tg(this,b,c)};fg.prototype.Z=r;
fg.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};Xf.prototype.Z=r;Xf.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};nd.prototype.Z=r;nd.prototype.N=function(a,b,c){return lg(b,sg,"("," ",")",c,this)};function Cg(a,b,c){hc(a,b,c);return a}function Dg(a){return function(b,c){b=a.c?a.c(b,c):a.call(null,b,c);return Xc(b)?new Wc(b):b}}
function Eg(a){var b=Dg(a);return function(){function c(a,c){return qb(b,a,c)}function d(b){return a.f?a.f(b):a.call(null,b)}function e(){return a.v?a.v():a.call(null)}var f=null;f=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};f.v=e;f.f=d;f.c=c;return f}()}function Fg(){}
var Gg=function Gg(a){if(null!=a&&null!=a.Vb)return a.Vb(a);var c=Gg[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=Gg._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IEncodeJS.-clj-\x3ejs",a);};function Hg(a,b){return(null!=a?r===a.Ub||(a.dc?0:w(Fg,a)):w(Fg,a))?Gg(a):"string"===typeof a||"number"===typeof a||a instanceof F||a instanceof Ic?b.f?b.f(a):b.call(null,a):xg(id([a]))}
var Ig=function Ig(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return Ig.w(arguments[0],1<c.length?new J(c.slice(1),0,null):null)};
Ig.w=function(a,b){b=null!=b&&(b.m&64||r===b.wa)?pe(Wf,b):b;var c=E.j(b,Jg,Wd),d=function h(a){if(null==a)return null;if(null!=a?r===a.Ub||(a.dc?0:w(Fg,a)):w(Fg,a))return Gg(a);if(a instanceof F)return c.f?c.f(a):c.call(null,a);if(a instanceof Ic)return y.f(a);if(U(a)){var b={};a=I(a);for(var f=null,m=0,n=0;;)if(n<m){var p=f.J(null,n),t=T(p,0);p=T(p,1);t=Hg(t,d);p=h(p);b[t]=p;n+=1}else if(a=I(a))Cd(a)?(m=oc(a),a=pc(a),f=m,m=P(m)):(m=L(a),f=T(m,0),m=T(m,1),f=Hg(f,d),m=h(m),b[f]=m,a=M(a),f=null,m=0),
n=0;else break;return b}if(null==a?0:null!=a?a.m&8||r===a.kc||(a.m?0:w(vb,a)):w(vb,a)){b=[];a=I(He.c(h,a));f=null;for(n=m=0;;)if(n<m)t=f.J(null,n),b.push(t),n+=1;else if(a=I(a))f=a,Cd(f)?(a=oc(f),n=pc(f),f=a,m=P(a),a=n):(a=L(f),b.push(a),a=M(f),f=null,m=0),n=0;else break;return b}return a};return d(a)};Ig.G=1;Ig.F=function(a){var b=L(a);a=M(a);return this.w(b,a)};function Kg(a){this.pb=a;this.A=null;this.m=2153775104;this.C=2048}g=Kg.prototype;g.toString=function(){return this.pb};
g.equiv=function(a){return this.B(null,a)};g.B=function(a,b){return b instanceof Kg&&this.pb===b.pb};g.N=function(a,b){return ec(b,['#uuid "',y.f(this.pb),'"'].join(""))};g.P=function(){null==this.A&&(this.A=Gc(this.pb));return this.A};function Lg(a){if("string"!==typeof a)throw Error("Assert failed: (string? s)");return new Kg(a.toLowerCase())}
function Mg(){function a(){return Math.floor(16*Math.random()).toString(16)}var b=(8|3&Math.floor(16*Math.random())).toString(16);return Lg([y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),"-",y.f(a()),y.f(a()),y.f(a()),y.f(a()),"-4",y.f(a()),y.f(a()),y.f(a()),"-",y.f(b),y.f(a()),y.f(a()),y.f(a()),"-",y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a()),y.f(a())].join(""))}
function Ng(a,b){var c=Error(a);this.message=a;this.data=b;this.Gb=null;this.name=c.name;this.description=c.description;this.number=c.number;this.fileName=c.fileName;this.lineNumber=c.lineNumber;this.columnNumber=c.columnNumber;this.stack=c.stack;return this}Ng.prototype.__proto__=Error.prototype;Ng.prototype.Z=r;
Ng.prototype.N=function(a,b,c){ec(b,"#error {:message ");sg(this.message,b,c);v(this.data)&&(ec(b,", :data "),sg(this.data,b,c));v(this.Gb)&&(ec(b,", :cause "),sg(this.Gb,b,c));return ec(b,"}")};Ng.prototype.toString=function(){return xc(this)};function Og(a,b){return new Ng(a,b)}if("undefined"===typeof Ra||"undefined"===typeof Sa||"undefined"===typeof Pg)var Pg=null;"undefined"!==typeof console&&gb();
if("undefined"===typeof Ra||"undefined"===typeof Sa||"undefined"===typeof Qg)var Qg=function(){throw Error("cljs.core/*eval* not bound");};N.c("nodejs","default")&&(aa=global);var Rg=new F("rum","react-component","rum/react-component",-1879897248),Sg=new F(null,"did-mount","did-mount",918232960),Tg=new F(null,"min","min",444991522),Ug=new F(null,"will-unmount","will-unmount",-808051550),Vg=new F(null,"email","email",1415816706),Wg=new F("rum.examples.errors","error","rum.examples.errors/error",1819457764),db=new F(null,"meta","meta",1499536964),Xg=new F(null,"age","age",-604307804),Yg=new F(null,"did-remount","did-remount",1362550500),Zg=new F(null,"color","color",1011675173),
eb=new F(null,"dup","dup",556298533),$g=new F("rum","class","rum/class",-2030775258),ah=new F(null,"init","init",-1875481434),bh=new F("rum.examples.portals","*clicks","rum.examples.portals/*clicks",840774855),ch=new F(null,"childContextTypes","childContextTypes",578717991),dh=new F(null,"phone","phone",-763596057),eh=new F(null,"content","content",15833224),fh=new F(null,"msgData","msgData",345907944),gh=new F(null,"did-catch","did-catch",2139522313),hh=new F(null,"child-context","child-context",
-1375270295),ih=new F(null,"margin-left","margin-left",2015598377),jh=new F(null,"value","value",305978217),kh=new F("rum.reactive","key","rum.reactive/key",-803425142),lh=new F(null,"contextTypes","contextTypes",-2023853910),mh=new F("rum","args","rum/args",1315791754),nh=new F(null,"width","width",-384071477),Bg=new F(null,"val","val",128701612),oh=new F(null,"cursor","cursor",1011937484),ph=new F(null,"type","type",1174270348),qh=new F(null,"timer-static","timer-static",1373464428),vg=new F(null,
"fallback-impl","fallback-impl",-1501286995),Jg=new F(null,"keyword-fn","keyword-fn",-64566675),rh=new F(null,"before-render","before-render",71256781),ab=new F(null,"flush-on-newline","flush-on-newline",-151457939),sh=new F(null,"e","e",1381269198),th=new F(null,"className","className",-1983287057),Se=new F(null,"style","style",-496642736),uh=new F(null,"div","div",1057191632),vh=new F(null,"did-update","did-update",-2143702256),bb=new F(null,"readably","readably",1129599760),mg=new F(null,"more-marker",
"more-marker",-14717935),wh=new F(null,"key-fn","key-fn",-636154479),xh=new F(null,"g","g",1738089905),yh=new F(null,"will-mount","will-mount",-434633071),zh=new F(null,"c","c",-1763192079),ue=new Ic(null,"meta5013","meta5013",785689361,null),Bh=new F(null,"for","for",-1323786319),Ch=new F("rum","component-stack","rum/component-stack",2037541138),Dh=new F(null,"weight","weight",-1262796205),fb=new F(null,"print-length","print-length",1931866356),Eh=new F(null,"max","max",61366548),Fh=new F(null,"id",
"id",-1388402092),Gh=new F(null,"class","class",-2030961996),Hh=new F(null,"bmi","bmi",1421979636),Ih=new F(null,"will-update","will-update",328062998),Jh=new F(null,"on-mouse-move","on-mouse-move",-1386320874),Kh=new F(null,"class-properties","class-properties",1351279702),Lh=new F("rum","local","rum/local",-1497916586),Mh=new F(null,"b","b",1482224470),Nh=new F(null,"d","d",1972142424),Oh=new F(null,"htmlFor","htmlFor",-1050291720),Ph=new F("rum.examples.core","interval","rum.examples.core/interval",
-891109255),Qh=new F(null,"after-render","after-render",1997533433),Rh=new F(null,"static-properties","static-properties",-577838503),Sh=new F(null,"tag","tag",-1290361223),Th=new F(null,"input","input",556931961),Uh=new F(null,"msgMethod","msgMethod",523741434),Vh=new F(null,"wrap-render","wrap-render",1782000986),Wh=new F(null,"on-change","on-change",-732046149),Xh=new F("rum.reactive","refs","rum.reactive/refs",-814076325),ug=new F(null,"alt-impl","alt-impl",670969595),Yh=new F(null,"backgroundColor",
"backgroundColor",1738438491),Zh=new F(null,"should-update","should-update",-1292781795),$h=new F(null,"a","a",-2123407586),ai=new F(null,"height","height",1025178622);function bi(a,b,c){this.ref=a;this.path=b;this.meta=c;this.m=2153938944;this.C=114690}g=bi.prototype;g.equiv=function(a){return this.B(null,a)};g.N=function(a,b,c){ec(b,"#object [rum.cursor.Cursor ");sg(new u(null,1,[Bg,this.pa(null)],null),b,c);return ec(b,"]")};g.S=function(){return this.meta};g.P=function(){return this[ba]||(this[ba]=++ca)};g.B=function(a,b){return this===b};g.$a=function(a,b){Fe.H(this.ref,Pe,this.path,b);return b};
g.Kb=function(a,b){var c=this;return c.$a(null,function(){var a=c.pa(null);return b.f?b.f(a):b.call(null,a)}())};g.Lb=function(a,b,c){var d=this;return d.$a(null,function(){var a=d.pa(null);return b.c?b.c(a,c):b.call(null,a,c)}())};g.Mb=function(a,b,c,d){var e=this;return e.$a(null,function(){var a=e.pa(null);return b.j?b.j(a,c,d):b.call(null,a,c,d)}())};g.Nb=function(a,b,c,d,e){return this.$a(null,se(b,this.pa(null),c,d,e))};
g.Cb=function(a,b,c){var d=this,e=this;Cg(d.ref,new nd(null,e,new nd(null,b,null,1,null),2,null),function(a,h,k,l){a=qb(E,k,d.path);l=qb(E,l,d.path);return N.c(a,l)?null:c.H?c.H(b,e,a,l):c.call(null,b,e,a,l)});return e};g.Db=function(a,b){ic(this.ref,new nd(null,this,new nd(null,b,null,1,null),2,null));return this};g.pa=function(){var a=B(this.ref);return qb(E,a,this.path)};var ci;a:{var di=aa.navigator;if(di){var ei=di.userAgent;if(ei){ci=ei;break a}}ci=""}function fi(a){return-1!=ci.indexOf(a)};function gi(){return fi("iPhone")&&!fi("iPod")&&!fi("iPad")};var hi=fi("Opera"),ii=fi("Trident")||fi("MSIE"),ji=fi("Edge"),ki=fi("Gecko")&&!(-1!=ci.toLowerCase().indexOf("webkit")&&!fi("Edge"))&&!(fi("Trident")||fi("MSIE"))&&!fi("Edge"),li=-1!=ci.toLowerCase().indexOf("webkit")&&!fi("Edge");li&&fi("Mobile");fi("Macintosh");fi("Windows");fi("Linux")||fi("CrOS");var mi=aa.navigator||null;mi&&(mi.appVersion||"").indexOf("X11");fi("Android");gi();fi("iPad");fi("iPod");gi()||fi("iPad")||fi("iPod");function ni(){var a=aa.document;return a?a.documentMode:void 0}var oi;
a:{var pi="",qi=function(){var a=ci;if(ki)return/rv:([^\);]+)(\)|;)/.exec(a);if(ji)return/Edge\/([\d\.]+)/.exec(a);if(ii)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(li)return/WebKit\/(\S+)/.exec(a);if(hi)return/(?:Version)[ \/]?(\S+)/.exec(a)}();qi&&(pi=qi?qi[1]:"");if(ii){var ri=ni();if(null!=ri&&ri>parseFloat(pi)){oi=String(ri);break a}}oi=pi}var Qa={};
function si(a){Pa(a,function(){for(var b=0,c=ka(String(oi)).split("."),d=ka(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var h=c[f]||"",k=d[f]||"";do{h=/(\d*)(\D*)(.*)/.exec(h)||["","","",""];k=/(\d*)(\D*)(.*)/.exec(k)||["","","",""];if(0==h[0].length&&0==k[0].length)break;b=la(0==h[1].length?0:parseInt(h[1],10),0==k[1].length?0:parseInt(k[1],10))||la(0==h[2].length,0==k[2].length)||la(h[2],k[2]);h=h[3];k=k[3]}while(0==b)}return 0<=b})}var ti;var ui=aa.document;
ti=ui&&ii?ni()||("CSS1Compat"==ui.compatMode?parseInt(oi,10):5):void 0;var vi;if(!(vi=!ki&&!ii)){var wi;if(wi=ii)wi=9<=Number(ti);vi=wi}vi||ki&&si("1.9.1");ii&&si("9");function xi(a){var b=new u(null,2,[Gh,th,Bh,Oh],null);return qb(function(b,d){var c=T(d,0);d=T(d,1);return Gd(a,c)?pd.j(b,d,E.c(a,c)):b},qe(rd,a,wf(b)),b)};function yi(a){var b=new Oa;for(a=I(a);;)if(null!=a)b=b.append(y.f(L(a))),a=M(a);else return b.toString()}function zi(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};function Te(a){return U(a)?(a=Me.j(ve,He.f(function(a){var b=T(a,0);a=T(a,1);var d=W;if(b instanceof F||"string"===typeof b||b instanceof Ic){var e=Wd(b).split("-"),f=I(e);e=L(f);f=M(f);b=wd(f)||N.c("aria",e)||N.c("data",e)?b:Vd.f(yi(ld.c(He.c(zi,f),e)))}return new V(null,2,5,d,[b,a],null)}),a),U(Se.f(a))?Re(a):a):a}function Ai(a){return Bd(a)&&L(a)instanceof F};function Bi(a){return v(a)?Me.j(ve,Ke(ye(function(a){T(a,0);a=T(a,1);return wd(a)})),a):null}function Ci(a){return"string"===typeof a?a:a instanceof F?Wd(a):a}function Di(a){return Qd(a)&&L(a)instanceof F}
function Ei(a){return null==a?null:Di(a)?new V(null,1,5,W,[a],null):Qd(a)?L(a)instanceof Ic?new V(null,1,5,W,[a],null):He.c(Ci,a):a instanceof Ic?new V(null,1,5,W,[a],null):"string"===typeof a?new V(null,1,5,W,[a],null):a instanceof F?new V(null,1,5,W,[Ci(a)],null):(xd(a)||yd(a))&&we(function(a){return a instanceof F||"string"===typeof a},a)?Ne(Ci,a):xd(a)||yd(a)?Ne(Ci,a):a}function Fi(a){return v(Gh.f(a))?Qe.j(a,new V(null,1,5,W,[Gh],null),Ei):a}
function Gi(a){var b=He.c(Fi,a);a=pe(ge,qe(He,Gh,id([b])));return I(b)?(b=qb(Me,ve,b),wd(a)?b:pd.j(b,Gh,hf(a))):null}
function Hi(a){if(v(a)){var b=/^[.#]/;if("string"===typeof b)a=a.replace(new RegExp(String(b).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08"),"g"),"");else if(b instanceof RegExp){var c=v(b.ignoreCase)?"gi":"g";c=v(b.multiline)?[c,"m"].join(""):c;a=a.replace(new RegExp(b.source,v(b.yc)?[c,"u"].join(""):c),"")}else throw["Invalid match arg: ",y.f(b)].join("");}else a=null;return a}
function Ii(a){var b=kg(Wd(a));if(wd(b))throw Og(["Can't match CSS tag: ",y.f(a)].join(""),new u(null,1,[Sh,a],null));var c=v(function(){var a=L(L(b)),c=new ag(null,new u(null,2,["#",null,".",null],null),null);return c.f?c.f(a):c.call(null,a)}())?new V(null,2,5,W,["div",b],null):new V(null,2,5,W,[L(b),Lc(b)],null);a=T(c,0);c=T(c,1);return new V(null,3,5,W,[a,Hi(xe(function(a){return N.c("#",L(a))?a:null},c)),Me.j(md,ze.c(Ke(function(a){return N.c(".",L(a))}),He.f(Hi)),c)],null)}
var Ji=function Ji(a){null==a?a=Mc:"string"===typeof a?a=new nd(null,a,null,1,null):Ai(a)?a=new nd(null,a,null,1,null):Qd(a)&&L(a)instanceof Ic?a=new nd(null,a,null,1,null):Qd(a)||(yd(a)&&N.c(P(a),1)&&yd(L(a))&&"string"!==typeof L(a)&&!Ai(L(a))?(a=L(a),a=Ji.f?Ji.f(a):Ji.call(null,a)):a=yd(a)?a:new nd(null,a,null,1,null));return Le(ye(hb),a)};var Ki,Li,Mi,Ni,X=function X(a){if(null!=a&&null!=a.Ra)return a.Ra(a);var c=X[q(null==a?null:a)];if(null!=c)return c.f?c.f(a):c.call(null,a);c=X._;if(null!=c)return c.f?c.f(a):c.call(null,a);throw x("IInterpreter.interpret",a);};function Oi(a,b,c,d){var e=pa(a,"state","onChange"),f={};ua(f,b,{onChange:e});f[c]=d;return a.setState(f)}
function Pi(a,b){function c(a){var b={};ua(b,a,{onChange:ha(qa(this,"onChange"),this)});this.state=b;return React.Component.call(this,a)}c.displayName=["wrapped-",y.f(a)].join("");ia(c,React.Component);var d=c.prototype;d.onChange=function(a){var c=this.props.onChange;return v(c)?(c.f?c.f(a):c.call(null,a),Oi(this,this.props,b,pa(a,"target",b))):null};d.componentWillReceiveProps=function(a){var c=pa(this,"state",b),d=qa(ReactDOM.findDOMNode(this),b);return N.c(c,d)?Oi(this,a,b,qa(a,b)):Oi(this,a,
b,d)};d.render=function(){return React.createElement(a,this.state)};return c}function Qi(a,b){if(null!=b&&b.constructor===Object)switch(a){case "input":return null!=b.checked||null!=b.value;case "select":return null!=b.value;case "textarea":return null!=b.value;default:return!1}else return!1}
function Ri(a,b){if(Qi(a,b))switch(v(Ki)||(Li=Pi("input","value"),Mi=Pi("input","checked"),Ni=Pi("select","value"),Ki=Pi("textarea","value")),a){case "input":switch(null!=b&&b.constructor===Object?b.type:!1){case "radio":return Mi;case "checkbox":return Mi;default:return Li}case "select":return Ni;case "textarea":return Ki;default:return a}else return a}
var Si=function Si(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return Si.w(arguments[0],arguments[1],2<c.length?new J(c.slice(2),0,null):null)};Si.w=function(a,b,c){return re(React.createElement,Ri(a,b),b,c)};Si.G=2;Si.F=function(a){var b=L(a),c=M(a);a=L(c);c=M(c);return this.w(b,a,c)};
function Ti(a){a=Ig(xi(Te(a)));if(v(a)){var b=a.className;if(jb(b))a:{var c=new Oa;for(b=I(b);;)if(null!=b)c.append(y.f(L(b))),b=M(b),null!=b&&c.append(" ");else{c=c.toString();break a}}else c=b;/^[\s\xa0]*$/.test(null==c?"":String(c))?delete a.className:a.className=c;return a}return null}function Ui(a){return Me.j(md,He.f(X),a)}X["null"]=function(){return null};
V.prototype.Ra=function(){if(Ai(this)){var a=I(this);var b=L(a);a=M(a);if(!(b instanceof F||b instanceof Ic||"string"===typeof b))throw Og([y.f(b)," is not a valid element name."].join(""),new u(null,2,[Sh,b,eh,a],null));var c=Ii(b);b=T(c,0);var d=T(c,1);c=T(c,2);d=Bi(new u(null,2,[Fh,d,Gh,c],null));c=L(a);d=U(c)?new V(null,3,5,W,[b,Gi(id([d,c])),Ji(M(a))],null):new V(null,3,5,W,[b,Fi(d),Ji(a)],null);a=T(d,0);b=T(d,1);d=T(d,2);a=re(Si,a,Ti(b),Ui(d))}else a=Ui(this);return a};J.prototype.Ra=function(){return Ui(this)};
X._=function(a){return a};Td.prototype.Ra=function(){return Ui(this)};nd.prototype.Ra=function(){return Ui(this)};gf.prototype.Ra=function(){return Ui(this)};be.prototype.Ra=function(){return Ui(this)};Xd.prototype.Ra=function(){return Ui(this)};function Vi(a,b){return Me.j(md,Ae(function(b){return E.c(b,a)}),b)}function Wi(a,b){return Me.j(md,ze.c(He.f(function(b){return Be(function(a){return E.c(b,a)},a)}),Eg),b)}function Xi(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;return Yi(arguments[0],arguments[1],2<b.length?new J(b.slice(2),0,null):null)}function Yi(a,b,c){return qb(function(a,b){return qe(b,a,c)},a,b)};var Zi;function $i(a){return qa(a.state,":rum/state")}function aj(a,b){b=I(b);for(var c=null,d=0,e=0;;)if(e<d){var f=c.J(null,e),h=T(f,0);f=T(f,1);null!=f&&(h=Wd(h),f=Ig(f),a[h]=f);e+=1}else if(b=I(b))Cd(b)?(d=oc(b),b=pc(b),c=d,d=P(d)):(c=L(b),h=T(c,0),f=T(c,1),null!=f&&(c=Wd(h),d=Ig(f),a[c]=d),b=M(b),c=null,d=0),e=0;else break}
function bj(a,b,c){function d(a){this.state={":rum/state":new Ge(Yi(pd.j(qa(a,":rum/initial-state"),Rg,this),e,id([a])))};return React.Component.call(this,a)}var e=Vi(ah,b),f=Wi(new V(null,2,5,W,[yh,rh],null),b),h=Vi(Vh,b),k=qb(function(a,b){return b.f?b.f(a):b.call(null,a)},a,h),l=Wi(new V(null,2,5,W,[Sg,Qh],null),b),m=Vi(Yg,b),n=Vi(Zh,b),p=Wi(new V(null,2,5,W,[Ih,rh],null),b),t=Wi(new V(null,2,5,W,[vh,Qh],null),b),A=Vi(gh,b),C=Vi(Ug,b),D=Vi(hh,b);a=Jd(Zf,Vi(Kh,b));b=Jd(Zf,Vi(Rh,b));ia(d,React.Component);
h=qa(d,"prototype");wd(f)||ra(h,"componentWillMount",function(){return tc($i(this),Xi(B($i(this)),f))});wd(l)||ra(h,"componentDidMount",function(){return tc($i(this),Xi(B($i(this)),l))});ra(h,"componentWillReceiveProps",function(a){var b=B($i(this));a=Zf.w(id([b,qa(a,":rum/initial-state")]));a=qb(function(a,c){return c.c?c.c(b,a):c.call(null,b,a)},a,m);return this.setState({":rum/state":new Ge(a)})});wd(n)||ra(h,"shouldComponentUpdate",function(a,b){var c=B($i(this)),d=B(qa(b,":rum/state"));a=xe(function(a){return a.c?
a.c(c,d):a.call(null,c,d)},n);return v(a)?a:!1});wd(p)||ra(h,"componentWillUpdate",function(a,b){a=qa(b,":rum/state");return tc(a,Xi(B(a),p))});ra(h,"render",function(){var a=$i(this),b=B(a);var c=k.f?k.f(b):k.call(null,b);b=T(c,0);c=T(c,1);tc(a,c);return b});wd(t)||ra(h,"componentDidUpdate",function(){return tc($i(this),Xi(B($i(this)),t))});wd(A)||ra(h,"componentDidCatch",function(a,b){tc($i(this),Yi(B($i(this)),A,id([a,new u(null,1,[Ch,qa(b,"componentStack")],null)])));return this.forceUpdate()});
ra(h,"componentWillUnmount",function(){wd(C)||tc($i(this),Xi(B($i(this)),C));this[":rum/unmounted?"]=!0});wd(D)||ra(h,"getChildContext",function(){var a=B($i(this));return Ig(Md(He.f(function(b){return b.f?b.f(a):b.call(null,a)}),Zf,ve,D))});aj(h,a);d.displayName=c;aj(d,b);return d}function cj(a){function b(){var b=a.v?a.v():a.call(null);return b.apply(b,arguments)}b.Ib=r;b.S=function(){return vd(a.v?a.v():a.call(null))};return b}
function Y(a,b,c,d){return cj(ja(function(){return a.j?a.j(b,c,d):a.call(null,b,c,d)}))}
function dj(a,b,c){var d=bj(a,b,c),e=L(Vi(wh,b));return ud(null!=e?function(){function a(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new J(d,0,null)}return b.call(this,c)}function b(a){a={":rum/initial-state":new u(null,1,[mh,a],null),key:pe(e,a)};return React.createElement(d,a)}a.G=0;a.F=function(a){a=I(a);return b(a)};a.w=b;return a}():function(){function a(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-
0);c<d.length;)d[c]=arguments[c+0],++c;c=new J(d,0,null)}return b.call(this,c)}function b(a){return React.createElement(d,{":rum/initial-state":new u(null,1,[mh,a],null)})}a.G=0;a.F=function(a){a=I(a);return b(a)};a.w=b;return a}(),new u(null,1,[$g,d],null))}function ej(a,b){return N.c(a[":rum/args"],b[":rum/args"])}function fj(a){var b=React.memo;return null==b?a:b.c?b.c(a,ej):b.call(null,a,ej)}
function gj(a,b,c){if(N.c(b,new V(null,1,5,W,[hj],null))){var d=function(b){return pe(a,b[":rum/args"])};d.displayName=c;var e=fj(d);b=function(){function a(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new J(d,0,null)}return b.call(this,c)}function b(a){return React.createElement(e,{":rum/args":a})}a.G=0;a.F=function(a){a=I(a);return b(a)};a.w=b;return a}();return ud(b,new u(null,1,[$g,e],null))}return wd(b)?(d=function(b){return pe(a,
b[":rum/args"])},d.displayName=c,b=function(){function a(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new J(d,0,null)}return b.call(this,c)}function b(a){return React.createElement(d,{":rum/args":a})}a.G=0;a.F=function(a){a=I(a);return b(a)};a.w=b;return a}(),ud(b,new u(null,1,[$g,d],null))):dj(function(b){return new V(null,2,5,W,[pe(a,mh.f(b)),b],null)},b,c)}
function ij(a,b,c){return dj(function(b){return new V(null,2,5,W,[qe(a,b,mh.f(b)),b],null)},b,c)}function jj(a,b,c){return dj(function(b){return new V(null,2,5,W,[qe(a,Rg.f(b),mh.f(b)),b],null)},b,c)}
var kj=function(){var a="undefined"!==typeof window?function(){var a=window.requestAnimationFrame;if(v(a))return a;a=window.webkitRequestAnimationFrame;if(v(a))return a;a=window.mozRequestAnimationFrame;return v(a)?a:window.msRequestAnimationFrame}():!1;return v(a)?a:function(a){return setTimeout(a,16)}}(),lj=function(){var a="undefined"!==typeof ReactNative?ReactNative.unstable_batchedUpdates:null;if(v(a))return a;a="undefined"!==typeof ReactDOM?ReactDOM.unstable_batchedUpdates:null;return v(a)?
a:function(a,c){return a.f?a.f(c):a.call(null,c)}}(),mj=new Ge(md);function nj(a){a=I(a);for(var b=null,c=0,d=0;;)if(d<c){var e=b.J(null,d);null!=e&&kb(qa(e,":rum/unmounted?"))&&e.forceUpdate();d+=1}else if(a=I(a))b=a,Cd(b)?(a=oc(b),c=pc(b),b=a,e=P(a),a=c,c=e):(e=L(b),null!=e&&kb(qa(e,":rum/unmounted?"))&&e.forceUpdate(),a=M(b),b=null,c=0),d=0;else return null}function pj(){var a=B(mj);tc(mj,md);return lj.c?lj.c(nj,a):lj.call(null,nj,a)}
function qj(a){wd(B(mj))&&(kj.f?kj.f(pj):kj.call(null,pj));return mj.Bb(null,ld.c(mj.pa(null),a))}function rj(a,b){return ReactDOM.hydrate(a,b)}function sj(a,b){return React.cloneElement(a,{key:b},null)}var hj=new u(null,1,[Zh,function(a,b){a=mh.f(a);b=mh.f(b);return!N.c(a,b)}],null);function tj(a){return new u(null,1,[yh,function(b){var c=De(0),d=Rg.f(b);Cg(c,a,function(){return qj(d)});return pd.j(b,a,c)}],null)}
var uj=new u(null,3,[ah,function(a){return pd.j(a,kh,Mg())},Vh,function(a){return function(b){var c=Zi,d=new Ge(cg);Zi=d;try{var e=Rg.f(b),f=Xh.c(b,cg),h=a.f?a.f(b):a.call(null,b),k=T(h,0),l=T(h,1),m=B(Zi),n=kh.f(b),p=I(f);b=null;for(var t=0,A=0;;)if(A<t){var C=b.J(null,A);Gd(m,C)||ic(C,n);A+=1}else{var D=I(p);if(D){var G=D;if(Cd(G)){var H=oc(G),S=pc(G);G=H;var ea=P(H);p=S;b=G;t=ea}else{var na=L(G);Gd(m,na)||ic(na,n);p=M(G);b=null;t=0}A=0}else break}var Ea=I(m);p=null;for(D=C=0;;)if(D<C){var K=p.J(null,
D);Gd(f,K)||Cg(K,n,function(a,b,c,d,e,f){return function(){return qj(f)}}(Ea,p,C,D,K,e,f,h,k,l,m,n,c,d));D+=1}else{var lf=I(Ea);if(lf){H=lf;if(Cd(H)){var sa=oc(H),za=pc(H);H=sa;var Da=P(sa);Ea=za;p=H;C=Da}else{var Aa=L(H);Gd(f,Aa)||Cg(Aa,n,function(a,b,c,d,e,f,h,k){return function(){return qj(k)}}(Ea,p,C,D,Aa,H,lf,e,f,h,k,l,m,n,c,d));Ea=M(H);p=null;C=0}D=0}else break}return new V(null,2,5,W,[k,pd.j(l,Xh,m)],null)}finally{Zi=c}}},Ug,function(a){for(var b=kh.f(a),c=I(Xh.f(a)),d=null,e=0,f=0;;)if(f<
e){var h=d.J(null,f);ic(h,b);f+=1}else if(c=I(c))d=c,Cd(d)?(c=oc(d),f=pc(d),d=c,e=P(c),c=f):(c=L(d),ic(c,b),c=M(d),d=null,e=0),f=0;else break;return rd.w(a,Xh,id([kh]))}],null);function vj(a){if(!v(Zi))throw Error("Assert failed: rum.core/react is only supported in conjunction with rum.core/reactive\n*reactions*");tc(Zi,ld.c(B(Zi),a));return B(a)}
var wj=function wj(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return wj.w(arguments[0],arguments[1],2<c.length?new J(c.slice(2),0,null):null)};wj.w=function(a,b,c){c=null!=c&&(c.m&64||r===c.wa)?pe(Wf,c):c;return a instanceof bi?new bi(a.ref,Me.c(a.path,b),db.f(c)):new bi(a,b,db.f(c))};wj.G=2;wj.F=function(a){var b=L(a),c=M(a);a=L(c);c=M(c);return this.w(b,a,c)};
function xj(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;return re(wj,arguments[0],new V(null,1,5,W,[arguments[1]],null),2<b.length?new J(b.slice(2),0,null):null)};var yj=Y(gj,function(){function a(a,b){var c=new u(null,1,[Se,new u(null,1,[ih,10*b],null)],null);return yd(a)?re(React.createElement,"div",U(c)?Ti(Gi(id([new u(null,1,[Gh,new V(null,1,5,W,["branch"],null)],null),c]))):{className:"branch"},U(c)?new V(null,1,5,W,[X(He.c(function(a){var c=b+1;c=yj.c?yj.c(a,c):yj.call(null,a,c);return sj(c,y.f(a))},a))],null):new V(null,2,5,W,[X(c),X(He.c(function(a){var c=b+1;c=yj.c?yj.c(a,c):yj.call(null,a,c);return sj(c,y.f(a))},a))],null)):re(React.createElement,
"div",U(c)?Ti(Gi(id([new u(null,1,[Gh,new V(null,1,5,W,["leaf"],null)],null),c]))):{className:"leaf"},U(c)?new V(null,1,5,W,[X(y.f(a))],null):new V(null,2,5,W,[X(c),X(y.f(a))],null))}function b(a){return X(yj.c?yj.c(a,0):yj.call(null,a,0))}var c=null;c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.f=b;c.c=a;return c}(),new V(null,1,5,W,[hj],null),"rum.examples.self-reference/self-reference");var zj=hg(1,5),Aj=Y(gj,function(a){var b=vj(a);return Si("input",{type:"text",value:y.f(b),style:{width:170},onChange:function(b){return Ee(a,Nd(b.currentTarget.value))}})},new V(null,1,5,W,[uj],null),"rum.examples.inputs/reactive-input"),Bj=Y(gj,function(a){var b=vj(a);return React.createElement("div",null,ob(function(){return function e(d){return new Xd(null,function(){for(;;){var f=I(d);if(f){var h=f;if(Cd(h)){var k=oc(h),l=P(k),m=ae(l);return function(){for(var d=0;;)if(d<l){var e=zb.c(k,d);de(m,
Si("input",{key:e,type:"checkbox",checked:N.c(e,b),value:e,onClick:function(b,d){return function(){return Ee(a,d)}}(d,e,k,l,m,h,f,b)}));d+=1}else return!0}()?ce(m.K(),e(pc(h))):ce(m.K(),null)}var n=L(h);return R(Si("input",{key:n,type:"checkbox",checked:N.c(n,b),value:n,onClick:function(b){return function(){return Ee(a,b)}}(n,h,f,b)}),e(Lc(h)))}return null}},null)}(zj)}()))},new V(null,1,5,W,[uj],null),"rum.examples.inputs/checkboxes"),Cj=Y(gj,function(a){var b=vj(a);return React.createElement("div",
null,ob(function(){return function e(d){return new Xd(null,function(){for(;;){var f=I(d);if(f){var h=f;if(Cd(h)){var k=oc(h),l=P(k),m=ae(l);return function(){for(var d=0;;)if(d<l){var e=zb.c(k,d);de(m,Si("input",{key:e,type:"radio",name:"inputs_radio",checked:N.c(e,b),value:e,onClick:function(b,d){return function(){return Ee(a,d)}}(d,e,k,l,m,h,f,b)}));d+=1}else return!0}()?ce(m.K(),e(pc(h))):ce(m.K(),null)}var n=L(h);return R(Si("input",{key:n,type:"radio",name:"inputs_radio",checked:N.c(n,b),value:n,
onClick:function(b){return function(){return Ee(a,b)}}(n,h,f,b)}),e(Lc(h)))}return null}},null)}(zj)}()))},new V(null,1,5,W,[uj],null),"rum.examples.inputs/radio"),Dj=Y(gj,function(a){var b=vj(a);return Si.w("select",{onChange:function(b){return Ee(a,Nd(b.target.value))},value:y.f(b)},id([ob(function(){return function e(a){return new Xd(null,function(){for(;;){var b=I(a);if(b){if(Cd(b)){var d=oc(b),k=P(d),l=ae(k);a:for(var m=0;;)if(m<k){var n=zb.c(d,m);n=React.createElement("option",{key:n,value:y.f(n)},
X(n));l.add(n);m+=1}else{d=!0;break a}return d?ce(l.K(),e(pc(b))):ce(l.K(),null)}l=L(b);return R(React.createElement("option",{key:l,value:y.f(l)},X(l)),e(Lc(b)))}return null}},null)}(zj)}())]))},new V(null,1,5,W,[uj],null),"rum.examples.inputs/select");function Ej(a){for(var b=a;;)if(N.c(a,b))b=zj,b=ed(b,Math.floor(Math.random()*P(b)));else return b}
var Fj=Y(gj,function(a){return React.createElement("button",{onClick:function(){return Fe.c(a,Ej)}},"Next value")},new V(null,1,5,W,[uj],null),"rum.examples.inputs/shuffle-button"),Gj=Y(gj,function(a){a=xg(id([vj(a)]));return re(React.createElement,"code",U(a)?Ti(a):null,U(a)?null:new V(null,1,5,W,[X(a)],null))},new V(null,1,5,W,[uj],null),"rum.examples.inputs/value"),Hj=Y(gj,function(){var a=De(1);return React.createElement("dl",null,React.createElement("dt",null,"Input"),function(){var b=Aj.f?Aj.f(a):
Aj.call(null,a);return re(React.createElement,"dd",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}(),React.createElement("dt",null,"Checks"),function(){var b=Bj.f?Bj.f(a):Bj.call(null,a);return re(React.createElement,"dd",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}(),React.createElement("dt",null,"Radio"),function(){var b=Cj.f?Cj.f(a):Cj.call(null,a);return re(React.createElement,"dd",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}(),React.createElement("dt",null,
"Select"),function(){var b=Dj.f?Dj.f(a):Dj.call(null,a);return re(React.createElement,"dd",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}(),function(){var b=Gj.f?Gj.f(a):Gj.call(null,a);return re(React.createElement,"dt",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}(),function(){var b=Fj.f?Fj.f(a):Fj.call(null,a);return re(React.createElement,"dd",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}())},null,"rum.examples.inputs/inputs");var Ij=Y(gj,function(){return ob(function(){return function c(b){return new Xd(null,function(){for(;;){var d=I(b);if(d){if(Cd(d)){var e=oc(d),f=P(e),h=ae(f);a:for(var k=0;;)if(k<f){var l=zb.c(e,k);l=React.createElement("li",{key:l},X(["Item #",y.f(l)].join("")));h.add(l);k+=1}else{e=!0;break a}return e?ce(h.K(),c(pc(d))):ce(h.K(),null)}h=L(d);return R(React.createElement("li",{key:h},X(["Item #",y.f(h)].join(""))),c(Lc(d)))}return null}},null)}(hg(0,5))}())},null,"rum.examples.multiple-return/multiple-return"),
Jj=Y(gj,function(a){return React.createElement("ul",null,X(a))},null,"rum.examples.multiple-return/ulist");var Kj=React.createRef(),Lj=Y(jj,function(a){return Si("textarea",{ref:Kj,style:{width:"100%",padding:"10px",font:"inherit",outline:"none",resize:"none"},defaultValue:"Auto-resizing\ntextarea",placeholder:"Auto-resizing textarea",onChange:function(){return qj(a)}})},new V(null,1,5,W,[new u(null,1,[Qh,function(a){var b=Kj.current;b.style.height="0";b.style.height=[y.f(2+b.scrollHeight),"px"].join("");return a}],null)],null),"rum.examples.refs/ta"),Mj=Y(gj,function(){var a=Lj.v?Lj.v():Lj.call(null);
return re(React.createElement,"div",U(a)?Ti(a):null,U(a)?null:new V(null,1,5,W,[X(a)],null))},null,"rum.examples.refs/refs");var Nj=De(0),Oj=De("#FA8D97"),Pj=De(167);function Qj(a){return document.getElementById(a)}
var Rj=Y(gj,function(a){a=P(a.Wa);return re(React.createElement,"span",U(a)?Ti(a):null,U(a)?null:new V(null,1,5,W,[X(a)],null))},new V(null,1,5,W,[function(a){return new u(null,2,[Sg,function(b){var c=Rg.f(b),d=setInterval(function(){return qj(c)},a);return pd.j(b,Ph,d)},Ug,function(a){return clearInterval(Ph.f(a))}],null)}(1E3)],null),"rum.examples.core/watches-count"),Sj=Y(gj,function(a,b){return React.createElement("div",{className:"stats"},"Renders: ",X(vj(b)),React.createElement("br",null),"Board watches: ",
X(Rj.f?Rj.f(a):Rj.call(null,a)),React.createElement("br",null),"Color watches: ",X(Rj.f?Rj.f(Oj):Rj.call(null,Oj)))},new V(null,1,5,W,[uj],null),"rum.examples.core/board-stats");var Tj=Y(gj,function(a,b){return React.createElement("span",{style:{color:b}},X((new Date(a)).toISOString().substring(11,23)))},new V(null,1,5,W,[hj],null),"rum.examples.timer-reactive/colored-clock"),Uj=Y(gj,function(){return React.createElement("div",null,"Reactive: ",X(function(){var a=vj(Nj),b=vj(Oj);return Tj.c?Tj.c(a,b):Tj.call(null,a,b)}()))},new V(null,1,5,W,[uj],null),"rum.examples.timer-reactive/timer-reactive");var Vj=Y(gj,function(a,b){return re(React.createElement,"div",U(a)?Ti(a):null,U(a)?new V(null,2,5,W,[": ",React.createElement("span",{style:{color:B(Oj)}},X((new Date(b)).toISOString().substring(11,23)))],null):new V(null,3,5,W,[X(a),": ",React.createElement("span",{style:{color:B(Oj)}},X((new Date(b)).toISOString().substring(11,23)))],null))},new V(null,1,5,W,[hj],null),"rum.examples.timer-static/timer-static");var Wj=Y(ij,function(a,b){var c=Lh.f(a);return React.createElement("div",{style:{WebkitUserSelect:"none",cursor:"pointer"},onClick:function(){return Fe.c(c,Vc)}},X(b),": ",X(B(c)))},new V(null,1,5,W,[tj(Lh)],null),"rum.examples.local-state/local-state");var Xj=Y(gj,function(a){return React.createElement("div",{onClick:function(){return Fe.c(a,Vc)},style:{userSelect:"none",cursor:"pointer"}},"[ PORTAL Clicks: ",X(B(a))," ]")},null,"rum.examples.portals/portal"),Yj=Y(ij,function(a){a=null!=a&&(a.m&64||r===a.wa)?pe(Wf,a):a;var b=E.c(a,bh);return React.createElement("div",{onClick:function(){return Fe.c(b,Vc)},style:{userSelect:"none",cursor:"pointer"}},"[ ROOT Clicks: ",X(B(b))," ]",X(ReactDOM.createPortal(Xj.f?Xj.f(b):Xj.call(null,b),Qj("portal-off-root"))))},
new V(null,1,5,W,[tj(bh)],null),"rum.examples.portals/root");var Zj=Y(jj,function(a){return React.createElement("div",{style:{color:a.context.color}},"(Class-based Context API) Child component uses context to set font color.")},new V(null,1,5,W,[new u(null,1,[Rh,new u(null,1,[lh,new u(null,1,[Zg,PropTypes.string],null)],null)],null)],null),"rum.examples.context/rum-context-comp"),ak=React.createContext(null);ak.displayName="Context(rum.examples.context/*color-ctx*)";
var bk=Y(gj,function(){return X(React.createElement(ak.Consumer,null,function(a){return React.createElement("div",{style:{color:a}},"(Component-based Context API) Child component uses context to set font color.")}))},null,"rum.examples.context/rum-create-context-comp"),ck=Y(gj,function(){return React.createElement("div",null,React.createElement("div",null,"Root component implicitly passes data to descendants."),X(Zj.v?Zj.v():Zj.call(null)),X(React.createElement(ak.Provider,{value:B(Oj)},X(bk.v?bk.v():
bk.call(null)))))},new V(null,1,5,W,[new u(null,2,[hh,function(){return new u(null,1,[Zg,B(Oj)],null)},Rh,new u(null,1,[ch,new u(null,1,[Zg,PropTypes.string],null)],null)],null)],null),"rum.examples.context/context");var dk=new u(null,2,[fh,"Components can store custom data on the underlying React component.",Uh,function(){var a=this;return new V(null,3,5,W,[uh,new u(null,2,[Se,new u(null,1,[oh,"pointer"],null),Jh,function(){Ee(Oj,["#",y.f(Math.floor(16777215*Math.random()).toString(16))].join(""));var b=new V(null,3,5,W,[uh,new u(null,1,[Se,new u(null,1,[Zg,B(Oj)],null)],null),fh.f(dk)],null);a.msgData=b;return qj(a)}],null),"Custom methods too. Hover over me!"],null)}],null),ek=Y(jj,function(a){return React.createElement("div",
null,function(){var b=qa(a,"msgData");return re(React.createElement,"div",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}(),function(){var b=qa(a,"msgMethod").call(a);return re(React.createElement,"div",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}())},new V(null,1,5,W,[new u(null,1,[Kh,dk],null)],null),"rum.examples.custom-props/custom-props");function fk(a){return React.createElement("h2",null,a.children)}var gk=Y(gj,function(){return React.createElement("div",null,React.createElement("h1",null,"This is Rum component"),X(React.createElement.apply(React,[fk,null].concat(["This is JS component"]))))},null,"rum.examples.js-components/js-components");var hk=Y(gj,function(a){throw new Ng(a,ve);},null,"rum.examples.errors/faulty-render"),ik=Y(ij,function(a,b,c){a=null!=a&&(a.m&64||r===a.wa)?pe(Wf,a):a;var d=E.c(a,Wg);E.c(a,Rg);return null!=d?React.createElement("span",null,"CAUGHT: ",X(y.f(d))):React.createElement("span",null,"No error: ",X(b.f?b.f(c):b.call(null,c)))},new V(null,1,5,W,[new u(null,1,[gh,function(a,b){return pd.j(a,Wg,b)}],null)],null),"rum.examples.errors/child-error"),jk=Y(gj,function(){var a=ik.c?ik.c(hk,"render error"):ik.call(null,
hk,"render error");return re(React.createElement,"span",U(a)?Ti(a):null,U(a)?null:new V(null,1,5,W,[X(a)],null))},null,"rum.examples.errors/errors");var kk=He.c(function(a){return 2<=a&&wd(Le(function(b){return N.c(0,(a%b+b)%b)},hg(2,a)))},hg(0,190)),lk=De(Ne(hf,Oe(19,19,kk))),mk=De(0),nk=Y(gj,function(a,b){Fe.c(mk,Vc);var c=wj(lk,new V(null,2,5,W,[b,a],null));return React.createElement("div",{style:{backgroundColor:v(vj(c))?vj(Oj):null},onMouseOver:function(){Fe.c(c,kb);return null},className:"art-cell"})},new V(null,1,5,W,[uj],null),"rum.examples.board-reactive/cell"),ok=Y(gj,function(){return React.createElement("div",{className:"artboard"},
ob(function(){return function c(b){return new Xd(null,function(){for(;;){var d=I(b);if(d){var e=d;if(Cd(e)){var f=oc(e),h=P(f),k=ae(h);return function(){for(var b=0;;)if(b<h){var c=zb.c(f,b);de(k,React.createElement("div",{key:c,className:"art-row"},ob(function(){return function(b,c,d,e,f,h,k){return function na(l){return new Xd(null,function(b,c){return function(){for(;;){var b=I(l);if(b){if(Cd(b)){var d=oc(b),e=P(d),f=ae(e);a:for(var h=0;;)if(h<e){var k=zb.c(d,h);k=X(sj(nk.c?nk.c(k,c):nk.call(null,
k,c),new V(null,2,5,W,[k,c],null)));f.add(k);h+=1}else{d=!0;break a}return d?ce(f.K(),na(pc(b))):ce(f.K(),null)}f=L(b);return R(X(sj(nk.c?nk.c(f,c):nk.call(null,f,c),new V(null,2,5,W,[f,c],null))),na(Lc(b)))}return null}}}(b,c,d,e,f,h,k),null)}}(b,c,f,h,k,e,d)(hg(0,19))}())));b+=1}else return!0}()?ce(k.K(),c(pc(e))):ce(k.K(),null)}var l=L(e);return R(React.createElement("div",{key:l,className:"art-row"},ob(function(){return function(b){return function t(c){return new Xd(null,function(){for(;;){var d=
I(c);if(d){if(Cd(d)){var e=oc(d),f=P(e),h=ae(f);a:for(var k=0;;)if(k<f){var l=zb.c(e,k);l=X(sj(nk.c?nk.c(l,b):nk.call(null,l,b),new V(null,2,5,W,[l,b],null)));h.add(l);k+=1}else{e=!0;break a}return e?ce(h.K(),t(pc(d))):ce(h.K(),null)}h=L(d);return R(X(sj(nk.c?nk.c(h,b):nk.call(null,h,b),new V(null,2,5,W,[h,b],null))),t(Lc(d)))}return null}},null)}}(l,e,d)(hg(0,19))}())),c(Lc(e)))}return null}},null)}(hg(0,10))}()),X(Sj.c?Sj.c(lk,mk):Sj.call(null,lk,mk)))},null,"rum.examples.board-reactive/board-reactive");var pk=Y(gj,function(a){return Si("input",{type:"text",value:vj(a),style:{width:100},onChange:function(b){return Ee(a,b.target.value)}})},new V(null,1,5,W,[uj],null),"rum.examples.controls/input"),qk=Y(gj,function(){return React.createElement("dl",null,React.createElement("dt",null,"Color: "),function(){var a=pk.f?pk.f(Oj):pk.call(null,Oj);return re(React.createElement,"dd",U(a)?Ti(a):null,U(a)?null:new V(null,1,5,W,[X(a)],null))}(),React.createElement("dt",null,"Clone: "),function(){var a=pk.f?pk.f(Oj):
pk.call(null,Oj);return re(React.createElement,"dd",U(a)?Ti(a):null,U(a)?null:new V(null,1,5,W,[X(a)],null))}(),React.createElement("dt",null,"Color: "),function(){var a=Rj.f?Rj.f(Oj):Rj.call(null,Oj);return re(React.createElement,"dd",U(a)?Ti(a):null,U(a)?new V(null,1,5,W,[" watches"],null):new V(null,2,5,W,[X(a)," watches"],null))}(),React.createElement("dt",null,"Tick: "),function(){var a=pk.f?pk.f(Pj):pk.call(null,Pj);return re(React.createElement,"dd",U(a)?Ti(a):null,U(a)?new V(null,1,5,W,[" ms"],
null):new V(null,2,5,W,[X(a)," ms"],null))}(),React.createElement("dt",null,"Time:"),function(){var a=Rj.f?Rj.f(Nj):Rj.call(null,Nj);return re(React.createElement,"dd",U(a)?Ti(a):null,U(a)?new V(null,1,5,W,[" watches"],null):new V(null,2,5,W,[X(a)," watches"],null))}())},null,"rum.examples.controls/controls");var rk=Y(gj,function(a,b){a=[y.f(a),"-",y.f(b)].join("");return re(React.createElement,"div",U(a)?Ti(a):null,U(a)?null:new V(null,1,5,W,[X(a)],null))},new V(null,1,5,W,[new u(null,1,[wh,function(a,b){return[y.f(a),"-",y.f(b)].join("")}],null)],null),"rum.examples.keys/keyed"),sk=Y(gj,function(){var a=new nd(null,rk.c?rk.c("a",1):rk.call(null,"a",1),new nd(null,rk.c?rk.c("a",2):rk.call(null,"a",2),new nd(null,rk.c?rk.c("b",1):rk.call(null,"b",1),new nd(null,sj(rk.c?rk.c("a",1):rk.call(null,"a",1),
"x"),null,1,null),2,null),3,null),4,null);return re(React.createElement,"div",U(a)?Ti(a):null,U(a)?null:new V(null,1,5,W,[X(a)],null))},null,"rum.examples.keys/keys");var tk=De(new u(null,2,[ai,180,Dh,80],null));function uk(a,b,c,d){a:switch(a instanceof F?a.xa:null){case "bmi":var e=Dh;break a;default:e=Hh}return new V(null,2,5,W,[Th,new u(null,6,[ph,"range",jh,b|0,Tg,c,Eh,d,Se,new u(null,1,[nh,"100%"],null),Wh,function(b){return Fe.w(tk,pd,a,b.target.value,id([e,null]))}],null)],null)}
var vk=Y(gj,function(){var a=vj(tk);a=null!=a&&(a.m&64||r===a.wa)?pe(Wf,a):a;var b=E.c(a,ai),c=E.c(a,Dh),d=E.c(a,Hh);b/=100;a=null==d?pd.j(a,Hh,c/(b*b)):pd.j(a,Dh,d*b*b);a=null!=a&&(a.m&64||r===a.wa)?pe(Wf,a):a;c=E.c(a,Dh);d=E.c(a,ai);b=E.c(a,Hh);var e=18.5>b?new V(null,2,5,W,["orange","underweight"],null):25>b?new V(null,2,5,W,["inherit","normal"],null):30>b?new V(null,2,5,W,["orange","overweight"],null):new V(null,2,5,W,["red","obese"],null),f=T(e,0);e=T(e,1);Ee(tk,a);return React.createElement("div",
{className:"bmi"},React.createElement("div",null,"Height: ",X(d|0),"cm",X(uk(ai,d,100,220))),React.createElement("div",null,"Weight: ",X(c|0),"kg",X(uk(Dh,c,30,150))),React.createElement("div",null,"BMI: ",X(b|0)," ",React.createElement("span",{style:{color:f}},X(e)),X(uk(Hh,b,10,50))))},new V(null,1,5,W,[uj],null),"rum.examples.bmi-calculator/bmi-calculator");var wk=De(0),xk=Y(gj,function(a){return React.createElement("div",{className:"stats"},"Renders: ",X(vj(a)))},new V(null,1,5,W,[uj],null),"rum.examples.binary-clock/render-count"),Z=Y(gj,function(a,b){Fe.c(wk,Vc);return React.createElement("td",{style:Ti(0!=(a&1<<b)?new u(null,1,[Yh,B(Oj)],null):null),className:"bclock-bit"})},new V(null,1,5,W,[hj],null),"rum.examples.binary-clock/bit"),yk=Y(gj,function(){var a=vj(Nj),b=(a%1E3+1E3)%1E3,c=(Od(a,1E3)%60+60)%60,d=(Od(a,6E4)%60+60)%60;a=(Od(a,36E5)%24+
24)%24;var e=Od(a,10),f=(a%10+10)%10,h=Od(d,10),k=(d%10+10)%10,l=Od(c,10),m=(c%10+10)%10,n=Od(b,100),p=(Od(b,10)%10+10)%10,t=(b%10+10)%10;return React.createElement("table",{className:"bclock"},React.createElement("tbody",null,React.createElement("tr",null,React.createElement("td",null),X(Z.c?Z.c(f,3):Z.call(null,f,3)),React.createElement("th",null),React.createElement("td",null),X(Z.c?Z.c(k,3):Z.call(null,k,3)),React.createElement("th",null),React.createElement("td",null),X(Z.c?Z.c(m,3):Z.call(null,
m,3)),React.createElement("th",null),X(Z.c?Z.c(n,3):Z.call(null,n,3)),X(Z.c?Z.c(p,3):Z.call(null,p,3)),X(Z.c?Z.c(t,3):Z.call(null,t,3))),React.createElement("tr",null,React.createElement("td",null),X(Z.c?Z.c(f,2):Z.call(null,f,2)),React.createElement("th",null),X(Z.c?Z.c(h,2):Z.call(null,h,2)),X(Z.c?Z.c(k,2):Z.call(null,k,2)),React.createElement("th",null),X(Z.c?Z.c(l,2):Z.call(null,l,2)),X(Z.c?Z.c(m,2):Z.call(null,m,2)),React.createElement("th",null),X(Z.c?Z.c(n,2):Z.call(null,n,2)),X(Z.c?Z.c(p,
2):Z.call(null,p,2)),X(Z.c?Z.c(t,2):Z.call(null,t,2))),function(){var a=Z.c?Z.c(e,1):Z.call(null,e,1);return re(React.createElement,"tr",U(a)?Ti(a):null,U(a)?new V(null,11,5,W,[X(Z.c?Z.c(f,1):Z.call(null,f,1)),React.createElement("th",null),X(Z.c?Z.c(h,1):Z.call(null,h,1)),X(Z.c?Z.c(k,1):Z.call(null,k,1)),React.createElement("th",null),X(Z.c?Z.c(l,1):Z.call(null,l,1)),X(Z.c?Z.c(m,1):Z.call(null,m,1)),React.createElement("th",null),X(Z.c?Z.c(n,1):Z.call(null,n,1)),X(Z.c?Z.c(p,1):Z.call(null,p,1)),
X(Z.c?Z.c(t,1):Z.call(null,t,1))],null):new V(null,12,5,W,[X(a),X(Z.c?Z.c(f,1):Z.call(null,f,1)),React.createElement("th",null),X(Z.c?Z.c(h,1):Z.call(null,h,1)),X(Z.c?Z.c(k,1):Z.call(null,k,1)),React.createElement("th",null),X(Z.c?Z.c(l,1):Z.call(null,l,1)),X(Z.c?Z.c(m,1):Z.call(null,m,1)),React.createElement("th",null),X(Z.c?Z.c(n,1):Z.call(null,n,1)),X(Z.c?Z.c(p,1):Z.call(null,p,1)),X(Z.c?Z.c(t,1):Z.call(null,t,1))],null))}(),function(){var a=Z.c?Z.c(e,0):Z.call(null,e,0);return re(React.createElement,
"tr",U(a)?Ti(a):null,U(a)?new V(null,11,5,W,[X(Z.c?Z.c(f,0):Z.call(null,f,0)),React.createElement("th",null),X(Z.c?Z.c(h,0):Z.call(null,h,0)),X(Z.c?Z.c(k,0):Z.call(null,k,0)),React.createElement("th",null),X(Z.c?Z.c(l,0):Z.call(null,l,0)),X(Z.c?Z.c(m,0):Z.call(null,m,0)),React.createElement("th",null),X(Z.c?Z.c(n,0):Z.call(null,n,0)),X(Z.c?Z.c(p,0):Z.call(null,p,0)),X(Z.c?Z.c(t,0):Z.call(null,t,0))],null):new V(null,12,5,W,[X(a),X(Z.c?Z.c(f,0):Z.call(null,f,0)),React.createElement("th",null),X(Z.c?
Z.c(h,0):Z.call(null,h,0)),X(Z.c?Z.c(k,0):Z.call(null,k,0)),React.createElement("th",null),X(Z.c?Z.c(l,0):Z.call(null,l,0)),X(Z.c?Z.c(m,0):Z.call(null,m,0)),React.createElement("th",null),X(Z.c?Z.c(n,0):Z.call(null,n,0)),X(Z.c?Z.c(p,0):Z.call(null,p,0)),X(Z.c?Z.c(t,0):Z.call(null,t,0))],null))}(),React.createElement("tr",null,re(React.createElement,"th",U(e)?Ti(e):null,U(e)?null:new V(null,1,5,W,[X(e)],null)),re(React.createElement,"th",U(f)?Ti(f):null,U(f)?null:new V(null,1,5,W,[X(f)],null)),React.createElement("th",
null),re(React.createElement,"th",U(h)?Ti(h):null,U(h)?null:new V(null,1,5,W,[X(h)],null)),re(React.createElement,"th",U(k)?Ti(k):null,U(k)?null:new V(null,1,5,W,[X(k)],null)),React.createElement("th",null),re(React.createElement,"th",U(l)?Ti(l):null,U(l)?null:new V(null,1,5,W,[X(l)],null)),re(React.createElement,"th",U(m)?Ti(m):null,U(m)?null:new V(null,1,5,W,[X(m)],null)),React.createElement("th",null),re(React.createElement,"th",U(n)?Ti(n):null,U(n)?null:new V(null,1,5,W,[X(n)],null)),re(React.createElement,
"th",U(p)?Ti(p):null,U(p)?null:new V(null,1,5,W,[X(p)],null)),re(React.createElement,"th",U(t)?Ti(t):null,U(t)?null:new V(null,1,5,W,[X(t)],null))),React.createElement("tr",null,React.createElement("th",{colSpan:8},X(xk.f?xk.f(wk):xk.call(null,wk))))))},new V(null,1,5,W,[uj],null),"rum.examples.binary-clock/binary-clock");var zk=Y(gj,function(a,b){return Si("input",{type:"text",style:{width:170,backgroundColor:v(function(){var c=vj(a);return b.f?b.f(c):b.call(null,c)}())?null:vj(Oj)},value:vj(a),onChange:function(b){return Ee(a,b.target.value)}})},new V(null,1,5,W,[uj],null),"rum.examples.form-validation/validating-input"),Ak=Y(jj,function(a,b,c){return Si("input",{type:"text",style:{width:170},value:vj(b),onChange:function(d){d=d.target.value;return v(c.f?c.f(d):c.call(null,d))?Ee(b,d):qj(a)}})},new V(null,1,5,W,
[uj],null),"rum.examples.form-validation/restricting-input"),Bk=Y(ij,function(a,b,c){var d=Rg.f(a);return X(React.createElement("input",{type:"text",style:{width:170},value:vj(b),onChange:function(a){a=a.target.value;v(c.f?c.f(a):c.call(null,a))&&Ee(b,a);return d.forceUpdate()}}))},new V(null,1,5,W,[uj],null),"rum.examples.form-validation/restricting-input-native"),Ck=Y(gj,function(){var a=De(new u(null,3,[Vg,"a@b.c",dh,"+7913 000 0000",Xg,"22"],null));return React.createElement("dl",null,React.createElement("dt",
null,"E-mail:"),function(){var b=function(){function b(a){return ig(/[^@]+@[^@.]+\..+/,a)}var d=xj(a,Vg);return zk.c?zk.c(d,b):zk.call(null,d,b)}();return re(React.createElement,"dd",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}(),React.createElement("dt",null,"Phone:"),function(){var b=function(){function b(a){return ig(/[0-9\- +()]*/,a)}var d=xj(a,dh);return Ak.c?Ak.c(d,b):Ak.call(null,d,b)}();return re(React.createElement,"dd",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}(),
React.createElement("dt",null,"Age:"),function(){var b=function(){function b(a){return ig(/([1-9][0-9]*)?/,a)}var d=xj(a,Xg);return Bk.c?Bk.c(d,b):Bk.call(null,d,b)}();return re(React.createElement,"dd",U(b)?Ti(b):null,U(b)?null:new V(null,1,5,W,[X(b)],null))}())},null,"rum.examples.form-validation/form-validation");gb();(function(a){rj(function(){var a=B(Nj);return Vj.c?Vj.c("Static",a):Vj.call(null,"Static",a)}(),a);return Cg(Nj,qh,function(b,c,d,e){return rj(Vj.c?Vj.c("Static",e):Vj.call(null,"Static",e),a)})})(Qj("timer-static"));var Dk=Qj("timer-reactive");rj(Uj.v?Uj.v():Uj.call(null),Dk);var Ek=Qj("controls");rj(qk.v?qk.v():qk.call(null),Ek);var Fk=Qj("binary-clock");rj(yk.v?yk.v():yk.call(null),Fk);var Gk=Qj("board-reactive");rj(ok.v?ok.v():ok.call(null),Gk);var Hk=Qj("bmi-calculator");
rj(vk.v?vk.v():vk.call(null),Hk);var Ik=Qj("form-validation"),Jk=Ck.v?Ck.v():Ck.call(null);ReactDOM.render(Jk,Ik);var Kk=Qj("inputs");rj(Hj.v?Hj.v():Hj.call(null),Kk);var Lk=Qj("refs");rj(Mj.v?Mj.v():Mj.call(null),Lk);var Mk=Qj("local-state");rj(Wj.f?Wj.f("Clicks count"):Wj.call(null,"Clicks count"),Mk);var Nk=Qj("keys");rj(sk.v?sk.v():sk.call(null),Nk);
var Ok=Qj("self-reference"),Pk,Qk=new V(null,2,5,W,[$h,new V(null,2,5,W,[Mh,new V(null,4,5,W,[zh,Nh,new V(null,1,5,W,[sh],null),xh],null)],null)],null);Pk=yj.f?yj.f(Qk):yj.call(null,Qk);rj(Pk,Ok);var Rk=Qj("context"),Sk=ck.v?ck.v():ck.call(null);ReactDOM.render(Sk,Rk);var Tk=Qj("custom-props"),Uk=ek.v?ek.v():ek.call(null);ReactDOM.render(Uk,Tk);var Vk=Qj("multiple-return"),Wk,Xk=Ij.v?Ij.v():Ij.call(null);Wk=Jj.f?Jj.f(Xk):Jj.call(null,Xk);rj(Wk,Vk);var Yk=Qj("portal-root");
rj(Yj.v?Yj.v():Yj.call(null),Yk);var Zk=Qj("client-errors"),$k=jk.v?jk.v():jk.call(null);ReactDOM.render($k,Zk);var al=Qj("js-components");rj(gk.v?gk.v():gk.call(null),al);(function bl(){Ee(Nj,(new Date).getTime());return setTimeout(bl,B(Pj))})();
;var g;
function t(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==
b&&"undefined"==typeof a.call)return"object";return b}var aa="closure_uid_"+(1E9*Math.random()>>>0),ca=0;function da(a,b){function c(){}c.prototype=b.prototype;a.Bc=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(d,e,f){for(var h=Array(arguments.length-2),k=2;k<arguments.length;k++)h[k-2]=arguments[k];return b.prototype[e].apply(d,h)}};function ea(a){let b=!1,c;return function(){b||(c=a(),b=!0);return c}};function fa(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};function ha(a){const b=[];let c=0;for(const d in a)b[c++]=d;return b}function ja(a,b){return null!==a&&b in a?a[b]:void 0}function ka(a,b,c){a[b]=c};function la(){this.Qb=""}la.prototype.toString=function(){return"SafeScript{"+this.Qb+"}"};la.prototype.La=function(a){this.Qb=a};(new la).La("");function ma(){this.Sb=""}ma.prototype.toString=function(){return"SafeStyle{"+this.Sb+"}"};ma.prototype.La=function(a){this.Sb=a};(new ma).La("");function qa(){this.Rb=""}qa.prototype.toString=function(){return"SafeStyleSheet{"+this.Rb+"}"};qa.prototype.La=function(a){this.Rb=a};(new qa).La("");function ra(){this.Pb=""}ra.prototype.toString=function(){return"SafeHtml{"+this.Pb+"}"};ra.prototype.La=function(a){this.Pb=a};(new ra).La("\x3c!DOCTYPE html\x3e");(new ra).La("");(new ra).La("\x3cbr\x3e");function sa(a,b){null!=a&&this.append.apply(this,arguments)}g=sa.prototype;g.Ra="";g.set=function(a){this.Ra=""+a};g.append=function(a,b,c){this.Ra+=String(a);if(null!=b)for(let d=1;d<arguments.length;d++)this.Ra+=arguments[d];return this};g.clear=function(){this.Ra=""};g.toString=function(){return this.Ra};var ta={},va={},wa;if("undefined"===typeof ta||"undefined"===typeof va||"undefined"===typeof u)var u={};if("undefined"===typeof ta||"undefined"===typeof va||"undefined"===typeof ya)var ya=null;if("undefined"===typeof ta||"undefined"===typeof va||"undefined"===typeof za)var za=null;var Ba=null;if("undefined"===typeof ta||"undefined"===typeof va||"undefined"===typeof Ca)var Ca=null;function Da(){return new w(null,5,[Ea,!0,Ga,!0,Ha,!1,Ia,!1,Ja,null],null)}
function Ka(){ya=function(){return console.log.apply(console,fa(arguments))};za=function(){return console.error.apply(console,fa(arguments))}}function x(a){return null!=a&&!1!==a}function Ma(a){return null==a}function Na(a){return a instanceof Array}function Oa(a){return null==a?!0:!1===a?!0:!1}function y(a,b){return a[t(null==b?null:b)]?!0:a._?!0:!1}
function Pa(a,b){var c=null==b?null:b.constructor;c=x(x(c)?c.Ob:c)?c.ub:t(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))}function Qa(a){var b=a.ub;return x(b)?b:A.f(a)}var Ra="undefined"!==typeof Symbol&&"function"===t(Symbol)?Symbol.iterator:"@@iterator";function Sa(a){for(var b=a.length,c=Array(b),d=0;;)if(d<b)c[d]=a[d],d+=1;else break;return c}function Ta(a){return Ua(function(b,c){b.push(c);return b},[],a)}
function Va(a){return"symbol"===t(a)||"undefined"!==typeof Symbol&&a instanceof Symbol}function Xa(){}function Ya(a){if(null!=a&&null!=a.O)a=a.O(a);else{var b=Ya[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=Ya._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("ICounted.-count",a);}return a}function Za(){}
function $a(a){if(null!=a&&null!=a.X)a=a.X(a);else{var b=$a[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=$a._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IEmptyableCollection.-empty",a);}return a}function ab(){}function bb(a,b){if(null!=a&&null!=a.Y)a=a.Y(a,b);else{var c=bb[t(null==a?null:a)];if(null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else if(c=bb._,null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else throw Pa("ICollection.-conj",a);}return a}function cb(){}
var eb=function(){function a(d,e,f){var h=db[t(null==d?null:d)];if(null!=h)return h.j?h.j(d,e,f):h.call(null,d,e,f);h=db._;if(null!=h)return h.j?h.j(d,e,f):h.call(null,d,e,f);throw Pa("IIndexed.-nth",d);}function b(d,e){var f=db[t(null==d?null:d)];if(null!=f)return f.c?f.c(d,e):f.call(null,d,e);f=db._;if(null!=f)return f.c?f.c(d,e):f.call(null,d,e);throw Pa("IIndexed.-nth",d);}var c=null;c=function(d,e,f){switch(arguments.length){case 2:return b.call(this,d,e);case 3:return a.call(this,d,e,f)}throw Error("Invalid arity: "+
arguments.length);};c.c=b;c.j=a;return c}(),db=function db(a){switch(arguments.length){case 2:return db.c(arguments[0],arguments[1]);case 3:return db.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",A.f(arguments.length)].join(""));}};db.c=function(a,b){return null!=a&&null!=a.K?a.K(a,b):eb.c(a,b)};db.j=function(a,b,c){return null!=a&&null!=a.ba?a.ba(a,b,c):eb.j(a,b,c)};db.G=3;function fb(){}
function gb(a){if(null!=a&&null!=a.aa)a=a.aa(a);else{var b=gb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=gb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("ISeq.-first",a);}return a}function hb(a){if(null!=a&&null!=a.ha)a=a.ha(a);else{var b=hb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=hb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("ISeq.-rest",a);}return a}function ib(){}function kb(){}
var mb=function(){function a(d,e,f){var h=lb[t(null==d?null:d)];if(null!=h)return h.j?h.j(d,e,f):h.call(null,d,e,f);h=lb._;if(null!=h)return h.j?h.j(d,e,f):h.call(null,d,e,f);throw Pa("ILookup.-lookup",d);}function b(d,e){var f=lb[t(null==d?null:d)];if(null!=f)return f.c?f.c(d,e):f.call(null,d,e);f=lb._;if(null!=f)return f.c?f.c(d,e):f.call(null,d,e);throw Pa("ILookup.-lookup",d);}var c=null;c=function(d,e,f){switch(arguments.length){case 2:return b.call(this,d,e);case 3:return a.call(this,d,e,f)}throw Error("Invalid arity: "+
arguments.length);};c.c=b;c.j=a;return c}(),lb=function lb(a){switch(arguments.length){case 2:return lb.c(arguments[0],arguments[1]);case 3:return lb.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",A.f(arguments.length)].join(""));}};lb.c=function(a,b){return null!=a&&null!=a.R?a.R(a,b):mb.c(a,b)};lb.j=function(a,b,c){return null!=a&&null!=a.D?a.D(a,b,c):mb.j(a,b,c)};lb.G=3;
function nb(a,b,c){if(null!=a&&null!=a.Oa)a=a.Oa(a,b,c);else{var d=nb[t(null==a?null:a)];if(null!=d)a=d.j?d.j(a,b,c):d.call(null,a,b,c);else if(d=nb._,null!=d)a=d.j?d.j(a,b,c):d.call(null,a,b,c);else throw Pa("IAssociative.-assoc",a);}return a}function ob(a,b){if(null!=a&&null!=a.cb)a=a.cb(a,b);else{var c=ob[t(null==a?null:a)];if(null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else if(c=ob._,null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else throw Pa("IFind.-find",a);}return a}function pb(){}
function qb(a,b){if(null!=a&&null!=a.zb)a=a.zb(a,b);else{var c=qb[t(null==a?null:a)];if(null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else if(c=qb._,null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else throw Pa("IMap.-dissoc",a);}return a}function rb(a){if(null!=a&&null!=a.ac)a=a.key;else{var b=rb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=rb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IMapEntry.-key",a);}return a}
function sb(a){if(null!=a&&null!=a.bc)a=a.U;else{var b=sb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=sb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IMapEntry.-val",a);}return a}function tb(){}function ub(){}function vb(a){if(null!=a&&null!=a.ma)a=a.ma(a);else{var b=vb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=vb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IDeref.-deref",a);}return a}function wb(){}
function xb(a){if(null!=a&&null!=a.S)a=a.S(a);else{var b=xb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=xb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IMeta.-meta",a);}return a}function yb(a,b){if(null!=a&&null!=a.W)a=a.W(a,b);else{var c=yb[t(null==a?null:a)];if(null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else if(c=yb._,null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else throw Pa("IWithMeta.-with-meta",a);}return a}function zb(){}
var Bb=function(){function a(d,e,f){var h=Ab[t(null==d?null:d)];if(null!=h)return h.j?h.j(d,e,f):h.call(null,d,e,f);h=Ab._;if(null!=h)return h.j?h.j(d,e,f):h.call(null,d,e,f);throw Pa("IReduce.-reduce",d);}function b(d,e){var f=Ab[t(null==d?null:d)];if(null!=f)return f.c?f.c(d,e):f.call(null,d,e);f=Ab._;if(null!=f)return f.c?f.c(d,e):f.call(null,d,e);throw Pa("IReduce.-reduce",d);}var c=null;c=function(d,e,f){switch(arguments.length){case 2:return b.call(this,d,e);case 3:return a.call(this,d,e,f)}throw Error("Invalid arity: "+
arguments.length);};c.c=b;c.j=a;return c}(),Ab=function Ab(a){switch(arguments.length){case 2:return Ab.c(arguments[0],arguments[1]);case 3:return Ab.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",A.f(arguments.length)].join(""));}};Ab.c=function(a,b){return null!=a&&null!=a.ca?a.ca(a,b):Bb.c(a,b)};Ab.j=function(a,b,c){return null!=a&&null!=a.da?a.da(a,b,c):Bb.j(a,b,c)};Ab.G=3;function Cb(){}
function Db(a,b,c){if(null!=a&&null!=a.sb)a=a.sb(a,b,c);else{var d=Db[t(null==a?null:a)];if(null!=d)a=d.j?d.j(a,b,c):d.call(null,a,b,c);else if(d=Db._,null!=d)a=d.j?d.j(a,b,c):d.call(null,a,b,c);else throw Pa("IKVReduce.-kv-reduce",a);}return a}function Eb(a,b){if(null!=a&&null!=a.B)a=a.B(a,b);else{var c=Eb[t(null==a?null:a)];if(null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else if(c=Eb._,null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else throw Pa("IEquiv.-equiv",a);}return a}
function Fb(a){if(null!=a&&null!=a.P)a=a.P(a);else{var b=Fb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=Fb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IHash.-hash",a);}return a}function Gb(){}function Hb(a){if(null!=a&&null!=a.T)a=a.T(a);else{var b=Hb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=Hb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("ISeqable.-seq",a);}return a}function Ib(){}function Kb(){}function Lb(){}function Mb(){}
function Nb(a){if(null!=a&&null!=a.tb)a=a.tb(a);else{var b=Nb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=Nb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IReversible.-rseq",a);}return a}function Ob(a,b){if(null!=a&&null!=a.Nb)a=a.Nb(a,b);else{var c=Ob[t(null==a?null:a)];if(null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else if(c=Ob._,null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else throw Pa("IWriter.-write",a);}return a}function Pb(){}
function Qb(a,b,c){if(null!=a&&null!=a.M)a=a.M(a,b,c);else{var d=Qb[t(null==a?null:a)];if(null!=d)a=d.j?d.j(a,b,c):d.call(null,a,b,c);else if(d=Qb._,null!=d)a=d.j?d.j(a,b,c):d.call(null,a,b,c);else throw Pa("IPrintWithWriter.-pr-writer",a);}return a}function Rb(a,b,c){if(null!=a&&null!=a.Cb)a.Cb(a,b,c);else{var d=Rb[t(null==a?null:a)];if(null!=d)d.j?d.j(a,b,c):d.call(null,a,b,c);else if(d=Rb._,null!=d)d.j?d.j(a,b,c):d.call(null,a,b,c);else throw Pa("IWatchable.-add-watch",a);}}
function Sb(a,b){if(null!=a&&null!=a.Db)a.Db(a,b);else{var c=Sb[t(null==a?null:a)];if(null!=c)c.c?c.c(a,b):c.call(null,a,b);else if(c=Sb._,null!=c)c.c?c.c(a,b):c.call(null,a,b);else throw Pa("IWatchable.-remove-watch",a);}}function Tb(a){if(null!=a&&null!=a.Xa)a=a.Xa(a);else{var b=Tb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=Tb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IEditableCollection.-as-transient",a);}return a}
function Ub(a,b){if(null!=a&&null!=a.$a)a=a.$a(a,b);else{var c=Ub[t(null==a?null:a)];if(null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else if(c=Ub._,null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else throw Pa("ITransientCollection.-conj!",a);}return a}function Vb(a){if(null!=a&&null!=a.fb)a=a.fb(a);else{var b=Vb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=Vb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("ITransientCollection.-persistent!",a);}return a}
function Wb(a,b,c){if(null!=a&&null!=a.Za)a=a.Za(a,b,c);else{var d=Wb[t(null==a?null:a)];if(null!=d)a=d.j?d.j(a,b,c):d.call(null,a,b,c);else if(d=Wb._,null!=d)a=d.j?d.j(a,b,c):d.call(null,a,b,c);else throw Pa("ITransientAssociative.-assoc!",a);}return a}function Xb(a){if(null!=a&&null!=a.xb)a=a.xb(a);else{var b=Xb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=Xb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IChunk.-drop-first",a);}return a}
function Yb(a){if(null!=a&&null!=a.rb)a=a.rb(a);else{var b=Yb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=Yb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IChunkedSeq.-chunked-first",a);}return a}function Zb(a){if(null!=a&&null!=a.Wa)a=a.Wa(a);else{var b=Zb[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=Zb._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IChunkedSeq.-chunked-rest",a);}return a}
function $b(a,b){if(null!=a&&null!=a.Ya)a=a.Ya(a,b);else{var c=$b[t(null==a?null:a)];if(null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else if(c=$b._,null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else throw Pa("IReset.-reset!",a);}return a}
var bc=function(){function a(f,h,k,l,m){var n=ac[t(null==f?null:f)];if(null!=n)return n.Z?n.Z(f,h,k,l,m):n.call(null,f,h,k,l,m);n=ac._;if(null!=n)return n.Z?n.Z(f,h,k,l,m):n.call(null,f,h,k,l,m);throw Pa("ISwap.-swap!",f);}function b(f,h,k,l){var m=ac[t(null==f?null:f)];if(null!=m)return m.I?m.I(f,h,k,l):m.call(null,f,h,k,l);m=ac._;if(null!=m)return m.I?m.I(f,h,k,l):m.call(null,f,h,k,l);throw Pa("ISwap.-swap!",f);}function c(f,h,k){var l=ac[t(null==f?null:f)];if(null!=l)return l.j?l.j(f,h,k):l.call(null,
f,h,k);l=ac._;if(null!=l)return l.j?l.j(f,h,k):l.call(null,f,h,k);throw Pa("ISwap.-swap!",f);}function d(f,h){var k=ac[t(null==f?null:f)];if(null!=k)return k.c?k.c(f,h):k.call(null,f,h);k=ac._;if(null!=k)return k.c?k.c(f,h):k.call(null,f,h);throw Pa("ISwap.-swap!",f);}var e=null;e=function(f,h,k,l,m){switch(arguments.length){case 2:return d.call(this,f,h);case 3:return c.call(this,f,h,k);case 4:return b.call(this,f,h,k,l);case 5:return a.call(this,f,h,k,l,m)}throw Error("Invalid arity: "+arguments.length);
};e.c=d;e.j=c;e.I=b;e.Z=a;return e}(),ac=function ac(a){switch(arguments.length){case 2:return ac.c(arguments[0],arguments[1]);case 3:return ac.j(arguments[0],arguments[1],arguments[2]);case 4:return ac.I(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return ac.Z(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",A.f(arguments.length)].join(""));}};ac.c=function(a,b){return null!=a&&null!=a.Jb?a.Jb(a,b):bc.c(a,b)};
ac.j=function(a,b,c){return null!=a&&null!=a.Kb?a.Kb(a,b,c):bc.j(a,b,c)};ac.I=function(a,b,c,d){return null!=a&&null!=a.Lb?a.Lb(a,b,c,d):bc.I(a,b,c,d)};ac.Z=function(a,b,c,d,e){return null!=a&&null!=a.Mb?a.Mb(a,b,c,d,e):bc.Z(a,b,c,d,e)};ac.G=5;function cc(a,b){if(null!=a&&null!=a.Bb)a=a.Bb(a,b);else{var c=cc[t(null==a?null:a)];if(null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else if(c=cc._,null!=c)a=c.c?c.c(a,b):c.call(null,a,b);else throw Pa("IVolatile.-vreset!",a);}return a}function dc(){}
function ec(a){if(null!=a&&null!=a.la)a=a.la(a);else{var b=ec[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=ec._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IIterable.-iterator",a);}return a}function fc(a){this.jc=a;this.m=1073741824;this.C=0}fc.prototype.Nb=function(a,b){return this.jc.append(b)};function gc(a){var b=new sa;a.M(null,new fc(b),Da());return A.f(b)}
var hc="undefined"!==typeof Math&&"undefined"!==typeof Math.imul&&0!==Math.imul(4294967295,5)?function(a,b){return Math.imul(a,b)}:function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};function ic(a){a=hc(a|0,-862048943);return hc(a<<15|a>>>-15,461845907)}function jc(a,b){a=(a|0)^(b|0);return hc(a<<13|a>>>-13,5)+-430675100|0}function kc(a,b){a=(a|0)^b;a=hc(a^a>>>16,-2048144789);a=hc(a^a>>>13,-1028477387);return a^a>>>16}
function lc(a){a:{var b=1;for(var c=0;;)if(b<a.length){var d=b+2;c=jc(c,ic(a.charCodeAt(b-1)|a.charCodeAt(b)<<16));b=d}else{b=c;break a}}b=1===(a.length&1)?b^ic(a.charCodeAt(a.length-1)):b;return kc(b,hc(2,a.length))}var mc={},nc=0;function oc(a){255<nc&&(mc={},nc=0);if(null==a)return 0;var b=mc[a];if("number"===typeof b)a=b;else{a:if(null!=a)if(b=a.length,0<b)for(var c=0,d=0;;)if(c<b){var e=c+1;d=hc(31,d)+a.charCodeAt(c);c=e}else{b=d;break a}else b=0;else b=0;mc[a]=b;nc+=1;a=b}return a}
function pc(a){if(null!=a&&(a.m&4194304||u===a.qc))return a.P(null)^0;if("number"===typeof a){if(x(isFinite(a)))return Math.floor(a)%2147483647;switch(a){case Infinity:return 2146435072;case -Infinity:return-1048576;default:return 2146959360}}else return!0===a?a=1231:!1===a?a=1237:"string"===typeof a?(a=oc(a),0!==a&&(a=ic(a),a=jc(0,a),a=kc(a,4))):a=a instanceof Date?a.valueOf()^0:null==a?0:Fb(a)^0,a}function qc(a,b){return a^b+2654435769+(a<<6)+(a>>2)}
function rc(a,b,c,d,e){this.nb=a;this.name=b;this.Qa=c;this.Va=d;this.ta=e;this.m=2154168321;this.C=4096}g=rc.prototype;g.toString=function(){return this.Qa};g.equiv=function(a){return this.B(null,a)};g.B=function(a,b){return b instanceof rc?this.Qa===b.Qa:!1};
g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return sc.c(c,this);case 3:return sc.j(c,this,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return sc.c(c,this)};a.j=function(b,c,d){return sc.j(c,this,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return sc.c(a,this)};g.c=function(a,b){return sc.j(a,this,b)};g.S=function(){return this.ta};
g.W=function(a,b){return new rc(this.nb,this.name,this.Qa,this.Va,b)};g.P=function(){var a=this.Va;return null!=a?a:this.Va=a=qc(lc(this.name),oc(this.nb))};g.M=function(a,b){return Ob(b,this.Qa)};var tc=function tc(a){switch(arguments.length){case 1:return tc.f(arguments[0]);case 2:return tc.c(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",A.f(arguments.length)].join(""));}};
tc.f=function(a){for(;;){if(a instanceof rc)return a;if("string"===typeof a){var b=a.indexOf("/");return 1>b?tc.c(null,a):tc.c(a.substring(0,b),a.substring(b+1,a.length))}if(a instanceof C)a=a.ua;else throw Error("no conversion to symbol");}};tc.c=function(a,b){var c=null!=a?[A.f(a),"/",A.f(b)].join(""):b;return new rc(a,b,c,null,null)};tc.G=2;function uc(a){return null!=a?a.C&131072||u===a.rc?!0:a.C?!1:y(dc,a):y(dc,a)}
function E(a){if(null==a)return null;if(null!=a&&(a.m&8388608||u===a.ec))return a.T(null);if(Na(a)||"string"===typeof a)return 0===a.length?null:new vc(a,0,null);if(null!=a&&null!=a[Ra])return wc(ja(a,Ra).call(a));if(y(Gb,a))return Hb(a);throw Error([A.f(a)," is not ISeqable"].join(""));}function J(a){if(null==a)return null;if(null!=a&&(a.m&64||u===a.na))return a.aa(null);a=E(a);return null==a?null:gb(a)}
function xc(a){return null!=a?null!=a&&(a.m&64||u===a.na)?a.ha(null):(a=E(a))?a.ha(null):yc:yc}function L(a){return null==a?null:null!=a&&(a.m&128||u===a.eb)?a.$():E(xc(a))}var zc=function zc(a){switch(arguments.length){case 1:return zc.f(arguments[0]);case 2:return zc.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return zc.w(arguments[0],arguments[1],new vc(c.slice(2),0,null))}};zc.f=function(){return!0};
zc.c=function(a,b){return null==a?null==b:a===b||Eb(a,b)};zc.w=function(a,b,c){for(;;)if(zc.c(a,b))if(L(c))a=b,b=J(c),c=L(c);else return zc.c(b,J(c));else return!1};zc.F=function(a){var b=J(a),c=L(a);a=J(c);c=L(c);return this.w(b,a,c)};zc.G=2;function Ac(a){this.s=a}Ac.prototype.next=function(){if(null!=this.s){var a=J(this.s);this.s=L(this.s);return{value:a,done:!1}}return{value:null,done:!0}};function Bc(a){return new Ac(E(a))}
function Cc(a,b){this.value=a;this.kb=b;this.vb=null;this.m=8388672;this.C=0}Cc.prototype.T=function(){return this};Cc.prototype.aa=function(){return this.value};Cc.prototype.ha=function(){null==this.vb&&(this.vb=wc(this.kb));return this.vb};function wc(a){var b=a.next();return x(b.done)?null:new Cc(b.value,a)}function Dc(a,b){a=ic(a);a=jc(0,a);return kc(a,b)}function Ec(a){var b=0,c=1;for(a=E(a);;)if(null!=a)b+=1,c=hc(31,c)+pc(J(a))|0,a=L(a);else return Dc(c,b)}var Fc=Dc(1,0);
function Gc(a){var b=0,c=0;for(a=E(a);;)if(null!=a)b+=1,c=c+pc(J(a))|0,a=L(a);else return Dc(c,b)}var Hc=Dc(0,0);Xa["null"]=!0;Ya["null"]=function(){return 0};Date.prototype.B=function(a,b){return b instanceof Date&&this.valueOf()===b.valueOf()};Eb.number=function(a,b){return a===b};wb["function"]=!0;xb["function"]=function(){return null};Fb._=function(a){return a[aa]||(a[aa]=++ca)};function Ic(a){return a+1}function Jc(a){this.U=a;this.m=32768;this.C=0}Jc.prototype.ma=function(){return this.U};
function Lc(a){return a instanceof Jc}function Mc(a,b){var c=a.O(null);if(0===c)return b.v?b.v():b.call(null);for(var d=a.K(null,0),e=1;;)if(e<c){var f=a.K(null,e);d=b.c?b.c(d,f):b.call(null,d,f);if(Lc(d))return vb(d);e+=1}else return d}function Nc(a,b){var c=a.length;if(0===a.length)return b.v?b.v():b.call(null);for(var d=a[0],e=1;;)if(e<c){var f=a[e];d=b.c?b.c(d,f):b.call(null,d,f);if(Lc(d))return vb(d);e+=1}else return d}
function Oc(a,b,c){var d=a.length,e=c;for(c=0;;)if(c<d){var f=a[c];e=b.c?b.c(e,f):b.call(null,e,f);if(Lc(e))return vb(e);c+=1}else return e}function Pc(a,b,c,d){for(var e=a.length;;)if(d<e){var f=a[d];c=b.c?b.c(c,f):b.call(null,c,f);if(Lc(c))return vb(c);d+=1}else return c}function Qc(a){return null!=a?a.m&2||u===a.Ub?!0:a.m?!1:y(Xa,a):y(Xa,a)}function Rc(a){return null!=a?a.m&16||u===a.Gb?!0:a.m?!1:y(cb,a):y(cb,a)}
function O(a,b,c){var d=R(a);if(c>=d)return-1;!(0<c)&&0>c&&(c+=d,c=0>c?0:c);for(;;)if(c<d){if(zc.c(Sc(a,c),b))return c;c+=1}else return-1}function Tc(a,b,c){var d=R(a);if(0===d)return-1;0<c?(--d,c=d<c?d:c):c=0>c?d+c:c;for(;;)if(0<=c){if(zc.c(Sc(a,c),b))return c;--c}else return-1}function Uc(a,b){this.h=a;this.i=b}Uc.prototype.ea=function(){return this.i<this.h.length};Uc.prototype.next=function(){var a=this.h[this.i];this.i+=1;return a};
function vc(a,b,c){this.h=a;this.i=b;this.meta=c;this.m=166592766;this.C=139264}g=vc.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.K=function(a,b){a=b+this.i;if(0<=a&&a<this.h.length)return this.h[a];throw Error("Index out of bounds");};g.ba=function(a,b,c){a=b+this.i;return 0<=a&&a<this.h.length?this.h[a]:c};g.la=function(){return new Uc(this.h,this.i)};
g.S=function(){return this.meta};g.$=function(){return this.i+1<this.h.length?new vc(this.h,this.i+1,null):null};g.O=function(){var a=this.h.length-this.i;return 0>a?0:a};g.tb=function(){var a=this.O(null);return 0<a?new Vc(this,a-1,null):null};g.P=function(){return Ec(this)};g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};g.ca=function(a,b){return Pc(this.h,b,this.h[this.i],this.i+1)};g.da=function(a,b,c){return Pc(this.h,b,c,this.i)};g.aa=function(){return this.h[this.i]};
g.ha=function(){return this.i+1<this.h.length?new vc(this.h,this.i+1,null):yc};g.T=function(){return this.i<this.h.length?this:null};g.W=function(a,b){return b===this.meta?this:new vc(this.h,this.i,b)};g.Y=function(a,b){return Xc(b,this)};vc.prototype[Ra]=function(){return Bc(this)};function Yc(a){return 0<a.length?new vc(a,0,null):null}function Vc(a,b,c){this.qb=a;this.i=b;this.meta=c;this.m=32374990;this.C=8192}g=Vc.prototype;g.toString=function(){return gc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.meta};g.$=function(){return 0<this.i?new Vc(this.qb,this.i-1,null):null};g.O=function(){return this.i+1};g.P=function(){return Ec(this)};g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};
g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){return db.c(this.qb,this.i)};g.ha=function(){return 0<this.i?new Vc(this.qb,this.i-1,null):yc};g.T=function(){return this};g.W=function(a,b){return b===this.meta?this:new Vc(this.qb,this.i,b)};g.Y=function(a,b){return Xc(b,this)};Vc.prototype[Ra]=function(){return Bc(this)};Eb._=function(a,b){return a===b};
var ad=function ad(a){switch(arguments.length){case 0:return ad.v();case 1:return ad.f(arguments[0]);case 2:return ad.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return ad.w(arguments[0],arguments[1],new vc(c.slice(2),0,null))}};ad.v=function(){return bd};ad.f=function(a){return a};ad.c=function(a,b){return null!=a?bb(a,b):new cd(null,b,null,1,null)};
ad.w=function(a,b,c){for(;;)if(x(c))a=ad.c(a,b),b=J(c),c=L(c);else return ad.c(a,b)};ad.F=function(a){var b=J(a),c=L(a);a=J(c);c=L(c);return this.w(b,a,c)};ad.G=2;function R(a){if(null!=a)if(null!=a&&(a.m&2||u===a.Ub))a=a.O(null);else if(Na(a))a=a.length;else if("string"===typeof a)a=a.length;else if(null!=a&&(a.m&8388608||u===a.ec))a:{a=E(a);for(var b=0;;){if(Qc(a)){a=b+Ya(a);break a}a=L(a);b+=1}}else a=Ya(a);else a=0;return a}
function dd(a,b){for(var c=null;;){if(null==a)return c;if(0===b)return E(a)?J(a):c;if(Rc(a))return db.j(a,b,c);if(E(a))a=L(a),--b;else return c}}
function Sc(a,b){if("number"!==typeof b)throw Error("Index argument to nth must be a number");if(null==a)return a;if(null!=a&&(a.m&16||u===a.Gb))return a.K(null,b);if(Na(a)){if(-1<b&&b<a.length)return a[b|0];throw Error("Index out of bounds");}if("string"===typeof a){if(-1<b&&b<a.length)return a.charAt(b|0);throw Error("Index out of bounds");}if(null!=a&&(a.m&64||u===a.na)||null!=a&&(a.m&16777216||u===a.Ib)){if(0>b)throw Error("Index out of bounds");a:for(;;){if(null==a)throw Error("Index out of bounds");
if(0===b){if(E(a)){a=J(a);break a}throw Error("Index out of bounds");}if(Rc(a)){a=db.c(a,b);break a}if(E(a))a=L(a),--b;else throw Error("Index out of bounds");}return a}if(y(cb,a))return db.c(a,b);throw Error(["nth not supported on this type ",A.f(Qa(null==a?null:a.constructor))].join(""));}
function S(a,b){if("number"!==typeof b)throw Error("Index argument to nth must be a number.");if(null==a)return null;if(null!=a&&(a.m&16||u===a.Gb))return a.ba(null,b,null);if(Na(a))return-1<b&&b<a.length?a[b|0]:null;if("string"===typeof a)return-1<b&&b<a.length?a.charAt(b|0):null;if(null!=a&&(a.m&64||u===a.na)||null!=a&&(a.m&16777216||u===a.Ib))return 0>b?null:dd(a,b);if(y(cb,a))return db.j(a,b,null);throw Error(["nth not supported on this type ",A.f(Qa(null==a?null:a.constructor))].join(""));}
var sc=function sc(a){switch(arguments.length){case 2:return sc.c(arguments[0],arguments[1]);case 3:return sc.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",A.f(arguments.length)].join(""));}};sc.c=function(a,b){return null==a?null:null!=a&&(a.m&256||u===a.$b)?a.R(null,b):Na(a)?null!=b&&b<a.length?a[b|0]:null:"string"===typeof a?null!=b&&-1<b&&b<a.length?a.charAt(b|0):null:y(kb,a)?lb.c(a,b):null};
sc.j=function(a,b,c){return null!=a?null!=a&&(a.m&256||u===a.$b)?a.D(null,b,c):Na(a)?null!=b&&-1<b&&b<a.length?a[b|0]:c:"string"===typeof a?null!=b&&-1<b&&b<a.length?a.charAt(b|0):c:y(kb,a)?lb.j(a,b,c):c:c};sc.G=3;var ed=function ed(a){switch(arguments.length){case 3:return ed.j(arguments[0],arguments[1],arguments[2]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return ed.w(arguments[0],arguments[1],arguments[2],new vc(c.slice(3),0,null))}};
ed.j=function(a,b,c){if(null!=a&&(a.m&512||u===a.mc))a=a.Oa(null,b,c);else if(null!=a)a=nb(a,b,c);else{a=[b,c];b=[];for(c=0;;)if(c<a.length){var d=a[c],e=a[c+1],f=fd(b,d);-1===f?(f=b,f.push(d),f.push(e)):b[f+1]=e;c+=2}else break;a=new w(null,b.length/2,b,null)}return a};ed.w=function(a,b,c,d){for(;;)if(a=ed.j(a,b,c),x(d))b=J(d),c=J(L(d)),d=L(L(d));else return a};ed.F=function(a){var b=J(a),c=L(a);a=J(c);var d=L(c);c=J(d);d=L(d);return this.w(b,a,c,d)};ed.G=3;
var gd=function gd(a){switch(arguments.length){case 1:return gd.f(arguments[0]);case 2:return gd.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return gd.w(arguments[0],arguments[1],new vc(c.slice(2),0,null))}};gd.f=function(a){return a};gd.c=function(a,b){return null==a?null:qb(a,b)};gd.w=function(a,b,c){for(;;){if(null==a)return null;a=gd.c(a,b);if(x(c))b=J(c),c=L(c);else return a}};
gd.F=function(a){var b=J(a),c=L(a);a=J(c);c=L(c);return this.w(b,a,c)};gd.G=2;function hd(a,b){this.l=a;this.meta=b;this.m=393217;this.C=0}g=hd.prototype;g.S=function(){return this.meta};g.W=function(a,b){return new hd(this.l,b)};
g.call=function(){function a(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb,Kc,Re){return id(this.l,D,H,F,K,Yc([M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb,Kc,Re]))}function b(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb,Kc){q=this;return q.l.Fa?q.l.Fa(D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb,Kc):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb,Kc)}function c(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb){q=this;return q.l.Ea?q.l.Ea(D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,
Jb):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb)}function d(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb){q=this;return q.l.Da?q.l.Da(D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb)}function e(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa){q=this;return q.l.Ca?q.l.Ca(D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa)}function f(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa){q=this;return q.l.Ba?
q.l.Ba(D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa)}function h(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa){q=this;return q.l.Aa?q.l.Aa(D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa)}function k(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua){q=this;return q.l.za?q.l.za(D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua)}function l(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na){q=this;return q.l.ya?q.l.ya(D,H,F,K,M,N,P,
Q,U,Y,ba,ia,na):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na)}function m(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia){q=this;return q.l.xa?q.l.xa(D,H,F,K,M,N,P,Q,U,Y,ba,ia):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba,ia)}function n(q,D,H,F,K,M,N,P,Q,U,Y,ba){q=this;return q.l.wa?q.l.wa(D,H,F,K,M,N,P,Q,U,Y,ba):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y,ba)}function p(q,D,H,F,K,M,N,P,Q,U,Y){q=this;return q.l.va?q.l.va(D,H,F,K,M,N,P,Q,U,Y):q.l.call(null,D,H,F,K,M,N,P,Q,U,Y)}function r(q,D,H,F,K,M,N,P,Q,U){q=this;return q.l.Ja?q.l.Ja(D,
H,F,K,M,N,P,Q,U):q.l.call(null,D,H,F,K,M,N,P,Q,U)}function v(q,D,H,F,K,M,N,P,Q){q=this;return q.l.Ia?q.l.Ia(D,H,F,K,M,N,P,Q):q.l.call(null,D,H,F,K,M,N,P,Q)}function z(q,D,H,F,K,M,N,P){q=this;return q.l.Ha?q.l.Ha(D,H,F,K,M,N,P):q.l.call(null,D,H,F,K,M,N,P)}function G(q,D,H,F,K,M,N){q=this;return q.l.Ga?q.l.Ga(D,H,F,K,M,N):q.l.call(null,D,H,F,K,M,N)}function B(q,D,H,F,K,M){q=this;return q.l.Z?q.l.Z(D,H,F,K,M):q.l.call(null,D,H,F,K,M)}function I(q,D,H,F,K){q=this;return q.l.I?q.l.I(D,H,F,K):q.l.call(null,
D,H,F,K)}function V(q,D,H,F){q=this;return q.l.j?q.l.j(D,H,F):q.l.call(null,D,H,F)}function oa(q,D,H){q=this;return q.l.c?q.l.c(D,H):q.l.call(null,D,H)}function xa(q,D){q=this;return q.l.f?q.l.f(D):q.l.call(null,D)}function La(q){q=this;return q.l.v?q.l.v():q.l.call(null)}var pa=null;pa=function(q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb,Kc,Re){switch(arguments.length){case 1:return La.call(this,q);case 2:return xa.call(this,q,D);case 3:return oa.call(this,q,D,H);case 4:return V.call(this,q,
D,H,F);case 5:return I.call(this,q,D,H,F,K);case 6:return B.call(this,q,D,H,F,K,M);case 7:return G.call(this,q,D,H,F,K,M,N);case 8:return z.call(this,q,D,H,F,K,M,N,P);case 9:return v.call(this,q,D,H,F,K,M,N,P,Q);case 10:return r.call(this,q,D,H,F,K,M,N,P,Q,U);case 11:return p.call(this,q,D,H,F,K,M,N,P,Q,U,Y);case 12:return n.call(this,q,D,H,F,K,M,N,P,Q,U,Y,ba);case 13:return m.call(this,q,D,H,F,K,M,N,P,Q,U,Y,ba,ia);case 14:return l.call(this,q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na);case 15:return k.call(this,
q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua);case 16:return h.call(this,q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa);case 17:return f.call(this,q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa);case 18:return e.call(this,q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa);case 19:return d.call(this,q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb);case 20:return c.call(this,q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb);case 21:return b.call(this,q,D,H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb,Kc);case 22:return a.call(this,q,D,
H,F,K,M,N,P,Q,U,Y,ba,ia,na,ua,Aa,Fa,Wa,jb,Jb,Kc,Re)}throw Error("Invalid arity: "+(arguments.length-1));};pa.f=La;pa.c=xa;pa.j=oa;pa.I=V;pa.Z=I;pa.Ga=B;pa.Ha=G;pa.Ia=z;pa.Ja=v;pa.va=r;pa.wa=p;pa.xa=n;pa.ya=m;pa.za=l;pa.Aa=k;pa.Ba=h;pa.Ca=f;pa.Da=e;pa.Ea=d;pa.Fa=c;pa.Zb=b;pa.pc=a;return pa}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.v=function(){return this.l.v?this.l.v():this.l.call(null)};g.f=function(a){return this.l.f?this.l.f(a):this.l.call(null,a)};
g.c=function(a,b){return this.l.c?this.l.c(a,b):this.l.call(null,a,b)};g.j=function(a,b,c){return this.l.j?this.l.j(a,b,c):this.l.call(null,a,b,c)};g.I=function(a,b,c,d){return this.l.I?this.l.I(a,b,c,d):this.l.call(null,a,b,c,d)};g.Z=function(a,b,c,d,e){return this.l.Z?this.l.Z(a,b,c,d,e):this.l.call(null,a,b,c,d,e)};g.Ga=function(a,b,c,d,e,f){return this.l.Ga?this.l.Ga(a,b,c,d,e,f):this.l.call(null,a,b,c,d,e,f)};
g.Ha=function(a,b,c,d,e,f,h){return this.l.Ha?this.l.Ha(a,b,c,d,e,f,h):this.l.call(null,a,b,c,d,e,f,h)};g.Ia=function(a,b,c,d,e,f,h,k){return this.l.Ia?this.l.Ia(a,b,c,d,e,f,h,k):this.l.call(null,a,b,c,d,e,f,h,k)};g.Ja=function(a,b,c,d,e,f,h,k,l){return this.l.Ja?this.l.Ja(a,b,c,d,e,f,h,k,l):this.l.call(null,a,b,c,d,e,f,h,k,l)};g.va=function(a,b,c,d,e,f,h,k,l,m){return this.l.va?this.l.va(a,b,c,d,e,f,h,k,l,m):this.l.call(null,a,b,c,d,e,f,h,k,l,m)};
g.wa=function(a,b,c,d,e,f,h,k,l,m,n){return this.l.wa?this.l.wa(a,b,c,d,e,f,h,k,l,m,n):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n)};g.xa=function(a,b,c,d,e,f,h,k,l,m,n,p){return this.l.xa?this.l.xa(a,b,c,d,e,f,h,k,l,m,n,p):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p)};g.ya=function(a,b,c,d,e,f,h,k,l,m,n,p,r){return this.l.ya?this.l.ya(a,b,c,d,e,f,h,k,l,m,n,p,r):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,r)};
g.za=function(a,b,c,d,e,f,h,k,l,m,n,p,r,v){return this.l.za?this.l.za(a,b,c,d,e,f,h,k,l,m,n,p,r,v):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,r,v)};g.Aa=function(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z){return this.l.Aa?this.l.Aa(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,r,v,z)};g.Ba=function(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G){return this.l.Ba?this.l.Ba(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G)};
g.Ca=function(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B){return this.l.Ca?this.l.Ca(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B)};g.Da=function(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I){return this.l.Da?this.l.Da(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I)};
g.Ea=function(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V){return this.l.Ea?this.l.Ea(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V)};g.Fa=function(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa){return this.l.Fa?this.l.Fa(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa):this.l.call(null,a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa)};g.Zb=function(a,b,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa,xa){return id(this.l,a,b,c,d,Yc([e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa,xa]))};
function jd(a,b){return"function"==t(a)?new hd(a,b):null==a?null:yb(a,b)}function kd(a){return null!=a&&(null!=a?a.m&131072||u===a.Hb||(a.m?0:y(wb,a)):y(wb,a))?xb(a):null}function ld(a){return null==a||Oa(E(a))}function md(a){return null==a?!1:null!=a?a.m&4096||u===a.yc?!0:a.m?!1:y(tb,a):y(tb,a)}function nd(a){return null!=a?a.m&16777216||u===a.Ib?!0:a.m?!1:y(Ib,a):y(Ib,a)}function od(a){return null==a?!1:null!=a?a.m&1024||u===a.uc?!0:a.m?!1:y(pb,a):y(pb,a)}
function pd(a){return null!=a?a.m&67108864||u===a.wc?!0:a.m?!1:y(Lb,a):y(Lb,a)}function qd(a){return null!=a?a.m&16384||u===a.zc?!0:a.m?!1:y(ub,a):y(ub,a)}function rd(a){return null!=a?a.C&512||u===a.nc?!0:!1:!1}function sd(a,b,c,d,e){for(;0!==e;)c[d]=a[b],d+=1,--e,b+=1}var td={};function ud(a){return null==a?!1:!1===a?!1:!0}function vd(a,b){return sc.j(a,b,td)===td?!1:!0}function Zc(a,b){return(b=E(b))?Ua(a,J(b),L(b)):a.v?a.v():a.call(null)}
function $c(a,b,c){for(c=E(c);;)if(c){var d=J(c);b=a.c?a.c(b,d):a.call(null,b,d);if(Lc(b))return vb(b);c=L(c)}else return b}function wd(a,b){a=ec(a);if(x(a.ea()))for(var c=a.next();;)if(a.ea()){var d=a.next();c=b.c?b.c(c,d):b.call(null,c,d);if(Lc(c))return vb(c)}else return c;else return b.v?b.v():b.call(null)}function xd(a,b,c){for(a=ec(a);;)if(a.ea()){var d=a.next();c=b.c?b.c(c,d):b.call(null,c,d);if(Lc(c))return vb(c)}else return c}
function yd(a,b){return null!=b&&(b.m&524288||u===b.dc)?b.ca(null,a):Na(b)?Nc(b,a):"string"===typeof b?Nc(b,a):y(zb,b)?Ab.c(b,a):uc(b)?wd(b,a):Zc(a,b)}function Ua(a,b,c){return null!=c&&(c.m&524288||u===c.dc)?c.da(null,a,b):Na(c)?Oc(c,a,b):"string"===typeof c?Oc(c,a,b):y(zb,c)?Ab.j(c,a,b):uc(c)?xd(c,a,b):$c(a,b,c)}function zd(a,b,c){return null!=c?Db(c,a,b):b}function Ad(a){return a}function Bd(a,b,c,d){a=a.f?a.f(b):a.call(null,b);c=Ua(a,c,d);return a.f?a.f(c):a.call(null,c)}
function Cd(a){return 0<=a?Math.floor(a):Math.ceil(a)}function Dd(a,b){return Cd((a-a%b)/b)}function Ed(a){a-=a>>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24}var A=function A(a){switch(arguments.length){case 0:return A.v();case 1:return A.f(arguments[0]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return A.w(arguments[0],new vc(c.slice(1),0,null))}};A.v=function(){return""};A.f=function(a){return null==a?"":[a].join("")};
A.w=function(a,b){for(a=new sa(A.f(a));;)if(x(b))a=a.append(A.f(J(b))),b=L(b);else return a.toString()};A.F=function(a){var b=J(a);a=L(a);return this.w(b,a)};A.G=1;function Wc(a,b){if(nd(b))if(Qc(a)&&Qc(b)&&R(a)!==R(b))a=!1;else a:for(a=E(a),b=E(b);;){if(null==a){a=null==b;break a}if(null!=b&&zc.c(J(a),J(b)))a=L(a),b=L(b);else{a=!1;break a}}else a=null;return ud(a)}function cd(a,b,c,d,e){this.meta=a;this.first=b;this.Ma=c;this.count=d;this.A=e;this.m=65937646;this.C=8192}g=cd.prototype;
g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,this.count)}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.meta};g.$=function(){return 1===this.count?null:this.Ma};g.O=function(){return this.count};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};g.B=function(a,b){return Wc(this,b)};
g.X=function(){return yb(yc,this.meta)};g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){return this.first};g.ha=function(){return 1===this.count?yc:this.Ma};g.T=function(){return this};g.W=function(a,b){return b===this.meta?this:new cd(b,this.first,this.Ma,this.count,this.A)};g.Y=function(a,b){return new cd(this.meta,b,this,this.count+1,null)};function Fd(a){return null!=a?a.m&33554432||u===a.tc?!0:a.m?!1:y(Kb,a):y(Kb,a)}cd.prototype[Ra]=function(){return Bc(this)};
function Gd(a){this.meta=a;this.m=65937614;this.C=8192}g=Gd.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.meta};g.$=function(){return null};g.O=function(){return 0};g.P=function(){return Fc};g.B=function(a,b){return Fd(b)||nd(b)?null==E(b):!1};g.X=function(){return this};
g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){return null};g.ha=function(){return yc};g.T=function(){return null};g.W=function(a,b){return b===this.meta?this:new Gd(b)};g.Y=function(a,b){return new cd(this.meta,b,null,1,null)};var yc=new Gd(null);Gd.prototype[Ra]=function(){return Bc(this)};function Hd(a){return(null!=a?a.m&134217728||u===a.xc||(a.m?0:y(Mb,a)):y(Mb,a))?(a=Nb(a))?a:yc:Ua(ad,yc,a)}
function Id(a,b,c,d){this.meta=a;this.first=b;this.Ma=c;this.A=d;this.m=65929452;this.C=8192}g=Id.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.meta};g.$=function(){return null==this.Ma?null:E(this.Ma)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};
g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){return this.first};g.ha=function(){return null==this.Ma?yc:this.Ma};g.T=function(){return this};g.W=function(a,b){return b===this.meta?this:new Id(b,this.first,this.Ma,this.A)};g.Y=function(a,b){return new Id(null,b,this,null)};Id.prototype[Ra]=function(){return Bc(this)};
function Xc(a,b){return null==b?new cd(null,a,null,1,null):null!=b&&(b.m&64||u===b.na)?new Id(null,a,b,null):new Id(null,a,E(b),null)}function C(a,b,c,d){this.nb=a;this.name=b;this.ua=c;this.Va=d;this.m=2153775105;this.C=4096}g=C.prototype;g.toString=function(){return[":",A.f(this.ua)].join("")};g.equiv=function(a){return this.B(null,a)};g.B=function(a,b){return b instanceof C?this.ua===b.ua:!1};
g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return sc.c(c,this);case 3:return sc.j(c,this,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return sc.c(c,this)};a.j=function(b,c,d){return sc.j(c,this,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return sc.c(a,this)};g.c=function(a,b){return sc.j(a,this,b)};
g.P=function(){var a=this.Va;return null!=a?a:this.Va=a=qc(lc(this.name),oc(this.nb))+2654435769|0};g.M=function(a,b){return Ob(b,[":",A.f(this.ua)].join(""))};function Jd(a){if(null!=a&&(a.C&4096||u===a.cc))return a.nb;throw Error(["Doesn't support namespace: ",A.f(a)].join(""));}var Kd=function Kd(a){switch(arguments.length){case 1:return Kd.f(arguments[0]);case 2:return Kd.c(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",A.f(arguments.length)].join(""));}};
Kd.f=function(a){if(a instanceof C)return a;if(a instanceof rc)return new C(Jd(a),Ld(a),a.Qa,null);if(zc.c("/",a))return new C(null,a,a,null);if("string"===typeof a){var b=a.split("/");return 2===b.length?new C(b[0],b[1],a,null):new C(null,b[0],a,null)}return null};Kd.c=function(a,b){a=a instanceof C?Ld(a):a instanceof rc?Ld(a):a;b=b instanceof C?Ld(b):b instanceof rc?Ld(b):b;return new C(a,b,[x(a)?[A.f(a),"/"].join(""):null,A.f(b)].join(""),null)};Kd.G=2;
function Md(a,b,c){this.meta=a;this.gb=b;this.s=null;this.A=c;this.m=32374988;this.C=1}g=Md.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};function Nd(a){null!=a.gb&&(a.s=a.gb.v?a.gb.v():a.gb.call(null),a.gb=null);return a.s}
g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.meta};g.$=function(){this.T(null);return null==this.s?null:L(this.s)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};g.B=function(a,b){return Wc(this,b)};
g.X=function(){return yb(yc,this.meta)};g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){this.T(null);return null==this.s?null:J(this.s)};g.ha=function(){this.T(null);return null!=this.s?xc(this.s):yc};g.T=function(){Nd(this);if(null==this.s)return null;for(var a=this.s;;)if(a instanceof Md)a=Nd(a);else return this.s=a,E(this.s)};g.W=function(a,b){var c=this;return b===this.meta?c:new Md(b,function(){return c.T(null)},this.A)};
g.Y=function(a,b){return Xc(b,this)};Md.prototype[Ra]=function(){return Bc(this)};function Od(a){this.wb=a;this.end=0;this.m=2;this.C=0}Od.prototype.add=function(a){this.wb[this.end]=a;return this.end+=1};Od.prototype.J=function(){var a=new Pd(this.wb,0,this.end);this.wb=null;return a};Od.prototype.O=function(){return this.end};function Qd(a){return new Od(Array(a))}function Pd(a,b,c){this.h=a;this.ga=b;this.end=c;this.m=524306;this.C=0}g=Pd.prototype;g.O=function(){return this.end-this.ga};
g.K=function(a,b){return this.h[this.ga+b]};g.ba=function(a,b,c){return 0<=b&&b<this.end-this.ga?this.h[this.ga+b]:c};g.xb=function(){if(this.ga===this.end)throw Error("-drop-first of empty chunk");return new Pd(this.h,this.ga+1,this.end)};g.ca=function(a,b){return Pc(this.h,b,this.h[this.ga],this.ga+1)};g.da=function(a,b,c){return Pc(this.h,b,c,this.ga)};function Rd(a,b,c,d){this.J=a;this.qa=b;this.meta=c;this.A=d;this.m=31850732;this.C=1536}g=Rd.prototype;g.toString=function(){return gc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.meta};g.$=function(){return 1<Ya(this.J)?new Rd(Xb(this.J),this.qa,null,null):null==this.qa?null:Hb(this.qa)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};
g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};g.aa=function(){return db.c(this.J,0)};g.ha=function(){return 1<Ya(this.J)?new Rd(Xb(this.J),this.qa,null,null):null==this.qa?yc:this.qa};g.T=function(){return this};g.rb=function(){return this.J};g.Wa=function(){return null==this.qa?yc:this.qa};g.W=function(a,b){return b===this.meta?this:new Rd(this.J,this.qa,b,this.A)};g.Y=function(a,b){return Xc(b,this)};g.yb=function(){return null==this.qa?null:this.qa};Rd.prototype[Ra]=function(){return Bc(this)};
function Sd(a,b){return 0===Ya(a)?b:new Rd(a,b,null,null)}function Td(a,b){a.add(b)}function Ud(a,b){if(Qc(b))return R(b);var c=0;for(b=E(b);;)if(null!=b&&c<a)c+=1,b=L(b);else return c}
var Vd=function Vd(a){if(null==a)return null;var c=L(a);return null==c?E(J(a)):Xc(J(a),Vd.f?Vd.f(c):Vd.call(null,c))},Wd=function Wd(a){switch(arguments.length){case 0:return Wd.v();case 1:return Wd.f(arguments[0]);case 2:return Wd.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return Wd.w(arguments[0],arguments[1],new vc(c.slice(2),0,null))}};Wd.v=function(){return new Md(null,function(){return null},null)};
Wd.f=function(a){return new Md(null,function(){return a},null)};Wd.c=function(a,b){return new Md(null,function(){var c=E(a);return c?rd(c)?Sd(Yb(c),Wd.c(Zb(c),b)):Xc(J(c),Wd.c(xc(c),b)):b},null)};Wd.w=function(a,b,c){return function h(e,f){return new Md(null,function(){var k=E(e);return k?rd(k)?Sd(Yb(k),h(Zb(k),f)):Xc(J(k),h(xc(k),f)):x(f)?h(J(f),L(f)):null},null)}(Wd.c(a,b),c)};Wd.F=function(a){var b=J(a),c=L(a);a=J(c);c=L(c);return this.w(b,a,c)};Wd.G=2;
var Xd=function Xd(a){switch(arguments.length){case 0:return Xd.v();case 1:return Xd.f(arguments[0]);case 2:return Xd.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return Xd.w(arguments[0],arguments[1],new vc(c.slice(2),0,null))}};Xd.v=function(){return Tb(bd)};Xd.f=function(a){return a};Xd.c=function(a,b){return Ub(a,b)};Xd.w=function(a,b,c){for(;;)if(a=Ub(a,b),x(c))b=J(c),c=L(c);else return a};
Xd.F=function(a){var b=J(a),c=L(a);a=J(c);c=L(c);return this.w(b,a,c)};Xd.G=2;
function Yd(a,b,c){var d=E(c);if(0===b)return a.v?a.v():a.call(null);c=gb(d);var e=hb(d);if(1===b)return a.f?a.f(c):a.call(null,c);d=gb(e);var f=hb(e);if(2===b)return a.c?a.c(c,d):a.call(null,c,d);e=gb(f);var h=hb(f);if(3===b)return a.j?a.j(c,d,e):a.call(null,c,d,e);f=gb(h);var k=hb(h);if(4===b)return a.I?a.I(c,d,e,f):a.call(null,c,d,e,f);h=gb(k);var l=hb(k);if(5===b)return a.Z?a.Z(c,d,e,f,h):a.call(null,c,d,e,f,h);k=gb(l);var m=hb(l);if(6===b)return a.Ga?a.Ga(c,d,e,f,h,k):a.call(null,c,d,e,f,h,k);
l=gb(m);var n=hb(m);if(7===b)return a.Ha?a.Ha(c,d,e,f,h,k,l):a.call(null,c,d,e,f,h,k,l);m=gb(n);var p=hb(n);if(8===b)return a.Ia?a.Ia(c,d,e,f,h,k,l,m):a.call(null,c,d,e,f,h,k,l,m);n=gb(p);var r=hb(p);if(9===b)return a.Ja?a.Ja(c,d,e,f,h,k,l,m,n):a.call(null,c,d,e,f,h,k,l,m,n);p=gb(r);var v=hb(r);if(10===b)return a.va?a.va(c,d,e,f,h,k,l,m,n,p):a.call(null,c,d,e,f,h,k,l,m,n,p);r=gb(v);var z=hb(v);if(11===b)return a.wa?a.wa(c,d,e,f,h,k,l,m,n,p,r):a.call(null,c,d,e,f,h,k,l,m,n,p,r);v=gb(z);var G=hb(z);
if(12===b)return a.xa?a.xa(c,d,e,f,h,k,l,m,n,p,r,v):a.call(null,c,d,e,f,h,k,l,m,n,p,r,v);z=gb(G);var B=hb(G);if(13===b)return a.ya?a.ya(c,d,e,f,h,k,l,m,n,p,r,v,z):a.call(null,c,d,e,f,h,k,l,m,n,p,r,v,z);G=gb(B);var I=hb(B);if(14===b)return a.za?a.za(c,d,e,f,h,k,l,m,n,p,r,v,z,G):a.call(null,c,d,e,f,h,k,l,m,n,p,r,v,z,G);B=gb(I);var V=hb(I);if(15===b)return a.Aa?a.Aa(c,d,e,f,h,k,l,m,n,p,r,v,z,G,B):a.call(null,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B);I=gb(V);var oa=hb(V);if(16===b)return a.Ba?a.Ba(c,d,e,f,h,k,l,
m,n,p,r,v,z,G,B,I):a.call(null,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I);V=gb(oa);var xa=hb(oa);if(17===b)return a.Ca?a.Ca(c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V):a.call(null,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V);oa=gb(xa);var La=hb(xa);if(18===b)return a.Da?a.Da(c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa):a.call(null,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa);xa=gb(La);La=hb(La);if(19===b)return a.Ea?a.Ea(c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa,xa):a.call(null,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa,xa);var pa=gb(La);hb(La);if(20===
b)return a.Fa?a.Fa(c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa,xa,pa):a.call(null,c,d,e,f,h,k,l,m,n,p,r,v,z,G,B,I,V,oa,xa,pa);throw Error("Only up to 20 arguments supported on functions");}function Zd(a){return null!=a&&(a.m&128||u===a.eb)?a.$():E(xc(a))}function $d(a,b,c){return null==c?a.f?a.f(b):a.call(a,b):ae(a,b,gb(c),Zd(c))}function ae(a,b,c,d){return null==d?a.c?a.c(b,c):a.call(a,b,c):be(a,b,c,gb(d),Zd(d))}
function be(a,b,c,d,e){return null==e?a.j?a.j(b,c,d):a.call(a,b,c,d):ce(a,b,c,d,gb(e),Zd(e))}
function ce(a,b,c,d,e,f){if(null==f)return a.I?a.I(b,c,d,e):a.call(a,b,c,d,e);var h=gb(f),k=L(f);if(null==k)return a.Z?a.Z(b,c,d,e,h):a.call(a,b,c,d,e,h);f=gb(k);var l=L(k);if(null==l)return a.Ga?a.Ga(b,c,d,e,h,f):a.call(a,b,c,d,e,h,f);k=gb(l);var m=L(l);if(null==m)return a.Ha?a.Ha(b,c,d,e,h,f,k):a.call(a,b,c,d,e,h,f,k);l=gb(m);var n=L(m);if(null==n)return a.Ia?a.Ia(b,c,d,e,h,f,k,l):a.call(a,b,c,d,e,h,f,k,l);m=gb(n);var p=L(n);if(null==p)return a.Ja?a.Ja(b,c,d,e,h,f,k,l,m):a.call(a,b,c,d,e,h,f,k,
l,m);n=gb(p);var r=L(p);if(null==r)return a.va?a.va(b,c,d,e,h,f,k,l,m,n):a.call(a,b,c,d,e,h,f,k,l,m,n);p=gb(r);var v=L(r);if(null==v)return a.wa?a.wa(b,c,d,e,h,f,k,l,m,n,p):a.call(a,b,c,d,e,h,f,k,l,m,n,p);r=gb(v);var z=L(v);if(null==z)return a.xa?a.xa(b,c,d,e,h,f,k,l,m,n,p,r):a.call(a,b,c,d,e,h,f,k,l,m,n,p,r);v=gb(z);var G=L(z);if(null==G)return a.ya?a.ya(b,c,d,e,h,f,k,l,m,n,p,r,v):a.call(a,b,c,d,e,h,f,k,l,m,n,p,r,v);z=gb(G);var B=L(G);if(null==B)return a.za?a.za(b,c,d,e,h,f,k,l,m,n,p,r,v,z):a.call(a,
b,c,d,e,h,f,k,l,m,n,p,r,v,z);G=gb(B);var I=L(B);if(null==I)return a.Aa?a.Aa(b,c,d,e,h,f,k,l,m,n,p,r,v,z,G):a.call(a,b,c,d,e,h,f,k,l,m,n,p,r,v,z,G);B=gb(I);var V=L(I);if(null==V)return a.Ba?a.Ba(b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B):a.call(a,b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B);I=gb(V);var oa=L(V);if(null==oa)return a.Ca?a.Ca(b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B,I):a.call(a,b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B,I);V=gb(oa);var xa=L(oa);if(null==xa)return a.Da?a.Da(b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B,I,V):a.call(a,b,c,d,e,
h,f,k,l,m,n,p,r,v,z,G,B,I,V);oa=gb(xa);var La=L(xa);if(null==La)return a.Ea?a.Ea(b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B,I,V,oa):a.call(a,b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B,I,V,oa);xa=gb(La);La=L(La);if(null==La)return a.Fa?a.Fa(b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B,I,V,oa,xa):a.call(a,b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B,I,V,oa,xa);b=[b,c,d,e,h,f,k,l,m,n,p,r,v,z,G,B,I,V,oa,xa];for(c=La;;)if(c)b.push(gb(c)),c=L(c);else break;return a.apply(a,b)}
function de(a,b){if(a.F){var c=a.G,d=Ud(c+1,b);return d<=c?Yd(a,d,b):a.F(b)}b=E(b);return null==b?a.v?a.v():a.call(a):$d(a,gb(b),Zd(b))}function ee(a,b,c){if(a.F){b=Xc(b,c);var d=a.G;c=Ud(d,c)+1;return c<=d?Yd(a,c,b):a.F(b)}return $d(a,b,E(c))}function fe(a,b,c,d){return a.F?(b=Xc(b,Xc(c,d)),c=a.G,d=2+Ud(c-1,d),d<=c?Yd(a,d,b):a.F(b)):ae(a,b,c,E(d))}function ge(a,b,c,d,e){return a.F?(b=Xc(b,Xc(c,Xc(d,e))),c=a.G,e=3+Ud(c-2,e),e<=c?Yd(a,e,b):a.F(b)):be(a,b,c,d,E(e))}
function id(a,b,c,d,e,f){return a.F?(f=Vd(f),b=Xc(b,Xc(c,Xc(d,Xc(e,f)))),c=a.G,f=4+Ud(c-3,f),f<=c?Yd(a,f,b):a.F(b)):ce(a,b,c,d,e,Vd(f))}
function he(){if("undefined"===typeof ta||"undefined"===typeof va||"undefined"===typeof wa)wa=function(a){this.ic=a;this.m=393216;this.C=0},wa.prototype.W=function(a,b){return new wa(b)},wa.prototype.S=function(){return this.ic},wa.prototype.ea=function(){return!1},wa.prototype.next=function(){return Error("No such element")},wa.prototype.remove=function(){return Error("Unsupported operation")},wa.Ac=function(){return new T(null,1,5,W,[ie],null)},wa.Ob=!0,wa.ub="cljs.core/t_cljs$core6741",wa.fc=function(a){return Ob(a,
"cljs.core/t_cljs$core6741")};return new wa(je)}function ke(a,b){for(;;){if(null==E(b))return!0;var c=J(b);c=a.f?a.f(c):a.call(null,c);if(x(c))b=L(b);else return!1}}function le(a,b){for(;;)if(b=E(b)){var c=J(b);c=a.f?a.f(c):a.call(null,c);if(x(c))return c;b=L(b)}else return null}
function me(){return function(){function a(f,h){return Oa(Ma.c?Ma.c(f,h):Ma.call(null,f,h))}function b(f){return Oa(Ma.f?Ma.f(f):Ma.call(null,f))}function c(){return Oa(Ma.v?Ma.v():Ma.call(null))}var d=null,e=function(){function f(k,l,m){var n=null;if(2<arguments.length){n=0;for(var p=Array(arguments.length-2);n<p.length;)p[n]=arguments[n+2],++n;n=new vc(p,0,null)}return h.call(this,k,l,n)}function h(k,l,m){return Oa(fe(Ma,k,l,m))}f.G=2;f.F=function(k){var l=J(k);k=L(k);var m=J(k);k=xc(k);return h(l,
m,k)};f.w=h;return f}();d=function(f,h,k){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,f);case 2:return a.call(this,f,h);default:var l=null;if(2<arguments.length){l=0;for(var m=Array(arguments.length-2);l<m.length;)m[l]=arguments[l+2],++l;l=new vc(m,0,null)}return e.w(f,h,l)}throw Error("Invalid arity: "+arguments.length);};d.G=2;d.F=e.F;d.v=c;d.f=b;d.c=a;d.w=e.w;return d}()}
var ne=function ne(a){switch(arguments.length){case 0:return ne.v();case 1:return ne.f(arguments[0]);case 2:return ne.c(arguments[0],arguments[1]);case 3:return ne.j(arguments[0],arguments[1],arguments[2]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return ne.w(arguments[0],arguments[1],arguments[2],new vc(c.slice(3),0,null))}};ne.v=function(){return Ad};ne.f=function(a){return a};
ne.c=function(a,b){return function(){function c(l,m,n){l=b.j?b.j(l,m,n):b.call(null,l,m,n);return a.f?a.f(l):a.call(null,l)}function d(l,m){l=b.c?b.c(l,m):b.call(null,l,m);return a.f?a.f(l):a.call(null,l)}function e(l){l=b.f?b.f(l):b.call(null,l);return a.f?a.f(l):a.call(null,l)}function f(){var l=b.v?b.v():b.call(null);return a.f?a.f(l):a.call(null,l)}var h=null,k=function(){function l(n,p,r,v){var z=null;if(3<arguments.length){z=0;for(var G=Array(arguments.length-3);z<G.length;)G[z]=arguments[z+
3],++z;z=new vc(G,0,null)}return m.call(this,n,p,r,z)}function m(n,p,r,v){n=ge(b,n,p,r,v);return a.f?a.f(n):a.call(null,n)}l.G=3;l.F=function(n){var p=J(n);n=L(n);var r=J(n);n=L(n);var v=J(n);n=xc(n);return m(p,r,v,n)};l.w=m;return l}();h=function(l,m,n,p){switch(arguments.length){case 0:return f.call(this);case 1:return e.call(this,l);case 2:return d.call(this,l,m);case 3:return c.call(this,l,m,n);default:var r=null;if(3<arguments.length){r=0;for(var v=Array(arguments.length-3);r<v.length;)v[r]=
arguments[r+3],++r;r=new vc(v,0,null)}return k.w(l,m,n,r)}throw Error("Invalid arity: "+arguments.length);};h.G=3;h.F=k.F;h.v=f;h.f=e;h.c=d;h.j=c;h.w=k.w;return h}()};
ne.j=function(a,b,c){return function(){function d(m,n,p){m=c.j?c.j(m,n,p):c.call(null,m,n,p);m=b.f?b.f(m):b.call(null,m);return a.f?a.f(m):a.call(null,m)}function e(m,n){m=c.c?c.c(m,n):c.call(null,m,n);m=b.f?b.f(m):b.call(null,m);return a.f?a.f(m):a.call(null,m)}function f(m){m=c.f?c.f(m):c.call(null,m);m=b.f?b.f(m):b.call(null,m);return a.f?a.f(m):a.call(null,m)}function h(){var m=c.v?c.v():c.call(null);m=b.f?b.f(m):b.call(null,m);return a.f?a.f(m):a.call(null,m)}var k=null,l=function(){function m(p,
r,v,z){var G=null;if(3<arguments.length){G=0;for(var B=Array(arguments.length-3);G<B.length;)B[G]=arguments[G+3],++G;G=new vc(B,0,null)}return n.call(this,p,r,v,G)}function n(p,r,v,z){p=ge(c,p,r,v,z);p=b.f?b.f(p):b.call(null,p);return a.f?a.f(p):a.call(null,p)}m.G=3;m.F=function(p){var r=J(p);p=L(p);var v=J(p);p=L(p);var z=J(p);p=xc(p);return n(r,v,z,p)};m.w=n;return m}();k=function(m,n,p,r){switch(arguments.length){case 0:return h.call(this);case 1:return f.call(this,m);case 2:return e.call(this,
m,n);case 3:return d.call(this,m,n,p);default:var v=null;if(3<arguments.length){v=0;for(var z=Array(arguments.length-3);v<z.length;)z[v]=arguments[v+3],++v;v=new vc(z,0,null)}return l.w(m,n,p,v)}throw Error("Invalid arity: "+arguments.length);};k.G=3;k.F=l.F;k.v=h;k.f=f;k.c=e;k.j=d;k.w=l.w;return k}()};
ne.w=function(a,b,c,d){var e=Hd(Xc(a,Xc(b,Xc(c,d))));return function(){function f(k){var l=null;if(0<arguments.length){l=0;for(var m=Array(arguments.length-0);l<m.length;)m[l]=arguments[l+0],++l;l=new vc(m,0,null)}return h.call(this,l)}function h(k){k=de(J(e),k);for(var l=L(e);;)if(l){var m=J(l);k=m.f?m.f(k):m.call(null,k);l=L(l)}else return k}f.G=0;f.F=function(k){k=E(k);return h(k)};f.w=h;return f}()};ne.F=function(a){var b=J(a),c=L(a);a=J(c);var d=L(c);c=J(d);d=L(d);return this.w(b,a,c,d)};
ne.G=3;function oe(a){return function(b){return function(){function c(h,k){k=a.f?a.f(k):a.call(null,k);return null==k?h:b.c?b.c(h,k):b.call(null,h,k)}function d(h){return b.f?b.f(h):b.call(null,h)}function e(){return b.v?b.v():b.call(null)}var f=null;f=function(h,k){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,h);case 2:return c.call(this,h,k)}throw Error("Invalid arity: "+arguments.length);};f.v=e;f.f=d;f.c=c;return f}()}}
function pe(a,b){return new Md(null,function(){var c=E(b);if(c){if(rd(c)){for(var d=Yb(c),e=R(d),f=Qd(e),h=0;;)if(h<e){var k=function(){var l=db.c(d,h);return a.f?a.f(l):a.call(null,l)}();null!=k&&f.add(k);h+=1}else break;return Sd(f.J(),pe(a,Zb(c)))}e=function(){var l=J(c);return a.f?a.f(l):a.call(null,l)}();return null==e?pe(a,xc(c)):Xc(e,pe(a,xc(c)))}return null},null)}function qe(a){this.state=a;this.Ua=this.lc=this.meta=null;this.C=16386;this.m=6455296}g=qe.prototype;
g.equiv=function(a){return this.B(null,a)};g.B=function(a,b){return this===b};g.ma=function(){return this.state};g.S=function(){return this.meta};g.Cb=function(a,b,c){this.Ua=ed.j(this.Ua,b,c);return this};g.Db=function(a,b){return this.Ua=gd.c(this.Ua,b)};g.P=function(){return this[aa]||(this[aa]=++ca)};function re(a){return new qe(a)}
function se(a,b){if(a instanceof qe){var c=a.lc;if(null!=c&&!x(c.f?c.f(b):c.call(null,b)))throw Error("Validator rejected reference state");c=a.state;a.state=b;if(null!=a.Ua)a:for(var d=E(a.Ua),e=null,f=0,h=0;;)if(h<f){var k=e.K(null,h),l=S(k,0);k=S(k,1);k.I?k.I(l,a,c,b):k.call(null,l,a,c,b);h+=1}else if(d=E(d))rd(d)?(e=Yb(d),d=Zb(d),l=e,f=R(e),e=l):(e=J(d),l=S(e,0),k=S(e,1),k.I?k.I(l,a,c,b):k.call(null,l,a,c,b),d=L(d),e=null,f=0),h=0;else break a;return b}return $b(a,b)}
var te=function te(a){switch(arguments.length){case 2:return te.c(arguments[0],arguments[1]);case 3:return te.j(arguments[0],arguments[1],arguments[2]);case 4:return te.I(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return te.w(arguments[0],arguments[1],arguments[2],arguments[3],new vc(c.slice(4),0,null))}};
te.c=function(a,b){if(a instanceof qe){var c=a.state;b=b.f?b.f(c):b.call(null,c);a=se(a,b)}else a=ac.c(a,b);return a};te.j=function(a,b,c){if(a instanceof qe){var d=a.state;b=b.c?b.c(d,c):b.call(null,d,c);a=se(a,b)}else a=ac.j(a,b,c);return a};te.I=function(a,b,c,d){if(a instanceof qe){var e=a.state;b=b.j?b.j(e,c,d):b.call(null,e,c,d);a=se(a,b)}else a=ac.I(a,b,c,d);return a};te.w=function(a,b,c,d,e){return a instanceof qe?se(a,ge(b,a.state,c,d,e)):ac.Z(a,b,c,d,e)};
te.F=function(a){var b=J(a),c=L(a);a=J(c);var d=L(c);c=J(d);var e=L(d);d=J(e);e=L(e);return this.w(b,a,c,d,e)};te.G=4;function ue(a){this.state=a;this.m=32768;this.C=0}ue.prototype.Bb=function(a,b){return this.state=b};ue.prototype.ma=function(){return this.state};
var ve=function ve(a){switch(arguments.length){case 1:return ve.f(arguments[0]);case 2:return ve.c(arguments[0],arguments[1]);case 3:return ve.j(arguments[0],arguments[1],arguments[2]);case 4:return ve.I(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return ve.w(arguments[0],arguments[1],arguments[2],arguments[3],new vc(c.slice(4),0,null))}};
ve.f=function(a){return function(b){return function(){function c(k,l){l=a.f?a.f(l):a.call(null,l);return b.c?b.c(k,l):b.call(null,k,l)}function d(k){return b.f?b.f(k):b.call(null,k)}function e(){return b.v?b.v():b.call(null)}var f=null,h=function(){function k(m,n,p){var r=null;if(2<arguments.length){r=0;for(var v=Array(arguments.length-2);r<v.length;)v[r]=arguments[r+2],++r;r=new vc(v,0,null)}return l.call(this,m,n,r)}function l(m,n,p){n=ee(a,n,p);return b.c?b.c(m,n):b.call(null,m,n)}k.G=2;k.F=function(m){var n=
J(m);m=L(m);var p=J(m);m=xc(m);return l(n,p,m)};k.w=l;return k}();f=function(k,l,m){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,k);case 2:return c.call(this,k,l);default:var n=null;if(2<arguments.length){n=0;for(var p=Array(arguments.length-2);n<p.length;)p[n]=arguments[n+2],++n;n=new vc(p,0,null)}return h.w(k,l,n)}throw Error("Invalid arity: "+arguments.length);};f.G=2;f.F=h.F;f.v=e;f.f=d;f.c=c;f.w=h.w;return f}()}};
ve.c=function(a,b){return new Md(null,function(){var c=E(b);if(c){if(rd(c)){for(var d=Yb(c),e=R(d),f=Qd(e),h=0;;)if(h<e)Td(f,function(){var k=db.c(d,h);return a.f?a.f(k):a.call(null,k)}()),h+=1;else break;return Sd(f.J(),ve.c(a,Zb(c)))}return Xc(function(){var k=J(c);return a.f?a.f(k):a.call(null,k)}(),ve.c(a,xc(c)))}return null},null)};
ve.j=function(a,b,c){return new Md(null,function(){var d=E(b),e=E(c);if(d&&e){var f=J(d);var h=J(e);f=a.c?a.c(f,h):a.call(null,f,h);d=Xc(f,ve.j(a,xc(d),xc(e)))}else d=null;return d},null)};ve.I=function(a,b,c,d){return new Md(null,function(){var e=E(b),f=E(c),h=E(d);if(e&&f&&h){var k=J(e);var l=J(f),m=J(h);k=a.j?a.j(k,l,m):a.call(null,k,l,m);e=Xc(k,ve.I(a,xc(e),xc(f),xc(h)))}else e=null;return e},null)};
ve.w=function(a,b,c,d,e){return ve.c(function(f){return de(a,f)},function k(h){return new Md(null,function(){var l=ve.c(E,h);return ke(Ad,l)?Xc(ve.c(J,l),k(ve.c(xc,l))):null},null)}(ad.w(e,d,Yc([c,b]))))};ve.F=function(a){var b=J(a),c=L(a);a=J(c);var d=L(c);c=J(d);var e=L(d);d=J(e);e=L(e);return this.w(b,a,c,d,e)};ve.G=4;
function we(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new Md(null,function(){if(0<a){var c=E(b);return c?Xc(J(c),we(a-1,xc(c))):null}return null},null)}function xe(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new Md(null,function(){a:for(var c=a,d=b;;)if(d=E(d),0<c&&d)--c,d=xc(d);else break a;return d},null)}
function ye(a,b){return new Md(null,function(){var c=E(b);if(c){if(rd(c)){for(var d=Yb(c),e=R(d),f=Qd(e),h=0;;)if(h<e){var k=db.c(d,h);k=a.f?a.f(k):a.call(null,k);x(k)&&(k=db.c(d,h),f.add(k));h+=1}else break;return Sd(f.J(),ye(a,Zb(c)))}d=J(c);c=xc(c);return x(a.f?a.f(d):a.call(null,d))?Xc(d,ye(a,c)):ye(a,c)}return null},null)}
var ze=function ze(a){switch(arguments.length){case 0:return ze.v();case 1:return ze.f(arguments[0]);case 2:return ze.c(arguments[0],arguments[1]);case 3:return ze.j(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",A.f(arguments.length)].join(""));}};ze.v=function(){return bd};ze.f=function(a){return a};ze.c=function(a,b){return null!=a?null!=a&&(a.C&4||u===a.Vb)?yb(Vb(Ua(Ub,Tb(a),b)),kd(a)):Ua(bb,a,b):Ua(ad,a,b)};
ze.j=function(a,b,c){return null!=a&&(a.C&4||u===a.Vb)?yb(Vb(Bd(b,Xd,Tb(a),c)),kd(a)):Bd(b,ad,a,c)};ze.G=3;function Ae(a,b){return Vb(Ua(function(c,d){return Xd.c(c,a.f?a.f(d):a.call(null,d))},Tb(bd),b))}function Be(a,b,c){return new Md(null,function(){var d=E(c);if(d){var e=we(a,d);return a===R(e)?Xc(e,Be(a,b,xe(b,d))):null}return null},null)}var Ce=function Ce(a,b,c){b=E(b);var e=J(b),f=L(b);return f?ed.j(a,e,function(){var h=sc.c(a,e);return Ce.j?Ce.j(h,f,c):Ce.call(null,h,f,c)}()):ed.j(a,e,c)};
function De(a,b,c){return ed.j(a,b,function(){var d=sc.c(a,b);return c.f?c.f(d):c.call(null,d)}())}function Ee(a,b){this.L=a;this.h=b}function Fe(a){return new Ee(a,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null])}function Ge(a){a=a.o;return 32>a?0:a-1>>>5<<5}function He(a,b,c){for(;;){if(0===b)return c;var d=Fe(a);d.h[0]=c;c=d;b-=5}}
var Ie=function Ie(a,b,c,d){var f=new Ee(c.L,Sa(c.h)),h=a.o-1>>>b&31;5===b?f.h[h]=d:(c=c.h[h],null!=c?(b-=5,a=Ie.I?Ie.I(a,b,c,d):Ie.call(null,a,b,c,d)):a=He(null,b-5,d),f.h[h]=a);return f};function Je(a,b){throw Error(["No item ",A.f(a)," in vector of length ",A.f(b)].join(""));}function Ke(a,b){if(b>=Ge(a))return a.ja;var c=a.root;for(a=a.shift;;)if(0<a){var d=a-5;c=c.h[b>>>a&31];a=d}else return c.h}
var Le=function Le(a,b,c,d,e){var h=new Ee(c.L,Sa(c.h));if(0===b)h.h[d&31]=e;else{var k=d>>>b&31;b-=5;c=c.h[k];a=Le.Z?Le.Z(a,b,c,d,e):Le.call(null,a,b,c,d,e);h.h[k]=a}return h};function Me(a,b,c){this.base=this.i=0;this.h=a;this.kc=b;this.start=0;this.end=c}Me.prototype.ea=function(){return this.i<this.end};Me.prototype.next=function(){32===this.i-this.base&&(this.h=Ke(this.kc,this.i),this.base+=32);var a=this.h[this.i&31];this.i+=1;return a};
function Ne(a,b,c,d){return c<d?Oe(a,b,Sc(a,c),c+1,d):b.v?b.v():b.call(null)}function Oe(a,b,c,d,e){var f=c;c=d;for(d=Ke(a,d);;)if(c<e){var h=c&31;d=0===h?Ke(a,c):d;h=d[h];f=b.c?b.c(f,h):b.call(null,f,h);if(Lc(f))return vb(f);c+=1}else return f}function T(a,b,c,d,e,f){this.meta=a;this.o=b;this.shift=c;this.root=d;this.ja=e;this.A=f;this.m=167666463;this.C=139268}g=T.prototype;g.cb=function(a,b){return 0<=b&&b<this.o?new Pe(b,Ke(this,b)[b&31]):null};g.toString=function(){return gc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){return"number"===typeof b?this.ba(null,b,c):c};
g.sb=function(a,b,c){a=0;for(var d=c;;)if(a<this.o){var e=Ke(this,a);c=e.length;a:for(var f=0;;)if(f<c){var h=f+a,k=e[f];d=b.j?b.j(d,h,k):b.call(null,d,h,k);if(Lc(d)){e=d;break a}f+=1}else{e=d;break a}if(Lc(e))return vb(e);a+=c;d=e}else return d};g.K=function(a,b){return(0<=b&&b<this.o?Ke(this,b):Je(b,this.o))[b&31]};g.ba=function(a,b,c){return 0<=b&&b<this.o?Ke(this,b)[b&31]:c};
g.Ab=function(a,b){if(0<=a&&a<this.o){if(Ge(this)<=a){var c=Sa(this.ja);c[a&31]=b;return new T(this.meta,this.o,this.shift,this.root,c,null)}return new T(this.meta,this.o,this.shift,Le(this,this.shift,this.root,a,b),this.ja,null)}if(a===this.o)return this.Y(null,b);throw Error(["Index ",A.f(a)," out of bounds [0,",A.f(this.o),"]"].join(""));};g.la=function(){var a=this.o;return new Me(0<R(this)?Ke(this,0):null,this,a)};g.S=function(){return this.meta};g.O=function(){return this.o};
g.tb=function(){return 0<this.o?new Vc(this,this.o-1,null):null};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};g.B=function(a,b){if(b instanceof T)if(this.o===R(b))for(a=this.la(null),b=b.la(null);;)if(a.ea()){var c=a.next(),d=b.next();if(!zc.c(c,d))return!1}else return!0;else return!1;else return Wc(this,b)};
g.Xa=function(){var a=this.o,b=this.shift,c=new Ee({},Sa(this.root.h)),d=this.ja,e=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];sd(d,0,e,0,d.length);return new Qe(a,b,c,e)};g.X=function(){return yb(bd,this.meta)};g.ca=function(a,b){return Ne(this,b,0,this.o)};
g.da=function(a,b,c){a=0;for(var d=c;;)if(a<this.o){var e=Ke(this,a);c=e.length;a:for(var f=0;;)if(f<c){var h=e[f];d=b.c?b.c(d,h):b.call(null,d,h);if(Lc(d)){e=d;break a}f+=1}else{e=d;break a}if(Lc(e))return vb(e);a+=c;d=e}else return d};g.Oa=function(a,b,c){if("number"===typeof b)return this.Ab(b,c);throw Error("Vector's key for assoc must be a number.");};
g.T=function(){if(0===this.o)var a=null;else if(32>=this.o)a=new vc(this.ja,0,null);else{a:{a=this.root;for(var b=this.shift;;)if(0<b)b-=5,a=a.h[0];else{a=a.h;break a}}a=new Se(this,a,0,0,null)}return a};g.W=function(a,b){return b===this.meta?this:new T(b,this.o,this.shift,this.root,this.ja,this.A)};
g.Y=function(a,b){if(32>this.o-Ge(this)){a=this.ja.length;for(var c=Array(a+1),d=0;;)if(d<a)c[d]=this.ja[d],d+=1;else break;c[a]=b;return new T(this.meta,this.o+1,this.shift,this.root,c,null)}a=(c=this.o>>>5>1<<this.shift)?this.shift+5:this.shift;c?(c=Fe(null),c.h[0]=this.root,d=He(null,this.shift,new Ee(null,this.ja)),c.h[1]=d):c=Ie(this,this.shift,this.root,new Ee(null,this.ja));return new T(this.meta,this.o+1,a,c,[b],null)};
g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return this.K(null,c);case 3:return this.ba(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return this.K(null,c)};a.j=function(b,c,d){return this.ba(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return this.K(null,a)};g.c=function(a,b){return this.ba(null,a,b)};
var W=new Ee(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]),bd=new T(null,0,5,W,[],Fc);T.prototype[Ra]=function(){return Bc(this)};
function Te(a){if(Ue(a))a=new T(null,2,5,W,[rb(a),sb(a)],null);else if(qd(a))a=jd(a,null);else if(Na(a))a:{var b=a.length;if(32>b)a=new T(null,b,5,W,a,null);else for(var c=32,d=(new T(null,32,5,W,a.slice(0,32),null)).Xa(null);;)if(c<b){var e=c+1;d=Xd.c(d,a[c]);c=e}else{a=Vb(d);break a}}else a=Vb(Ua(Ub,Tb(bd),a));return a}function Se(a,b,c,d,e){this.ka=a;this.node=b;this.i=c;this.ga=d;this.meta=e;this.A=null;this.m=32375020;this.C=1536}g=Se.prototype;g.toString=function(){return gc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.meta};g.$=function(){if(this.ga+1<this.node.length){var a=new Se(this.ka,this.node,this.i,this.ga+1,null);return null==a?null:a}return this.yb()};
g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};g.ca=function(a,b){return Ne(this.ka,b,this.i+this.ga,R(this.ka))};g.da=function(a,b,c){return Oe(this.ka,b,c,this.i+this.ga,R(this.ka))};g.aa=function(){return this.node[this.ga]};g.ha=function(){if(this.ga+1<this.node.length){var a=new Se(this.ka,this.node,this.i,this.ga+1,null);return null==a?yc:a}return this.Wa(null)};g.T=function(){return this};
g.rb=function(){var a=this.node;return new Pd(a,this.ga,a.length)};g.Wa=function(){var a=this.i+this.node.length;return a<Ya(this.ka)?new Se(this.ka,Ke(this.ka,a),a,0,null):yc};g.W=function(a,b){return b===this.meta?this:new Se(this.ka,this.node,this.i,this.ga,b)};g.Y=function(a,b){return Xc(b,this)};g.yb=function(){var a=this.i+this.node.length;return a<Ya(this.ka)?new Se(this.ka,Ke(this.ka,a),a,0,null):null};Se.prototype[Ra]=function(){return Bc(this)};
function Ve(a,b){return a===b.L?b:new Ee(a,Sa(b.h))}var We=function We(a,b,c,d){c=Ve(a.root.L,c);var f=a.o-1>>>b&31;if(5===b)a=d;else{var h=c.h[f];null!=h?(b-=5,a=We.I?We.I(a,b,h,d):We.call(null,a,b,h,d)):a=He(a.root.L,b-5,d)}c.h[f]=a;return c};function Qe(a,b,c,d){this.o=a;this.shift=b;this.root=c;this.ja=d;this.C=88;this.m=275}g=Qe.prototype;
g.$a=function(a,b){if(this.root.L){if(32>this.o-Ge(this))this.ja[this.o&31]=b;else{a=new Ee(this.root.L,this.ja);var c=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];c[0]=b;this.ja=c;this.o>>>5>1<<this.shift?(b=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],c=this.shift+
5,b[0]=this.root,b[1]=He(this.root.L,this.shift,a),this.root=new Ee(this.root.L,b),this.shift=c):this.root=We(this,this.shift,this.root,a)}this.o+=1;return this}throw Error("conj! after persistent!");};g.fb=function(){if(this.root.L){this.root.L=null;var a=this.o-Ge(this),b=Array(a);sd(this.ja,0,b,0,a);return new T(null,this.o,this.shift,this.root,b,null)}throw Error("persistent! called twice");};
g.Za=function(a,b,c){if("number"===typeof b)return Xe(this,b,c);throw Error("TransientVector's key for assoc! must be a number.");};
function Xe(a,b,c){if(a.root.L){if(0<=b&&b<a.o){if(Ge(a)<=b)a.ja[b&31]=c;else{var d=function(){return function k(f,h){h=Ve(a.root.L,h);if(0===f)h.h[b&31]=c;else{var l=b>>>f&31;f=k(f-5,h.h[l]);h.h[l]=f}return h}(a.shift,a.root)}();a.root=d}return a}if(b===a.o)return a.$a(null,c);throw Error(["Index ",A.f(b)," out of bounds for TransientVector of length",A.f(a.o)].join(""));}throw Error("assoc! after persistent!");}g.O=function(){if(this.root.L)return this.o;throw Error("count after persistent!");};
g.K=function(a,b){if(this.root.L)return(0<=b&&b<this.o?Ke(this,b):Je(b,this.o))[b&31];throw Error("nth after persistent!");};g.ba=function(a,b,c){return 0<=b&&b<this.o?this.K(null,b):c};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){if(this.root.L)return"number"===typeof b?this.ba(null,b,c):c;throw Error("lookup after persistent!");};
g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return this.R(null,c)};a.j=function(b,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return this.R(null,a)};g.c=function(a,b){return this.D(null,a,b)};function Ye(){this.m=2097152;this.C=0}
Ye.prototype.equiv=function(a){return this.B(null,a)};Ye.prototype.B=function(){return!1};var Ze=new Ye;function $e(a,b){return ud(od(b)&&!pd(b)?R(a)===R(b)?(null!=a?a.m&1048576||u===a.sc||(a.m?0:y(Cb,a)):y(Cb,a))?zd(function(c,d,e){return zc.c(sc.j(b,d,Ze),e)?!0:new Jc(!1)},!0,a):ke(function(c){return zc.c(sc.j(b,J(c),Ze),J(L(c)))},a):null:null)}function af(a){this.s=a}
af.prototype.next=function(){if(null!=this.s){var a=J(this.s),b=S(a,0);a=S(a,1);this.s=L(this.s);return{value:[b,a],done:!1}}return{value:null,done:!0}};function bf(a){this.s=a}bf.prototype.next=function(){if(null!=this.s){var a=J(this.s);this.s=L(this.s);return{value:[a,a],done:!1}}return{value:null,done:!0}};
function fd(a,b){if(b instanceof C)a:{var c=a.length;b=b.ua;for(var d=0;;){if(c<=d){a=-1;break a}if(a[d]instanceof C&&b===a[d].ua){a=d;break a}d+=2}}else if("string"==typeof b||"number"===typeof b)a:for(c=a.length,d=0;;){if(c<=d){a=-1;break a}if(b===a[d]){a=d;break a}d+=2}else if(b instanceof rc)a:for(c=a.length,b=b.Qa,d=0;;){if(c<=d){a=-1;break a}if(a[d]instanceof rc&&b===a[d].Qa){a=d;break a}d+=2}else if(null==b)a:for(b=a.length,c=0;;){if(b<=c){a=-1;break a}if(null==a[c]){a=c;break a}c+=2}else a:for(c=
a.length,d=0;;){if(c<=d){a=-1;break a}if(zc.c(b,a[d])){a=d;break a}d+=2}return a}function Pe(a,b){this.key=a;this.U=b;this.A=null;this.m=166619935;this.C=0}g=Pe.prototype;g.cb=function(a,b){switch(b){case 0:return new Pe(0,this.key);case 1:return new Pe(1,this.U);default:return null}};
g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.R=function(a,b){return this.ba(null,b,null)};g.D=function(a,b,c){return this.ba(null,b,c)};g.K=function(a,b){if(0===b)return this.key;if(1===b)return this.U;throw Error("Index out of bounds");};
g.ba=function(a,b,c){return 0===b?this.key:1===b?this.U:c};g.Ab=function(a,b){return(new T(null,2,5,W,[this.key,this.U],null)).Ab(a,b)};g.S=function(){return null};g.O=function(){return 2};g.ac=function(){return this.key};g.bc=function(){return this.U};g.tb=function(){return new vc([this.U,this.key],0,null)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};g.B=function(a,b){return Wc(this,b)};g.X=function(){return null};g.ca=function(a,b){return Mc(this,b)};
g.da=function(a,b,c){a:{a=this.O(null);var d=c;for(c=0;;)if(c<a){var e=this.K(null,c);d=b.c?b.c(d,e):b.call(null,d,e);if(Lc(d)){b=vb(d);break a}c+=1}else{b=d;break a}}return b};g.Oa=function(a,b,c){return ed.j(new T(null,2,5,W,[this.key,this.U],null),b,c)};g.T=function(){return new vc([this.key,this.U],0,null)};g.W=function(a,b){return jd(new T(null,2,5,W,[this.key,this.U],null),b)};g.Y=function(a,b){return new T(null,3,5,W,[this.key,this.U,b],null)};
g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return this.K(null,c);case 3:return this.ba(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return this.K(null,c)};a.j=function(b,c,d){return this.ba(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return this.K(null,a)};g.c=function(a,b){return this.ba(null,a,b)};function Ue(a){return null!=a?a.m&2048||u===a.vc?!0:!1:!1}
function cf(a,b,c){this.h=a;this.i=b;this.ta=c;this.m=32374990;this.C=0}g=cf.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.ta};g.$=function(){return this.i<this.h.length-2?new cf(this.h,this.i+2,null):null};g.O=function(){return(this.h.length-this.i)/2};g.P=function(){return Ec(this)};
g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){return new Pe(this.h[this.i],this.h[this.i+1])};g.ha=function(){return this.i<this.h.length-2?new cf(this.h,this.i+2,null):yc};g.T=function(){return this};g.W=function(a,b){return b===this.ta?this:new cf(this.h,this.i,b)};g.Y=function(a,b){return Xc(b,this)};cf.prototype[Ra]=function(){return Bc(this)};
function df(a,b){this.h=a;this.i=0;this.o=b}df.prototype.ea=function(){return this.i<this.o};df.prototype.next=function(){var a=new Pe(this.h[this.i],this.h[this.i+1]);this.i+=2;return a};function w(a,b,c,d){this.meta=a;this.o=b;this.h=c;this.A=d;this.m=16647951;this.C=139268}g=w.prototype;g.cb=function(a,b){a=fd(this.h,b);return-1===a?null:new Pe(this.h[a],this.h[a+1])};g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.keys=function(){return Bc(ef(this))};
g.entries=function(){return new af(E(E(this)))};g.values=function(){return Bc(ff(this))};g.has=function(a){return vd(this,a)};g.get=function(a,b){return this.D(null,a,b)};g.forEach=function(a){for(var b=E(this),c=null,d=0,e=0;;)if(e<d){var f=c.K(null,e),h=S(f,0);f=S(f,1);a.c?a.c(f,h):a.call(null,f,h);e+=1}else if(b=E(b))rd(b)?(c=Yb(b),b=Zb(b),h=c,d=R(c),c=h):(c=J(b),h=S(c,0),f=S(c,1),a.c?a.c(f,h):a.call(null,f,h),b=L(b),c=null,d=0),e=0;else return null};g.R=function(a,b){return this.D(null,b,null)};
g.D=function(a,b,c){a=fd(this.h,b);return-1===a?c:this.h[a+1]};g.sb=function(a,b,c){a=this.h.length;for(var d=0;;)if(d<a){var e=this.h[d],f=this.h[d+1];c=b.j?b.j(c,e,f):b.call(null,c,e,f);if(Lc(c))return vb(c);d+=2}else return c};g.la=function(){return new df(this.h,2*this.o)};g.S=function(){return this.meta};g.O=function(){return this.o};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Gc(this)};
g.B=function(a,b){if(od(b)&&!pd(b))if(a=this.h.length,this.o===b.O(null))for(var c=0;;)if(c<a){var d=b.D(null,this.h[c],td);if(d!==td)if(zc.c(this.h[c+1],d))c+=2;else return!1;else return!1}else return!0;else return!1;else return!1};g.Xa=function(){return new gf(this.h.length,Sa(this.h))};g.X=function(){return yb(je,this.meta)};g.ca=function(a,b){return wd(this,b)};g.da=function(a,b,c){return xd(this,b,c)};
g.zb=function(a,b){if(0<=fd(this.h,b)){a=this.h.length;var c=a-2;if(0===c)return this.X(null);c=Array(c);for(var d=0,e=0;;){if(d>=a)return new w(this.meta,this.o-1,c,null);zc.c(b,this.h[d])?d+=2:(c[e]=this.h[d],c[e+1]=this.h[d+1],e+=2,d+=2)}}else return this};
g.Oa=function(a,b,c){a=fd(this.h,b);if(-1===a){if(this.o<hf){a=this.h;for(var d=a.length,e=Array(d+2),f=0;;)if(f<d)e[f]=a[f],f+=1;else break;e[d]=b;e[d+1]=c;return new w(this.meta,this.o+1,e,null)}return yb(nb(ze.c(jf,this),b,c),this.meta)}if(c===this.h[a+1])return this;b=Sa(this.h);b[a+1]=c;return new w(this.meta,this.o,b,null)};g.T=function(){var a=this.h;return 0<=a.length-2?new cf(a,0,null):null};g.W=function(a,b){return b===this.meta?this:new w(b,this.o,this.h,this.A)};
g.Y=function(a,b){if(qd(b))return this.Oa(null,db.c(b,0),db.c(b,1));a=this;for(b=E(b);;){if(null==b)return a;var c=J(b);if(qd(c))a=nb(a,db.c(c,0),db.c(c,1)),b=L(b);else throw Error("conj on a map takes map entries or seqables of map entries");}};
g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return this.R(null,c)};a.j=function(b,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return this.R(null,a)};g.c=function(a,b){return this.D(null,a,b)};var je=new w(null,0,[],Hc),hf=8;w.prototype[Ra]=function(){return Bc(this)};
function gf(a,b){this.ab={};this.bb=a;this.h=b;this.m=259;this.C=56}g=gf.prototype;g.O=function(){if(this.ab)return Dd(this.bb,2);throw Error("count after persistent!");};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){if(this.ab)return a=fd(this.h,b),-1===a?c:this.h[a+1];throw Error("lookup after persistent!");};
g.$a=function(a,b){if(this.ab){if(Ue(b))return this.Za(null,rb(b),sb(b));if(qd(b))return this.Za(null,b.f?b.f(0):b.call(null,0),b.f?b.f(1):b.call(null,1));a=E(b);for(b=this;;){var c=J(a);if(x(c))a=L(a),b=Wb(b,rb(c),sb(c));else return b}}else throw Error("conj! after persistent!");};g.fb=function(){if(this.ab)return this.ab=!1,new w(null,Dd(this.bb,2),this.h,null);throw Error("persistent! called twice");};
g.Za=function(a,b,c){if(this.ab){a=fd(this.h,b);if(-1===a){if(this.bb+2<=2*hf)return this.bb+=2,this.h.push(b),this.h.push(c),this;a:{a=this.bb;var d=this.h;var e=Tb(jf);for(var f=0;;)if(f<a)e=Wb(e,d[f],d[f+1]),f+=2;else break a}return Wb(e,b,c)}c!==this.h[a+1]&&(this.h[a+1]=c);return this}throw Error("assoc! after persistent!");};
g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return this.D(null,c,null);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return this.D(null,c,null)};a.j=function(b,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return this.D(null,a,null)};g.c=function(a,b){return this.D(null,a,b)};function kf(){this.U=!1}
function lf(a,b){return a===b?!0:a===b||a instanceof C&&b instanceof C&&a.ua===b.ua?!0:zc.c(a,b)}function mf(a,b,c){a=Sa(a);a[b]=c;return a}function nf(a,b){var c=Array(a.length-2);sd(a,0,c,0,2*b);sd(a,2*(b+1),c,2*b,c.length-2*b);return c}function of(a,b,c,d){a=a.Sa(b);a.h[c]=d;return a}function pf(a,b,c){for(var d=a.length,e=0,f=c;;)if(e<d){c=a[e];if(null!=c){var h=a[e+1];c=b.j?b.j(f,c,h):b.call(null,f,c,h)}else c=a[e+1],c=null!=c?c.lb(b,f):f;if(Lc(c))return c;e+=2;f=c}else return f}
function qf(a){this.h=a;this.i=0;this.ra=this.mb=null}qf.prototype.advance=function(){for(var a=this.h.length;;)if(this.i<a){var b=this.h[this.i],c=this.h[this.i+1];null!=b?b=this.mb=new Pe(b,c):null!=c?(b=ec(c),b=b.ea()?this.ra=b:!1):b=!1;this.i+=2;if(b)return!0}else return!1};qf.prototype.ea=function(){var a=null!=this.mb;return a?a:(a=null!=this.ra)?a:this.advance()};
qf.prototype.next=function(){if(null!=this.mb){var a=this.mb;this.mb=null;return a}if(null!=this.ra)return a=this.ra.next(),this.ra.ea()||(this.ra=null),a;if(this.advance())return this.next();throw Error("No such element");};qf.prototype.remove=function(){return Error("Unsupported operation")};function rf(a,b,c){this.L=a;this.N=b;this.h=c;this.C=131072;this.m=0}g=rf.prototype;
g.Sa=function(a){if(a===this.L)return this;var b=Ed(this.N),c=Array(0>b?4:2*(b+1));sd(this.h,0,c,0,2*b);return new rf(a,this.N,c)};g.ib=function(){return sf(this.h,0,null)};g.lb=function(a,b){return pf(this.h,a,b)};g.Ta=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.N&e))return d;var f=Ed(this.N&e-1);e=this.h[2*f];f=this.h[2*f+1];return null==e?f.Ta(a+5,b,c,d):lf(c,e)?f:d};
g.pa=function(a,b,c,d,e,f){var h=1<<(c>>>b&31),k=Ed(this.N&h-1);if(0===(this.N&h)){var l=Ed(this.N);if(2*l<this.h.length){a=this.Sa(a);b=a.h;f.U=!0;a:for(c=2*(l-k),f=2*k+(c-1),l=2*(k+1)+(c-1);;){if(0===c)break a;b[l]=b[f];--l;--c;--f}b[2*k]=d;b[2*k+1]=e;a.N|=h;return a}if(16<=l){k=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];k[c>>>b&31]=tf.pa(a,b+5,c,d,e,f);for(e=d=0;;)if(32>d)0===
(this.N>>>d&1)?d+=1:(k[d]=null!=this.h[e]?tf.pa(a,b+5,pc(this.h[e]),this.h[e],this.h[e+1],f):this.h[e+1],e+=2,d+=1);else break;return new uf(a,l+1,k)}b=Array(2*(l+4));sd(this.h,0,b,0,2*k);b[2*k]=d;b[2*k+1]=e;sd(this.h,2*k,b,2*(k+1),2*(l-k));f.U=!0;a=this.Sa(a);a.h=b;a.N|=h;return a}l=this.h[2*k];h=this.h[2*k+1];if(null==l)return l=h.pa(a,b+5,c,d,e,f),l===h?this:of(this,a,2*k+1,l);if(lf(d,l))return e===h?this:of(this,a,2*k+1,e);f.U=!0;f=b+5;b=pc(l);if(b===c)e=new vf(null,b,2,[l,h,d,e]);else{var m=
new kf;e=tf.pa(a,f,b,l,h,m).pa(a,f,c,d,e,m)}d=2*k;k=2*k+1;a=this.Sa(a);a.h[d]=null;a.h[k]=e;return a};
g.oa=function(a,b,c,d,e){var f=1<<(b>>>a&31),h=Ed(this.N&f-1);if(0===(this.N&f)){var k=Ed(this.N);if(16<=k){h=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];h[b>>>a&31]=tf.oa(a+5,b,c,d,e);for(d=c=0;;)if(32>c)0===(this.N>>>c&1)?c+=1:(h[c]=null!=this.h[d]?tf.oa(a+5,pc(this.h[d]),this.h[d],this.h[d+1],e):this.h[d+1],d+=2,c+=1);else break;return new uf(null,k+1,h)}a=Array(2*(k+1));sd(this.h,
0,a,0,2*h);a[2*h]=c;a[2*h+1]=d;sd(this.h,2*h,a,2*(h+1),2*(k-h));e.U=!0;return new rf(null,this.N|f,a)}var l=this.h[2*h];f=this.h[2*h+1];if(null==l)return k=f.oa(a+5,b,c,d,e),k===f?this:new rf(null,this.N,mf(this.h,2*h+1,k));if(lf(c,l))return d===f?this:new rf(null,this.N,mf(this.h,2*h+1,d));e.U=!0;e=this.N;k=this.h;a+=5;var m=pc(l);if(m===b)c=new vf(null,m,2,[l,f,c,d]);else{var n=new kf;c=tf.oa(a,m,l,f,n).oa(a,b,c,d,n)}a=2*h;h=2*h+1;d=Sa(k);d[a]=null;d[h]=c;return new rf(null,e,d)};
g.hb=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.N&e))return d;var f=Ed(this.N&e-1);e=this.h[2*f];f=this.h[2*f+1];return null==e?f.hb(a+5,b,c,d):lf(c,e)?new Pe(e,f):d};g.jb=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.N&d))return this;var e=Ed(this.N&d-1),f=this.h[2*e],h=this.h[2*e+1];return null==f?(a=h.jb(a+5,b,c),a===h?this:null!=a?new rf(null,this.N,mf(this.h,2*e+1,a)):this.N===d?null:new rf(null,this.N^d,nf(this.h,e))):lf(c,f)?new rf(null,this.N^d,nf(this.h,e)):this};g.la=function(){return new qf(this.h)};
var tf=new rf(null,0,[]);function wf(a){this.h=a;this.i=0;this.ra=null}wf.prototype.ea=function(){for(var a=this.h.length;;){if(null!=this.ra&&this.ra.ea())return!0;if(this.i<a){var b=this.h[this.i];this.i+=1;null!=b&&(this.ra=ec(b))}else return!1}};wf.prototype.next=function(){if(this.ea())return this.ra.next();throw Error("No such element");};wf.prototype.remove=function(){return Error("Unsupported operation")};function uf(a,b,c){this.L=a;this.o=b;this.h=c;this.C=131072;this.m=0}g=uf.prototype;
g.Sa=function(a){return a===this.L?this:new uf(a,this.o,Sa(this.h))};g.ib=function(){return xf(this.h,0,null)};g.lb=function(a,b){for(var c=this.h.length,d=0;;)if(d<c){var e=this.h[d];if(null!=e){b=e.lb(a,b);if(Lc(b))return b;d+=1}else d+=1}else return b};g.Ta=function(a,b,c,d){var e=this.h[b>>>a&31];return null!=e?e.Ta(a+5,b,c,d):d};
g.pa=function(a,b,c,d,e,f){var h=c>>>b&31,k=this.h[h];if(null==k)return a=of(this,a,h,tf.pa(a,b+5,c,d,e,f)),a.o+=1,a;b=k.pa(a,b+5,c,d,e,f);return b===k?this:of(this,a,h,b)};g.oa=function(a,b,c,d,e){var f=b>>>a&31,h=this.h[f];if(null==h)return new uf(null,this.o+1,mf(this.h,f,tf.oa(a+5,b,c,d,e)));a=h.oa(a+5,b,c,d,e);return a===h?this:new uf(null,this.o,mf(this.h,f,a))};g.hb=function(a,b,c,d){var e=this.h[b>>>a&31];return null!=e?e.hb(a+5,b,c,d):d};
g.jb=function(a,b,c){var d=b>>>a&31,e=this.h[d];if(null!=e){a=e.jb(a+5,b,c);if(a===e)d=this;else if(null==a)if(8>=this.o)a:{e=this.h;a=e.length;b=Array(2*(this.o-1));c=0;for(var f=1,h=0;;)if(c<a)c!==d&&null!=e[c]?(b[f]=e[c],f+=2,h|=1<<c,c+=1):c+=1;else{d=new rf(null,h,b);break a}}else d=new uf(null,this.o-1,mf(this.h,d,a));else d=new uf(null,this.o,mf(this.h,d,a));return d}return this};g.la=function(){return new wf(this.h)};
function yf(a,b,c){b*=2;for(var d=0;;)if(d<b){if(lf(c,a[d]))return d;d+=2}else return-1}function vf(a,b,c,d){this.L=a;this.Ka=b;this.o=c;this.h=d;this.C=131072;this.m=0}g=vf.prototype;g.Sa=function(a){if(a===this.L)return this;var b=Array(2*(this.o+1));sd(this.h,0,b,0,2*this.o);return new vf(a,this.Ka,this.o,b)};g.ib=function(){return sf(this.h,0,null)};g.lb=function(a,b){return pf(this.h,a,b)};g.Ta=function(a,b,c,d){a=yf(this.h,this.o,c);return 0>a?d:lf(c,this.h[a])?this.h[a+1]:d};
g.pa=function(a,b,c,d,e,f){if(c===this.Ka){b=yf(this.h,this.o,d);if(-1===b){if(this.h.length>2*this.o)return b=2*this.o,c=2*this.o+1,a=this.Sa(a),a.h[b]=d,a.h[c]=e,f.U=!0,a.o+=1,a;c=this.h.length;b=Array(c+2);sd(this.h,0,b,0,c);b[c]=d;b[c+1]=e;f.U=!0;d=this.o+1;a===this.L?(this.h=b,this.o=d,a=this):a=new vf(this.L,this.Ka,d,b);return a}return this.h[b+1]===e?this:of(this,a,b+1,e)}return(new rf(a,1<<(this.Ka>>>b&31),[null,this,null,null])).pa(a,b,c,d,e,f)};
g.oa=function(a,b,c,d,e){return b===this.Ka?(a=yf(this.h,this.o,c),-1===a?(a=2*this.o,b=Array(a+2),sd(this.h,0,b,0,a),b[a]=c,b[a+1]=d,e.U=!0,new vf(null,this.Ka,this.o+1,b)):zc.c(this.h[a+1],d)?this:new vf(null,this.Ka,this.o,mf(this.h,a+1,d))):(new rf(null,1<<(this.Ka>>>a&31),[null,this])).oa(a,b,c,d,e)};g.hb=function(a,b,c,d){a=yf(this.h,this.o,c);return 0>a?d:lf(c,this.h[a])?new Pe(this.h[a],this.h[a+1]):d};
g.jb=function(a,b,c){a=yf(this.h,this.o,c);return-1===a?this:1===this.o?null:new vf(null,this.Ka,this.o-1,nf(this.h,Dd(a,2)))};g.la=function(){return new qf(this.h)};function zf(a,b,c,d,e){this.meta=a;this.sa=b;this.i=c;this.s=d;this.A=e;this.m=32374988;this.C=0}g=zf.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};
g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.meta};g.$=function(){return null==this.s?sf(this.sa,this.i+2,null):sf(this.sa,this.i,L(this.s))};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};
g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){return null==this.s?new Pe(this.sa[this.i],this.sa[this.i+1]):J(this.s)};g.ha=function(){var a=null==this.s?sf(this.sa,this.i+2,null):sf(this.sa,this.i,L(this.s));return null!=a?a:yc};g.T=function(){return this};g.W=function(a,b){return b===this.meta?this:new zf(b,this.sa,this.i,this.s,this.A)};g.Y=function(a,b){return Xc(b,this)};
zf.prototype[Ra]=function(){return Bc(this)};function sf(a,b,c){if(null==c)for(c=a.length;;)if(b<c){if(null!=a[b])return new zf(null,a,b,null,null);var d=a[b+1];if(x(d)&&(d=d.ib(),x(d)))return new zf(null,a,b+2,d,null);b+=2}else return null;else return new zf(null,a,b,c,null)}function Af(a,b,c,d,e){this.meta=a;this.sa=b;this.i=c;this.s=d;this.A=e;this.m=32374988;this.C=0}g=Af.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};
g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.meta};g.$=function(){return xf(this.sa,this.i,L(this.s))};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};
g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){return J(this.s)};g.ha=function(){var a=xf(this.sa,this.i,L(this.s));return null!=a?a:yc};g.T=function(){return this};g.W=function(a,b){return b===this.meta?this:new Af(b,this.sa,this.i,this.s,this.A)};g.Y=function(a,b){return Xc(b,this)};Af.prototype[Ra]=function(){return Bc(this)};
function xf(a,b,c){if(null==c)for(c=a.length;;)if(b<c){var d=a[b];if(x(d)&&(d=d.ib(),x(d)))return new Af(null,a,b+1,d,null);b+=1}else return null;else return new Af(null,a,b,c,null)}function Bf(a,b){this.fa=a;this.Tb=b;this.Eb=!1}Bf.prototype.ea=function(){return!this.Eb||this.Tb.ea()};Bf.prototype.next=function(){if(this.Eb)return this.Tb.next();this.Eb=!0;return new Pe(null,this.fa)};Bf.prototype.remove=function(){return Error("Unsupported operation")};
function Cf(a,b,c,d,e,f){this.meta=a;this.o=b;this.root=c;this.ia=d;this.fa=e;this.A=f;this.m=16123663;this.C=139268}g=Cf.prototype;g.cb=function(a,b){return null==b?this.ia?new Pe(null,this.fa):null:null==this.root?null:this.root.hb(0,pc(b),b,null)};g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.keys=function(){return Bc(ef(this))};g.entries=function(){return new af(E(E(this)))};g.values=function(){return Bc(ff(this))};g.has=function(a){return vd(this,a)};
g.get=function(a,b){return this.D(null,a,b)};g.forEach=function(a){for(var b=E(this),c=null,d=0,e=0;;)if(e<d){var f=c.K(null,e),h=S(f,0);f=S(f,1);a.c?a.c(f,h):a.call(null,f,h);e+=1}else if(b=E(b))rd(b)?(c=Yb(b),b=Zb(b),h=c,d=R(c),c=h):(c=J(b),h=S(c,0),f=S(c,1),a.c?a.c(f,h):a.call(null,f,h),b=L(b),c=null,d=0),e=0;else return null};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){return null==b?this.ia?this.fa:c:null==this.root?c:this.root.Ta(0,pc(b),b,c)};
g.sb=function(a,b,c){a=this.ia?b.j?b.j(c,null,this.fa):b.call(null,c,null,this.fa):c;Lc(a)?b=vb(a):null!=this.root?(b=this.root.lb(b,a),b=Lc(b)?vb(b):b):b=a;return b};g.la=function(){var a=this.root?ec(this.root):he();return this.ia?new Bf(this.fa,a):a};g.S=function(){return this.meta};g.O=function(){return this.o};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Gc(this)};g.B=function(a,b){return $e(this,b)};g.Xa=function(){return new Df(this.root,this.o,this.ia,this.fa)};
g.X=function(){return yb(jf,this.meta)};g.zb=function(a,b){if(null==b)return this.ia?new Cf(this.meta,this.o-1,this.root,!1,null,null):this;if(null==this.root)return this;a=this.root.jb(0,pc(b),b);return a===this.root?this:new Cf(this.meta,this.o-1,a,this.ia,this.fa,null)};
g.Oa=function(a,b,c){if(null==b)return this.ia&&c===this.fa?this:new Cf(this.meta,this.ia?this.o:this.o+1,this.root,!0,c,null);a=new kf;b=(null==this.root?tf:this.root).oa(0,pc(b),b,c,a);return b===this.root?this:new Cf(this.meta,a.U?this.o+1:this.o,b,this.ia,this.fa,null)};g.T=function(){if(0<this.o){var a=null!=this.root?this.root.ib():null;return this.ia?Xc(new Pe(null,this.fa),a):a}return null};g.W=function(a,b){return b===this.meta?this:new Cf(b,this.o,this.root,this.ia,this.fa,this.A)};
g.Y=function(a,b){if(qd(b))return this.Oa(null,db.c(b,0),db.c(b,1));a=this;for(b=E(b);;){if(null==b)return a;var c=J(b);if(qd(c))a=nb(a,db.c(c,0),db.c(c,1)),b=L(b);else throw Error("conj on a map takes map entries or seqables of map entries");}};
g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return this.R(null,c)};a.j=function(b,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return this.R(null,a)};g.c=function(a,b){return this.D(null,a,b)};var jf=new Cf(null,0,null,!1,null,Hc);Cf.prototype[Ra]=function(){return Bc(this)};
function Df(a,b,c,d){this.L={};this.root=a;this.count=b;this.ia=c;this.fa=d;this.m=259;this.C=56}function Ef(a,b,c){if(a.L){if(null==b)a.fa!==c&&(a.fa=c),a.ia||(a.count+=1,a.ia=!0);else{var d=new kf;b=(null==a.root?tf:a.root).pa(a.L,0,pc(b),b,c,d);b!==a.root&&(a.root=b);d.U&&(a.count+=1)}return a}throw Error("assoc! after persistent!");}g=Df.prototype;g.O=function(){if(this.L)return this.count;throw Error("count after persistent!");};
g.R=function(a,b){return null==b?this.ia?this.fa:null:null==this.root?null:this.root.Ta(0,pc(b),b)};g.D=function(a,b,c){return null==b?this.ia?this.fa:c:null==this.root?c:this.root.Ta(0,pc(b),b,c)};g.$a=function(a,b){a:if(this.L)if(Ue(b))a=Ef(this,rb(b),sb(b));else if(qd(b))a=Ef(this,b.f?b.f(0):b.call(null,0),b.f?b.f(1):b.call(null,1));else for(a=E(b),b=this;;){var c=J(a);if(x(c))a=L(a),b=Ef(b,rb(c),sb(c));else{a=b;break a}}else throw Error("conj! after persistent");return a};
g.fb=function(){if(this.L){this.L=null;var a=new Cf(null,this.count,this.root,this.ia,this.fa,null)}else throw Error("persistent! called twice");return a};g.Za=function(a,b,c){return Ef(this,b,c)};g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return this.R(null,c)};a.j=function(b,c,d){return this.D(null,c,d)};return a}();
g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return this.R(null,a)};g.c=function(a,b){return this.D(null,a,b)};var Ff=function Ff(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return Ff.w(0<c.length?new vc(c.slice(0),0,null):null)};Ff.w=function(a){for(var b=E(a),c=Tb(jf);;)if(b){a=L(L(b));var d=J(b);b=J(L(b));c=Wb(c,d,b);b=a}else return Vb(c)};Ff.G=0;Ff.F=function(a){return this.w(E(a))};
function Gf(a,b){this.H=a;this.ta=b;this.m=32374988;this.C=0}g=Gf.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.ta};g.$=function(){var a=(null!=this.H?this.H.m&128||u===this.H.eb||(this.H.m?0:y(ib,this.H)):y(ib,this.H))?this.H.$():L(this.H);return null==a?null:new Gf(a,null)};g.P=function(){return Ec(this)};
g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){return this.H.aa(null).key};g.ha=function(){var a=(null!=this.H?this.H.m&128||u===this.H.eb||(this.H.m?0:y(ib,this.H)):y(ib,this.H))?this.H.$():L(this.H);return null!=a?new Gf(a,null):yc};g.T=function(){return this};g.W=function(a,b){return b===this.ta?this:new Gf(this.H,b)};g.Y=function(a,b){return Xc(b,this)};Gf.prototype[Ra]=function(){return Bc(this)};
function ef(a){return(a=E(a))?new Gf(a,null):null}function Hf(a,b){this.H=a;this.ta=b;this.m=32374988;this.C=0}g=Hf.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();g.S=function(){return this.ta};g.$=function(){var a=(null!=this.H?this.H.m&128||u===this.H.eb||(this.H.m?0:y(ib,this.H)):y(ib,this.H))?this.H.$():L(this.H);return null==a?null:new Hf(a,null)};g.P=function(){return Ec(this)};
g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};g.ca=function(a,b){return Zc(b,this)};g.da=function(a,b,c){return $c(b,c,this)};g.aa=function(){return this.H.aa(null).U};g.ha=function(){var a=(null!=this.H?this.H.m&128||u===this.H.eb||(this.H.m?0:y(ib,this.H)):y(ib,this.H))?this.H.$():L(this.H);return null!=a?new Hf(a,null):yc};g.T=function(){return this};g.W=function(a,b){return b===this.ta?this:new Hf(this.H,b)};g.Y=function(a,b){return Xc(b,this)};Hf.prototype[Ra]=function(){return Bc(this)};
function ff(a){return(a=E(a))?new Hf(a,null):null}var If=function If(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return If.w(0<c.length?new vc(c.slice(0),0,null):null)};If.w=function(a){return x(le(Ad,a))?yd(function(b,c){return ad.c(x(b)?b:je,c)},a):null};If.G=0;If.F=function(a){return this.w(E(a))};function Jf(a){this.kb=a}Jf.prototype.ea=function(){return this.kb.ea()};
Jf.prototype.next=function(){if(this.kb.ea())return this.kb.next().key;throw Error("No such element");};Jf.prototype.remove=function(){return Error("Unsupported operation")};function Kf(a,b,c){this.meta=a;this.Pa=b;this.A=c;this.m=15077647;this.C=139268}g=Kf.prototype;g.toString=function(){return gc(this)};g.equiv=function(a){return this.B(null,a)};g.keys=function(){return Bc(E(this))};g.entries=function(){return new bf(E(E(this)))};g.values=function(){return Bc(E(this))};
g.has=function(a){return vd(this,a)};g.forEach=function(a){for(var b=E(this),c=null,d=0,e=0;;)if(e<d){var f=c.K(null,e),h=S(f,0);f=S(f,1);a.c?a.c(f,h):a.call(null,f,h);e+=1}else if(b=E(b))rd(b)?(c=Yb(b),b=Zb(b),h=c,d=R(c),c=h):(c=J(b),h=S(c,0),f=S(c,1),a.c?a.c(f,h):a.call(null,f,h),b=L(b),c=null,d=0),e=0;else return null};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){a=ob(this.Pa,b);return x(a)?rb(a):c};g.la=function(){return new Jf(ec(this.Pa))};g.S=function(){return this.meta};
g.O=function(){return Ya(this.Pa)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Gc(this)};g.B=function(a,b){if(md(b))if(R(this)===R(b))try{return zd(function(c,d){return(c=vd(b,d))?c:new Jc(!1)},!0,this.Pa)}catch(c){if(c instanceof Error)return!1;throw c;}else return!1;else return!1};g.Xa=function(){return new Lf(Tb(this.Pa))};g.X=function(){return yb(Mf,this.meta)};g.T=function(){return ef(this.Pa)};g.W=function(a,b){return b===this.meta?this:new Kf(b,this.Pa,this.A)};
g.Y=function(a,b){return new Kf(this.meta,ed.j(this.Pa,b,null),null)};g.call=function(){var a=null;a=function(b,c,d){switch(arguments.length){case 2:return this.R(null,c);case 3:return this.D(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(b,c){return this.R(null,c)};a.j=function(b,c,d){return this.D(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return this.R(null,a)};
g.c=function(a,b){return this.D(null,a,b)};var Mf=new Kf(null,je,Hc);Kf.prototype[Ra]=function(){return Bc(this)};function Lf(a){this.Na=a;this.C=136;this.m=259}g=Lf.prototype;g.$a=function(a,b){this.Na=Wb(this.Na,b,null);return this};g.fb=function(){return new Kf(null,Vb(this.Na),null)};g.O=function(){return R(this.Na)};g.R=function(a,b){return this.D(null,b,null)};g.D=function(a,b,c){return lb.j(this.Na,b,td)===td?c:b};
g.call=function(){function a(d,e,f){return lb.j(this.Na,e,td)===td?f:e}function b(d,e){return lb.j(this.Na,e,td)===td?null:e}var c=null;c=function(d,e,f){switch(arguments.length){case 2:return b.call(this,d,e);case 3:return a.call(this,d,e,f)}throw Error("Invalid arity: "+(arguments.length-1));};c.c=b;c.j=a;return c}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Sa(b)))};g.f=function(a){return lb.j(this.Na,a,td)===td?null:a};g.c=function(a,b){return lb.j(this.Na,a,td)===td?b:a};
function Ld(a){if(null!=a&&(a.C&4096||u===a.cc))return a.name;if("string"===typeof a)return a;throw Error(["Doesn't support name: ",A.f(a)].join(""));}function Nf(a,b,c){this.start=a;this.step=b;this.count=c;this.m=82;this.C=0}g=Nf.prototype;g.O=function(){return this.count};g.aa=function(){return this.start};g.K=function(a,b){return this.start+b*this.step};g.ba=function(a,b,c){return 0<=b&&b<this.count?this.start+b*this.step:c};
g.xb=function(){if(1>=this.count)throw Error("-drop-first of empty chunk");return new Nf(this.start+this.step,this.step,this.count-1)};function Of(a,b,c){this.i=a;this.end=b;this.step=c}Of.prototype.ea=function(){return 0<this.step?this.i<this.end:this.i>this.end};Of.prototype.next=function(){var a=this.i;this.i+=this.step;return a};function Pf(a,b,c,d,e,f,h){this.meta=a;this.start=b;this.end=c;this.step=d;this.J=e;this.pb=f;this.A=h;this.m=32375006;this.C=140800}g=Pf.prototype;g.toString=function(){return gc(this)};
g.equiv=function(a){return this.B(null,a)};g.indexOf=function(){var a=null;a=function(b,c){switch(arguments.length){case 1:return O(this,b,0);case 2:return O(this,b,c)}throw Error("Invalid arity: "+arguments.length);};a.f=function(b){return O(this,b,0)};a.c=function(b,c){return O(this,b,c)};return a}();
g.lastIndexOf=function(){function a(c){return Tc(this,c,R(this))}var b=null;b=function(c,d){switch(arguments.length){case 1:return a.call(this,c);case 2:return Tc(this,c,d)}throw Error("Invalid arity: "+arguments.length);};b.f=a;b.c=function(c,d){return Tc(this,c,d)};return b}();function Qf(a){if(null==a.J){var b=a.O(null);32<b?(a.pb=new Pf(null,a.start+32*a.step,a.end,a.step,null,null,null),a.J=new Nf(a.start,a.step,32)):a.J=new Nf(a.start,a.step,b)}}
g.K=function(a,b){if(0<=b&&b<this.O(null))return this.start+b*this.step;if(0<=b&&this.start>this.end&&0===this.step)return this.start;throw Error("Index out of bounds");};g.ba=function(a,b,c){return 0<=b&&b<this.O(null)?this.start+b*this.step:0<=b&&this.start>this.end&&0===this.step?this.start:c};g.la=function(){return new Of(this.start,this.end,this.step)};g.S=function(){return this.meta};
g.$=function(){return 0<this.step?this.start+this.step<this.end?new Pf(null,this.start+this.step,this.end,this.step,null,null,null):null:this.start+this.step>this.end?new Pf(null,this.start+this.step,this.end,this.step,null,null,null):null};g.O=function(){return Math.ceil((this.end-this.start)/this.step)};g.P=function(){var a=this.A;return null!=a?a:this.A=a=Ec(this)};g.B=function(a,b){return Wc(this,b)};g.X=function(){return yc};g.ca=function(a,b){return Mc(this,b)};
g.da=function(a,b,c){for(a=this.start;;)if(0<this.step?a<this.end:a>this.end){c=b.c?b.c(c,a):b.call(null,c,a);if(Lc(c))return vb(c);a+=this.step}else return c};g.aa=function(){return this.start};g.ha=function(){var a=this.$();return null==a?yc:a};g.T=function(){return this};g.rb=function(){Qf(this);return this.J};g.Wa=function(){Qf(this);return null==this.pb?yc:this.pb};g.W=function(a,b){return b===this.meta?this:new Pf(b,this.start,this.end,this.step,this.J,this.pb,this.A)};
g.Y=function(a,b){return Xc(b,this)};g.yb=function(){return E(this.Wa(null))};Pf.prototype[Ra]=function(){return Bc(this)};function Rf(a,b){return b<=a?yc:new Pf(null,a,b,1,null,null,null)}function Sf(a,b){if("string"===typeof b)return a=a.exec(b),null!=a&&zc.c(a[0],b)?1===a.length?a[0]:Te(a):null;throw new TypeError("re-matches must match against a string.");}
var Tf=function Tf(a,b){var d=a.exec(b);if(null==d)return null;var e=d[0],f=1===d.length?e:Te(d);return Xc(f,new Md(null,function(){var h=e.length;h=d.index+(1>h?1:h);return h<=b.length?(h=b.substring(h),Tf.c?Tf.c(a,h):Tf.call(null,a,h)):null},null))};function Uf(a){var b=/[#.]?[^#.]+/;if("string"===typeof a)return Tf(b,a);throw new TypeError("re-seq must match against a string.");}
function Vf(a,b,c,d,e,f,h){var k=Ba;Ba=null==Ba?null:Ba-1;try{if(null!=Ba&&0>Ba)return Ob(a,"#");Ob(a,c);if(0===Ja.f(f))E(h)&&Ob(a,function(){var v=Wf.f(f);return x(v)?v:"..."}());else{if(E(h)){var l=J(h);b.j?b.j(l,a,f):b.call(null,l,a,f)}for(var m=L(h),n=Ja.f(f)-1;;)if(!m||null!=n&&0===n){E(m)&&0===n&&(Ob(a,d),Ob(a,function(){var v=Wf.f(f);return x(v)?v:"..."}()));break}else{Ob(a,d);var p=J(m);c=a;h=f;b.j?b.j(p,c,h):b.call(null,p,c,h);var r=L(m);c=n-1;m=r;n=c}}return Ob(a,e)}finally{Ba=k}}
function Xf(a,b){b=E(b);for(var c=null,d=0,e=0;;)if(e<d){var f=c.K(null,e);Ob(a,f);e+=1}else if(b=E(b))c=b,rd(c)?(b=Yb(c),d=Zb(c),c=b,f=R(b),b=d,d=f):(f=J(c),Ob(a,f),b=L(c),c=null,d=0),e=0;else return null}var Yf={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};function Zf(a){return['"',A.f(a.replace(/[\\"\b\f\n\r\t]/g,function(b){return Yf[b]})),'"'].join("")}function $f(a,b){return ud(sc.c(a,Ha))?null!=b&&(b.m&131072||u===b.Hb)?null!=kd(b):!1:!1}
function ag(a,b,c){if(null==a)return Ob(b,"nil");$f(c,a)&&(Ob(b,"^"),bg(kd(a),b,c),Ob(b," "));if(a.Ob)return a.fc(b);if(null!=a?a.m&2147483648||u===a.V||(a.m?0:y(Pb,a)):y(Pb,a))return Qb(a,b,c);if(!0===a||!1===a)return Ob(b,A.f(a));if("number"===typeof a)return Ob(b,isNaN(a)?"##NaN":a===Number.POSITIVE_INFINITY?"##Inf":a===Number.NEGATIVE_INFINITY?"##-Inf":A.f(a));if(null!=a&&a.constructor===Object)return Ob(b,"#js "),cg(ve.c(function(d){return new Pe(null!=Sf(/[A-Za-z_\*\+\?!\-'][\w\*\+\?!\-']*/,
d)?Kd.f(d):d,a[d])},ha(a)),b,c);if(Na(a))return Vf(b,bg,"#js ["," ","]",c,a);if("string"==typeof a)return x(Ga.f(c))?Ob(b,Zf(a)):Ob(b,a);if("function"==t(a))return c=a.name,c=null==c||/^[\s\xa0]*$/.test(c)?"Function":c,Xf(b,Yc(["#object[",c,x(!1)?[' "',A.f(a),'"'].join(""):"","]"]));if(a instanceof Date)return c=function(d,e){for(d=A.f(d);;)if(d.length<e)d=["0",d].join("");else return d},Xf(b,Yc(['#inst "',A.f(a.getUTCFullYear()),"-",c(a.getUTCMonth()+1,2),"-",c(a.getUTCDate(),2),"T",c(a.getUTCHours(),
2),":",c(a.getUTCMinutes(),2),":",c(a.getUTCSeconds(),2),".",c(a.getUTCMilliseconds(),3),"-",'00:00"']));if(a instanceof RegExp)return Xf(b,Yc(['#"',a.source,'"']));if(Va(a))return Xf(b,Yc(["#object[",a.toString(),"]"]));if(x(function(){var d=null==a?null:a.constructor;return null==d?null:d.ub}()))return Xf(b,Yc(["#object[",a.constructor.ub.replace(/\//g,"."),"]"]));c=function(){var d=null==a?null:a.constructor;return null==d?null:d.name}();c=null==c||/^[\s\xa0]*$/.test(c)?"Object":c;return null==
a.constructor?Xf(b,Yc(["#object[",c,"]"])):Xf(b,Yc(["#object[",c," ",A.f(a),"]"]))}function bg(a,b,c){var d=dg.f(c);return x(d)?(c=ed.j(c,eg,ag),d.j?d.j(a,b,c):d.call(null,a,b,c)):ag(a,b,c)}function fg(a,b){var c=new sa;a:{var d=new fc(c);bg(J(a),d,b);a=E(L(a));for(var e=null,f=0,h=0;;)if(h<f){var k=e.K(null,h);Ob(d," ");bg(k,d,b);h+=1}else if(a=E(a))e=a,rd(e)?(a=Yb(e),f=Zb(e),e=a,k=R(a),a=f,f=k):(k=J(e),Ob(d," "),bg(k,d,b),a=L(e),e=null,f=0),h=0;else break a}return c}
function gg(a){var b=Da();return ld(a)?"":A.f(fg(a,b))}function hg(a){return a instanceof rc?tc.c(null,Ld(a)):Kd.c(null,Ld(a))}
function ig(a){if(x(!1)){var b=E(a),c=E(b),d=J(c);L(c);S(d,0);S(d,1);c=null==a?null:null!=a&&(a.m&4||u===a.Wb)?a.X(null):(null!=a?a.m&4||u===a.Wb||(a.m?0:y(Za,a)):y(Za,a))?$a(a):null;for(a=null;;){d=a;b=E(b);a=J(b);var e=L(b),f=a;a=S(f,0);b=S(f,1);if(x(f))if(a instanceof C||a instanceof rc)if(x(d))if(zc.c(d,Jd(a)))c=ed.j(c,hg(a),b),a=d,b=e;else return null;else if(d=Jd(a),x(d))c=ed.j(c,hg(a),b),a=d,b=e;else return null;else return null;else return new T(null,2,5,W,[d,c],null)}}else return null}
function jg(a,b,c,d,e){return Vf(d,function(f,h,k){var l=rb(f);c.j?c.j(l,h,k):c.call(null,l,h,k);Ob(h," ");f=sb(f);return c.j?c.j(f,h,k):c.call(null,f,h,k)},[A.f(a),"{"].join(""),", ","}",e,E(b))}function cg(a,b,c){var d=bg,e=od(a)?ig(a):null,f=S(e,0);e=S(e,1);return x(f)?jg(["#:",A.f(f)].join(""),e,d,b,c):jg(null,a,d,b,c)}ue.prototype.V=u;ue.prototype.M=function(a,b,c){Ob(b,"#object[cljs.core.Volatile ");bg(new w(null,1,[kg,this.state],null),b,c);return Ob(b,"]")};vc.prototype.V=u;
vc.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};Md.prototype.V=u;Md.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};Pe.prototype.V=u;Pe.prototype.M=function(a,b,c){return Vf(b,bg,"["," ","]",c,this)};zf.prototype.V=u;zf.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};cf.prototype.V=u;cf.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};Cc.prototype.V=u;Cc.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};
Se.prototype.V=u;Se.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};Id.prototype.V=u;Id.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};Vc.prototype.V=u;Vc.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};Cf.prototype.V=u;Cf.prototype.M=function(a,b,c){return cg(this,b,c)};Af.prototype.V=u;Af.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};Kf.prototype.V=u;Kf.prototype.M=function(a,b,c){return Vf(b,bg,"#{"," ","}",c,this)};
Rd.prototype.V=u;Rd.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};qe.prototype.V=u;qe.prototype.M=function(a,b,c){Ob(b,"#object[cljs.core.Atom ");bg(new w(null,1,[kg,this.state],null),b,c);return Ob(b,"]")};Hf.prototype.V=u;Hf.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};T.prototype.V=u;T.prototype.M=function(a,b,c){return Vf(b,bg,"["," ","]",c,this)};Gd.prototype.V=u;Gd.prototype.M=function(a,b){return Ob(b,"()")};w.prototype.V=u;
w.prototype.M=function(a,b,c){return cg(this,b,c)};Pf.prototype.V=u;Pf.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};Gf.prototype.V=u;Gf.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};cd.prototype.V=u;cd.prototype.M=function(a,b,c){return Vf(b,bg,"("," ",")",c,this)};function lg(a,b,c){Rb(a,b,c);return a}function mg(a){return function(b,c){b=a.c?a.c(b,c):a.call(null,b,c);return Lc(b)?new Jc(b):b}}
function ng(a){var b=mg(a);return function(){function c(h,k){return Ua(b,h,k)}function d(h){return a.f?a.f(h):a.call(null,h)}function e(){return a.v?a.v():a.call(null)}var f=null;f=function(h,k){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,h);case 2:return c.call(this,h,k)}throw Error("Invalid arity: "+arguments.length);};f.v=e;f.f=d;f.c=c;return f}()}function og(){}
function pg(a){if(null!=a&&null!=a.Yb)a=a.Yb(a);else{var b=pg[t(null==a?null:a)];if(null!=b)a=b.f?b.f(a):b.call(null,a);else if(b=pg._,null!=b)a=b.f?b.f(a):b.call(null,a);else throw Pa("IEncodeJS.-clj-\x3ejs",a);}return a}function qg(a,b){return(null!=a?u===a.Xb||(a.hc?0:y(og,a)):y(og,a))?pg(a):"string"===typeof a||"number"===typeof a||a instanceof C||a instanceof rc?b.f?b.f(a):b.call(null,a):gg(Yc([a]))}
var rg=function rg(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return rg.w(arguments[0],1<c.length?new vc(c.slice(1),0,null):null)};
rg.w=function(a,b){b=null!=b&&(b.m&64||u===b.na)?de(Ff,b):b;var c=sc.j(b,sg,Ld),d=function h(f){if(null==f)return null;if(null!=f?u===f.Xb||(f.hc?0:y(og,f)):y(og,f))return pg(f);if(f instanceof C)return c.f?c.f(f):c.call(null,f);if(f instanceof rc)return A.f(f);if(od(f)){var k={};f=E(f);for(var l=null,m=0,n=0;;)if(n<m){var p=l.K(null,n),r=S(p,0);p=S(p,1);r=qg(r,d);p=h(p);k[r]=p;n+=1}else if(f=E(f))rd(f)?(m=Yb(f),f=Zb(f),l=m,m=R(m)):(m=J(f),l=S(m,0),m=S(m,1),l=qg(l,d),m=h(m),k[l]=m,f=L(f),l=null,m=
0),n=0;else break;return k}if(null==f?0:null!=f?f.m&8||u===f.oc||(f.m?0:y(ab,f)):y(ab,f)){k=[];f=E(ve.c(h,f));l=null;for(n=m=0;;)if(n<m)r=l.K(null,n),k.push(r),n+=1;else if(f=E(f))l=f,rd(l)?(f=Yb(l),n=Zb(l),l=f,m=R(f),f=n):(f=J(l),k.push(f),f=L(l),l=null,m=0),n=0;else break;return k}return f};return d(a)};rg.G=1;rg.F=function(a){var b=J(a);a=L(a);return this.w(b,a)};function tg(a){this.ob=a;this.A=null;this.m=2153775104;this.C=2048}g=tg.prototype;g.toString=function(){return this.ob};
g.equiv=function(a){return this.B(null,a)};g.B=function(a,b){return b instanceof tg&&this.ob===b.ob};g.M=function(a,b){return Ob(b,['#uuid "',A.f(this.ob),'"'].join(""))};g.P=function(){null==this.A&&(this.A=pc(this.ob));return this.A};function ug(a){if("string"!==typeof a)throw Error("Assert failed: (string? s)");return new tg(a.toLowerCase())}
function vg(){function a(){return Math.floor(16*Math.random()).toString(16)}var b=(8|3&Math.floor(16*Math.random())).toString(16);return ug([A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),"-",A.f(a()),A.f(a()),A.f(a()),A.f(a()),"-4",A.f(a()),A.f(a()),A.f(a()),"-",A.f(b),A.f(a()),A.f(a()),A.f(a()),"-",A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a()),A.f(a())].join(""))}
function wg(a,b){var c=Error(a);this.message=a;this.data=b;this.Fb=null;this.name=c.name;this.description=c.description;this.number=c.number;this.fileName=c.fileName;this.lineNumber=c.lineNumber;this.columnNumber=c.columnNumber;this.stack=c.stack;return this}wg.prototype.__proto__=Error.prototype;wg.prototype.V=u;
wg.prototype.M=function(a,b,c){Ob(b,"#error {:message ");bg(this.message,b,c);x(this.data)&&(Ob(b,", :data "),bg(this.data,b,c));x(this.Fb)&&(Ob(b,", :cause "),bg(this.Fb,b,c));return Ob(b,"}")};wg.prototype.toString=function(){return gc(this)};function xg(a,b){return new wg(a,b)}if("undefined"===typeof ta||"undefined"===typeof va||"undefined"===typeof yg)var yg=null;"undefined"!==typeof console&&Ka();
if("undefined"===typeof ta||"undefined"===typeof va||"undefined"===typeof zg)var zg=function(){throw Error("cljs.core/*eval* not bound");};var Ag=new C("rum","react-component","rum/react-component",-1879897248),Bg=new C(null,"did-mount","did-mount",918232960),Cg=new C(null,"min","min",444991522),Dg=new C(null,"will-unmount","will-unmount",-808051550),Eg=new C(null,"email","email",1415816706),ie=new rc(null,"meta6742","meta6742",2019316932,null),Fg=new C("rum.examples.errors","error","rum.examples.errors/error",1819457764),Ha=new C(null,"meta","meta",1499536964),Gg=new C(null,"age","age",-604307804),Hg=new C(null,"did-remount","did-remount",
1362550500),Ig=new C(null,"color","color",1011675173),Ia=new C(null,"dup","dup",556298533),Jg=new C("rum","class","rum/class",-2030775258),Kg=new C(null,"init","init",-1875481434),Lg=new C("rum.examples.portals","*clicks","rum.examples.portals/*clicks",840774855),Mg=new C(null,"childContextTypes","childContextTypes",578717991),Ng=new C(null,"phone","phone",-763596057),Og=new C(null,"content","content",15833224),Pg=new C(null,"msgData","msgData",345907944),Qg=new C(null,"did-catch","did-catch",2139522313),
Rg=new C(null,"child-context","child-context",-1375270295),Sg=new C(null,"margin-left","margin-left",2015598377),Tg=new C(null,"value","value",305978217),Ug=new C("rum.reactive","key","rum.reactive/key",-803425142),Vg=new C(null,"contextTypes","contextTypes",-2023853910),Wg=new C("rum","args","rum/args",1315791754),Xg=new C(null,"width","width",-384071477),kg=new C(null,"val","val",128701612),Yg=new C(null,"cursor","cursor",1011937484),Zg=new C(null,"type","type",1174270348),$g=new C(null,"timer-static",
"timer-static",1373464428),eg=new C(null,"fallback-impl","fallback-impl",-1501286995),sg=new C(null,"keyword-fn","keyword-fn",-64566675),ah=new C(null,"before-render","before-render",71256781),Ea=new C(null,"flush-on-newline","flush-on-newline",-151457939),bh=new C(null,"e","e",1381269198),ch=new C(null,"className","className",-1983287057),dh=new C(null,"style","style",-496642736),eh=new C(null,"div","div",1057191632),fh=new C(null,"did-update","did-update",-2143702256),Ga=new C(null,"readably","readably",
1129599760),Wf=new C(null,"more-marker","more-marker",-14717935),gh=new C(null,"key-fn","key-fn",-636154479),hh=new C(null,"g","g",1738089905),ih=new C(null,"will-mount","will-mount",-434633071),jh=new C(null,"c","c",-1763192079),kh=new C(null,"for","for",-1323786319),lh=new C("rum","component-stack","rum/component-stack",2037541138),mh=new C(null,"weight","weight",-1262796205),Ja=new C(null,"print-length","print-length",1931866356),nh=new C(null,"max","max",61366548),oh=new C(null,"id","id",-1388402092),
ph=new C(null,"class","class",-2030961996),qh=new C(null,"bmi","bmi",1421979636),rh=new C(null,"will-update","will-update",328062998),sh=new C(null,"on-mouse-move","on-mouse-move",-1386320874),th=new C(null,"class-properties","class-properties",1351279702),uh=new C("rum","local","rum/local",-1497916586),vh=new C(null,"b","b",1482224470),wh=new C(null,"d","d",1972142424),xh=new C(null,"htmlFor","htmlFor",-1050291720),yh=new C("rum.examples.core","interval","rum.examples.core/interval",-891109255),
zh=new C(null,"after-render","after-render",1997533433),Ah=new C(null,"static-properties","static-properties",-577838503),Bh=new C(null,"tag","tag",-1290361223),Ch=new C(null,"input","input",556931961),Dh=new C(null,"msgMethod","msgMethod",523741434),Eh=new C(null,"wrap-render","wrap-render",1782000986),Fh=new C(null,"on-change","on-change",-732046149),Gh=new C("rum.reactive","refs","rum.reactive/refs",-814076325),dg=new C(null,"alt-impl","alt-impl",670969595),Hh=new C(null,"backgroundColor","backgroundColor",
1738438491),Ih=new C(null,"should-update","should-update",-1292781795),Jh=new C(null,"a","a",-2123407586),Kh=new C(null,"height","height",1025178622);function Lh(a,b,c){this.ref=a;this.path=b;this.meta=c;this.m=2153938944;this.C=114690}g=Lh.prototype;g.equiv=function(a){return this.B(null,a)};g.M=function(a,b,c){Ob(b,"#object [rum.cursor.Cursor ");bg(new w(null,1,[kg,this.ma(null)],null),b,c);return Ob(b,"]")};g.S=function(){return this.meta};g.P=function(){return this[aa]||(this[aa]=++ca)};g.B=function(a,b){return this===b};g.Ya=function(a,b){te.I(this.ref,Ce,this.path,b);return b};
g.Jb=function(a,b){var c=this;return c.Ya(null,function(){var d=c.ma(null);return b.f?b.f(d):b.call(null,d)}())};g.Kb=function(a,b,c){var d=this;return d.Ya(null,function(){var e=d.ma(null);return b.c?b.c(e,c):b.call(null,e,c)}())};g.Lb=function(a,b,c,d){var e=this;return e.Ya(null,function(){var f=e.ma(null);return b.j?b.j(f,c,d):b.call(null,f,c,d)}())};g.Mb=function(a,b,c,d,e){return this.Ya(null,ge(b,this.ma(null),c,d,e))};
g.Cb=function(a,b,c){var d=this,e=this;lg(d.ref,new cd(null,e,new cd(null,b,null,1,null),2,null),function(f,h,k,l){f=Ua(sc,k,d.path);l=Ua(sc,l,d.path);return zc.c(f,l)?null:c.I?c.I(b,e,f,l):c.call(null,b,e,f,l)});return e};g.Db=function(a,b){Sb(this.ref,new cd(null,this,new cd(null,b,null,1,null),2,null));return this};g.ma=function(){var a=vb(this.ref);return Ua(sc,a,this.path)};function Mh(a,b){return ze.j(bd,oe(function(c){return sc.c(c,a)}),b)}function Nh(a,b){return ze.j(bd,ne.c(ve.f(function(c){return pe(function(d){return sc.c(c,d)},a)}),ng),b)}function Oh(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;return Ph(arguments[0],arguments[1],2<b.length?new vc(b.slice(2),0,null):null)}function Ph(a,b,c){return Ua(function(d,e){return ee(e,d,c)},a,b)};function Qh(a){var b=new w(null,2,[ph,ch,kh,xh],null);return Ua(function(c,d){var e=S(d,0);d=S(d,1);return vd(a,e)?ed.j(c,d,sc.c(a,e)):c},ee(gd,a,ef(b)),b)};function Rh(a){var b=new sa;for(a=E(a);;)if(null!=a)b=b.append(A.f(J(a))),a=L(a);else return b.toString()}function Sh(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};var Th=new ue(je),Uh=function Uh(a){return od(a)?(a=Vb(zd(function(c,d,e){if(d instanceof C||"string"===typeof d||d instanceof rc){var f=sc.c(vb(Th),d);if(x(f))d=f;else{f=Ld(d).split("-");var h=E(f);f=J(h);h=L(h);f=ld(h)||zc.c("aria",f)||zc.c("data",f)?d:Kd.f(Rh(ad.c(ve.c(Sh,h),f)));Th.Bb(null,ed.j(Th.ma(null),d,f));d=f}}return Wb(c,d,e)},Tb(je),a)),od(dh.f(a))?De(a,dh,Uh):a):a};function Vh(a){return qd(a)&&S(a,0)instanceof C};function Wh(a){return"string"===typeof a?a:a instanceof C?Ld(a):a}function Xh(a){return Fd(a)&&J(a)instanceof C}function Yh(a){return null==a?null:Xh(a)?new T(null,1,5,W,[a],null):Fd(a)?J(a)instanceof rc?new T(null,1,5,W,[a],null):ve.c(Wh,a):a instanceof rc?new T(null,1,5,W,[a],null):"string"===typeof a?new T(null,1,5,W,[a],null):a instanceof C?new T(null,1,5,W,[Wh(a)],null):(md(a)||nd(a))&&ke(function(b){return b instanceof C||"string"===typeof b},a)?Ae(Wh,a):md(a)||nd(a)?Ae(Wh,a):a}
function Zh(a){return x(ph.f(a))?De(a,ph,Yh):a}function $h(a){var b=ve.c(Zh,a);a=de(Wd,ee(ve,ph,Yc([b])));return E(b)?(b=Ua(ze,je,b),ld(a)?b:ed.j(b,ph,Te(a))):null}
function ai(a){if(x(a)){var b=/^[.#]/;if("string"===typeof b)a=a.replace(new RegExp(String(b).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08"),"g"),"");else if(b instanceof RegExp){var c=x(b.ignoreCase)?"gi":"g";c=x(b.multiline)?[c,"m"].join(""):c;a=a.replace(new RegExp(b.source,x(b.Cc)?[c,"u"].join(""):c),"")}else throw["Invalid match arg: ",A.f(b)].join("");}else a=null;return a}
function bi(a){var b=Uf(Ld(a));if(ld(b))throw xg(["Can't match CSS tag: ",A.f(a)].join(""),new w(null,1,[Bh,a],null));b=vd(new Kf(null,new w(null,2,["#",null,".",null],null),null),J(J(b)))?new T(null,2,5,W,["div",b],null):new T(null,2,5,W,[J(b),xc(b)],null);a=S(b,0);b=S(b,1);return new T(null,3,5,W,[a,ai(le(function(c){return zc.c("#",J(c))?c:null},b)),ze.j(bd,oe(function(c){return zc.c(".",J(c))?ai(c):null}),b)],null)}
var ci=function ci(a){null==a?a=yc:"string"===typeof a?a=new cd(null,a,null,1,null):Vh(a)?a=new cd(null,a,null,1,null):Fd(a)&&J(a)instanceof rc?a=new cd(null,a,null,1,null):Fd(a)||(nd(a)&&zc.c(R(a),1)&&nd(J(a))&&"string"!==typeof J(a)&&!Vh(J(a))?(a=J(a),a=ci.f?ci.f(a):ci.call(null,a)):a=nd(a)?a:new cd(null,a,null,1,null));return ye(me(),a)};function di(a){a=rg(Qh(Uh(a)));if(x(a)){var b=a.className;if(Na(b))a:{var c=new sa;for(b=E(b);;)if(null!=b)c.append(A.f(J(b))),b=L(b),null!=b&&c.append(" ");else{c=c.toString();break a}}else c=b;/^[\s\xa0]*$/.test(null==c?"":String(c))?delete a.className:a.className=c;return a}return null}function ei(a){return Ua(function(b,c){b.push(fi.f?fi.f(c):fi.call(null,c));return b},[],a)}
function fi(a){if(qd(a))if(Vh(a)){a=E(a);var b=J(a);a=L(a);if(!(b instanceof C||b instanceof rc||"string"===typeof b))throw xg([A.f(b)," is not a valid element name."].join(""),new w(null,2,[Bh,b,Og,a],null));var c=bi(b);b=S(c,0);var d=S(c,1);c=S(c,2);d=ld(d)?je:ed.j(je,oh,d);d=ld(c)?d:ed.j(d,ph,c);c=J(a);d=od(c)?new T(null,3,5,W,[b,$h(Yc([d,c])),ci(L(a))],null):new T(null,3,5,W,[b,Zh(d),ci(a)],null);a=S(d,0);b=S(d,1);d=S(d,2);b=di(b);d=ei(d);a=React.createElement.apply(null,[a,b].concat(d))}else a=
ei(a);else a=(null==a?0:null!=a?a.m&64||u===a.na||(a.m?0:y(fb,a)):y(fb,a))?ei(a):a;return a};function X(a,b,c){return c?React.createElement.apply(null,[a,b].concat(c)):React.createElement(a,b)};var gi;function hi(a){return ja(a.state,":rum/state")}function ii(a,b){b=E(b);for(var c=null,d=0,e=0;;)if(e<d){var f=c.K(null,e),h=S(f,0);f=S(f,1);null!=f&&(h=Ld(h),f=rg(f),a[h]=f);e+=1}else if(b=E(b))rd(b)?(d=Yb(b),b=Zb(b),c=d,d=R(d)):(c=J(b),h=S(c,0),f=S(c,1),null!=f&&(c=Ld(h),d=rg(f),a[c]=d),b=L(b),c=null,d=0),e=0;else break}
function ji(a,b,c){function d(B){this.state={":rum/state":new ue(Ph(ed.j(ja(B,":rum/initial-state"),Ag,this),e,Yc([B])))};return React.Component.call(this,B)}var e=Mh(Kg,b),f=Nh(new T(null,2,5,W,[ih,ah],null),b),h=Mh(Eh,b),k=Ua(function(B,I){return I.f?I.f(B):I.call(null,B)},a,h),l=Nh(new T(null,2,5,W,[Bg,zh],null),b),m=Mh(Hg,b),n=Mh(Ih,b),p=Nh(new T(null,2,5,W,[rh,ah],null),b),r=Nh(new T(null,2,5,W,[fh,zh],null),b),v=Mh(Qg,b),z=Mh(Dg,b),G=Mh(Rg,b);a=yd(If,Mh(th,b));b=yd(If,Mh(Ah,b));da(d,React.Component);
h=ja(d,"prototype");ld(f)||ka(h,"componentWillMount",function(){return cc(hi(this),Oh(vb(hi(this)),f))});ld(l)||ka(h,"componentDidMount",function(){return cc(hi(this),Oh(vb(hi(this)),l))});ka(h,"componentWillReceiveProps",function(B){var I=vb(hi(this));B=If.w(Yc([I,ja(B,":rum/initial-state")]));B=Ua(function(V,oa){return oa.c?oa.c(I,V):oa.call(null,I,V)},B,m);return this.setState({":rum/state":new ue(B)})});ld(n)||ka(h,"shouldComponentUpdate",function(B,I){var V=vb(hi(this)),oa=vb(ja(I,":rum/state"));
B=le(function(xa){return xa.c?xa.c(V,oa):xa.call(null,V,oa)},n);return x(B)?B:!1});ld(p)||ka(h,"componentWillUpdate",function(B,I){B=ja(I,":rum/state");return cc(B,Oh(vb(B),p))});ka(h,"render",function(){var B=hi(this),I=vb(B);var V=k.f?k.f(I):k.call(null,I);I=S(V,0);V=S(V,1);cc(B,V);return I});ld(r)||ka(h,"componentDidUpdate",function(){return cc(hi(this),Oh(vb(hi(this)),r))});ld(v)||ka(h,"componentDidCatch",function(B,I){cc(hi(this),Ph(vb(hi(this)),v,Yc([B,new w(null,1,[lh,ja(I,"componentStack")],
null)])));return this.forceUpdate()});ka(h,"componentWillUnmount",function(){ld(z)||cc(hi(this),Oh(vb(hi(this)),z));this[":rum/unmounted?"]=!0});ld(G)||ka(h,"getChildContext",function(){var B=vb(hi(this));return rg(Bd(ve.f(function(I){return I.f?I.f(B):I.call(null,B)}),If,je,G))});ii(h,a);d.displayName=c;ii(d,b);return d}function ki(a){function b(){var c=a.v?a.v():a.call(null);return c.apply(c,arguments)}b.Hb=u;b.S=function(){return kd(a.v?a.v():a.call(null))};return b}
function li(a,b,c,d){return ki(ea(function(){return a.j?a.j(b,c,d):a.call(null,b,c,d)}))}
function mi(a,b,c){var d=ji(a,b,c),e=J(Mh(gh,b));return jd(null!=e?function(){function f(k){var l=null;if(0<arguments.length){l=0;for(var m=Array(arguments.length-0);l<m.length;)m[l]=arguments[l+0],++l;l=new vc(m,0,null)}return h.call(this,l)}function h(k){k={":rum/initial-state":new w(null,1,[Wg,k],null),key:de(e,k)};return React.createElement(d,k)}f.G=0;f.F=function(k){k=E(k);return h(k)};f.w=h;return f}():function(){function f(k){var l=null;if(0<arguments.length){l=0;for(var m=Array(arguments.length-
0);l<m.length;)m[l]=arguments[l+0],++l;l=new vc(m,0,null)}return h.call(this,l)}function h(k){return React.createElement(d,{":rum/initial-state":new w(null,1,[Wg,k],null)})}f.G=0;f.F=function(k){k=E(k);return h(k)};f.w=h;return f}(),new w(null,1,[Jg,d],null))}function ni(a,b){return zc.c(a[":rum/args"],b[":rum/args"])}function oi(a){var b=React.memo;return null==b?a:b.c?b.c(a,ni):b.call(null,a,ni)}
function pi(a,b,c){if(zc.c(b,new T(null,1,5,W,[qi],null))){var d=function(f){return de(a,f[":rum/args"])};d.displayName=c;var e=oi(d);b=function(){function f(k){var l=null;if(0<arguments.length){l=0;for(var m=Array(arguments.length-0);l<m.length;)m[l]=arguments[l+0],++l;l=new vc(m,0,null)}return h.call(this,l)}function h(k){return React.createElement(e,{":rum/args":k})}f.G=0;f.F=function(k){k=E(k);return h(k)};f.w=h;return f}();return jd(b,new w(null,1,[Jg,e],null))}return ld(b)?(d=function(f){return de(a,
f[":rum/args"])},d.displayName=c,b=function(){function f(k){var l=null;if(0<arguments.length){l=0;for(var m=Array(arguments.length-0);l<m.length;)m[l]=arguments[l+0],++l;l=new vc(m,0,null)}return h.call(this,l)}function h(k){return React.createElement(d,{":rum/args":k})}f.G=0;f.F=function(k){k=E(k);return h(k)};f.w=h;return f}(),jd(b,new w(null,1,[Jg,d],null))):mi(function(f){return new T(null,2,5,W,[de(a,Wg.f(f)),f],null)},b,c)}
function ri(a,b,c){return mi(function(d){return new T(null,2,5,W,[ee(a,d,Wg.f(d)),d],null)},b,c)}function si(a,b,c){return mi(function(d){return new T(null,2,5,W,[ee(a,Ag.f(d),Wg.f(d)),d],null)},b,c)}function ti(a,b){return ReactDOM.hydrate(a,b)}function ui(a,b){return React.cloneElement(a,{key:b},null)}var qi=new w(null,1,[Ih,function(a,b){a=Wg.f(a);b=Wg.f(b);return!zc.c(a,b)}],null);
function vi(a){return new w(null,1,[ih,function(b){var c=re(0),d=Ag.f(b);lg(c,a,function(e,f,h,k){return zc.c(h,k)?null:d.setState(d.state)});return ed.j(b,a,c)}],null)}
var wi=new w(null,3,[Kg,function(a){return ed.j(a,Ug,vg())},Eh,function(a){return function(b){var c=gi,d=new ue(Mf);gi=d;try{var e=Ag.f(b),f=Gh.c(b,Mf),h=a.f?a.f(b):a.call(null,b),k=S(h,0),l=S(h,1),m=vb(gi),n=Ug.f(b),p=E(f);b=null;for(var r=0,v=0;;)if(v<r){var z=b.K(null,v);vd(m,z)||Sb(z,n);v+=1}else{var G=E(p);if(G){var B=G;if(rd(B)){var I=Yb(B),V=Zb(B);B=I;var oa=R(I);p=V;b=B;r=oa}else{var xa=J(B);vd(m,xa)||Sb(xa,n);p=L(B);b=null;r=0}v=0}else break}var La=E(m);p=null;for(G=z=0;;)if(G<z){var pa=
p.K(null,G);vd(f,pa)||lg(pa,n,function(M,N,P,Q,U,Y){return function(ba,ia,na,ua){return zc.c(na,ua)?null:Y.setState(Y.state)}}(La,p,z,G,pa,e,f,h,k,l,m,n,c,d));G+=1}else{var q=E(La);if(q){I=q;if(rd(I)){var D=Yb(I),H=Zb(I);I=D;var F=R(D);La=H;p=I;z=F}else{var K=J(I);vd(f,K)||lg(K,n,function(M,N,P,Q,U,Y,ba,ia){return function(na,ua,Aa,Fa){return zc.c(Aa,Fa)?null:ia.setState(ia.state)}}(La,p,z,G,K,I,q,e,f,h,k,l,m,n,c,d));La=L(I);p=null;z=0}G=0}else break}return new T(null,2,5,W,[k,ed.j(l,Gh,m)],null)}finally{gi=
c}}},Dg,function(a){for(var b=Ug.f(a),c=E(Gh.f(a)),d=null,e=0,f=0;;)if(f<e){var h=d.K(null,f);Sb(h,b);f+=1}else if(c=E(c))d=c,rd(d)?(c=Yb(d),f=Zb(d),d=c,e=R(c),c=f):(c=J(d),Sb(c,b),c=L(d),d=null,e=0),f=0;else break;return gd.w(a,Gh,Yc([Ug]))}],null);function xi(a){if(!x(gi))throw Error("Assert failed: rum.core/react is only supported in conjunction with rum.core/reactive\n*reactions*");cc(gi,ad.c(vb(gi),a));return vb(a)}
var yi=function yi(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return yi.w(arguments[0],arguments[1],2<c.length?new vc(c.slice(2),0,null):null)};yi.w=function(a,b,c){c=null!=c&&(c.m&64||u===c.na)?de(Ff,c):c;return a instanceof Lh?new Lh(a.ref,ze.c(a.path,b),Ha.f(c)):new Lh(a,b,Ha.f(c))};yi.G=2;yi.F=function(a){var b=J(a),c=L(a);a=J(c);c=L(c);return this.w(b,a,c)};
function zi(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;return fe(yi,arguments[0],new T(null,1,5,W,[arguments[1]],null),2<b.length?new vc(b.slice(2),0,null):null)};var Ai=li(pi,function(){function a(d,e){var f=new w(null,1,[dh,new w(null,1,[Sg,10*e],null)],null);return nd(d)?X("div",od(f)?di($h(Yc([new w(null,1,[ph,new T(null,1,5,W,["branch"],null)],null),f]))):{className:"branch"},od(f)?[fi(ve.c(function(h){var k=e+1;k=Ai.c?Ai.c(h,k):Ai.call(null,h,k);return ui(k,A.f(h))},d))]:[fi(f),fi(ve.c(function(h){var k=e+1;k=Ai.c?Ai.c(h,k):Ai.call(null,h,k);return ui(k,A.f(h))},d))]):X("div",od(f)?di($h(Yc([new w(null,1,[ph,new T(null,1,5,W,["leaf"],null)],null),f]))):
{className:"leaf"},od(f)?[A.f(d)]:[fi(f),A.f(d)])}function b(d){return fi(Ai.c?Ai.c(d,0):Ai.call(null,d,0))}var c=null;c=function(d,e){switch(arguments.length){case 1:return b.call(this,d);case 2:return a.call(this,d,e)}throw Error("Invalid arity: "+arguments.length);};c.f=b;c.c=a;return c}(),new T(null,1,5,W,[qi],null),"rum.examples.self-reference/self-reference");var Bi=Rf(1,5),Ci=li(pi,function(a){var b=xi(a);return X("input",{type:"text",value:A.f(b),style:{width:170},onChange:function(c){return se(a,Cd(c.currentTarget.value))}},[])},new T(null,1,5,W,[wi],null),"rum.examples.inputs/reactive-input"),Di=li(pi,function(a){var b=xi(a);return X("div",null,[Ta(function(){return function e(d){return new Md(null,function(){for(;;){var f=E(d);if(f){var h=f;if(rd(h)){var k=Yb(h),l=R(k),m=Qd(l);return function(){for(var p=0;;)if(p<l){var r=db.c(k,p);Td(m,X("input",
{key:r,type:"checkbox",checked:zc.c(r,b),value:r,onChange:function(v,z){return function(){return se(a,z)}}(p,r,k,l,m,h,f,b)},[]));p+=1}else return!0}()?Sd(m.J(),e(Zb(h))):Sd(m.J(),null)}var n=J(h);return Xc(X("input",{key:n,type:"checkbox",checked:zc.c(n,b),value:n,onChange:function(p){return function(){return se(a,p)}}(n,h,f,b)},[]),e(xc(h)))}return null}},null)}(Bi)}())])},new T(null,1,5,W,[wi],null),"rum.examples.inputs/checkboxes"),Ei=li(pi,function(a){var b=xi(a);return X("div",null,[Ta(function(){return function e(d){return new Md(null,
function(){for(;;){var f=E(d);if(f){var h=f;if(rd(h)){var k=Yb(h),l=R(k),m=Qd(l);return function(){for(var p=0;;)if(p<l){var r=db.c(k,p);Td(m,X("input",{key:r,type:"radio",name:"inputs_radio",checked:zc.c(r,b),value:r,onChange:function(v,z){return function(){return se(a,z)}}(p,r,k,l,m,h,f,b)},[]));p+=1}else return!0}()?Sd(m.J(),e(Zb(h))):Sd(m.J(),null)}var n=J(h);return Xc(X("input",{key:n,type:"radio",name:"inputs_radio",checked:zc.c(n,b),value:n,onChange:function(p){return function(){return se(a,
p)}}(n,h,f,b)},[]),e(xc(h)))}return null}},null)}(Bi)}())])},new T(null,1,5,W,[wi],null),"rum.examples.inputs/radio"),Fi=li(pi,function(a){var b=xi(a);return X("select",{onChange:function(c){return se(a,Cd(c.target.value))},value:A.f(b)},[Ta(function(){return function e(d){return new Md(null,function(){for(;;){var f=E(d);if(f){if(rd(f)){var h=Yb(f),k=R(h),l=Qd(k);a:for(var m=0;;)if(m<k){var n=db.c(h,m);n=X("option",{key:n,value:A.f(n)},[fi(n)]);l.add(n);m+=1}else{h=!0;break a}return h?Sd(l.J(),e(Zb(f))):
Sd(l.J(),null)}l=J(f);return Xc(X("option",{key:l,value:A.f(l)},[fi(l)]),e(xc(f)))}return null}},null)}(Bi)}())])},new T(null,1,5,W,[wi],null),"rum.examples.inputs/select");function Gi(a){for(var b=a;;)if(zc.c(a,b))b=Bi,b=Sc(b,Math.floor(Math.random()*R(b)));else return b}
var Hi=li(pi,function(a){return X("button",{onClick:function(){return te.c(a,Gi)}},["Next value"])},new T(null,1,5,W,[wi],null),"rum.examples.inputs/shuffle-button"),Ii=li(pi,function(a){return X("code",null,[gg(Yc([xi(a)]))])},new T(null,1,5,W,[wi],null),"rum.examples.inputs/value"),Ji=li(pi,function(){var a=re(1);return X("dl",null,[X("dt",null,["Input"]),X("dd",null,[Ci.f?Ci.f(a):Ci.call(null,a)]),X("dt",null,["Checks"]),X("dd",null,[Di.f?Di.f(a):Di.call(null,a)]),X("dt",null,["Radio"]),X("dd",
null,[Ei.f?Ei.f(a):Ei.call(null,a)]),X("dt",null,["Select"]),X("dd",null,[Fi.f?Fi.f(a):Fi.call(null,a)]),X("dt",null,[Ii.f?Ii.f(a):Ii.call(null,a)]),X("dd",null,[Hi.f?Hi.f(a):Hi.call(null,a)])])},null,"rum.examples.inputs/inputs");var Ki=li(pi,function(){return Ta(function(){return function c(b){return new Md(null,function(){for(;;){var d=E(b);if(d){if(rd(d)){var e=Yb(d),f=R(e),h=Qd(f);a:for(var k=0;;)if(k<f){var l=db.c(e,k);l=X("li",{key:l},[["Item #",A.f(l)].join("")]);h.add(l);k+=1}else{e=!0;break a}return e?Sd(h.J(),c(Zb(d))):Sd(h.J(),null)}h=J(d);return Xc(X("li",{key:h},[["Item #",A.f(h)].join("")]),c(xc(d)))}return null}},null)}(Rf(0,5))}())},null,"rum.examples.multiple-return/multiple-return"),Li=li(pi,function(a){return X("ul",
null,[fi(a)])},null,"rum.examples.multiple-return/ulist");var Mi=li(pi,function(){var a=React.useState("Auto-resizing\ntextarea"),b=S(a,0),c=S(a,1);return X("textarea",{style:{width:"100%",padding:"10px",font:"inherit",outline:"none",resize:"none"},ref:function(d){return x(d)?(d.style.height="0",d.style.height=[A.f(2+d.scrollHeight),"px"].join("")):null},value:b,placeholder:"Auto-resizing textarea",onChange:function(d){d=d.target.value;return c.f?c.f(d):c.call(null,d)}},[])},null,"rum.examples.refs/ta"),Ni=li(pi,function(){return X("div",null,[Mi.v?Mi.v():
Mi.call(null)])},null,"rum.examples.refs/refs");var Oi=re(0),Pi=re("#FA8D97"),Qi=re(167);function Ri(a){return document.getElementById(a)}
var Si=li(pi,function(a){return X("span",null,[R(a.Ua)])},new T(null,1,5,W,[function(a){return new w(null,2,[Bg,function(b){var c=Ag.f(b),d=setInterval(function(){return c.setState(c.state)},a);return ed.j(b,yh,d)},Dg,function(b){return clearInterval(yh.f(b))}],null)}(1E3)],null),"rum.examples.core/watches-count"),Ti=li(pi,function(a,b){return X("div",{className:"stats"},["Renders: ",fi(xi(b)),X("br",null,null),"Board watches: ",Si.f?Si.f(a):Si.call(null,a),X("br",null,null),"Color watches: ",Si.f?
Si.f(Pi):Si.call(null,Pi)])},new T(null,1,5,W,[wi],null),"rum.examples.core/board-stats");var Ui=li(pi,function(a,b){return X("span",{style:{color:b}},[(new Date(a)).toISOString().substring(11,23)])},new T(null,1,5,W,[qi],null),"rum.examples.timer-reactive/colored-clock"),Vi=li(pi,function(){var a=xi(Oi);var b=xi(Pi);a=Ui.c?Ui.c(a,b):Ui.call(null,a,b);return X("div",null,["Reactive: ",fi(a)])},new T(null,1,5,W,[wi],null),"rum.examples.timer-reactive/timer-reactive");var Wi=li(pi,function(a,b){return X("div",od(a)?di(a):null,od(a)?[": ",X("span",{style:{color:vb(Pi)}},[(new Date(b)).toISOString().substring(11,23)])]:[fi(a),": ",X("span",{style:{color:vb(Pi)}},[(new Date(b)).toISOString().substring(11,23)])])},new T(null,1,5,W,[qi],null),"rum.examples.timer-static/timer-static");var Xi=li(ri,function(a,b){var c=uh.f(a);return X("div",{style:{WebkitUserSelect:"none",cursor:"pointer"},onClick:function(){return te.c(c,Ic)}},[fi(b),": ",fi(vb(c))])},new T(null,1,5,W,[vi(uh)],null),"rum.examples.local-state/local-state");var Yi=li(pi,function(a){return X("div",{onClick:function(){return te.c(a,Ic)},style:{userSelect:"none",cursor:"pointer"}},["[ PORTAL Clicks: ",fi(vb(a))," ]"])},null,"rum.examples.portals/portal"),Zi=li(ri,function(a){a=null!=a&&(a.m&64||u===a.na)?de(Ff,a):a;var b=sc.c(a,Lg);return X("div",{onClick:function(){return te.c(b,Ic)},style:{userSelect:"none",cursor:"pointer"}},["[ ROOT Clicks: ",fi(vb(b))," ]",ReactDOM.createPortal(Yi.f?Yi.f(b):Yi.call(null,b),Ri("portal-off-root"))])},new T(null,1,5,
W,[vi(Lg)],null),"rum.examples.portals/root");var $i=li(si,function(a){return X("div",{style:{color:a.context.color}},["(Class-based Context API) Child component uses context to set font color."])},new T(null,1,5,W,[new w(null,1,[Ah,new w(null,1,[Vg,new w(null,1,[Ig,PropTypes.string],null)],null)],null)],null),"rum.examples.context/rum-context-comp"),aj=React.createContext(null);aj.displayName="Context(rum.examples.context/*color-ctx*)";
var bj=li(pi,function(){return React.createElement(aj.Consumer,null,function(a){return X("div",{style:{color:a}},["(Component-based Context API) Child component uses context to set font color."])})},null,"rum.examples.context/rum-create-context-comp"),cj=li(pi,function(){return X("div",null,[X("div",null,["Root component implicitly passes data to descendants."]),$i.v?$i.v():$i.call(null),React.createElement(aj.Provider,{value:vb(Pi)},bj.v?bj.v():bj.call(null))])},new T(null,1,5,W,[new w(null,2,[Rg,
function(){return new w(null,1,[Ig,vb(Pi)],null)},Ah,new w(null,1,[Mg,new w(null,1,[Ig,PropTypes.string],null)],null)],null)],null),"rum.examples.context/context");var dj=new w(null,2,[Pg,"Components can store custom data on the underlying React component.",Dh,function(){var a=this;return new T(null,3,5,W,[eh,new w(null,2,[dh,new w(null,1,[Yg,"pointer"],null),sh,function(){se(Pi,["#",A.f(Math.floor(16777215*Math.random()).toString(16))].join(""));var b=new T(null,3,5,W,[eh,new w(null,1,[dh,new w(null,1,[Ig,vb(Pi)],null)],null),Pg.f(dj)],null);a.msgData=b;return a.setState(a.state)}],null),"Custom methods too. Hover over me!"],null)}],null),ej=li(si,function(a){return X("div",
null,[function(){var b=ja(a,"msgData");return X("div",od(b)?di(b):null,od(b)?null:[fi(b)])}(),function(){var b=ja(a,"msgMethod").call(a);return X("div",od(b)?di(b):null,od(b)?null:[fi(b)])}()])},new T(null,1,5,W,[new w(null,1,[th,dj],null)],null),"rum.examples.custom-props/custom-props");function fj(a){return React.createElement("h2",null,a.children)}var gj=li(pi,function(){var a=X("h1",null,["This is Rum component"]);var b=React.createElement.apply(React,[fj,null].concat(["This is JS component"]));return X("div",null,[a,b])},null,"rum.examples.js-components/js-components");var hj=li(pi,function(a){throw new wg(a,je);},null,"rum.examples.errors/faulty-render"),ij=li(ri,function(a,b,c){a=null!=a&&(a.m&64||u===a.na)?de(Ff,a):a;var d=sc.c(a,Fg);sc.c(a,Ag);return null!=d?X("span",null,["CAUGHT: ",A.f(d)]):X("span",null,["No error: ",fi(b.f?b.f(c):b.call(null,c))])},new T(null,1,5,W,[new w(null,1,[Qg,function(a,b){return ed.j(a,Fg,b)}],null)],null),"rum.examples.errors/child-error"),jj=li(pi,function(){return X("span",null,[ij.c?ij.c(hj,"render error"):ij.call(null,hj,"render error")])},
null,"rum.examples.errors/errors");var kj=ve.c(function(a){return 2<=a&&ld(ye(function(b){return zc.c(0,(a%b+b)%b)},Rf(2,a)))},Rf(0,190)),lj=re(Ae(Te,Be(19,19,kj))),mj=re(0),nj=li(pi,function(a,b){te.c(mj,Ic);var c=yi(lj,new T(null,2,5,W,[b,a],null));return X("div",{style:{backgroundColor:x(xi(c))?xi(Pi):null},onMouseOver:function(){te.c(c,Oa);return null},className:"art-cell"},[])},new T(null,1,5,W,[wi],null),"rum.examples.board-reactive/cell"),oj=li(pi,function(){return X("div",{className:"artboard"},[Ta(function(){return function c(b){return new Md(null,
function(){for(;;){var d=E(b);if(d){var e=d;if(rd(e)){var f=Yb(e),h=R(f),k=Qd(h);return function(){for(var m=0;;)if(m<h){var n=db.c(f,m);Td(k,X("div",{key:n,className:"art-row"},[Ta(function(){return function(p,r,v,z,G,B,I){return function xa(oa){return new Md(null,function(La,pa){return function(){for(;;){var q=E(oa);if(q){if(rd(q)){var D=Yb(q),H=R(D),F=Qd(H);a:for(var K=0;;)if(K<H){var M=db.c(D,K);M=ui(nj.c?nj.c(M,pa):nj.call(null,M,pa),new T(null,2,5,W,[M,pa],null));F.add(M);K+=1}else{D=!0;break a}return D?
Sd(F.J(),xa(Zb(q))):Sd(F.J(),null)}F=J(q);return Xc(ui(nj.c?nj.c(F,pa):nj.call(null,F,pa),new T(null,2,5,W,[F,pa],null)),xa(xc(q)))}return null}}}(p,r,v,z,G,B,I),null)}}(m,n,f,h,k,e,d)(Rf(0,19))}())]));m+=1}else return!0}()?Sd(k.J(),c(Zb(e))):Sd(k.J(),null)}var l=J(e);return Xc(X("div",{key:l,className:"art-row"},[Ta(function(){return function(m){return function r(p){return new Md(null,function(){for(;;){var v=E(p);if(v){if(rd(v)){var z=Yb(v),G=R(z),B=Qd(G);a:for(var I=0;;)if(I<G){var V=db.c(z,I);
V=ui(nj.c?nj.c(V,m):nj.call(null,V,m),new T(null,2,5,W,[V,m],null));B.add(V);I+=1}else{z=!0;break a}return z?Sd(B.J(),r(Zb(v))):Sd(B.J(),null)}B=J(v);return Xc(ui(nj.c?nj.c(B,m):nj.call(null,B,m),new T(null,2,5,W,[B,m],null)),r(xc(v)))}return null}},null)}}(l,e,d)(Rf(0,19))}())]),c(xc(e)))}return null}},null)}(Rf(0,10))}()),Ti.c?Ti.c(lj,mj):Ti.call(null,lj,mj)])},null,"rum.examples.board-reactive/board-reactive");var pj=li(pi,function(a){return X("input",{type:"text",value:xi(a),style:{width:100},onChange:function(b){return se(a,b.target.value)}},[])},new T(null,1,5,W,[wi],null),"rum.examples.controls/input"),qj=li(pi,function(){return X("dl",null,[X("dt",null,["Color: "]),X("dd",null,[pj.f?pj.f(Pi):pj.call(null,Pi)]),X("dt",null,["Clone: "]),X("dd",null,[pj.f?pj.f(Pi):pj.call(null,Pi)]),X("dt",null,["Color: "]),X("dd",null,[Si.f?Si.f(Pi):Si.call(null,Pi)," watches"]),X("dt",null,["Tick: "]),X("dd",null,[pj.f?
pj.f(Qi):pj.call(null,Qi)," ms"]),X("dt",null,["Time:"]),X("dd",null,[Si.f?Si.f(Oi):Si.call(null,Oi)," watches"])])},null,"rum.examples.controls/controls");var rj=li(pi,function(a,b){return X("div",null,[[A.f(a),"-",A.f(b)].join("")])},new T(null,1,5,W,[new w(null,1,[gh,function(a,b){return[A.f(a),"-",A.f(b)].join("")}],null)],null),"rum.examples.keys/keyed"),sj=li(pi,function(){var a=new cd(null,rj.c?rj.c("a",1):rj.call(null,"a",1),new cd(null,rj.c?rj.c("a",2):rj.call(null,"a",2),new cd(null,rj.c?rj.c("b",1):rj.call(null,"b",1),new cd(null,ui(rj.c?rj.c("a",1):rj.call(null,"a",1),"x"),null,1,null),2,null),3,null),4,null);return X("div",od(a)?di(a):null,
od(a)?null:[fi(a)])},null,"rum.examples.keys/keys");var tj=re(new w(null,2,[Kh,180,mh,80],null));function uj(a,b,c,d){a:switch(a instanceof C?a.ua:null){case "bmi":var e=mh;break a;default:e=qh}return new T(null,2,5,W,[Ch,new w(null,6,[Zg,"range",Tg,b|0,Cg,c,nh,d,dh,new w(null,1,[Xg,"100%"],null),Fh,function(f){return te.w(tj,ed,a,f.target.value,Yc([e,null]))}],null)],null)}
var vj=li(pi,function(){var a=xi(tj);a=null!=a&&(a.m&64||u===a.na)?de(Ff,a):a;var b=sc.c(a,Kh),c=sc.c(a,mh),d=sc.c(a,qh);b/=100;a=null==d?ed.j(a,qh,c/(b*b)):ed.j(a,mh,d*b*b);a=null!=a&&(a.m&64||u===a.na)?de(Ff,a):a;c=sc.c(a,mh);d=sc.c(a,Kh);b=sc.c(a,qh);var e=18.5>b?new T(null,2,5,W,["orange","underweight"],null):25>b?new T(null,2,5,W,["inherit","normal"],null):30>b?new T(null,2,5,W,["orange","overweight"],null):new T(null,2,5,W,["red","obese"],null),f=S(e,0);e=S(e,1);se(tj,a);return X("div",{className:"bmi"},
[X("div",null,["Height: ",d|0,"cm",fi(uj(Kh,d,100,220))]),X("div",null,["Weight: ",c|0,"kg",fi(uj(mh,c,30,150))]),X("div",null,["BMI: ",b|0," ",X("span",{style:{color:f}},[fi(e)]),fi(uj(qh,b,10,50))])])},new T(null,1,5,W,[wi],null),"rum.examples.bmi-calculator/bmi-calculator");var wj=re(0),xj=li(pi,function(a){return X("div",{className:"stats"},["Renders: ",fi(xi(a))])},new T(null,1,5,W,[wi],null),"rum.examples.binary-clock/render-count"),Z=li(pi,function(a,b){te.c(wj,Ic);return X("td",{style:di(0!=(a&1<<b)?new w(null,1,[Hh,vb(Pi)],null):null),className:"bclock-bit"},[])},new T(null,1,5,W,[qi],null),"rum.examples.binary-clock/bit"),yj=li(pi,function(){var a=xi(Oi),b=(a%1E3+1E3)%1E3,c=(Dd(a,1E3)%60+60)%60,d=(Dd(a,6E4)%60+60)%60,e=(Dd(a,36E5)%24+24)%24;a=Dd(e,10);e=(e%10+
10)%10;var f=Dd(d,10);d=(d%10+10)%10;var h=Dd(c,10);c=(c%10+10)%10;var k=Dd(b,100),l=(Dd(b,10)%10+10)%10;b=(b%10+10)%10;return X("table",{className:"bclock"},[X("tbody",null,[X("tr",null,[X("td",null,null),Z.c?Z.c(e,3):Z.call(null,e,3),X("th",null,null),X("td",null,null),Z.c?Z.c(d,3):Z.call(null,d,3),X("th",null,null),X("td",null,null),Z.c?Z.c(c,3):Z.call(null,c,3),X("th",null,null),Z.c?Z.c(k,3):Z.call(null,k,3),Z.c?Z.c(l,3):Z.call(null,l,3),Z.c?Z.c(b,3):Z.call(null,b,3)]),X("tr",null,[X("td",null,
null),Z.c?Z.c(e,2):Z.call(null,e,2),X("th",null,null),Z.c?Z.c(f,2):Z.call(null,f,2),Z.c?Z.c(d,2):Z.call(null,d,2),X("th",null,null),Z.c?Z.c(h,2):Z.call(null,h,2),Z.c?Z.c(c,2):Z.call(null,c,2),X("th",null,null),Z.c?Z.c(k,2):Z.call(null,k,2),Z.c?Z.c(l,2):Z.call(null,l,2),Z.c?Z.c(b,2):Z.call(null,b,2)]),X("tr",null,[Z.c?Z.c(a,1):Z.call(null,a,1),Z.c?Z.c(e,1):Z.call(null,e,1),X("th",null,null),Z.c?Z.c(f,1):Z.call(null,f,1),Z.c?Z.c(d,1):Z.call(null,d,1),X("th",null,null),Z.c?Z.c(h,1):Z.call(null,h,1),
Z.c?Z.c(c,1):Z.call(null,c,1),X("th",null,null),Z.c?Z.c(k,1):Z.call(null,k,1),Z.c?Z.c(l,1):Z.call(null,l,1),Z.c?Z.c(b,1):Z.call(null,b,1)]),X("tr",null,[Z.c?Z.c(a,0):Z.call(null,a,0),Z.c?Z.c(e,0):Z.call(null,e,0),X("th",null,null),Z.c?Z.c(f,0):Z.call(null,f,0),Z.c?Z.c(d,0):Z.call(null,d,0),X("th",null,null),Z.c?Z.c(h,0):Z.call(null,h,0),Z.c?Z.c(c,0):Z.call(null,c,0),X("th",null,null),Z.c?Z.c(k,0):Z.call(null,k,0),Z.c?Z.c(l,0):Z.call(null,l,0),Z.c?Z.c(b,0):Z.call(null,b,0)]),X("tr",null,[X("th",od(a)?
di(a):null,od(a)?null:[a]),X("th",od(e)?di(e):null,od(e)?null:[e]),X("th",null,null),X("th",od(f)?di(f):null,od(f)?null:[f]),X("th",od(d)?di(d):null,od(d)?null:[d]),X("th",null,null),X("th",od(h)?di(h):null,od(h)?null:[h]),X("th",od(c)?di(c):null,od(c)?null:[c]),X("th",null,null),X("th",od(k)?di(k):null,od(k)?null:[k]),X("th",od(l)?di(l):null,od(l)?null:[l]),X("th",od(b)?di(b):null,od(b)?null:[b])]),X("tr",null,[X("th",{colSpan:8},[xj.f?xj.f(wj):xj.call(null,wj)])])])])},new T(null,1,5,W,[wi],null),
"rum.examples.binary-clock/binary-clock");var zj=li(pi,function(a,b){return X("input",{type:"text",style:{width:170,backgroundColor:x(function(){var c=xi(a);return b.f?b.f(c):b.call(null,c)}())?null:xi(Pi)},value:xi(a),onChange:function(c){return se(a,c.target.value)}},[])},new T(null,1,5,W,[wi],null),"rum.examples.form-validation/validating-input"),Aj=li(pi,function(a,b){return X("input",{type:"text",style:{width:170},value:xi(a),onChange:function(c){c=c.target.value;return x(b.f?b.f(c):b.call(null,c))?se(a,c):null}},[])},new T(null,1,5,
W,[wi],null),"rum.examples.form-validation/restricting-input"),Bj=li(pi,function(a,b){return React.createElement("input",{type:"text",style:{width:170},value:xi(a),onChange:function(c){c=c.target.value;return x(b.f?b.f(c):b.call(null,c))?se(a,c):null}})},new T(null,1,5,W,[wi],null),"rum.examples.form-validation/restricting-input-native"),Cj=li(pi,function(){var a=re(new w(null,3,[Eg,"a@b.c",Ng,"+7913 000 0000",Gg,"22"],null));return X("dl",null,[X("dt",null,["E-mail:"]),function(){var b=function(){function c(e){return Sf(/[^@]+@[^@.]+\..+/,
e)}var d=zi(a,Eg);return zj.c?zj.c(d,c):zj.call(null,d,c)}();return X("dd",od(b)?di(b):null,od(b)?null:[fi(b)])}(),X("dt",null,["Phone:"]),function(){var b=function(){function c(e){return Sf(/[0-9\- +()]*/,e)}var d=zi(a,Ng);return Aj.c?Aj.c(d,c):Aj.call(null,d,c)}();return X("dd",od(b)?di(b):null,od(b)?null:[fi(b)])}(),X("dt",null,["Age:"]),function(){var b=function(){function c(e){return Sf(/([1-9][0-9]*)?/,e)}var d=zi(a,Gg);return Bj.c?Bj.c(d,c):Bj.call(null,d,c)}();return X("dd",od(b)?di(b):null,
od(b)?null:[fi(b)])}()])},null,"rum.examples.form-validation/form-validation");Ka();(function(a){ti(function(){var b=vb(Oi);return Wi.c?Wi.c("Static",b):Wi.call(null,"Static",b)}(),a);return lg(Oi,$g,function(b,c,d,e){return ti(Wi.c?Wi.c("Static",e):Wi.call(null,"Static",e),a)})})(Ri("timer-static"));var Dj=Ri("timer-reactive");ti(Vi.v?Vi.v():Vi.call(null),Dj);var Ej=Ri("controls");ti(qj.v?qj.v():qj.call(null),Ej);var Fj=Ri("binary-clock");ti(yj.v?yj.v():yj.call(null),Fj);var Gj=Ri("board-reactive");ti(oj.v?oj.v():oj.call(null),Gj);var Hj=Ri("bmi-calculator");
ti(vj.v?vj.v():vj.call(null),Hj);var Ij=Ri("form-validation"),Jj=Cj.v?Cj.v():Cj.call(null);ReactDOM.render(Jj,Ij);var Kj=Ri("inputs");ti(Ji.v?Ji.v():Ji.call(null),Kj);var Lj=Ri("refs");ti(Ni.v?Ni.v():Ni.call(null),Lj);var Mj=Ri("local-state");ti(Xi.f?Xi.f("Clicks count"):Xi.call(null,"Clicks count"),Mj);var Nj=Ri("keys");ti(sj.v?sj.v():sj.call(null),Nj);
var Oj=Ri("self-reference"),Pj,Qj=new T(null,2,5,W,[Jh,new T(null,2,5,W,[vh,new T(null,4,5,W,[jh,wh,new T(null,1,5,W,[bh],null),hh],null)],null)],null);Pj=Ai.f?Ai.f(Qj):Ai.call(null,Qj);ti(Pj,Oj);var Rj=Ri("context"),Sj=cj.v?cj.v():cj.call(null);ReactDOM.render(Sj,Rj);var Tj=Ri("custom-props"),Uj=ej.v?ej.v():ej.call(null);ReactDOM.render(Uj,Tj);var Vj=Ri("multiple-return"),Wj,Xj=Ki.v?Ki.v():Ki.call(null);Wj=Li.f?Li.f(Xj):Li.call(null,Xj);ti(Wj,Vj);var Yj=Ri("portal-root");
ti(Zi.v?Zi.v():Zi.call(null),Yj);var Zj=Ri("client-errors"),ak=jj.v?jj.v():jj.call(null);ReactDOM.render(ak,Zj);var bk=Ri("js-components");ti(gj.v?gj.v():gj.call(null),bk);(function ck(){se(Oi,(new Date).getTime());return setTimeout(ck,vb(Qi))})();
})();
//# sourceMappingURL=main.js.map

View File

@ -0,0 +1,550 @@
(ns daiquiri.compiler-test
(:require [clojure.test :refer :all]
[clojure.walk :refer [prewalk]]
[daiquiri.compiler :as compiler]
[daiquiri.core :refer [html]]
[cljs.analyzer :as ana]
[cljs.env :as env]
[cljs.compiler :as comp]
[cljs.core]))
;; Ported from https://github.com/r0man/sablono/blob/master/test/sablono/compiler_test.clj
(defmacro with-compiler-env [[env-sym] & body]
`(binding [ana/*cljs-static-fns* true]
(env/with-compiler-env (env/default-compiler-env)
(let [~env-sym (assoc-in (ana/empty-env) [:ns :name] 'cljs.user)]
~@body))))
(defn analyze
([env form]
(env/ensure (ana/analyze env form)))
([env form name]
(env/ensure (ana/analyze env form name)))
([env form name opts]
(env/ensure (ana/analyze env form name opts))))
(defn emit [ast]
(env/ensure (comp/emit ast)))
(defn replace-gensyms [forms]
(prewalk
(fn [form]
(if (and (symbol? form)
(re-matches #"attrs\d+" (str form)))
'attrs form))
forms))
(defn ===
"Same as clojure.core/=, but strips of numbers from gensyms before comparison."
[& more]
(->> (map replace-gensyms more)
(apply =)))
(deftest test-compile-attrs
(are [attrs expected] (=== expected (compiler/compile-attrs attrs))
nil nil
{:class "my-class"}
'(js* "{'className':~{}}" "my-class")
{:class '(identity "my-class")}
'(js* "{'className':~{}}" (daiquiri.util/join-classes (identity "my-class")))
{:class "my-class" :style {:background-color "black"}}
'(js* "{'style':~{},'className':~{}}" (js* "{'backgroundColor':~{}}" "black") "my-class")
{:class '(identity "my-class") :style {:background-color '(identity "black")}}
'(js* "{'style':~{},'className':~{}}"
(js* "{'backgroundColor':~{}}" (identity "black"))
(daiquiri.util/join-classes (identity "my-class")))
{:id :XY}
'(js* "{'id':~{}}" "XY")))
(comment
(compiler/to-js {:key ["val"]}))
(deftest test-to-js
(are [v expected] (= expected (compiler/to-js v))
nil nil
:key "key"
[] '(cljs.core/array)
{} '(js* "{}")
[nil 1 :key {}] '(cljs.core/array nil 1 "key" (js* "{}"))
{:key ["val"]} '(js* "{'key':~{}}" (cljs.core/array "val"))))
(defmacro are-html [& body]
`(are [form# expected#]
(=== (macroexpand-1 `(html ~form#)) expected#)
~@body))
(deftest test-compile-html
(testing "basic tags"
(are-html
'[:div] '(daiquiri.core/create-element "div" nil nil)
'["div"] '(daiquiri.core/create-element "div" nil nil)
'['div] '(daiquiri.core/create-element "div" nil nil)))
(testing "tag syntax sugar"
(are-html
'[:#foo] '(daiquiri.core/create-element "div" (js* "{'id':~{}}" "foo") nil)
'[:div#foo] '(daiquiri.core/create-element "div" (js* "{'id':~{}}" "foo") nil)
'[:div.foo] '(daiquiri.core/create-element "div" (js* "{'className':~{}}" "foo") nil)
'[:.foo] '(daiquiri.core/create-element "div" (js* "{'className':~{}}" "foo") nil)
'[:div.a.b] '(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a b") nil)
'[:div#foo.bar] '(daiquiri.core/create-element "div" (js* "{'id':~{},'className':~{}}" "foo" "bar") nil)
'[:div.foo (str "bar" "baz")] '(clojure.core/let [attrs (str "bar" "baz")]
(daiquiri.core/create-element "div"
(if (clojure.core/map? attrs)
(daiquiri.interpreter/attributes (daiquiri.normalize/merge-with-class {:class ["foo"]} attrs))
(js* "{'className':~{}}" "foo"))
(if (clojure.core/map? attrs) nil (cljs.core/array (daiquiri.compiler/interpret-maybe attrs)))))))
(testing "tags containing text"
(are-html
'[:text "Lorem Ipsum"] '(daiquiri.core/create-element "text" nil (cljs.core/array "Lorem Ipsum"))))
(testing "contents are concatenated"
(are-html
'[:div "foo" "bar"] '(daiquiri.core/create-element "div" nil (cljs.core/array "foo" "bar"))
'[:div [:p] [:br]] '(daiquiri.core/create-element "div" nil
(cljs.core/array
(daiquiri.core/create-element "p" nil nil)
(daiquiri.core/create-element "br" nil nil)))))
(testing "seqs are expanded"
(are-html
'[:div (list "foo" "bar")] '(clojure.core/let [attrs (list "foo" "bar")]
(daiquiri.core/create-element "div"
(if (clojure.core/map? attrs) (daiquiri.interpreter/attributes attrs) nil)
(if (clojure.core/map? attrs) nil (cljs.core/array (daiquiri.compiler/interpret-maybe attrs)))))
'(list [:p "a"] [:p "b"])
'(daiquiri.compiler/interpret-maybe (list [:p "a"] [:p "b"]))))
(testing "tags can contain tags"
(are-html
'[:div [:p]] '(daiquiri.core/create-element "div" nil (cljs.core/array (daiquiri.core/create-element "p" nil nil)))
'[:p [:span [:a "foo"]]] '(daiquiri.core/create-element "p" nil
(cljs.core/array
(daiquiri.core/create-element "span" nil
(cljs.core/array (daiquiri.core/create-element "a" nil (cljs.core/array "foo")))))))))
(deftest test-attributes
(testing "tag with empty attribute map"
(are-html
'[:div {}] '(daiquiri.core/create-element "div" nil nil)))
(testing "tag with populated attribute map"
(are-html
'[:div {:min "1", :max "2"}] '(daiquiri.core/create-element "div" (js* "{'min':~{},'max':~{}}" "1" "2") nil)
'[:img {"id" "foo"}] '(daiquiri.core/create-element "img" (js* "{'id':~{}}" "foo") nil)
'[:img {:id "foo"}] '(daiquiri.core/create-element "img" (js* "{'id':~{}}" "foo") nil)))
(testing "attribute values are escaped"
(are-html
'[:div {:id "\""}] '(daiquiri.core/create-element "div" (js* "{'id':~{}}" "\"") nil)))
(testing "attributes are converted to their ReactDOM equivalents"
(are-html
'[:div {:class "classy"}] '(daiquiri.core/create-element "div" (js* "{'className':~{}}" "classy") nil)
'[:div {:data-foo-bar "baz"}] '(daiquiri.core/create-element "div" (js* "{'data-foo-bar':~{}}" "baz") nil)
'[:label {:for "foo"}] '(daiquiri.core/create-element "label" (js* "{'htmlFor':~{}}" "foo") nil)))
(testing "boolean attributes"
(are-html
'[:input {:type "checkbox" :checked true}] '(daiquiri.core/create-element "input" (js* "{'type':~{},'checked':~{}}" "checkbox" true) nil)
'[:input {:type "checkbox" :checked false}] '(daiquiri.core/create-element "input" (js* "{'type':~{},'checked':~{}}" "checkbox" false) nil)))
(testing "nil attributes"
(are-html
'[:span {:class nil} "foo"] '(daiquiri.core/create-element "span" (js* "{'className':~{}}" nil) (cljs.core/array "foo"))))
(testing "empty attributes"
(are-html
'[:span {} "foo"] '(daiquiri.core/create-element "span" nil (cljs.core/array "foo"))))
(testing "tag with aria attributes"
(are-html
'[:div {:aria-disabled true}] '(daiquiri.core/create-element "div" (js* "{'aria-disabled':~{}}" true) nil)))
(testing "tag with data attributes"
(are-html
'[:div {:data-toggle "modal" :data-target "#modal"}] '(daiquiri.core/create-element "div" (js* "{'data-toggle':~{},'data-target':~{}}" "modal" "#modal") nil))))
(deftest compiled-tags
(testing "tag content can be vars, and vars can be type-hinted with some metadata"
(let [x "foo"
y {:id "id"}]
(are-html
'[:span x] '(clojure.core/let [attrs x]
(daiquiri.core/create-element "span"
(if (clojure.core/map? attrs) (daiquiri.interpreter/attributes attrs) nil)
(if (clojure.core/map? attrs) nil (cljs.core/array (daiquiri.compiler/interpret-maybe attrs)))))
'[:span ^:attrs y] '(clojure.core/let [attrs y]
(daiquiri.core/create-element "span" (daiquiri.interpreter/attributes attrs) nil)))))
(testing "tag content can be forms, and forms can be type-hinted with some metadata"
(are-html
'[:span (str (+ 1 1))] '(clojure.core/let [attrs (str (+ 1 1))]
(daiquiri.core/create-element "span"
(if (clojure.core/map? attrs) (daiquiri.interpreter/attributes attrs) nil)
(if (clojure.core/map? attrs) nil (cljs.core/array (daiquiri.compiler/interpret-maybe attrs)))))
[:span ({:foo "bar"} :foo)] '(daiquiri.core/create-element "span" nil (cljs.core/array "bar"))
'[:span ^:attrs (merge {:type "button"} attrs)] '(clojure.core/let [attrs (merge {:type "button"} attrs)]
(daiquiri.core/create-element "span" (daiquiri.interpreter/attributes attrs) nil))))
(testing "attributes can contain vars"
(let [id "id"]
(are-html
'[:div {:id id}] '(daiquiri.core/create-element "div" (js* "{'id':~{}}" id) (cljs.core/array))
'[:div {:id id} "bar"] '(daiquiri.core/create-element "div" (js* "{'id':~{}}" id) (cljs.core/array "bar")))))
(testing "attributes are evaluated"
(are-html
'[:img {:src (str "/foo" "/bar")}] '(daiquiri.core/create-element "img" (js* "{'src':~{}}" (str "/foo" "/bar")) (cljs.core/array))
'[:div {:id (str "a" "b")} (str "foo")] '(daiquiri.core/create-element "div" (js* "{'id':~{}}" (str "a" "b"))
(cljs.core/array (daiquiri.compiler/interpret-maybe (str "foo"))))))
(testing "type hints"
;; TODO. Use cljs type inference
(let [string "x"]
(are-html
'[:span ^String string] '(daiquiri.core/create-element "span" nil (cljs.core/array string)))))
(testing "values are evaluated only once"
(let [times-called (atom 0)
foo #(swap! times-called inc)]
(macroexpand `(html ~[:div (foo)]))
(is (= @times-called 1)))))
(deftest fragments
(testing "React 16 fragment syntactic support"
(are-html
'[:*] '(daiquiri.core/create-element daiquiri.core/fragment nil nil)
'[:<>] '(daiquiri.core/create-element daiquiri.core/fragment nil nil)
'[:* [:p]] '(daiquiri.core/create-element daiquiri.core/fragment nil (cljs.core/array (daiquiri.core/create-element "p" nil nil)))
'[:<> [:p]] '(daiquiri.core/create-element daiquiri.core/fragment nil (cljs.core/array (daiquiri.core/create-element "p" nil nil)))
'[:* [:p] [:p]] '(daiquiri.core/create-element daiquiri.core/fragment nil
(cljs.core/array (daiquiri.core/create-element "p" nil nil) (daiquiri.core/create-element "p" nil nil)))
'[:<> [:p] [:p]] '(daiquiri.core/create-element daiquiri.core/fragment nil
(cljs.core/array (daiquiri.core/create-element "p" nil nil) (daiquiri.core/create-element "p" nil nil)))
'[:dl (for [n (range 2)]
[:* {:key n}
[:dt {} (str "term " n)]
[:dd {} (str "definition " n)]])]
'(daiquiri.core/create-element
"dl"
nil
(cljs.core/array
(into-array
(clojure.core/for
[n (range 2)]
(daiquiri.core/create-element
daiquiri.core/fragment
(js* "{'key':~{}}" n)
(cljs.core/array
(daiquiri.core/create-element "dt" nil (cljs.core/array (daiquiri.compiler/interpret-maybe (str "term " n))))
(daiquiri.core/create-element "dd" nil (cljs.core/array (daiquiri.compiler/interpret-maybe (str "definition " n)))))))))))))
(deftest test-issue-2-merge-class
(are-html
'[:div.a {:class (if (true? true) "true" "false")}] '(daiquiri.core/create-element "div"
(js* "{'className':~{}}" (daiquiri.util/join-classes ["a" (if (true? true) "true" "false")]))
(cljs.core/array))
'[:div.a.b {:class (if (true? true) ["true"] "false")}] '(daiquiri.core/create-element "div"
(js* "{'className':~{}}" (daiquiri.util/join-classes ["a" "b" (if (true? true) ["true"] "false")]))
(cljs.core/array))))
(deftest test-issue-3-recursive-js-literal
(are-html
'[:div.interaction-row {:style {:position "relative"}}] '(daiquiri.core/create-element "div"
(js* "{'style':~{},'className':~{}}" (js* "{'position':~{}}" "relative") "interaction-row")
nil))
(let [username "foo"
hidden #(if %1 {:display "none"} {:display "block"})]
(are-html
'[:ul.nav.navbar-nav.navbar-right.pull-right
[:li.dropdown {:style (hidden (nil? username))}
[:a.dropdown-toggle {:role "button" :href "#"} (str "Welcome, " username)
[:span.caret]]
[:ul.dropdown-menu {:role "menu" :style {:left 0}}]]]
'(daiquiri.core/create-element
"ul"
(js* "{'className':~{}}" "nav navbar-nav navbar-right pull-right")
(cljs.core/array
(daiquiri.core/create-element
"li"
(js* "{'style':~{},'className':~{}}" (daiquiri.interpreter/attributes (hidden (nil? username))) "dropdown")
(cljs.core/array
(daiquiri.core/create-element
"a"
(js* "{'role':~{},'href':~{},'className':~{}}" "button" "#" "dropdown-toggle")
(cljs.core/array
(daiquiri.compiler/interpret-maybe (str "Welcome, " username))
(daiquiri.core/create-element "span" (js* "{'className':~{}}" "caret") nil)))
(daiquiri.core/create-element
"ul"
(js* "{'role':~{},'style':~{},'className':~{}}" "menu" (js* "{'left':~{}}" 0) "dropdown-menu")
nil))))))))
(deftest test-issue-22-id-after-class
(are-html
[:div.well#setup] '(daiquiri.core/create-element "div" (js* "{'id':~{},'className':~{}}" "setup" "well") nil)))
(deftest test-issue-25-comma-separated-class
(are-html
'[:div.c1.c2 "text"] '(daiquiri.core/create-element "div" (js* "{'className':~{}}" "c1 c2") (cljs.core/array "text"))
'[:div.aa (merge {:class "bb"})] '(clojure.core/let [attrs (merge {:class "bb"})]
(daiquiri.core/create-element "div"
(if (clojure.core/map? attrs)
(daiquiri.interpreter/attributes (daiquiri.normalize/merge-with-class {:class ["aa"]} attrs))
(js* "{'className':~{}}" "aa"))
(if (clojure.core/map? attrs) nil (cljs.core/array (daiquiri.compiler/interpret-maybe attrs)))))))
(deftest test-issue-33-number-warning
(are-html
'[:div (count [1 2 3])] '(clojure.core/let [attrs (count [1 2 3])]
(daiquiri.core/create-element "div"
(if (clojure.core/map? attrs) (daiquiri.interpreter/attributes attrs) nil)
(if (clojure.core/map? attrs) nil (cljs.core/array (daiquiri.compiler/interpret-maybe attrs)))))))
(deftest test-issue-37-camel-case-style-attrs
(are-html
'[:div {:style {:z-index 1000}}] '(daiquiri.core/create-element "div" (js* "{'style':~{}}" (js* "{'zIndex':~{}}" 1000)) nil)))
(deftest shorthand-div-forms
(are-html
[:#test] '(daiquiri.core/create-element "div" (js* "{'id':~{}}" "test") nil)
'[:.klass] '(daiquiri.core/create-element "div" (js* "{'className':~{}}" "klass") nil)
'[:#test.klass] '(daiquiri.core/create-element "div" (js* "{'id':~{},'className':~{}}" "test" "klass") nil)
'[:#test.klass1.klass2] '(daiquiri.core/create-element "div" (js* "{'id':~{},'className':~{}}" "test" "klass1 klass2") nil)
'[:.klass1.klass2#test] '(daiquiri.core/create-element "div" (js* "{'id':~{},'className':~{}}" "test" "klass1 klass2") nil)))
(deftest test-namespaced-fn-call
(are-html
'(some-ns/comp "arg") '(daiquiri.compiler/interpret-maybe (some-ns/comp "arg"))
'(some.ns/comp "arg") '(daiquiri.compiler/interpret-maybe (some.ns/comp "arg"))))
(defmacro expand-html [form]
`(macroexpand-1 '(html ~form)))
(deftest test-compile-div-with-nested-lazy-seq
(is (=== (expand-html [:div (map identity ["A" "B"])])
'(clojure.core/let [attrs (map identity ["A" "B"])]
(daiquiri.core/create-element "div"
(if (clojure.core/map? attrs) (daiquiri.interpreter/attributes attrs) nil)
(if (clojure.core/map? attrs) nil (cljs.core/array (daiquiri.compiler/interpret-maybe attrs))))))))
(deftest test-compile-div-with-nested-list
(is (= (expand-html [:div '("A" "B")])
'(daiquiri.core/create-element "div" nil (cljs.core/array "A" "B")))))
(deftest test-compile-div-with-nested-vector
(is (= (expand-html [:div ["A" "B"]])
'(daiquiri.core/create-element "div" nil (cljs.core/array "A" "B"))))
(is (=== (expand-html [:div (vector "A" "B")])
'(clojure.core/let [attrs (vector "A" "B")]
(daiquiri.core/create-element "div"
(if (clojure.core/map? attrs) (daiquiri.interpreter/attributes attrs) nil)
(if (clojure.core/map? attrs) nil (cljs.core/array (daiquiri.compiler/interpret-maybe attrs))))))))
(deftest test-class-as-set
(is (= (expand-html [:div.a {:class #{"a" "b" "c"}}])
'(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a a b c") nil))))
(deftest test-class-as-list
(is (= (expand-html [:div.a {:class (list "a" "b" "c")}])
'(daiquiri.core/create-element "div"
(js* "{'className':~{}}" (daiquiri.util/join-classes ["a" (list "a" "b" "c")]))
(cljs.core/array)))))
(deftest test-class-as-vector
(is (= (expand-html [:div.a {:class (vector "a" "b" "c")}])
'(daiquiri.core/create-element "div"
(js* "{'className':~{}}" (daiquiri.util/join-classes ["a" (vector "a" "b" "c")]))
(cljs.core/array)))))
(deftest test-class-merge-symbol
(let [class #{"b"}]
(are-html
[:div.a {:class class}]
'(daiquiri.core/create-element "div"
(js* "{'className':~{}}" "a b")
nil))))
(deftest test-issue-90
(is (= (expand-html [:div nil (case :a :a "a")])
'(daiquiri.core/create-element "div" nil (cljs.core/array nil (clojure.core/case :a :a "a"))))))
(deftest test-compile-attr-class
(are [form expected]
(= expected (compiler/compile-attr :class form))
nil nil
"foo" "foo"
'("foo" "bar" ) "foo bar"
["foo" "bar"] "foo bar"
#{"foo" "bar"} "foo bar"
'(set "foo" "bar") '(daiquiri.util/join-classes (set "foo" "bar"))
'[(list "foo" "bar")] '(daiquiri.util/join-classes [(list "foo" "bar")])))
(deftest test-optimize-let-form
(is (= (expand-html (let [x "x"] [:div "x"]))
'(clojure.core/let [x "x"]
(daiquiri.core/create-element "div" nil (cljs.core/array "x"))))))
(deftest test-optimize-for-loop
(is (=== (expand-html [:ul (for [n (range 3)] [:li n])])
'(daiquiri.core/create-element "ul" nil
(cljs.core/array
(into-array
(clojure.core/for
[n (range 3)]
(clojure.core/let
[attrs n]
(daiquiri.core/create-element
"li"
(if (clojure.core/map? attrs) (daiquiri.interpreter/attributes attrs) nil)
(if (clojure.core/map? attrs) nil (cljs.core/array (daiquiri.compiler/interpret-maybe attrs)))))))))))
(is (=== (expand-html [:ul (for [n (range 3)] [:li ^:attrs n])])
'(daiquiri.core/create-element "ul" nil
(cljs.core/array
(into-array
(clojure.core/for
[n (range 3)]
(clojure.core/let [attrs n]
(daiquiri.core/create-element "li" (daiquiri.interpreter/attributes attrs) nil)))))))))
(deftest test-compile-case
(is (= (expand-html [:div {:class "a"}
(case "a"
"a" [:div "a"]
"b" [:div "b"]
[:div "else"])])
'(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a")
(cljs.core/array
(clojure.core/case "a"
"a" (daiquiri.core/create-element "div" nil (cljs.core/array "a"))
"b" (daiquiri.core/create-element "div" nil (cljs.core/array "b"))
(daiquiri.core/create-element "div" nil (cljs.core/array "else"))))))))
(deftest test-compile-cond
(is (= (expand-html [:div {:class "a"}
(cond
"a" [:div "a"]
"b" [:div "b"]
:else [:div "else"])])
'(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a")
(cljs.core/array
(clojure.core/cond
"a" (daiquiri.core/create-element "div" nil (cljs.core/array "a"))
"b" (daiquiri.core/create-element "div" nil (cljs.core/array "b"))
:else (daiquiri.core/create-element "div" nil (cljs.core/array "else"))))))))
(deftest test-compile-condp
(is (= (expand-html [:div {:class "a"}
(condp = "a"
"a" [:div "a"]
"b" [:div "b"]
[:div "else"])])
'(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a")
(cljs.core/array
(clojure.core/condp = "a"
"a" (daiquiri.core/create-element "div" nil (cljs.core/array "a"))
"b" (daiquiri.core/create-element "div" nil (cljs.core/array "b"))
(daiquiri.core/create-element "div" nil (cljs.core/array "else"))))))))
(deftest test-optimize-if
(is (= (expand-html (if true [:span "foo"] [:span "bar"]))
'(if true
(daiquiri.core/create-element "span" nil (cljs.core/array "foo"))
(daiquiri.core/create-element "span" nil (cljs.core/array "bar"))))))
(deftest test-compile-if-not
(is (= (expand-html [:div {:class "a"} (if-not false [:div [:div]])])
'(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a")
(cljs.core/array
(clojure.core/if-not false
(daiquiri.core/create-element "div" nil (cljs.core/array (daiquiri.core/create-element "div" nil nil)))))))))
(deftest test-compile-if-some
(is (= (expand-html [:div {:class "a"} (if-some [x true] [:div [:div]])])
'(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a")
(cljs.core/array
(clojure.core/if-some [x true]
(daiquiri.core/create-element "div" nil (cljs.core/array (daiquiri.core/create-element "div" nil nil)))))))))
(deftest test-issue-115
(is (= (expand-html [:a {:id :XY}])
'(daiquiri.core/create-element "a" (js* "{'id':~{}}" "XY") nil))))
(deftest test-issue-130
(let [css {:table-cell "bg-blue"}]
(is (= (expand-html [:div {:class (:table-cell css)} [:span "abc"]])
'(daiquiri.core/create-element "div"
(js* "{'className':~{}}" (daiquiri.util/join-classes [(:table-cell css)]))
(cljs.core/array (daiquiri.core/create-element "span" nil (cljs.core/array "abc"))))))))
(deftest test-issue-141-inline
(testing "with attributes"
(is (= (expand-html [:span {} ^:inline (constantly 1)])
'(daiquiri.core/create-element "span" nil (cljs.core/array (constantly 1))))))
(testing "without attributes"
(is (= (expand-html [:span ^:inline (constantly 1)])
'(daiquiri.core/create-element "span" nil (cljs.core/array (constantly 1)))))))
(deftest test-compile-attributes-non-literal-key
(is (= (expand-html [:input {(case :checkbox :checkbox :checked :value) "x"}])
'(daiquiri.core/create-element "input"
(daiquiri.interpreter/attributes {(case :checkbox :checkbox :checked :value) "x"})
(cljs.core/array)))))
(deftest test-issue-158
(is (= (expand-html [:div {:style (merge {:margin-left "2rem"}
(when focused? {:color "red"}))}])
'(daiquiri.core/create-element "div"
(js* "{'style':~{}}" (daiquiri.interpreter/attributes (merge {:margin-left "2rem"} (when focused? {:color "red"}))))
(cljs.core/array)))))
(deftest test-compile-when
(is (= (expand-html [:div {:class "a"} (when true [:div [:div]])])
'(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a")
(cljs.core/array
(clojure.core/when true
(daiquiri.core/create-element "div" nil (cljs.core/array (daiquiri.core/create-element "div" nil nil)))))))))
(deftest test-compile-when-not
(is (= (expand-html [:div {:class "a"} (when-not false [:div [:div]])])
'(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a")
(cljs.core/array
(clojure.core/when-not false
(daiquiri.core/create-element "div" nil (cljs.core/array (daiquiri.core/create-element "div" nil nil)))))))))
(deftest test-compile-when-some
(is (= (expand-html [:div {:class "a"} (when-some [x true] [:div [:div]])])
'(daiquiri.core/create-element "div" (js* "{'className':~{}}" "a")
(cljs.core/array
(clojure.core/when-some [x true]
(daiquiri.core/create-element "div" nil (cljs.core/array (daiquiri.core/create-element "div" nil nil)))))))))
;; type inference
(deftest test-infer-tag-any
(with-compiler-env [env]
(is (= '#{any} (compiler/infer-tag env '(my-fn))))))
(deftest test-infer-tag-react-fn
(with-compiler-env [env]
(analyze env '(defn ^js/React.Element my-fn []
(js/React.createElement "div")))
(is (= '#{js/React.Element} (compiler/infer-tag env '(my-fn))))))
(deftest test-infer-tag-react-fns
(with-compiler-env [env]
(analyze env '(defn ^js/React.Element my-fn-1 []
(js/React.createElement "div")))
(analyze env '(defn my-fn-2 []
(my-fn-1)))
(is (= '#{js/React.Element} (compiler/infer-tag env '(my-fn-2))))))
(deftest test-compile-interpret-maybe
(with-compiler-env [env]
(is (= '(daiquiri.interpreter/interpret (my-fn))
(ana/macroexpand-1 env '(daiquiri.compiler/interpret-maybe (my-fn)))))))
(deftest test-compile-inferred-attribute-map
(with-compiler-env [env]
(analyze env '(defn attrs [] {:class "x"}))
(is (=== (ana/macroexpand-1 env '(daiquiri.core/html [:div (attrs) "content"]))
'(clojure.core/let [attrs (attrs)]
(daiquiri.core/create-element "div" (daiquiri.interpreter/attributes attrs) (cljs.core/array "content")))))))
(comment
(with-compiler-env [env]
(ana/macroexpand-1 env '(daiquiri.compiler/interpret-maybe (cljs.core/array 1 2)))))

View File

@ -0,0 +1,80 @@
(ns daiquiri.interpreter-test
(:require [clojure.test :refer [are is deftest]]
[daiquiri.interpreter :refer [interpret]]))
;; Ported from https://github.com/r0man/sablono/blob/master/test/sablono/interpreter_test.cljc
(deftest test-short-hand-div-forms
(let [el (interpret [:#test.klass1])]
(is (= "div" (.. el -type)))
(is (= "test" (.. el -props -id)))
(is (= "klass1" (.. el -props -className)))))
(deftest test-static-children-as-arguments
(let [el (interpret
[:div
[:div {:class "1" :key 1}]
[:div {:class "2" :key 2}]])
c1 (aget (.. el -props -children) 0)
c2 (aget (.. el -props -children) 1)]
(is (= "div" (.. el -type)))
(is (= "div" (.. c1 -type)))
(is (= "1" (.. c1 -key)))
(is (= "1" (.. c1 -props -className)))
(is (= "div" (.. c2 -type)))
(is (= "2" (.. c2 -key)))
(is (= "2" (.. c2 -props -className)))))
(deftest test-class-duplication
(let [el (interpret [:div.a.a.b.b.c {:class "c"}])]
(is (= "div" (.. el -type)))
(is (= "a a b b c c" (.. el -props -className)))))
(deftest test-issue-80
(let [el (interpret
[:div
[:div {:class (list "foo" "bar")}]
[:div {:class (vector "foo" "bar")}]
(let []
[:div {:class (list "foo" "bar")}])
(let []
[:div {:class (vector "foo" "bar")}])
(when true
[:div {:class (list "foo" "bar")}])
(when true
[:div {:class (vector "foo" "bar")}])
(do
[:div {:class (list "foo" "bar")}])
(do
[:div {:class (vector "foo" "bar")}])])]
(is (= "div" (.. el -type)))
(is (= 8 (count (.. el -props -children))))
(doseq [c (.. el -props -children)]
(is (= "div" (.. c -type)))
(is (= "foo bar" (.. c -props -className))))))
(deftest test-issue-90
(let [el (interpret [:div nil (case :a :a "a")])]
(is (= "div" (.. el -type)))
(is (= "a" (.. el -props -children)))))
(deftest test-issue-57
(let [payload {:username "john" :likes 2}
el (interpret
(let [{:keys [username likes]} payload]
[:div
[:div (str username " (" likes ")")]
[:div "!Pixel Scout"]]))
c1 (aget (.. el -props -children) 0)
c2 (aget (.. el -props -children) 1)]
(is (= "div" (.. el -type)))
(is (= "div" (.. c1 -type)))
(is (= "john (2)" (.. c1 -props -children)))
(is (= "div" (.. c2 -type)))
(is (= "!Pixel Scout" (.. c2 -props -children)))))

View File

@ -0,0 +1,105 @@
(ns daiquiri.normalize-test
(:require [daiquiri.normalize :as normalize]
#?(:clj [clojure.test :refer :all]
:cljs [cljs.test :refer-macros [are is deftest]])))
;; Ported from https://github.com/r0man/sablono/blob/master/test/sablono/normalize_test.cljc
(deftest test-merge-with-class
(are [maps expected]
(= expected (apply normalize/merge-with-class maps))
[]
nil
[{:a 1} {:b 2}]
{:a 1 :b 2}
[{:a 1 :class :a} {:b 2 :class "b"} {:c 3 :class ["c"]}]
{:a 1 :b 2 :c 3 :class ["a" "b" "c"]}
[{:a 1 :class :a} {:b 2 :class "b"} {:c 3 :class (seq ["c"])}]
{:a 1 :b 2 :c 3 :class ["a" "b" "c"]}
['{:a 1 :class ["a"]} '{:b 2 :class [(if true "b")]}]
'{:a 1 :class ["a" (if true "b")] :b 2}
;; Map lookup. Issue #130
['{:class (:table-cell csslib)} {}]
'{:class [(:table-cell csslib)]}))
(deftest test-strip-css
(are [x expected]
(= expected (normalize/strip-css x))
nil nil
"" ""
"foo" "foo"
"#foo" "foo"
".foo" "foo"))
(deftest test-match-tag
(are [tag expected]
(= expected (normalize/match-tag tag))
:div ["div" nil []]
:div#foo ["div" "foo" []]
:div#foo.bar ["div" "foo" ["bar"]]
:div.bar#foo ["div" "foo" ["bar"]]
:div#foo.bar.baz ["div" "foo" ["bar" "baz"]]
:div.bar.baz#foo ["div" "foo" ["bar" "baz"]]
:div.bar#foo.baz ["div" "foo" ["bar" "baz"]])
(let [[tag id classes] (normalize/match-tag :div#foo.bar.baz)]
(is (= "div" tag))
(is (= "foo" id))
(is (= ["bar" "baz"] classes))
(is (vector? classes))))
(deftest test-normalize-class
(are [class expected]
(= expected (normalize/normalize-class class))
nil nil
:x ["x"]
"x" ["x"]
["x"] ["x"]
[:x] ["x"]
'(if true "x") ['(if true "x")]
'x ['x]
'("a" "b") ["a" "b"]))
(deftest test-attributes
(are [attrs expected]
(= expected (normalize/attributes attrs))
nil nil
{} {}
{:class nil} {:class nil}
{:class "x"} {:class ["x"]}
{:class ["x"]} {:class ["x"]}
'{:class ["x" (if true "y")]} '{:class ["x" (if true "y")]}))
(deftest test-children
(are [children expected]
(= expected (normalize/children children))
[] []
1 [1]
"x" ["x"]
["x"] ["x"]
[["x"]] ["x"]
[["x" "y"]] ["x" "y"]
[:div] [[:div]]
[[:div]] [[:div]]
[[[:div]]] [[:div]]))
(deftest test-element
(are [element expected]
(= expected (normalize/element element))
[:div] ["div" {} '()]
[:div {:class nil}] ["div" {:class nil} '()]
[:div#foo] ["div" {:id "foo"} '()]
[:div.foo] ["div" {:class ["foo"]} '()]
[:div.a.b] ["div" {:class ["a" "b"]} '()]
[:div.a.b {:class "c"}] ["div" {:class ["a" "b" "c"]} '()]
[:div.a.b {:class nil}] ["div" {:class ["a" "b"]} '()]
[:div "a" "b"] ["div" {} ["a" "b"]]
[:div ["a" "b"]] ["div" {} ["a" "b"]]))
(deftest test-element-meta
(are [element expected]
(= (->> (nth (normalize/element element) 2)
(map (comp true? :inline meta)))
expected)
'[:span (constantly 1)] [false]
'[:span ^:inline (constantly 1)] [true]
'[:span ^:inline (constantly 1) nil ^:inline (constantly 2)] [true true]))

View File

@ -0,0 +1,70 @@
(ns daiquiri.util-test
(:require [daiquiri.util :as u]
#?(:clj [clojure.test :refer :all])
#?(:cljs [cljs.test :refer-macros [are is testing deftest]])))
;; Ported from https://github.com/r0man/sablono/blob/master/test/sablono/util_test.cljc
(deftest test-camel-case
(are [attr expected]
(= expected (u/camel-case attr))
nil nil
"" ""
:data :data
:data-toggle :data-toggle
:http-equiv :httpEquiv
:aria-checked :aria-checked
'(identity :class) '(identity :class)))
(deftest test-camel-case-keys
(are [attrs expected]
(= expected (u/camel-case-keys attrs))
{:id "x"}
{:id "x"}
{:class "x"}
{:class "x"}
{:http-equiv "Expires"}
{:httpEquiv "Expires"}
{:style {:z-index 1000}}
{:style {:zIndex 1000}}
{:on-click '(fn [e] (let [m {:a-b "c"}]))}
{:onClick '(fn [e] (let [m {:a-b "c"}]))}
{'(identity :class) "my-class"
:style {:background-color "black"}}
{'(identity :class) "my-class"
:style {:backgroundColor "black"}}))
(deftest test-html-to-dom-attrs
(are [attrs expected]
(= expected (u/html-to-dom-attrs attrs))
{:id "x"}
{:id "x"}
{:class "x"}
{:className "x"}
{:http-equiv "Expires"}
{:httpEquiv "Expires"}
{:style {:z-index 1000}}
{:style {:zIndex 1000}}
{:on-click '(fn [e] (let [m {:a-b "c"}]))}
{:onClick '(fn [e] (let [m {:a-b "c"}]))}
{'(identity :class) "my-class"
:style {:background-color "black"}}
{'(identity :class) "my-class"
:style {:backgroundColor "black"}}))
(deftest test-element?
(is (u/element? [:div]))
(is (not (u/element? nil)))
(is (not (u/element? [])))
(is (not (u/element? 1)))
(is (not (u/element? "x"))))
(deftest test-join-classes
(are [classes expected]
(= expected (u/join-classes classes))
["a"] "a"
#{"a"} "a"
["a" "b"] "a b"
#{"a" "b"} "a b"
["a" ["b"]] "a b"
["a" (set ["a" "b" "c"])] "a a b c"))

View File

@ -1,9 +1,17 @@
(ns rum.test.defc
(:require
[rum.core]
[clojure.string :as str]
[clojure.test :refer [deftest is are testing]]
[clojure.java.shell :as shell]))
[clojure.walk :refer [prewalk]]))
(defn replace-gensyms [sym forms]
(prewalk
(fn [form]
(if (and (symbol? form)
(re-matches (re-pattern (str sym "\\d+")) (str form)))
sym
form))
forms))
(defmacro eval-in-temp-ns [& forms]
`(binding [*ns* *ns*]
@ -40,28 +48,29 @@
(deftest defc-conditions
(testing "no conditions supplied"
(is (= '(def pre-post-test
(rum.core/lazy-build
rum.core/build-defc
(clojure.core/fn
([y] (do {:x 1}))
([y z] (do (sablono.interpreter/interpret (+ y z 1)))))
nil
"core/pre-post-test"))
(#'rum.core/-defc 'rum.core/build-defc
{:ns {:name 'core}} ; cljs?
'(pre-post-test ([y] {:x 1})
([y z] (+ y z 1)))))))
(is (= (replace-gensyms 'pre-post-test
(#'rum.core/-defc 'rum.core/build-defc
{:ns {:name 'core}} ; cljs?
'(pre-post-test ([y] {:x 1})
([y z] (+ y z 1)))))
'(def pre-post-test
(rum.core/lazy-build rum.core/build-defc
(clojure.core/fn
([y] (do {:x 1}))
([y z] (do (daiquiri.compiler/interpret-maybe (+ y z 1)))))
nil
"core/pre-post-test")))))
(testing "some conditions supplied"
(is (= '(def pre-post-test
(rum.core/lazy-build
rum.core/build-defc
(clojure.core/fn
([y] {:pre [(pos? y)]} (do {:x 1}))
([y z] (do (sablono.interpreter/interpret (+ y z 1)))))
nil
"core/pre-post-test"))
(#'rum.core/-defc 'rum.core/build-defc
{:ns {:name 'core}} ; cljs?
'(pre-post-test ([y] {:pre [(pos? y)]} {:x 1})
([y z] (+ y z 1))))))))
(is (= (replace-gensyms 'pre-post-test
(#'rum.core/-defc 'rum.core/build-defc
{:ns {:name 'core}} ; cljs?
'(pre-post-test ([y] {:pre [(pos? y)]} {:x 1})
([y z] (+ y z 1)))))
'(def pre-post-test
(rum.core/lazy-build rum.core/build-defc
(clojure.core/fn
([y] {:pre [(pos? y)]} (do {:x 1}))
([y z] (do (daiquiri.compiler/interpret-maybe (+ y z 1)))))
nil
"core/pre-post-test"))))))

View File

@ -41,10 +41,18 @@
(is (= (rum/render-static-markup (rum/suspense {} [:span]))
"<span></span>")))
(deftest test-fragment
(deftest test-fragment-macro
(is (= (rum/render-static-markup (rum/fragment [:span] [:div]))
"<span></span><div></div>")))
(deftest test-fragment-*
(is (= (rum/render-static-markup [:* [:span] [:div]])
"<span></span><div></div>")))
(deftest test-fragment-<>
(is (= (rum/render-static-markup [:<> [:span] [:div]])
"<span></span><div></div>")))
(deftest test-lifecycle
(is (= (comp-mixins)
[:div

View File

@ -10,7 +10,7 @@
[cljsjs.react.dom.server]])))
(rum/defc comp-simple []
(rum/fragment
[:<>
[:div "A"
[:span "A1"]
[:span "A2"]]
@ -20,7 +20,7 @@
[:span "E1"]]
[:div nil]
[:div nil "F"]
[:div {} ((constantly nil)) "G"]))
[:div {} ((constantly nil)) "G"]])
(rum/defc comp-tag []
[:div.header#up "test"])

24
test/test_runner.cljs Normal file
View File

@ -0,0 +1,24 @@
(ns test-runner
(:require [cljs.test]
[react]
[daiquiri.interpreter-test]
[daiquiri.normalize-test]
[daiquiri.util-test]))
(defmethod cljs.test/report [::cljs.test/default :error] [m]
(cljs.test/inc-report-counter! :error)
(println "\nERROR in" (cljs.test/testing-vars-str m))
(when (seq (:testing-contexts (cljs.test/get-current-env)))
(println (cljs.test/testing-contexts-str)))
(when-let [message (:message m)] (println message))
(let [formatter-fn (or (:formatter (cljs.test/get-current-env)) pr-str)]
(println "expected:" (formatter-fn (:expected m)))
(if (instance? js/Error (:actual m))
(println " actual:" (.-stack (:actual m)))
(println " actual:" (formatter-fn (:actual m))))))
(cljs.test/run-tests
(cljs.test/empty-env)
'daiquiri.interpreter-test
'daiquiri.normalize-test
'daiquiri.util-test)